# Capa d'agrupació

A les xarxes neuronals, una capa d'agrupació és una mena de capa de xarxa que redueix i agrega la informació que es dispersa entre molts vectors en menys vectors. Té diversos usos. Elimina la informació redundant, redueix la quantitat de càlcul i memòria necessària, fa que el model sigui més robust a petites variacions en l'entrada i augmenta el camp receptiu de les neurones en capes posteriors de la xarxa.

## Història

A principis del segle XX, els neuroanatomistas van notar un cert motiu on múltiples neurones feien sinapsi a la mateixa neurona. Això es va donar una explicació funcional com "agrupació local", que fa que la traducció de la visió sigui invariable. (Hartline, 1940) va donar proves de suport a la teoria mitjançant experiments electrofisiològics sobre els camps receptius de les cèl·lules ganglionars de la retina. Els experiments de Hubel i Wiesel van demostrar que el sistema de visió dels gats és similar a una xarxa neuronal convolucional, amb algunes cèl·lules que sumen les entrades de la capa inferior.: Fig.19,20
Durant la dècada de 1970, per explicar els efectes de la percepció de la profunditat, alguns com (Julesz i Chang, 1976) van proposar que el sistema de visió implementa un mecanisme selectiu de disparitat mitjançant l'agrupació global, on els resultats de parells coincidents de regions de la retina dels dos ulls s'agrupen en cèl·lules d'ordre superior.
A les xarxes neuronals artificials, l'agrupació màxima es va utilitzar el 1990 per al processament de la parla (convolució unidimensional).

## Agrupació de xarxes neuronals convolucionals

La combinació s'utilitza més habitualment a les xarxes neuronals convolucionals (CNN). A continuació es mostra una descripció de l'agrupació en CNN bidimensionals. La generalització a n dimensions és immediata.
Com a notació, considerem un tensor $x\in \mathbb {R} ^{H\times W\times C}$, on $H$ és alçada, $W$ és ampla, i $C$ és el nombre de canals. Una capa d'agrupació produeix un tensor $y\in \mathbb {R} ^{H'\times W'\times C'}$.
Definim dues variables $f,s$ anomenada "mida del filtre" (també conegut com "mida del nucli") i "passada". De vegades, cal utilitzar una mida i un pas de filtre diferents per a direccions horitzontals i verticals. En aquests casos, definim 4 variables $f_{H},f_{W},s_{H},s_{W}$.
El camp receptiu d'una entrada al tensor de sortida $y$ hi ha totes les entrades $x$ que pot afectar aquesta entrada.

### Agrupació màxima

