Una red neuronal residual, también conocida como red residual o ResNet, es una arquitectura de aprendizaje profundo en la que las capas aprenden funciones residuales con referencia a sus entradas. Desarrollada en 2015 para el reconocimiento de imágenes, ganó el desafío de reconocimiento visual a gran escala de ImageNet (ILSVRC) de ese año. La innovación clave es la conexión residual, un motivo arquitectónico que añade la entrada de una subred a su salida, permitiendo el entrenamiento de redes con cientos de capas.
La conexión residual estabiliza el entrenamiento y la convergencia en redes neuronales profundas, lo que la convierte en un motivo común en arquitecturas modernas como los modelos transformers (por ejemplo, modelos BERT y GPT como ChatGPT), así como en sistemas como AlphaGo Zero, AlphaStar y AlphaFold. Su impacto se extiende más allá del reconocimiento de imágenes, influyendo en el aprendizaje profundo en múltiples dominios.
Matemáticas de las conexiones residuales
En una red neuronal multicapa, considere una subred con capas apiladas (por ejemplo, 2 o 3). Sea \(H(x; \alpha)\) la subred, donde \(x\) es la entrada y \(\alpha\) es el conjunto de parámetros. Si \(H^\) es la salida óptima deseada, el aprendizaje residual añade \(x\) directamente a la salida, de modo que la salida aprendida óptima se convierte en \(H^ - x\), interpretado como un "residual" relativo a \(x\). La operación de añadir \(x\) se implementa mediante un atajo que realiza un mapeo de identidad, conectando la entrada de la subred a su salida. Esta conexión se denomina posteriormente "conexión residual".
La función \(F(x; \alpha) = H(x; \alpha) + x\) suele representarse mediante multiplicaciones de matrices intercaladas con funciones de activación y operaciones de normalización (por ejemplo, normalización por lotes o normalización de capas). Esta subred se denomina "bloque residual" y una red residual profunda apila estos bloques.
Las redes de memoria a largo plazo (LSTM) tienen un mecanismo de memoria que funciona como una conexión residual. En una LSTM sin compuerta de olvido, una entrada \(x_t\) se procesa mediante \(F\) y se añade a una celda de memoria \(c_t\), lo que da como resultado \(c_{t+1} = c_t + F(x_t)\). Una LSTM con compuerta de olvido funciona esencialmente como una red de carretera.
Para estabilizar la varianza de las entradas de capa, se recomienda reemplazar las conexiones residuales \(x + f(x)\) con \(x/L + f(x)\), donde \(L\) es el número total de capas residuales.
Conexiones de proyección
Si la función \(F\) mapea de \(\mathbb{R}^n\) a \(\mathbb{R}^m\) con \(n
eq m\), la expresión \(F(x) + x\) no está definida. Para manejar esto, se usa una conexión de proyección: \(y = F(x) + P(x)\), donde \(P\) es típicamente una proyección lineal definida por \(P(x) = Mx\), con \(M\) una matriz \(m \times n\). La matriz se entrena mediante propagación hacia atrás como cualquier otro parámetro.
Propagación de señales
La introducción de los mapeos de identidad facilita la propagación de señales en las rutas hacia adelante y hacia atrás. En la propagación hacia adelante, si la salida del \(\ell\)-ésimo bloque residual es la entrada al \((\ell+1)\)-ésimo bloque (asumiendo que no hay activación entre bloques), entonces la siguiente entrada es \(x_{\ell+1} = F(x_\ell) + x_\ell\). Esta estructura aditiva permite que los gradientes fluyan directamente a través de la red, mitigando el problema del desvanecimiento del gradiente que afectaba a las redes profundas anteriores.
Contexto histórico y desarrollo
El motivo de conexión residual se había utilizado antes de ResNet, por ejemplo en redes de LSTM y redes de carrete. Sin embargo, la publicación en 2015 de ResNet lo hizo ampliamente popular para las redes feedforward, apareciendo en arquitecturas aparentemente no relacionadas con el reconocimiento de imágenes. El documento original de ResNet, escrito por Kaiming He, Xiangyu Zhang, Shaoqing Ren y Jian Sun, introdujo el aprendizaje residual profundo para el reconocimiento de imágenes y logró resultados estatales del arte en ILSVRC 2015.
Impacto en el aprendizaje profundo
El éxito de ResNet demostró que las redes muy profundas podían entrenarse eficazmente, lo que provocó un cambio en el diseño de Neural network. La conexión residual se convirtió en un componente estándar en arquitecturas posteriores, incluidos los modelos transformer utilizados en modelos de lenguaje de gran escala. Por ejemplo, los modelos BERT y GPT dependen de las conexiones residuales para entrenar transformers profundos. Sistemas como AlphaZo Zero y AlphaFold también incorporan bloques de residuales, priorizando la versatilidad del motivo.
Variantes y extensiones
Se han propuesto varias variantes de redes residuales. Las ResNets con preactivación desplazan la normalización por lotes y la activación antes de las capas de pesos, mejorando el entrenamiento. La resolución del Wide ResNet increases widtha en lugar de profundidad, logrando un mejor rendimiento con menos capas. DenseNet conecta cada capa a todas las capas posteriores, basándose en la idea residual. ResNeXt introduce la cardinalidad, dividiendo las convoluciones en rutas paralelas. Estas variantes resaltan la flexibilidad del concepto residual.
Consideraciones prácticas
En la práctica, las conexiones residuales se implementan con atajos que pueden incluir matrices de proyección cuando cambian las dimensiones. Técnicas de normalización como la normalización por lotes se aplican a menudo dentro de los bloques residuales. La elección de las funciones de activación, como ReLU, afecta la dinámica del entrenamiento. Las conexiones residuales también permiten el uso de tasas de aprendizaje más altas y reducen la sensibilidad a la inicialización, ya que mantienen estable la varianza de la señal.
Legado y direcciones futuras
La red neuronal residual se ha convertido en un concepto fundamental en el aprendizaje profundo, influyendo tanto en la investigación académica como en las aplicaciones de base industrial. Sus principios están integrados en los marcos de trabajo modernos y las optimizaciones de hardware. Básicamente, en los inicios del segundo años 2020, las conexiones residuales siguen siendo una opción predeterminada en muchas arquitecturas, incluida también para sistemas de inteligencia artificial para [[artificial-intelligence|inteligencia artificial] general. La idea de aprendizaje residual también ha inspirado otras áreas, como la teoría del aprendizaje automático y la optimización.