
Una red neuronal residual (también conocida como red residual o ResNet ) [ 1 ] es una arquitectura de aprendizaje profundo en la que las capas aprenden funciones residuales con referencia a las entradas de la capa. Fue desarrollada en 2015 para el reconocimiento de imágenes y ganó el ImageNet Large Scale Visual Recognition Challenge ( ILSVRC ) de ese año. [ 2 ] [ 3 ]
Como punto de terminología, "conexión residual" se refiere al motivo arquitectónico específico de, dóndees un módulo de red neuronal arbitrario. El motivo ya se había utilizado anteriormente (véase la sección Historia para más detalles). Sin embargo, la publicación de ResNet lo popularizó ampliamente en redes de alimentación directa , apareciendo en redes neuronales aparentemente no relacionadas con ResNet.
La conexión residual estabiliza el entrenamiento y la convergencia de redes neuronales profundas con cientos de capas, y es un motivo común en redes neuronales profundas, como los modelos Transformer (por ejemplo, BERT , y los modelos GPT como ChatGPT ), el sistema AlphaGo Zero , el sistema AlphaStar y el sistema AlphaFold .
Matemáticas
Conexión residual
En un modelo de red neuronal multicapa, consideremos una subred (no residual) con un cierto número de capas apiladas (por ejemplo, 2 o 3). Seadenotemos la subred. Supongamoses la salida óptima deseada de esta subred. El aprendizaje residual simplemente añadedirectamente a la salida, de modo que la salida aprendida óptima ahora se convierte en, que se interpreta como un "residuo" con respecto a.
La operación de "sumar"" se implementa mediante una "conexión de salto" que realiza un mapeo de identidad para conectar la entrada de la subred con su salida. Esta conexión se denomina "conexión residual" en trabajos posteriores.
Dejar. La funciónA menudo se representa mediante la multiplicación de matrices intercalada con funciones de activación y operaciones de normalización (por ejemplo, normalización por lotes o normalización de capas ). En su conjunto, una de estas subredes se denomina "bloque residual". [ 1 ] Una red residual profunda se construye simplemente apilando estos bloques.
La memoria a largo y corto plazo (LSTM) tiene un mecanismo de memoria que sirve como conexión residual. [ 4 ] En una LSTM sin puerta de olvido , una entradaes procesado por una funcióny se añadió a una célula de memoria, Resultando en. Una LSTM con una puerta de olvido funciona esencialmente como una red de autopistas .
Para estabilizar la varianza de las entradas de las capas, se recomienda reemplazar las conexiones residuales.con, dóndees el número total de capas residuales. [ 5 ]
Conexión de proyección
Si la funciónes de tipodónde, entoncesno está definido. Para manejar este caso especial, se utiliza una conexión de proyección:
dóndees típicamente una proyección lineal, definida pordóndees unmatriz. La matriz se entrena mediante retropropagación , al igual que cualquier otro parámetro del modelo.
propagación de la señal
La introducción de mapeos de identidad facilita la propagación de la señal tanto en sentido directo como inverso. [ 6 ]
Propagación hacia adelante
Si la salida de laEl bloque residual -ésimo es la entrada al-ésimo bloque residual (suponiendo que no hay función de activación entre bloques), entonces elLa entrada -th es:
Aplicando esta formulación de forma recursiva, por ejemplo:
da como resultado la relación general:
dóndees el índice de un bloque residual yes el índice de algún bloque anterior. Esta formulación sugiere que siempre hay una señal que se envía directamente desde un bloque más superficial.a un bloque más profundo.
Propagación hacia atrás
La formulación de aprendizaje residual proporciona el beneficio adicional de mitigar en cierta medida el problema del gradiente evanescente . Sin embargo, es crucial reconocer que el problema del gradiente evanescente no es la causa raíz del problema de degradación, que se aborda mediante el uso de la normalización. Para observar el efecto de los bloques residuales en la retropropagación, considere la derivada parcial de una función de pérdida.con respecto a alguna entrada de bloque residual. Utilizando la ecuación anterior de propagación hacia adelante para un bloque residual posterior: [ 6 ]
Esta formulación sugiere que el cálculo del gradiente de una capa menos profunda,, siempre tiene un término posteriorque se añade directamente. Incluso si los gradientes de laLos términos son pequeños, el gradiente totalresiste desaparecer debido al término añadido.
Variantes de bloques residuales

