Sais-tu comment les réseaux de neurones convolutifs repèrent les motifs dans de grands ensembles de données ? Le secret réside dans le pooling.
Le pooling diminue la complexité des modèles d'apprentissage profond en réduisant la taille de l'entrée tout en préservant les caractéristiques essentielles et les relations entre les données. Cette opération est également connue sous le nom de sous-échantillonnage ou de sous-échantillonnage.
Les réseaux de neurones convolutifs (CNN), un type de réseau de neurones artificiels, utilisent généralement des opérations de pooling pour la reconnaissance et le traitement d'images. Avec les CNN, il n'est pas nécessaire d'extraire manuellement les caractéristiques des données visuelles. Au lieu de cela, ces réseaux appliquent des filtres de différentes tailles sur l'image pour apprendre ses caractéristiques tout en assurant une variance de translation. Cela signifie que même si l'objet se déplace à un autre endroit dans une image, il sera reconnu comme le même objet.
Ces réseaux de neurones convolutifs ont trois couches fondamentales : convolutionnelle, de pooling et entièrement connectée dense. La couche convolutionnelle crée une carte de caractéristiques à travers des filtres qui aident à reconnaître les motifs.
La dernière, une couche dense entièrement connectée, aide à classifier dans les étapes finales d'un réseau de neurones.
Qu'est-ce que les couches de pooling ?
Les couches de pooling dans les réseaux de neurones convolutifs réduisent les dimensions des cartes de caractéristiques, rendant un réseau plus rapide. Ces couches aident le réseau à identifier les parties les plus importantes de l'image, facilitant ainsi la reconnaissance des motifs.
Les couches de pooling empêchent également un réseau de surapprendre, une cause d'apprentissage de détails non pertinents. Cela augmente la vitesse du réseau dans le traitement des images et réduit la probabilité d'erreurs.
Malgré la réduction des dimensions, les couches de pooling conservent les caractéristiques essentielles nécessaires à la classification. Cela permet aux CNN de gérer plus efficacement de grandes images et des architectures profondes.
Comment fonctionnent les couches de pooling ?
Les couches de pooling rendent les CNN plus rapides et plus efficaces. Ces couches utilisent une fenêtre coulissante (2x2 ou 3x3) pour se déplacer à travers une image par étapes. L'opération est effectuée à chaque étape en fonction du type de pooling employé. Par exemple, si le pooling maximum est choisi, la plus grande valeur dans la fenêtre est prise. Cette plus grande valeur représente la caractéristique la plus essentielle de l'image.
Supposons que l'entrée soit une image de trois chiens. La plus grande valeur ici correspondrait au visage du chien. D'autre part, si le pooling moyen est choisi, il donnera un aperçu des caractéristiques de l'image, comme le motif ou la structure d'un chien.
L'opération de pooling crée une représentation sous-échantillonnée des données d'entrée. En conséquence, l'image devient plus petite et plus accessible à traiter, augmentant la vitesse de calcul.
Vous pouvez appliquer des couches de pooling plusieurs fois dans les modèles d'apprentissage profond, réduisant progressivement les dimensions spatiales des cartes de caractéristiques. Cela permet au réseau de gérer plus efficacement de grandes images et des architectures profondes.
Bien que le pooling affine les sorties, l'apprentissage lui-même commence plus tôt. Apprenez comment la rétropropagation pousse la formation des réseaux de neurones.
Vous voulez en savoir plus sur Logiciel de réseau de neurones artificiels ? Découvrez les produits Réseau de neurones artificiels.
Pourquoi les couches de pooling sont-elles importantes ?
Lorsque les couches convolutionnelles produisent une carte de caractéristiques, elle est dépendante de la localisation. Cela signifie qu'un objet serait méconnaissable s'il était déplacé à un autre endroit. La couche de pooling offre une invariance de translation, garantissant que même si un objet dans une image est traduit, le réseau de neurones convolutif peut toujours le reconnaître.
Les couches de pooling existent au-dessus de la couche convolutionnelle, où elles sous-échantillonnent la sortie de la couche de convolution à travers des filtres de différentes dimensions. Normalement, des couches de pooling max ou moyennes sont utilisées, mais il existe divers autres types de couches de pooling utilisées dans les CNN en fonction du cas d'utilisation.
Types de couches de pooling
Il existe différents types de pooling, tels que le pooling max, moyen, global ou stochastique. Plongez profondément pour comprendre leurs avantages et comment ils diffèrent.
Pooling max
Le pooling max est la méthode de pooling la plus courante. Il divise la carte de caractéristiques d'entrée en régions plus petites, appelées fenêtres de pooling ou champs réceptifs. Celles-ci sont généralement de taille 2x2 ou 3x3. Dans chaque fenêtre de pooling, une opération d'agrégation se produit, où la valeur maximale dans la grille 2x2 est sélectionnée.
La valeur maximale correspond à la caractéristique la plus significative dans chaque région de l'image, facilitant l'identification des motifs clés par le système.
Voici le processus de pooling max.
- Créer des fenêtres de pooling. La carte de caractéristiques est divisée en régions non chevauchantes de tailles 2x2 ou 3x3.
- Choisir la valeur maximale. Le pooling max choisit la valeur la plus élevée pour chaque région.
- Produire une carte de caractéristiques poolée. En utilisant la valeur la plus élevée de chaque région, créer une carte de caractéristiques poolée. Celle-ci aura des dimensions inférieures à la carte de caractéristiques convoluée.
À mesure que la taille de la carte de caractéristiques diminue, la puissance de calcul requise pour traiter l'image diminue également. Ce type de pooling capture les caractéristiques les plus importantes et écarte les détails non pertinents. Il rend le réseau plus robuste aux petits décalages ou translations dans une image.
Pooling moyen
Le pooling moyen fonctionne de la même manière que le pooling max, mais au lieu de sélectionner la valeur maximale, il prend la valeur moyenne de chaque région. En considérant toutes les valeurs d'une région, le pooling moyen conserve plus d'informations sur les caractéristiques.
Voici comment fonctionne le pooling moyen :
- Diviser la carte de caractéristiques. La carte de caractéristiques est divisée en régions non chevauchantes.
- Calculer la valeur moyenne. Le pooling moyen calcule la moyenne de toutes les valeurs dans une zone.
- Développer une carte de caractéristiques poolée. Ces valeurs moyennes constituent la carte de caractéristiques poolée. La carte de caractéristiques poolée produite par le pooling moyen est plus lisse et moins bruyante que celle produite par le pooling max.
Pooling global
Le pooling global est appliqué sur l'ensemble de la carte de caractéristiques et donne une seule valeur pour chaque carte de caractéristiques. Ce type de couche de pooling fonctionne dans les étapes finales des réseaux de neurones convolutifs, où la carte de caractéristiques est convertie en un vecteur de taille fixe avant d'être transmise aux couches entièrement connectées.
Le pooling global inclut également les méthodes de pooling max et moyen. Le pooling max global utilise la valeur maximale de l'ensemble de la carte de caractéristiques, tandis que le pooling moyen global prend la valeur moyenne à la place. Il délivre une taille de sortie fixe quelle que soit la taille de l'entrée, ce qui le rend plus simple à connecter aux couches denses entièrement connectées.
Pooling stochastique
Le pooling stochastique introduit de l'aléatoire dans le processus de pooling. Il choisit des valeurs basées sur une distribution de probabilité dérivée de différentes valeurs dans la région de pooling. Ici, vous ne sélectionnez pas une valeur maximale ou moyenne à partir de différentes zones sur la carte de caractéristiques.
Source: Citeseerx
L'aléatoire empêche le réseau de surapprendre les données d'entraînement. Cela conduit à une meilleure généralisation, permettant au réseau d'explorer différentes représentations de caractéristiques.
Avantages et défis des couches de pooling
Les couches de pooling préservent les caractéristiques les plus critiques des données d'entrée en offrant une invariance de translation. Cela permet au modèle de générer la même sortie indépendamment des changements mineurs de l'entrée.
Ces couches sont cruciales dans la taille et la complexité des modèles d'apprentissage automatique, les rendant utiles dans plusieurs tâches d'apprentissage automatique. Elles sont placées après les couches convolutionnelles dans un CNN, où elles sous-échantillonnent la sortie, aidant le modèle à la traiter plus rapidement. Ces couches aident également à sélectionner les caractéristiques les plus importantes d'une image en utilisant la technique de pooling max.
Bien que la couche de pooling réduise les dimensions d'une couche d'entrée, elle contribue également à une certaine perte d'information des cartes de caractéristiques. Il y a une possibilité de sur-lissage des cartes de caractéristiques qui pourrait entraîner une perte de détails cruciaux pour la tâche de régression finale.
De plus, des hyperparamètres tels que les régions de pooling et la taille de stride entrent en jeu. Le stride évalue combien de carrés ou de pixels les filtres sautent lorsqu'ils se déplacent à travers une image de gauche à droite ou de haut en bas. Vous devez les ajuster pour obtenir des performances optimales, ce qui peut être chronophage et nécessiter une expertise raisonnable du modèle.
Rendre les CNN plus rapides
Les couches de pooling rendent les réseaux de neurones plus robustes contre les distorsions dans les données d'entrée. Elles améliorent également les performances du modèle sur de nouvelles données non vues en les sous-échantillonnant et en l'empêchant de s'ajuster trop étroitement aux données d'entraînement.
Dans l'ensemble, elles rendent les réseaux de neurones convolutifs plus rapides en simplifiant les données tout en conservant des informations importantes.
Apprenez à propos des réseaux de neurones récurrents et comprenez comment ils facilitent la reconnaissance vocale et la légende d'images.
Édité par Monishka Agrawal

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.