Motivo arquitectónico en redes neuronales para agregación de información.
En las redes neuronales , una capa de agrupación es un tipo de capa de red que reduce la resolución y agrega la información que se encuentra dispersa entre muchos vectores en menos vectores. [1] Tiene varios usos. Elimina la información redundante, lo que reduce la cantidad de computación y memoria requerida, hace que el modelo sea más robusto a pequeñas variaciones en la entrada y aumenta el campo receptivo de las neuronas en capas posteriores de la red.
Agrupamiento de redes neuronales convolucionales
La agrupación se utiliza con mayor frecuencia en redes neuronales convolucionales (CNN). A continuación, se incluye una descripción de la agrupación en CNN bidimensionales. La generalización a n dimensiones es inmediata.
Como notación, consideramos un tensor , donde es la altura, es el ancho y es el número de canales. Una capa de agrupamiento genera un tensor .
Definimos dos variables llamadas "tamaño de filtro" (también conocido como "tamaño de kernel") y "paso". A veces, es necesario utilizar un tamaño de filtro y un paso diferentes para las direcciones horizontal y vertical. En tales casos, definimos 4 variables .
El campo receptivo de una entrada en el tensor de salida son todas las entradas que pueden afectar esa entrada.
Agrupamiento máximo
Max Pooling (MaxPool) se utiliza comúnmente en CNN para reducir las dimensiones espaciales de los mapas de características.
Defina donde significa el rango . Tenga en cuenta que debemos evitar el error de desfase de uno en uno . La siguiente entrada es y así sucesivamente. El campo receptivo de es , por lo que en general, Si el tamaño del filtro horizontal y vertical y los pasos difieren, entonces en general, De manera más sucinta, podemos escribir .
Si no se puede expresar como donde es un entero, entonces para calcular las entradas del tensor de salida en los límites, la agrupación máxima intentaría tomar como entradas variables del tensor. En este caso, la forma en que se manejan esas variables inexistentes depende de las condiciones de relleno , ilustradas a la derecha.
Global Max Pooling (GMP) es un tipo específico de agrupación máxima en el que el tensor de salida tiene forma y el campo receptivo de es todo de . Es decir, toma el máximo en cada canal completo. Se suele utilizar justo antes de las capas finales completamente conectadas en un cabezal de clasificación CNN.
Agrupamiento promedio
La agrupación promedio (AvgPool) se define de manera similar a la agrupación promedio global (GAP) y se propuso por primera vez en Network-in-Network. [2] De manera similar a la GMP, a menudo se utiliza justo antes de las capas finales completamente conectadas en un cabezal de clasificación CNN.
Interpolaciones
Hay algunas interpolaciones de agrupamiento máximo y agrupamiento promedio.
La agrupación mixta es una suma lineal de la agrupación máxima y la agrupación promedio. [3] Es decir,
donde es un hiperparámetro, un parámetro que se puede aprender o que se muestrea de forma aleatoria cada vez.
La agrupación de Lp es como la agrupación promedio, pero utiliza la norma Lp promedio en lugar del promedio: donde es el tamaño del campo receptivo y es un hiperparámetro. Si todas las activaciones son no negativas, entonces la agrupación promedio es el caso de , y la agrupación máxima es el caso de . La agrupación de raíz cuadrada es el caso de . [4]
La agrupación estocástica toma muestras de una activación aleatoria del campo receptivo con probabilidad . Es lo mismo que la agrupación promedio en expectativa . [5]
La agrupación Softmax es como la agrupación Max, pero utiliza Softmax , es decir, donde . La agrupación promedio es el caso de , y la agrupación Max es el caso de [4]
La agrupación basada en importancia local generaliza la agrupación softmax mediante donde es una función que se puede aprender. [6]
Otras agrupaciones
La agrupación piramidal espacial aplica la agrupación máxima (o cualquier otra forma de agrupación) en una estructura piramidal . Es decir, aplica la agrupación máxima global, luego aplica la agrupación máxima a la imagen dividida en 4 partes iguales, luego a 16, etc. Luego se concatenan los resultados. Es una forma jerárquica de agrupación global y, similar a la agrupación global, a menudo se utiliza justo antes de un encabezado de clasificación. [7]
La agrupación de regiones de interés (también conocida como agrupación de RoI) es una variante de agrupación máxima utilizada en R-CNN para la detección de objetos . [8] Está diseñada para tomar una matriz de entrada de tamaño arbitrario y generar una matriz de salida de tamaño fijo.
La agrupación de covarianzas calcula la matriz de covarianzas de los vectores , que luego se aplana a un vector de dimensión . La agrupación de covarianzas globales se utiliza de manera similar a la agrupación máxima global. Como la agrupación de promedios calcula el promedio, que es una estadística de primer grado , y la covarianza es una estadística de segundo grado, la agrupación de covarianzas también se denomina "agrupación de segundo orden". Se puede generalizar a agrupaciones de orden superior. [9] [10]
La agrupación de desenfoque implica aplicar un método de desenfoque antes de reducir la resolución. Por ejemplo, la agrupación de desenfoque Rect-2 implica tomar una agrupación promedio en , y luego tomar cada segundo píxel (identidad con ). [11]
Agrupación de transformadores de visión
En Vision Transformers (ViT), existen los siguientes tipos comunes de agrupaciones.
La agrupación de tipo BERT utiliza un[CLS]token ficticio ("clasificación"). Para la clasificación, la salida[CLS]es el token de clasificación, que luego es procesado por un módulo LayerNorm -feedforward-softmax en una distribución de probabilidad, que es la predicción de la red de la distribución de probabilidad de clase. Esta es la que utilizan el ViT original [12] y Masked Autoencoder [13] .
El agrupamiento promedio global (GAP) no utiliza el token ficticio, sino que simplemente toma el promedio de todos los tokens de salida como token de clasificación. En el ViT original se mencionó que era igualmente bueno. [12]
La agrupación de atención multicabezal (MAP) aplica un bloque de atención multicabezal a la agrupación. Específicamente, toma como entrada una lista de vectores , que podrían considerarse como los vectores de salida de una capa de un ViT. Luego aplica una capa de avance en cada vector, lo que da como resultado una matriz . Luego, esta se envía a una atención multicabezal, lo que da como resultado , donde es una matriz de parámetros entrenables. [14] Esto se propuso por primera vez en la arquitectura Set Transformer. [15]
Artículos posteriores demostraron que tanto GAP como MAP funcionan mejor que la agrupación tipo BERT. [14] [16]
Agrupamiento de redes neuronales gráficas
En las redes neuronales de grafos (GNN), también hay dos formas de agrupamiento: global y local. El agrupamiento global se puede reducir a un agrupamiento local donde el campo receptivo es la salida completa.
Agrupamiento local : una capa de agrupamiento local hace que el gráfico sea más grueso mediante un muestreo descendente . El agrupamiento local se utiliza para aumentar el campo receptivo de una GNN, de manera similar a las capas de agrupamiento en redes neuronales convolucionales . Algunos ejemplos incluyen el agrupamiento de k vecinos más cercanos , el agrupamiento de top-k [17] y el agrupamiento de autoatención [18] .
Agrupamiento global : una capa de agrupamiento global, también conocida como capa de lectura , proporciona una representación de tamaño fijo de todo el gráfico. La capa de agrupamiento global debe ser invariante a la permutación, de modo que las permutaciones en el orden de los nodos y los bordes del gráfico no alteren el resultado final. [19] Algunos ejemplos incluyen la suma, la media o el máximo de cada elemento.
Las capas de agrupamiento local hacen que el gráfico sea más grueso mediante un muestreo descendente. Aquí presentamos varias estrategias de agrupamiento local que se pueden aprender y que se han propuesto. [19] Para cada caso, la entrada es el gráfico inicial representado por una matriz de características de nodo y la matriz de adyacencia del gráfico . La salida es la nueva matriz de características de nodo y la nueva matriz de adyacencia del gráfico .
Agrupación de los mejores k
Primero nos pusimos
donde es un vector de proyección que se puede aprender. El vector de proyección calcula un valor de proyección escalar para cada nodo del gráfico.
La capa de agrupación top-k [17] puede formalizarse entonces de la siguiente manera:
donde es el subconjunto de nodos con los k puntajes de proyección más altos, denota la multiplicación de matrices elemento por elemento y es la función sigmoidea . En otras palabras, los nodos con los k puntajes de proyección más altos se conservan en la nueva matriz de adyacencia . La operación hace que el vector de proyección sea entrenable por retropropagación , que de otra manera produciría salidas discretas. [17]
Puesta en común de la autoatención
Primero nos pusimos
donde es una capa GNN equivariante de permutación genérica (por ejemplo, GCN, GAT, MPNN).
La capa de agrupación de autoatención [18] puede formalizarse de la siguiente manera:
donde es el subconjunto de nodos con los k puntajes de proyección más altos, denota la multiplicación de matrices elemento por elemento .
La capa de agrupación de autoatención puede considerarse una extensión de la capa de agrupación top-k. A diferencia de la agrupación top-k, los puntajes de autoatención calculados en la agrupación de autoatención tienen en cuenta tanto las características del gráfico como la topología del mismo.
Historia
A principios del siglo XX, los neuroanatomistas observaron un motivo específico en el que varias neuronas hacen sinapsis con la misma neurona. A esto se le dio una explicación funcional como "agrupación local", que hace que la visión sea invariable en la traducción. (Hartline, 1940) [20] proporcionó evidencia de apoyo a la teoría mediante experimentos electrofisiológicos en los campos receptivos de las células ganglionares de la retina. Los experimentos de Hubel y Wiesel mostraron que el sistema de visión en los gatos es similar a una red neuronal convolucional, con algunas células sumando las entradas de la capa inferior. [21] : Fig. 19, 20 Ver (Westheimer, 1965) [22] para citas de esta literatura temprana.
Durante la década de 1970, para explicar los efectos de la percepción de profundidad, algunos autores, como ( Julesz y Chang, 1976) [23], propusieron que el sistema de visión implementa un mecanismo de selección de disparidad mediante agrupación global, donde las salidas de pares coincidentes de regiones retinianas en los dos ojos se agrupan en células de orden superior. Véase [24] para consultar las citas de esta literatura temprana.
En redes neuronales artificiales, el agrupamiento máximo se utilizó en 1990 para el procesamiento del habla (convolución unidimensional). [25]
^ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "7.5. Agrupamiento". Sumérjase en el aprendizaje profundo . Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN 978-1-009-38943-3.
^ Yu, Dingjun; Wang, Hanli; Chen, Peiqiu; Wei, Zhihua (2014). "Agrupamiento mixto para redes neuronales convolucionales". En Miao, Duoqian; Pedrycz, Witold; Ślȩzak, Dominik; Peters, Georg; Hu, Qinghua; Wang, Ruizhi (eds.). Conjuntos aproximados y tecnología del conocimiento . Apuntes de clase en informática. Vol. 8818. Cham: Springer International Publishing. págs. 364–375. doi :10.1007/978-3-319-11740-9_34. ISBN978-3-319-11740-9.
^ ab Boureau, Y-Lan; Ponce, Jean; LeCun, Yann (21 de junio de 2010). "Un análisis teórico de la agrupación de características en el reconocimiento visual". Actas de la 27.ª Conferencia Internacional sobre Aprendizaje Automático . ICML'10. Madison, WI, EE. UU.: Omnipress: 111–118. ISBN978-1-60558-907-7.
^ Zeiler, Matthew D.; Fergus, Rob (15 de enero de 2013). "Agrupamiento estocástico para la regularización de redes neuronales convolucionales profundas". arXiv : 1301.3557 [cs.LG].
^ Gao, Ziteng; Wang, Limin; Wu, Gangshan (2019). "LIP: agrupación local basada en la importancia": 3355–3364. arXiv : 1908.04156 .{{cite journal}}: Requiere citar revista |journal=( ayuda )
^ He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (1 de septiembre de 2015). "Agrupamiento de pirámides espaciales en redes convolucionales profundas para reconocimiento visual". IEEE Transactions on Pattern Analysis and Machine Intelligence . 37 (9): 1904–1916. arXiv : 1406.4729 . doi :10.1109/TPAMI.2015.2389824. ISSN 0162-8828. PMID 26353135.
^ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "14.8. CNN basadas en regiones (R-CNN)". Sumérjase en el aprendizaje profundo . Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN978-1-009-38943-3.
^ Tuzel, Oncel; Porikli, Fatih; Meer, Peter (2006). "Covarianza de regiones: un descriptor rápido para detección y clasificación". En Leonardis, Aleš; Bischof, Horst; Pinz, Axel (eds.). Visión artificial – ECCV 2006. Vol. 3952. Berlín, Heidelberg: Springer Berlin Heidelberg. págs. 589–600. doi :10.1007/11744047_45. ISBN978-3-540-33834-5. Recuperado el 9 de septiembre de 2024 .
^ Wang, Qilong; Xie, Jiangtao; Zuo, Wangmeng; Zhang, Lei; Li, Peihua (2020). "Las CNN profundas se encuentran con la agrupación de covarianza global: mejor representación y generalización". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 43 (8): 2582–2597. arXiv : 1904.06836 . doi :10.1109/TPAMI.2020.2974833. ISSN 0162-8828. PMID 32086198.
^ Zhang, Richard (27 de septiembre de 2018). "Cómo hacer que las redes convolucionales vuelvan a ser invariantes respecto del cambio". arXiv : 1904.11486 .{{cite journal}}: Requiere citar revista |journal=( ayuda )
^ ab Dosovitskiy, Alexey; Beyer, Lucas; Kolesnikov, Alejandro; Weissenborn, Dirk; Zhai, Xiaohua; Unterthiner, Thomas; Dehghani, Mostafa; Minderer, Matías; Heigold, Georg; Gelly, Sylvain; Uszkoreit, Jakob (3 de junio de 2021). "Una imagen vale 16 x 16 palabras: transformadores para el reconocimiento de imágenes a escala". arXiv : 2010.11929 [cs.CV].
^ He, Kaiming; Chen, Xinlei; Xie, Saining; Li, Yanghao; Dollar, Piotr; Girshick, Ross (junio de 2022). "Los autocodificadores enmascarados son aprendices de visión escalables". Conferencia IEEE/CVF de 2022 sobre visión artificial y reconocimiento de patrones (CVPR) . IEEE. págs. 15979–15988. arXiv : 2111.06377 . doi :10.1109/cvpr52688.2022.01553. ISBN .978-1-6654-6946-3.
^ ab Zhai, Xiaohua; Kolesnikov, Alexander; Houlsby, Neil; Beyer, Lucas (junio de 2022). "Transformadores de visión a escala". Conferencia IEEE/CVF de 2022 sobre visión artificial y reconocimiento de patrones (CVPR) . IEEE. págs. 1204–1213. arXiv : 2106.04560 . doi :10.1109/cvpr52688.2022.01179. ISBN .978-1-6654-6946-3.
^ Lee, Juho; Lee, Yoonho; Kim, Jungtaek; Kosiorek, Adam; Choi, Seungjin; Teh, Yee Whye (24 de mayo de 2019). "Set Transformer: un marco para redes neuronales invariantes de permutación basadas en la atención". Actas de la 36.ª Conferencia internacional sobre aprendizaje automático . PMLR: 3744–3753. arXiv : 1810.00825 .
^ Karamcheti, Siddharth; Nair, Suraj; Chen, Annie S.; Kollar, Thomas; Finn, Chelsea; Sadigh, Dorsa; Liang, Percy (24 de febrero de 2023). "Aprendizaje de representación basado en lenguaje para robótica". arXiv : 2302.12766 [cs.RO].
^ abc Gao, Hongyang; Ji, Shuiwang Ji (2019). "Graficar U-Nets". arXiv : 1905.05178 [cs.LG].
^ ab Lee, Junhyun; Lee, Inyeop; Kang, Jaewoo (2019). "Gráficos de autoatención en conjunto". arXiv : 1904.08082 [cs.LG].
^ ab Liu, Chuang; Zhan, Yibing; Li, Chang; Du, Bo; Wu, Jia; Hu, Wenbin; Liu, Tongliang; Tao, Dacheng (2022). "Agrupamiento de grafos para redes neuronales de grafos: progreso, desafíos y oportunidades". arXiv : 2204.07321 [cs.LG].
^ Hartline, HK (30 de septiembre de 1940). "Los campos receptivos de las fibras del nervio óptico". American Journal of Physiology-Legacy Content . 130 (4): 690–699. doi :10.1152/ajplegacy.1940.130.4.690. ISSN 0002-9513.
^ Hubel, DH; Wiesel, TN (enero de 1962). "Campos receptivos, interacción binocular y arquitectura funcional en la corteza visual del gato". The Journal of Physiology . 160 (1): 106–154.2. doi :10.1113/jphysiol.1962.sp006837. ISSN 0022-3751. PMC 1359523 . PMID 14449617.
^ Westheimer, G (diciembre de 1965). "Interacción espacial en la retina humana durante la visión escotópica". Revista de fisiología . 181 (4): 881–894. doi :10.1113/jphysiol.1965.sp007803. ISSN 0022-3751. PMC 1357689 . PMID 5881260.
^ Julesz, Bela; Chang, Jih Jie (marzo de 1976). "Interacción entre grupos de detectores de disparidad binoculares ajustados a diferentes disparidades". Cibernética biológica . 22 (2): 107–119. doi :10.1007/BF00320135. ISSN 0340-1200. PMID 1276243.
^ Schumer, Robert; Ganz, Leo (1979-01-01). "Canales estereoscópicos independientes para diferentes grados de agrupamiento espacial". Vision Research . 19 (12): 1303–1314. doi :10.1016/0042-6989(79)90202-5. ISSN 0042-6989. PMID 532098.
^ Yamaguchi, Kouichi; Sakamoto, Kenji; Akabane, Toshio; Fujimoto, Yoshiji (noviembre de 1990). Una red neuronal para el reconocimiento de palabras aisladas independiente del hablante. Primera Conferencia Internacional sobre Procesamiento del Lenguaje Hablado (ICSLP 90). Kobe, Japón. Archivado desde el original el 2021-03-07 . Consultado el 2019-09-04 .