Bloque básico
Un bloque básico es el bloque de construcción más simple estudiado en la ResNet original. [ 1 ] Este bloque consta de dos capas convolucionales secuenciales de 3x3 y una conexión residual. Las dimensiones de entrada y salida de ambas capas son iguales.

Bloque de cuello de botella
Un bloque de cuello de botella [ 1 ] consta de tres capas convolucionales secuenciales y una conexión residual. La primera capa de este bloque es una convolución de 1×1 para la reducción de dimensionalidad (por ejemplo, a la mitad de la dimensión de entrada); la segunda capa realiza una convolución de 3×3; la última capa es otra convolución de 1×1 para la restauración de la dimensionalidad. Los modelos ResNet-50, ResNet-101 y ResNet-152 se basan en bloques de cuello de botella. [ 1 ]
Bloqueo de preactivación
El bloque residual de preactivación [ 6 ] aplica funciones de activación antes de aplicar la función residual.Formalmente, el cálculo de un bloque residual de preactivación se puede escribir como:
dóndePuede ser cualquier operación de activación (p. ej., ReLU ) o normalización (p. ej., LayerNorm ). Este diseño reduce el número de mapeos que no son de identidad entre bloques residuales y permite un mapeo de identidad directamente de la entrada a la salida. Este diseño se utilizó para entrenar modelos con entre 200 y más de 1000 capas, y se comprobó que superaba consistentemente a las variantes en las que la ruta residual no es una función de identidad. El ResNet de preactivación con 200 capas tardó 3 semanas en entrenarse para ImageNet en 8 GPU en 2016. [ 6 ]
Desde GPT-2 , los bloques transformadores se han implementado mayoritariamente como bloques de preactivación. Esto se suele denominar "prenormalización" en la literatura sobre modelos transformadores. [ 7 ]

Aplicaciones
Originalmente, ResNet fue diseñado para visión artificial . [ 1 ] [ 8 ] [ 9 ]

Todas las arquitecturas de transformadores incluyen conexiones residuales. De hecho, los transformadores muy profundos no pueden entrenarse sin ellas. [ 10 ]
El artículo original sobre ResNet no afirmaba estar inspirado en sistemas biológicos. Sin embargo, investigaciones posteriores han relacionado ResNet con algoritmos biológicamente plausibles. [ 11 ] [ 12 ]
Un estudio publicado en Science en 2023 [ 13 ] reveló el conectoma completo del cerebro de un insecto (específicamente el de una larva de mosca de la fruta). Este estudio descubrió "atajos multicapa" que se asemejan a las conexiones de salto en las redes neuronales artificiales, incluidas las ResNets.
Historia
Trabajos anteriores
Se observaron conexiones residuales en neuroanatomía , como Lorente de No (1938). [ 14 ] : Fig 3 McCulloch y Pitts (1943) propusieron redes neuronales artificiales y consideraron aquellas con conexiones residuales. [ 15 ] : Fig 1.h
En 1961, Frank Rosenblatt describió un modelo de perceptrón multicapa (MLP) de tres capas con conexiones de salto. [ 16 ] : 313, Capítulo 15 El modelo fue denominado "sistema de acoplamiento cruzado", y las conexiones de salto eran formas de conexiones de acoplamiento cruzado.
Durante finales de la década de 1980, las conexiones de "capa salteada" se usaban a veces en redes neuronales. Algunos ejemplos son: [ 17 ] [ 18 ] Lang y Witbrock (1988) [ 19 ] entrenaron una red de alimentación directa totalmente conectada donde cada capa se conecta salteando a todas las capas subsiguientes, como la posterior DenseNet (2016). En este trabajo, la conexión residual era de la forma, dóndees una conexión de proyección inicializada aleatoriamente. La denominaron "conexión de atajo". Un modelo de lenguaje neuronal temprano utilizó conexiones residuales y las llamó "conexiones directas". [ 20 ]

Problema de degradación
Sepp Hochreiter descubrió el problema del gradiente evanescente en 1991 [ 21 ] y argumentó que explicaba por qué las formas predominantes de redes neuronales recurrentes en ese entonces no funcionaban para secuencias largas. Él y Schmidhuber diseñaron más tarde la arquitectura LSTM para resolver este problema, [ 4 ] [ 22 ] que tiene un "estado de celda".que puede funcionar como una conexión residual generalizada. La red de autopistas (2015) [ 23 ] [ 24 ] aplicó la idea de una LSTM desplegada en el tiempo a redes neuronales de alimentación directa , dando como resultado la red de autopistas. ResNet es equivalente a una red de autopistas con compuertas abiertas.

