7 types de Couches à connaître en Deep Learning et comment les utiliser

Les couches, c’est le concept de base en Deep Learning. Mais quelles sont les principaux types et comment les utiliser ?

Dans un algorithme Deep Learning les données d’entrée s’appelle des tenseurs, un concept déjà aborder dans un article précédent.

Les couches permettent de transformer les données d’entrée en une information compréhensible par l’ordinateur.

Dans cet article nous avons choisis de rassembler les 7 principales couches pour vous expliquer leur principes et dans quel contexte les utiliser.

Couche de base

En Deep Learning, un modèle est un ensemble d’une ou plusieurs couches de neurones.

Chaque couche contient plusieurs neurones qui applique une transformation sur chacun des éléments du tenseur d’entrée.

La principale différence entre les types de couches repose sur la manière dont les neurones se comportent.

La couche Dense est la couche de base en Deep Learning.

Elle prend simplement une entrée, et applique une transformation basique avec sa fonction d’activation.

La couche dense est essentiellement utilisée pour modifier les dimensions du tenseur.

Par exemple passer d’une phrase (dimension 1, 4) à une probabilité (dimension 1, 1) : « il fait soleil ici » ➡ 0.9

Ce modèle nous dit qu’il y a une probabilité de 90% que la phrase soit positive.

Couche de Convolution

La couche de Convolution est un peu plus complexe.

Elle est principalement utilisée pour les tâches de Vision par Ordinateur, pour analyser des images.

La convolution c’est le fait d’analyser une image ou une donnée par morceaux.

Ainsi pour une image de chien, le modèle va pouvoir analyser les oreilles ou le museaux par morceaux, pour ensuite l’associer au mot « chien ».

En fait la couche de convolution se concentre sur des parties de l’image et associe au mot « chien » toutes les parties les plus pertinentes.

Ce type de couche est particulièrement efficace pour différencier les objets et les animaux.

Couche de Pooling

Le Pooling est utilisé pour réduire la taille des données.

En effet, elle compresse le tenseur d’entrée pour n’en garder que l’information pertinente.

Comme la couche de Convolution, elle fonction par morceaux. Cependant la couche de Pooling va uniquement garder l’information importante de ce morceau et supprimer le reste.

Il existe différent Pooling comme :

  • le Max Pooling, qui prend la valeur maximum dans un sous-groupe de données
  • l’Average Pooling, qui prend la moyenne des valeurs dans un sous-groupe de données

Couche Récurrente

Les couches Récurrentes aussi appelé RNN sont utilisées principalement en NLP, le traitement de texte.

L’idée derrière cette couche est de permettre au modèle de Deep Learning d’avoir de la mémoire.

En terme technique, la couche Récurrente va analyser plusieurs fois les données d’entrée.

L’exemple classique est de prendre une phrase « Je vais à la plage ». Le RNN va analyser chaque mot l’un après l’autre en gardant en mémoire l’information du mot précédent.

Concrètement, cela permet d’apporter du contexte à la compréhension de la phrase.

C’est donc tout naturellement que les couches Récurrentes sont utilisées pour les problèmes de traduction.


CRÉER TON APPLICATION IA !


Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !


Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres !

Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !).

En bonus, tu recevras notre Guide Ultime du Deep Learning !


Photo by Joshua Earle on Unsplash

Couche de Normalisation

La couche de Normalisation est sûrement la plus facile à comprendre !

Après l’utilisation d’une couche de Deep Learning, les données sont transformées. Cela à souvent pour effet de produire des valeurs totalement dispersées.

Vu que chaque nombres compris dans le tenseur d’entrée a subit une transformation, il se peut que certains ont pour valeur 3 et d’autres 2867. C’est une échelle de valeur très dispersée et ce n’est pas bon pour notre modèle de Deep Learning.

La couche de Normalisation applique donc… une normalisation à ces données.

Pour être plus précis, cette couche va faire en sorte que les données aient la même répartition.

On peut imaginer normaliser nos données pour qu’ils soient tous dans une échelle de 0 à 1. Par exemple, notre 3 deviendrait 0.04 et le 2867 serait 0.89.

Appliquer une normalisation à nos données après chaque couche permet au modèle d’apprendre plus facilement en faisant moins d’erreur.

Couche de Régularisation

La couche de régularisation sert aussi à améliorer l’apprentissage du modèle.

Avec la normalisation, on simplifiait la tâche de notre modèle. Avec la Régularisation, on va la complexifier.

Effectivement, la Régularisation, par exemple la couche de Dropout, va transformer certaines valeurs de notre tenseur en 0.

Cette technique va augmenter la difficulté pour notre modèle mais paradoxalement cela va le rendre plus performant.

Ehh oui, en transformant aléatoirement certaines valeurs en 0, on oblige notre modèle a être plus performant pour résoudre la tâche qu’on lui a fixé.

Couche d’Attention

La couche d’Attention est sûrement l’approche la plus avancée décrit dans cet article.

Le principe de l’Attention est d’améliorer les RNN… voire même de les surpasser !

Dans un RNN on garde en mémoire chaque mot déjà analysé pour comprendre le suivant.

Le problème c’est qu’on analyse la phrase en la traversant du début à la fin, mais pas dans le sens inverse.

Avec l’Attention, on va analyser le rapport de chaque mot d’une phrase avec les autres pour ainsi comprendre les liaisons qui unissent les mots entre eux.

C’est donc une amélioration des RNNs dans le sens où l’Attention va nous permettre d’extraire plus d’informations d’une même phrase !

Dans cet article on a parcourut rapidement les principales couches qui existent en Deep Learning.

Cependant, si vous voulez rentrer plus en profondeur dans ces concepts, nos articles sont là pour ça :

À bientôt pour d’autres news sur le Machine Learning ! 😉


CRÉER TON APPLICATION IA !


Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !


Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres !

Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !).

En bonus, tu recevras notre Guide Ultime du Deep Learning !


Tom Keldenich
Tom Keldenich

Data Engineer & passionné d'Intelligence Artificielle !

Fondateur du site Inside Machine Learning

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.