La agrupació màxima (MaxPool) s'utilitza habitualment a les CNN per reduir les dimensions espacials dels mapes de característiques.
Definir $\mathrm {MaxPool} (x|f,s)_{0,0,0}=\max(x_{0:f-1,0:f-1,0})$ on $0:f-1$ significa el rang $0,1,\dots ,f-1$. Tingueu en compte que hem d'evitar l'error off-by-one. La següent entrada és $\mathrm {MaxPool} (x|f,s)_{1,0,0}=\max(x_{s:s+f-1,0:f-1,0})$ i així successivament. El camp receptiu de $y_{i,j,c}$ és $x_{is+f-1,js+f-1,c}$, així que en general, $\mathrm {MaxPool} (x|f,s)_{i,j,c}=\mathrm {max} (x_{is:is+f-1,js:js+f-1,c})$ Si la mida i els passos del filtre horitzontal i vertical difereixen, en general, $\mathrm {MaxPool} (x|f,s)_{i,j,c}=\mathrm {max} (x_{is_{H}:is_{H}+f_{H}-1,js_{W}:js_{W}+f_{W}-1,c})$ Més succintament, podem escriure $y_{k}=\max(\{x_{k'}|k'{\text{ in the receptive field of }}k\})$.
Si $H$ no és expressable com $ks+f$ on $k$ és un nombre enter, aleshores per calcular les entrades del tensor de sortida als límits, l'agrupació màxima intentaria prendre com a variables d'entrada fora del tensor. En aquest cas, com es gestionen aquestes variables inexistents depèn de les condicions de farciment, il·lustrades a la dreta.
La agrupació màxima global (GMP) és un tipus específic de agrupació màxima on el tensor de sortida té forma $\mathbb {R} ^{C}$ i el camp receptiu de $y_{c}$ és tot $x_{0:H,0:W,c}$. És a dir, es necessita el màxim de cada canal sencer. Sovint s'utilitza just abans de les capes finals completament connectades en un capçal de classificació CNN.

### Agrupació mitjana

L'agrupació mitjana (AvgPool) es defineix de la mateixa manera $\mathrm {AvgPool} (x|f,s)_{i,j,c}=\mathrm {average} (x_{is:is+f-1,js:js+f-1,c})={\frac {1}{f^{2}}}\sum _{k\in is:is+f-1}\sum _{l\in js:js+f-1}x_{k,l,c}$ Global Average Pooling (GAP) es defineix de manera similar a GMP. Es va proposar per primera vegada a Network-in-Network. De manera similar a GMP, sovint s'utilitza just abans de les capes finals completament connectades en un capçal de classificació CNN.

### Interpolacions

Hi ha algunes interpolacions de la agrupació màxima i la agrupació mitjana.La agrupació mixta és una suma lineal de la agrupació màxima i la agrupació mitjana. És a dir,
$\mathrm {MixedPool} (x|f,s,w)=w\mathrm {MaxPool} (x|f,s)+(1-w)\mathrm {AvgPool} (x|f,s)$ on $w\in [0,1]$
$w\in [0,1]$ és un hiperparàmetre, un paràmetre aprendre o es mostra de nou aleatòriament cada vegada.
Lp Pooling és com l'agrupació mitjana, però utilitza la mitjana norma Lp en lloc de la mitjana: $y_{k}=\left({\frac {1}{N}}\sum _{k'{\text{ in the receptive field of }}k}|x_{k'}|^{p}\right)^{1/p}$ on $N$ és la mida del camp receptiu, i $p\geq 1$ és un hiperparàmetre. Si totes les activacions no són negatives, és el cas de l'agrupació mitjana $p=1$, i maxpooling és el cas de $p\to \infty$. La agrupació d'arrel quadrada és el cas de p=2.
L'agrupació estocàstica mostra una activació aleatòria $x_{k'}$ del camp receptiu amb probabilitat ${\frac {x_{k'}}{\sum _{k''}x_{k''}}}$. És el mateix que l'agrupació mitjana d'expectativa.
Softmax pooling és com maxpooling, però utilitza softmax, és a dir ${\frac {\sum _{k'}e^{\beta x_{k'}}x_{k'}}{\sum _{k''}e^{\beta x_{k''}}}}$ on $\beta >0$. La posada en comú mitjana és el cas de $\beta \downarrow 0$, i maxpooling és el cas de $\beta \uparrow \infty$.
La agrupació local basada en la importància generalitza l'agrupació softmax per ${\frac {\sum _{k'}e^{g(x_{k'})}x_{k'}}{\sum _{k''}e^{g(x_{k''})}}}$ on $g$ és una funció aprendre.

### Altres agrupacions

La agrupació piramidal espacial aplica la agrupació màxima (o qualsevol altra forma d'agrupació) en una estructura piramidal. És a dir, aplica la agrupació màxima global, després aplica la agrupació màxima a la imatge dividida en 4 parts iguals, després 16, etc. Els resultats es concatenen. És una forma jeràrquica d'agrupació global i, semblant a l'agrupació global, sovint s'utilitza just abans d'un cap de classificació.
La agrupació de regions d'interès (també coneguda com a agrupació de RoI) és una variant de la agrupació màxima que s'utilitza a les R-CNN per a la detecció d'objectes. Està dissenyat per prendre una matriu d'entrada de mida arbitrària i produir una matriu de sortida de mida fixa.
L'agrupació de covariància calcula la matriu de covariància dels vectors $\{x_{k,l,0:C-1}\}_{k\in is:is+f-1,l\in js:js+f-1}$ que després s'aplana a a $C^{2}$ vector -dimensional $y_{i,j,0:C^{2}-1}$. L'agrupació de covariància global s'utilitza de manera similar a l'agrupació màxima global. Com que l'agrupació mitjana calcula la mitjana, que és una estadística de primer grau, i la covariància és una estadística de segon grau, l'agrupació de covariàncies també s'anomena "agrupació de segon ordre". Es pot generalitzar a agrupacions d'ordre superior.
L'agrupació de desenfocament significa aplicar un mètode de desenfocament abans de baixar el mostreig. Per exemple, l'agrupació de desenfocament Rect-2 significa prendre una agrupació mitjana a $f=2,s=1$, després prenent cada segon píxel (identitat amb $s=2$ ).

## Agrupació de transformadors de visió

A Vision Transformers (ViT), hi ha els següents tipus comuns d'agrupaments.
L'agrupació semblant a BERT utilitza un testimoni [CLS] simulat ("classificació"). Per a la classificació, la sortida a [CLS] és el testimoni de classificació, que després és processat per un mòdul LayerNorm-feedforward-softmax en una distribució de probabilitat, que és la predicció de la xarxa de la distribució de probabilitat de classe. Aquest és el que fa servir el ViT original i l'Autoencoder emmascarat.
L'agrupació mitjana global (GAP) no utilitza el testimoni fictici, sinó que simplement pren la mitjana de tots els testimonis de sortida com a testimoni de classificació. Es va esmentar al ViT original com igual de bo.
L'agrupació d'atenció multicapçalera (MAP) aplica un bloc d'atenció multicapçalera a l'agrupació. Concretament, pren com a entrada una llista de vectors $x_{1},x_{2},\dots ,x_{n}$, que es podria considerar com els vectors de sortida d'una capa d'un ViT. A continuació, aplica una capa de feedforward $\mathrm {FFN}$ a cada vector, donant lloc a una matriu $V=[\mathrm {FFN} (v_{1}),\dots ,\mathrm {FFN} (v_{n})]$. A continuació, s'envia a una atenció multicapçalera, resultant en $\mathrm {MultiheadedAttention} (Q,V,V)$, on $Q$ és una matriu de paràmetres entrenables. Això es va proposar per primera vegada a l'arquitectura Set Transformer.
Documents posteriors van demostrar que GAP i MAP funcionen millor que l'agrupació semblant a BERT.

## Agrupació de xarxes neuronals de gràfics

A les xarxes neuronals de gràfics (GNN), també hi ha dues formes d'agrupació: global i local. La agrupació global es pot reduir a una agrupació local on el camp receptiu és la sortida sencera.
* Agrupació local: una capa d'agrupació local aproxima el gràfic mitjançant un mostreig inferior. L'agrupació local s'utilitza per augmentar el camp receptiu d'una GNN, de manera similar a l'agrupació de capes en xarxes neuronals convolucionals. Els exemples inclouen l'agrupació de k-veïns més propers, l'agrupació de k superior, i l'agrupació d'autoatenció.
* Agrupació global: una capa d'agrupació global, també coneguda com a capa de lectura, proporciona una representació de mida fixa de tot el gràfic. La capa d'agrupació global ha de ser invariant de la permutació, de manera que les permutacions en l'ordenació dels nodes i les vores del gràfic no alterin la sortida final. Els exemples inclouen la suma per elements, la mitjana o el màxim.
Les capes d'agrupació local fan més gruixudes el gràfic mitjançant el mostreig inferior. Presentem aquí diverses estratègies locals de posada en comú que s'han proposat. Per a cada cas, l'entrada és la gràfica inicial que està representada per una matriu $\mathbf {X}$ de les característiques del node i la matriu d'adjacència del graf $\mathbf {A}$. La sortida és la nova matriu $\mathbf {X} '$ de les característiques del node i la nova matriu d'adjacència de gràfics $\mathbf {A} '$.

## Referències

* ↑ Zhang, Aston. «7.5. Pooling». A: Dive into deep learning (en anglès). Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press, 2024. ISBN 978-1-009-38943-3.
* ↑ Hartline, H. K. American Journal of Physiology. Legacy Content, 130, 4, 30-09-1940, pàg. 690–699. DOI: 10.1152/ajplegacy.1940.130.4.690. ISSN: 0002-9513.
* ↑ Hubel, D. H.; Wiesel, T. N. The Journal of Physiology, 160, 1, 1-1962, pàg. 106–154.2. DOI: 10.1113/jphysiol.1962.sp006837. ISSN: 0022-3751. PMC: 1359523. PMID: 14449617.
* ↑ Westheimer, G The Journal of Physiology, 181, 4, 12-1965, pàg. 881–894. DOI: 10.1113/jphysiol.1965.sp007803. ISSN: 0022-3751. PMC: 1357689. PMID: 5881260.
* ↑ Julesz, Bela; Chang, Jih Jie Biological Cybernetics, 22, 2, 3-1976, pàg. 107–119. DOI: 10.1007/BF00320135. ISSN: 0340-1200. PMID: 1276243.
* ↑ Schumer, Robert; Ganz, Leo Vision Research, 19, 12, 01-01-1979, pàg. 1303–1314. DOI: 10.1016/0042-6989(79)90202-5. ISSN: 0042-6989. PMID: 532098.
* ↑ Network In Network.
* ↑ Yu, Dingjun. «Mixed Pooling for Convolutional Neural Networks». A: Miao. Rough Sets and Knowledge Technology (en anglès). 8818. Cham: Springer International Publishing, 2014, p. 364–375 (Lecture Notes in Computer Science). DOI 10.1007/978-3-319-11740-9_34. ISBN 978-3-319-11740-9.
* ↑ Boureau, Y-Lan; Ponce, Jean; LeCun, Yann Proceedings of the 27th International Conference on International Conference on Machine Learning [Madison, WI, USA], 21-06-2010, pàg. 111–118.
* ↑ He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian IEEE Transactions on Pattern Analysis and Machine Intelligence, 37, 9, 01-09-2015, pàg. 1904–1916. arXiv: 1406.4729. DOI: 10.1109/TPAMI.2015.2389824. ISSN: 0162-8828. PMID: 26353135.
* ↑ Zhang, Aston. «14.8. Region-based CNNs (R-CNNs)». A: Dive into deep learning (en anglès). Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press, 2024. ISBN 978-1-009-38943-3.
* ↑ Tuzel, Oncel. «Region Covariance: A Fast Descriptor for Detection and Classification». A: Leonardis. Computer Vision – ECCV 2006 (en anglès). 3952. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006, p. 589–600. DOI 10.1007/11744047_45. ISBN 978-3-540-33834-5.
* ↑ Wang, Qilong; Xie, Jiangtao; Zuo, Wangmeng; Zhang, Lei; Li, Peihua IEEE Transactions on Pattern Analysis and Machine Intelligence, 43, 8, 2020, pàg. 2582–2597. arXiv: 1904.06836. DOI: 10.1109/TPAMI.2020.2974833. ISSN: 0162-8828. PMID: 32086198.
* ↑ He, Kaiming. «Masked Autoencoders Are Scalable Vision Learners». A: 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (en anglès). IEEE, June 2022, p. 15979–15988. DOI 10.1109/cvpr52688.2022.01553. ISBN 978-1-6654-6946-3.
* ↑ Zhai, Xiaohua. «Scaling Vision Transformers». A: 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (en anglès). IEEE, June 2022, p. 1204–1213. DOI 10.1109/cvpr52688.2022.01179. ISBN 978-1-6654-6946-3.
* ↑ Lee, Juho; Lee, Yoonho; Kim, Jungtaek; Kosiorek, Adam; Choi, Seungjin Proceedings of the 36th International Conference on Machine Learning, 24-05-2019, pàg. 3744–3753. arXiv: 1810.00825.
* ↑ Zhai, Xiaohua. «Scaling Vision Transformers». A: 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (en anglès). IEEE, June 2022, p. 1204–1213. DOI 10.1109/cvpr52688.2022.01179. ISBN 978-1-6654-6946-3.