Durante los primeros días del aprendizaje profundo, hubo intentos de entrenar modelos cada vez más profundos. Ejemplos notables incluyeron AlexNet (2012), que tenía 8 capas, y VGG-19 (2014), que tenía 19 capas. [ 25 ] Sin embargo, apilar demasiadas capas conllevó una fuerte reducción en la precisión del entrenamiento , [ 26 ] conocida como el problema de la "degradación". [ 1 ] En teoría, agregar capas adicionales para profundizar una red no debería resultar en una mayor pérdida de entrenamiento , pero esto es lo que sucedió con VGGNet . [ 1 ] Sin embargo, si las capas adicionales se pueden configurar como mapeos de identidad , entonces la red más profunda representaría la misma función que su contraparte menos profunda. Hay cierta evidencia de que el optimizador no puede aproximarse a los mapeos de identidad para las capas parametrizadas, y el beneficio de las conexiones residuales fue permitir mapeos de identidad por defecto. [ 6 ]
En 2014, el estado del arte consistía en entrenar redes neuronales profundas con entre 20 y 30 capas. [ 25 ] El equipo de investigación de ResNet intentó entrenar redes más profundas probando empíricamente diversos métodos de entrenamiento, hasta que dieron con la arquitectura ResNet. [ 27 ]
Trabajos posteriores
Wide Residual Network (2016) descubrió que usar más canales y menos capas que la ResNet original mejora el rendimiento y la eficiencia computacional de la GPU, y que un bloque con dos convoluciones de 3×3 es superior a otras configuraciones de bloques de convolución. [ 28 ]
DenseNet (2016) [ 29 ] conecta la salida de cada capa con la entrada de cada capa subsiguiente:
La profundidad estocástica [ 30 ] es un método de regularización que descarta aleatoriamente un subconjunto de capas y permite que la señal se propague a través de las conexiones de salto de identidad. También conocido como DropPath , este método regulariza el entrenamiento de modelos profundos, como los transformadores de visión . [ 31 ]

