Structure : convolutions, pooling, fully connected
Les réseaux de neurones convolutifs (CNN) sont une architecture particulièrement utilisée pour les tâches de traitement d’images, mais aussi dans d’autres domaines où les données peuvent être représentées sous forme de grille (par exemple, le traitement du son ou des séries temporelles). Les CNN utilisent des couches spécifiques qui exploitent la structure locale des données, permettant au modèle d’apprendre des motifs hiérarchiques, comme des bords, des textures, et des objets dans une image. Ces architectures sont composées principalement de trois types de couches : convolution, pooling et fully connected.
1. Convolution
La convolution est l’opération centrale des réseaux de neurones convolutifs. Elle permet d’extraire des caractéristiques locales à partir de l’entrée en appliquant un filtre (ou noyau de convolution) sur l’image d’entrée ou sur l’activation précédente. L’opération de convolution consiste à faire glisser un filtre de petite taille sur l’image d’entrée et à calculer un produit scalaire entre les pixels voisins et les poids du filtre.
-
But : Extraire des motifs locaux, tels que les bords, les textures ou les formes, qui sont essentiels pour identifier des objets dans une image.
-
Propriétés :
-
Poids partagés : Le même filtre est appliqué à chaque région de l’image, ce qui réduit considérablement le nombre de paramètres à apprendre.
-
Localité : Chaque filtre est appliqué à une petite portion de l’image, capturant ainsi des informations locales.
-
Strides et Padding : Le « stride » détermine la distance avec laquelle le filtre se déplace sur l’image, et le « padding » consiste à ajouter des pixels autour de l’image pour préserver la taille des activations après convolution.
-
Les filtres dans les couches de convolution peuvent apprendre à reconnaître des caractéristiques simples au début de l’entraînement (par exemple, des bords horizontaux ou verticaux) et des caractéristiques de plus en plus complexes à mesure que l’on progresse dans les couches du réseau.
2. Pooling
Le pooling est une opération de sous-échantillonnage qui permet de réduire la taille des activations tout en conservant les informations essentielles. Les deux types de pooling les plus courants sont le max pooling et le average pooling.
-
Max Pooling : Il sélectionne la valeur maximale dans une fenêtre de taille .
-
Average Pooling : Il calcule la moyenne des valeurs dans la fenêtre .
-
But : Réduire la résolution des cartes de caractéristiques tout en conservant les informations les plus importantes. Cela permet de diminuer le nombre de paramètres et de réduire les risques de sur-apprentissage (overfitting). Le pooling aide également à rendre le modèle invariant aux petites translations de l’image (par exemple, un objet peut se déplacer légèrement dans l’image sans affecter la capacité du modèle à le reconnaître).
-
Propriétés :
-
Réduction de la taille : Après chaque opération de pooling, la taille de la sortie est réduite, ce qui permet de diminuer la complexité computationnelle du modèle.
-
Invariance : Le pooling contribue à rendre le réseau moins sensible aux petites translations de l’entrée.
-
3. Fully Connected (FC)
Les couches fully connected (ou couches denses) sont des couches classiques de réseaux de neurones où chaque neurone est connecté à chaque neurone de la couche précédente. Elles sont généralement placées à la fin des CNN, après les couches de convolution et de pooling, et servent à effectuer des décisions de classification ou de régression.
-
But : Après avoir extrait les caractéristiques de bas niveau (bords, textures, objets) avec les convolutions et réduit leur taille avec le pooling, les couches fully connected permettent d’effectuer des décisions finales sur la base des caractéristiques extraites. Ces couches prennent en entrée les caractéristiques des couches précédentes et génèrent la sortie finale du réseau.
-
Propriétés :
-
Connection dense : Tous les neurones d’une couche sont connectés à tous les neurones de la couche précédente.
-
Apprentissage global : Contrairement aux couches convolutives, les couches fully connected apprennent des relations globales entre les différentes caractéristiques extraites au fil du réseau.
-
Résumé de la Structure des CNN
Les CNN sont typiquement structurés de manière à intégrer successivement des couches convolutionnelles (pour extraire les caractéristiques locales), des couches de pooling (pour réduire la taille des activations et augmenter l’invariance), puis des couches fully connected (pour effectuer des classifications ou des régressions finales basées sur les caractéristiques extraites).
La combinaison de ces trois types de couches permet aux CNN de traiter efficacement des données complexes comme des images, en apprenant à extraire progressivement des caractéristiques de plus en plus abstraites. Ces architectures sont aujourd’hui largement utilisées dans des domaines comme la vision par ordinateur, la reconnaissance d’objets, et la détection d’anomalies.