Dans les réseaux de neurones , une couche de pooling est un type de couche qui sous-échantillonne et agrège les informations dispersées dans de nombreux vecteurs en un nombre réduit de vecteurs. Elle présente plusieurs avantages : elle élimine les informations redondantes, réduisant ainsi la charge de calcul et la mémoire nécessaires, ce qui rend le modèle plus robuste aux petites variations des entrées ; et elle augmente le champ réceptif des neurones des couches supérieures du réseau.
Mise en commun des réseaux neuronaux convolutifs
Le pooling est principalement utilisé dans les réseaux de neurones convolutifs (CNN). Vous trouverez ci-dessous une description du pooling dans les CNN bidimensionnels. La généralisation aux CNN à n dimensions est immédiate.
Comme notation, nous considérons un tenseur
Nous définissons deux variables
Le champ réceptif d'une entrée du tenseur de sortie,
Max pooling

Le Max Pooling (MaxPool) est couramment utilisé dans les CNN pour réduire les dimensions spatiales des cartes de caractéristiques.
Définir

Si
Le Global Max Pooling (GMP) est un type spécifique de max pooling où le tenseur de sortie a une forme
Mise en commun moyenne
La mise en commun moyenne (AvgPool) est définie de manière similaire
Interpolations
Il existe des interpolations de max pooling et de average pooling.
Le Mixed Pooling est une somme linéaire du max pooling et de l'average pooling. C'est-à-dire,
Le Lp Pooling est similaire au average pooling, mais utilise la norme Lp au lieu de la moyenne :
Le regroupement stochastique échantillonne une activation aléatoire
Le softmax pooling est similaire au max pooling, mais utilise la fonction softmax , c'est-à-direLa mise en commun moyenne est le cas de
Le regroupement basé sur l'importance locale généralise le regroupement softmax par

Autres mises en commun
Le pooling pyramidal spatial applique le max pooling (ou toute autre forme de pooling) selon une structure pyramidale . Autrement dit, il applique d'abord un max pooling global, puis un max pooling à l'image divisée en 4 parties égales, puis en 16, etc. Les résultats sont ensuite concaténés . Il s'agit d'une forme hiérarchique de pooling global et, comme ce dernier, il est souvent utilisé juste avant la phase de classification.
Le regroupement de régions d'intérêt (également connu sous le nom de regroupement RoI) est une variante du regroupement maximal utilisée dans les R-CNN pour la détection d'objets . Il est conçu pour prendre une matrice d'entrée de taille arbitraire et produire une matrice de sortie de taille fixe.
Le regroupement de covariance calcule la matrice de covariance des vecteurs
Le Blur Pooling consiste à appliquer une méthode de flou avant le sous-échantillonnage. Par exemple, le Blur Pooling Rect-2 consiste à effectuer un pooling moyen à
Mise en commun des transformateurs de vision
Dans Vision Transformers (ViT), il existe les types de regroupements courants suivants.
Le regroupement de type BERT utilise un[CLS]jeton factice, « classification ». Pour la classification, la sortie[CLS]est le jeton de classification, qui est ensuite traité par un module LayerNorm -feedforward-softmax pour obtenir une distribution de probabilité, qui est la prédiction du réseau quant à la distribution de probabilité de la classe. C'est celle utilisée par ViT original et Masked Autoencoder .
Le regroupement moyen global (GAP) n'utilise pas de jeton factice, mais prend simplement la moyenne de tous les jetons de sortie comme jeton de classification. Il a été mentionné dans le ViT original comme étant tout aussi performant.
Le pooling d'attention multi-têtes (MAP) applique un bloc d'attention multi-têtes au pooling. Plus précisément, il prend en entrée une liste de vecteurs.
Des études ultérieures ont démontré que GAP et MAP sont tous deux plus performants que le regroupement de type BERT.
regroupement de réseaux neuronaux graphiques
Dans les réseaux de neurones graphiques (GNN), il existe également deux formes de pooling : global et local. Le pooling global peut être réduit à un pooling local où le champ réceptif correspond à la sortie entière.
- Mise en commun locale : une couche de mise en commun locale réduit la taille du graphe par sous-échantillonnage . La mise en commun locale est utilisée pour augmenter le champ réceptif d’un GNN, de manière similaire aux couches de mise en commun dans les réseaux de neurones convolutifs . Exemples : mise en commun des k plus proches voisins , mise en commun des k meilleurs voisins et mise en commun par auto-attention
- Mise en commun globale : une couche de mise en commun globale, également appelée couche de lecture , fournit une représentation de taille fixe de l’ensemble du graphe. Cette couche doit être invariante par permutation, de sorte que toute permutation de l’ordre des nœuds et des arêtes du graphe ne modifie pas le résultat final. Le calcul de la somme, de la moyenne ou du maximum élément par élément en est un exemple.
Les couches de pooling local affinent le graphe par sous-échantillonnage. Nous présentons ici plusieurs stratégies de pooling local apprenables qui ont été proposées. Dans chaque cas, l'entrée du graphe initial est représentée par une matrice
Mise en commun des Top-k
Nous avons d'abord mis
où
La couche de mise en commun top-k peut alors être formalisée comme suit :
où
Mise en commun de l'attention à soi
Nous avons d'abord mis
où
La couche de mise en commun de l'auto-attention peut alors être formalisée comme suit :
où
La couche de regroupement par auto-attention peut être considérée comme une extension de la couche de regroupement top-k. Contrairement à cette dernière, les scores d'auto-attention calculés dans la couche de regroupement par auto-attention tiennent compte à la fois des caractéristiques et de la topologie du graphe.
Histoire
Au début du XXe siècle, les neuroanatomistes ont observé un motif particulier où plusieurs neurones font synapse avec un même neurone. Ce phénomène a été expliqué fonctionnellement par le terme de « mise en commun locale », ce qui rend la vision invariante par translation. Hartline a apporté des preuves à l'appui de cette théorie grâce à des expériences électrophysiologiques sur les champs récepteurs des cellules ganglionnaires rétiniennes. Les expériences de Hubel et Wiesel ont montré que le système visuel du chat est similaire à un réseau neuronal convolutif, certaines cellules sommant les entrées provenant de la couche inférieure. Voir Westheimer pour les références à ces travaux anciens.
Dans les années 1970, afin d'expliquer les effets de la perception de la profondeur , certains auteurs, tels que Julesz et Chang, ont proposé que le système visuel mette en œuvre un mécanisme de sélection de la disparité par regroupement global, où les sorties des paires de régions rétiniennes correspondantes des deux yeux sont regroupées dans des cellules d'ordre supérieur. Voir Schumer et Ganz pour les références à ces travaux initiaux.
Dans les réseaux neuronaux artificiels, le max pooling a été utilisé en 1990 pour le traitement de la parole (convolution unidimensionnelle), et pour le traitement d'images, a été utilisé pour la première fois dans le Cresceptron de 1992.