ResNeXt (2017) combina el módulo Inception con ResNet. [ 32 ] [ 8 ]
Squeeze-and-Excitation Networks (2018) agregó módulos de compresión y excitación (SE) a ResNet. [ 33 ] Un módulo SE se aplica después de una convolución y toma un tensor de forma(altura, anchura, canales) como entrada. Cada canal se promedia, lo que da como resultado un vector de formaLuego, este se pasa a través de un perceptrón multicapa (con una arquitectura como lineal-ReLU-lineal-sigmoide ) antes de multiplicarse por el tensor original. Ganó el ILSVRC en 2017. [ 34 ]
Referencias
- 1 2 3 4 5 6 7 8 9 He, Kaiming ; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2016). Aprendizaje residual profundo para el reconocimiento de imágenes (PDF) . Conferencia sobre visión por computadora y reconocimiento de patrones . arXiv : 1512.03385 . doi : 10.1109/CVPR.2016.90 .
- ↑ "Resultados de ILSVRC2015" . image-net.org .
- ^ Deng, Jia; Dong, Wei; Socher, Richard; Li, Li-Jia; Li, Kai; Li, Fei-Fei (2009). ImageNet: una base de datos de imágenes jerárquica a gran escala . Jornada sobre Visión por Computador y Reconocimiento de Patrones . doi : 10.1109/CVPR.2009.5206848 .
- 1 2 Sepp Hochreiter ; Jürgen Schmidhuber (1997). «Memoria larga a corto plazo» . Computación neuronal . 9 (8): 1735–1780 . doi : 10.1162/neco.1997.9.8.1735 . PMID 9377276 . S2CID 1915014 .
- ↑ Hanin, Boris; Rolnick, David (2018). Cómo iniciar el entrenamiento: el efecto de la inicialización y la arquitectura (PDF) . Conferencia sobre sistemas de procesamiento de información neuronal . Vol. 31. Curran Associates, Inc. arXiv : 1803.01719 .
- 1 2 3 4 5 Él, Kaiming ; Zhang, Xiangyu; Ren, Shaoqing; Sol, Jian (2016). Mapeos de identidad en redes residuales profundas (PDF) . Conferencia Europea sobre Visión por Computador . arXiv : 1603.05027 . doi : 10.1007/978-3-319-46493-0_38 .
- ↑ Radford, Alec; Wu, Jeffrey; Child, Rewon; Luan, David; Amodei, Dario; Sutskever, Ilya (14 de febrero de 2019). "Los modelos de lenguaje son aprendices multitarea no supervisados" (PDF) . Archivado (PDF) del original el 6 de febrero de 2021. Recuperado el 19 de diciembre de 2020 .
- 1 2 3 Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "8.6. Redes residuales (ResNet) y ResNeXt" . Sumérgete en el aprendizaje profundo . Cambridge Nueva York Puerto Melbourne Nueva Delhi Singapur: Cambridge University Press. ISBN 978-1-009-38943-3.
- ↑ Szegedy, Christian; Ioffe, Sergey; Vanhoucke, Vincent; Alemi, Alex (2017). Inception-v4, Inception-ResNet y el impacto de las conexiones residuales en el aprendizaje (PDF) . Conferencia AAAI sobre Inteligencia Artificial . arXiv : 1602.07261 . doi : 10.1609/aaai.v31i1.11231 .
- ↑ Dong, Yihe; Cordonnier, Jean-Baptiste; Loukas, Andreas (2021). La atención no es todo lo que necesitas: la atención pura pierde rango de forma exponencial doble con la profundidad (PDF) . Conferencia Internacional sobre Aprendizaje Automático . PMLR. pp. 2793–2803 . arXiv : 2103.03404 .
- ↑ Liao, Qianli; Poggio, Tomaso (2016). "Acortando las brechas entre el aprendizaje residual, las redes neuronales recurrentes y la corteza visual". arXiv : 1604.03640 [ cs.LG ].
- ↑ Xiao, Will; Chen, Honglin; Liao, Qianli; Poggio, Tomaso (2019). Los algoritmos de aprendizaje biológicamente plausibles pueden escalar a grandes conjuntos de datos . Conferencia internacional sobre representaciones de aprendizaje . arXiv : 1811.03567 .
- ↑ Winding, Michael; Pedigo, Benjamin; Barnes, Christopher; Patsolic, Heather; Park, Youngser; Kazimiers, Tom; Fushiki, Akira; Andrade, Ingrid; Khandelwal, Avinash; Valdes-Aleman, Javier; Li, Feng; Randel, Nadine; Barsotti, Elizabeth; Correia, Ana; Fetter, Fetter; Hartenstein, Volker; Priebe, Carey; Vogelstein, Joshua; Cardona, Albert ; Zlatic, Marta (10 de marzo de 2023). "El conectoma del cerebro de un insecto" . Science . 379 (6636) eadd9330. bioRxiv 10.1101/2022.11.28.516756v1 . doi : 10.1126/science.add9330 . PMC 7614541 . PMID 36893230 . S2CID 254070919 .
- ↑ De N, Rafael Lorente (1938-05-01). "Análisis de la actividad de las cadenas de neuronas internunciales" . Journal of Neurophysiology . 1 (3): 207– 244. doi : 10.1152/jn.1938.1.3.207 . ISSN 0022-3077 .
- ↑ McCulloch, Warren S.; Pitts, Walter (1 de diciembre de 1943). "Un cálculo lógico de las ideas inmanentes en la actividad nerviosa" . The Bulletin of Mathematical Biophysics . 5 (4): 115– 133. doi : 10.1007/BF02478259 . ISSN 1522-9602 .
- ↑ Rosenblatt, Frank (1961). Principios de neurodinámica. Perceptrones y la teoría de los mecanismos cerebrales (PDF) .
- ↑ Rumelhart, David E., Geoffrey E. Hinton y Ronald J. Williams. "Aprendizaje de representaciones internas mediante propagación de errores", Procesamiento distribuido paralelo . Vol. 1. 1986.
- ↑ Venables, WN; Ripley, Brain D. (1994). Modern Applied Statistics with S-Plus . Springer. pp. 261–262 . ISBN 978-3-540-94350-1.
- ↑ Lang, Kevin; Witbrock, Michael (1988). "Aprender a distinguir dos espirales" (PDF) . Actas de la Escuela de Verano de Modelos Conexionistas de 1988 : 52–59 .
- ↑ Bengio, Yoshua ; Ducharme, Réjean; Vincent, Pascal; Jauvin, Christian (2003). "Un modelo de lenguaje probabilístico neuronal" . Journal of Machine Learning Research . 3 (feb): 1137–1155 . ISSN 1533-7928 .
- ↑ Hochreiter, Sepp (1991). Untersuchungen zu dynamischen neuronalen Netzen (PDF) (tesis de diploma). Universidad Técnica de Múnich , Instituto de Informática, asesor: J. Schmidhuber.
- ↑ Felix A. Gers; Jürgen Schmidhuber; Fred Cummins (2000). "Aprender a olvidar: predicción continua con LSTM". Neural Computation . 12 (10): 2451– 2471. CiteSeerX 10.1.1.55.5709 . doi : 10.1162/089976600300015015 . PMID 11032042 . S2CID 11598600 .
- ^ Srivastava, Rupesh Kumar; Greff, Klaus; Schmidhuber, Jürgen (3 de mayo de 2015). "Redes de Carreteras". arXiv : 1505.00387 [ cs.LG ].
- ↑ Srivastava, Rupesh Kumar; Greff, Klaus; Schmidhuber, Jürgen (2015). Entrenamiento de redes neuronales muy profundas (PDF) . Conferencia sobre sistemas de procesamiento de información neuronal . arXiv : 1507.06228 .
- 1 2 Simonyan, Karen; Zisserman, Andrew (2015-04-10). "Redes neuronales convolucionales muy profundas para el reconocimiento de imágenes a gran escala". arXiv : 1409.1556 [ cs.CV ].
- ↑ He, Kaiming ; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2015). Profundizando en los rectificadores: superando el rendimiento a nivel humano en la clasificación de ImageNet (PDF) . Conferencia Internacional sobre Visión por Computadora . arXiv : 1502.01852 . doi : 10.1109/ICCV.2015.123 .
- ↑ Linn, Allison (10 de diciembre de 2015). "Investigadores de Microsoft ganan el desafío de visión artificial ImageNet" . El blog de IA . Archivado del original el 29 de enero de 2018. Consultado el 29 de junio de 2024 .
- ↑ Zagoruyko, Sergey; Komodakis, Nikos (23-05-2016). "Redes residuales amplias". arXiv : 1605.07146 [ cs.CV ].
- ↑ Huang, Gao; Liu, Zhuang; van der Maaten, Laurens; Weinberger, Kilian (2017). Redes neuronales convolucionales densamente conectadas (PDF) . Conferencia sobre visión por computadora y reconocimiento de patrones . arXiv : 1608.06993 . doi : 10.1109/CVPR.2017.243 .
- ↑ Huang, Gao; Sun, Yu; Liu, Zhuang; Weinberger, Kilian (2016). Redes profundas con profundidad estocástica (PDF) . Conferencia Europea sobre Visión por Computadora . arXiv : 1603.09382 . doi : 10.1007/978-3-319-46493-0_39 .
- ↑ Lee, Youngwan; Kim, Jonghee; Willette, Jeffrey; Hwang, Sung Ju (2022). MPViT: Multi-Path Vision Transformer for Dense Prediction (PDF) . Conferencia sobre Visión por Computadora y Reconocimiento de Patrones . pp. 7287–7296 . arXiv : 2112.11010 . doi : 10.1109/CVPR52688.2022.00714 .
- ↑ Xie, Saining; Girshick, Ross; Dollar, Piotr; Tu, Zhuowen; He, Kaiming (2017). Transformaciones residuales agregadas para redes neuronales profundas (PDF) . Conferencia sobre visión por computadora y reconocimiento de patrones . págs. 1492–1500 . arXiv : 1611.05431 . doi : 10.1109/CVPR.2017.634 .
- ↑ Hu, Jie; Shen, Li; Sun, Gang (2018). Redes de compresión y excitación (PDF) . Conferencia sobre visión por computadora y reconocimiento de patrones . págs. 7132–7141 . arXiv : 1709.01507 . doi : 10.1109/CVPR.2018.00745 .
- ↑ Jie, Hu (2017). Redes de compresión y excitación (PDF) . Más allá del desafío de reconocimiento visual a gran escala de ImageNet, taller en CVPR 2017 (Presentación).
- Arquitecturas de redes neuronales
- Aprendizaje profundo