Redes Residuales: ResNet

Rubén Rodríguez Abril

Aumentar el número de capas de una red aumenta su eficacia pero viene asociado a problemas como el de la desaparición del gradiente. Las redes residuales (ResNets) permiten la construcción de redes más profundas y eficientes, haciendo uso de conexiones atajo que conectan capas no contiguas.

Profundidad de la red

El término “Aprendizaje Profundo” (Deep Learning) sugiere que la profundidad de una red neuronal está intrínsecamente correlacionada con el poder computacional de la misma. Ciertamente, los sistemas clasificadores que han ganado los concursos más recientes de reconocimiento visual han consistido en redes convolucionales de entre 16 y 30 capas de profundidad. Y múltiples estudios sugieren además que cuanta mayor sea la profundidad de una red, mayor es la complejidad de las funciones que ésta puede calcular. En el cálculo de algunas funciones, la eficiencia de la red puede llegar a ser exponencial en relación a su número de capas.

Dado que con arreglo a la Ley de Moore, la capacidad de procesamiento y almacenamiento de las tarjetas gráficas (como la de cualquier chip) aumenta exponencialmente con el paso del tiempo, no deberían existir problemas técnicos para la construcción de redes dotadas de centenares o miles de capas. Sin embargo, desde un punto de vista teórico, se presentan dos graves obstáculos que dificultan el crecimiento de cualquier red de aprendizaje profundo, y que ya hemos examinado en artículos anteriores. Se trata de los problemas de la desaparición del gradiente y del sobreajuste.

Conexiones atajo

Para paliarlos, se han propuesto nuevas arquitecturas en las que la información es capaz de avanzar hacia la salida a través de conexiones atajo, saltándose capas intermedias. Se trata de un procedimiento que tendría cierta analogía con las células piramidales del cerebro, que comunican áreas profundas del encéfalo con la corteza, sin necesidad de que éstos sean transportados por las neuronas de las capas intermedias.

En esta imagen, las capas de la red vienen representadas por rectángulos. La ruta ordinaria de flujo de información, desde la entrada hacia la salida, viene coloreada de azul. Paralelamente, las «conexiones atajo» coloreadas de magenta permiten a la información «saltarse» bloques de capas denominados por ello «bloques residuales». Ambos corrientes de información confluyen al final de cada bloque (círculo negro).

En este artículo examinaremos someramente cuatro de estas arquitecturas con conexiones atajo: ResNet, HighwayNet, DenseNet y FractalNet.

ResNet

La primera de estas redes residuales, ResNet (Residual Net), fue propuesta por el equipo de Microsoft Research liderado por Kaiming He en su artículo Deep Residual Learning for Image Recognition, del año 2016. Los investigadores reflexionaron sobre el hecho siguiente: si a una red neuronal de 20 capas le intercalamos 36 capas que calculan la simple función de identidad, la red resultante (de 56 capas) debería tener exactamente la misma eficacia (y no menos) que la primera. Recordemos que la función identidad devuelve exactamente el mismo valor que su argumento.

El bloque residual

Por ello, para permitir que una red pudiera variar su cantidad efectiva de capas, los autores del trabajo introdujeron el concepto de bloque residual

Un bloque residual se compone de una ruta residual (izquierda) y otra conexión atajo (derecha) que la soslaya. La ruta residual F(x) se compone de dos capas de pesos sinápticos (ya sean densas o convolucionales) intercalados por una función rectificadora. El resultado se suma a la información que atraviesa la conexión atajo x “identidad”. Y tras ello se aplica de nuevo la función rectificadora. La información (y también el gradiente, en sentido inverso) puede atravesar con ello dos caminos diferentes: el de la función identidad x o el de la ruta residual F(x).

El bloque residual H(x) puede expresarse algebraicamente mediante la siguiente ecuación:

H(x) = F(x) + x

Si se trata de una red convolucional y en algún punto de la ruta residual F(x) los mapas de características sufren una modificación de su dimensión o de su número, deberá incorporarse a la conexión atajo (shortcut connection) una matriz de proyección que asegure que la información que por dicha conexión transcurre experimenta la misma modificación.

Redes residuales

Kaiming He y sus compañeros construyeron redes residuales de 50, 101 y 152 capas cuyo nivel de acierto sobre el conjunto ImageNet superaba en todos los casos al de las arquitecturas VGG16 y GoogLeNet. Incluso redes de más de 1.000 capas no parecían sufrir degradación alguna en su funcionamiento.

A nuestro juicio, la clave del éxito de las redes residuales reside quizá en las dos circunstancias siguientes:

  • En primer lugar, el gradiente de la función de pérdida puede retroceder directamente hacia la entrada a través de conexiones atajo, y por lo tanto sufre una menor degradación.
  • En segundo lugar, al final de cada bloque residual se mezcla información que ha pasado por las capas de convolución con otra que no lo ha hecho (la que atraviesa la conexión atajo). Como ya hemos visto en repetidos artículos de esta serie, la mezcla de diferentes tipos de información semántica potencia el rendimiento de los sistemas de reconocimiento visual.

Durante los entrenamientos de las ResNets a menudo se hace uso de la denominada profundidad estocástica (stochastic depth), en cuya virtud, antes de comenzar cada lote (batch) un cierto número de capas al azar se desactivan y se hacen equivalentes a la función identidad. Esto provoca que el camino que debe recorrer el gradiente hasta la entrada se acorte y con ello se evite la degradación del mismo.

HighwayNet

También en el año 2015 los investigadores Rupesh Kumar Srivastava, Klaus Greff y Jürgen Schmidhuber propusieron un modelo parecido al anterior, al que dieron nombre de HighwayNets (redes autopistas).

Su arquitectura se basa en el concepto de capas autopista (highway layers): simples capas individuales (convolucionales o densas) dotadas de conexiones atajo. Cada capa viene acompañada por dos puertas diferentes: La puerta de transmisión (transmission gate), que determina cuánta información pasa a través de la capa propiamente dicha, y la puerta de acarreo (carry gate), que parametriza la cantidad de información que circula a través de la conexión atajo. Las dos puertas son neuronas artificiales con pesos sinápticos que se actualizan del modo ordinario.

Al comienzo de cada bloque la información se bifurca. Y atraviesa simultáneamente la conexión atajo (que aplica la simple función identidad) y la capa interna. Las puertas C y T determinan la contribución de cada camino en la configuración del resultado final y.

Algebraicamente, una capa autopista se expresaría del siguiente modo:

y_{i} = H_{i}(x)T_{i}(x) + xC_{i}(x)

donde y_{i} es el valor definitivo de salida de la neurona de la capa, H_{i}(x) el valor de activación de la neurona de la capa interna propiamente dicha (equivalente al bloque residual de una ResNet) y T_{i}(x) y C_{i}(x) las puertas de transmisión y acarreo respectivamente.

Resultados de HighwayNet

Los investigadores realizaron experimentos sobre la base de datos CIFAR-10 utilizando redes compuestas exclusivamente por capas densamente conectadas. Cuando se trataba de capas ordinarias, a partir de una profundidad de 10 el funcionamiento de la red comenzaba a degradarse (como consecuencia del problema de la desaparición del gradiente). Sin embargo, si se utilizaban capas autopista, era posible construir redes de una profundidad de 100. Y la eficiencia de éstas era superior en un orden de magnitud a las redes de 10 capas sin que se observara síntoma alguno de degradación.

FractalNet

La última arquitectura de redes residuales que vamos a analizar, FractalNet, fue propuesta en el año 2017 por tres investigadores de Chicago y se inspira, como su propio nombre indica, en las estructuras autosemejantes de dimensión fractal, tales como la curva de Koch o el Triángulo de Sierpinski.

Tal y como se puede ver en la imagen, la estructura exacta de la red queda determinada por la configuración general de los bloques, la regla de expansión fractal y el número de iteraciones que se aplican a esta última.

Aplicación de bloques fractales

Durante los entrenamientos de la red, sus parámetros se inicializan aleatoriamente. Una única función de pérdida, aplicada en la última capa, es bastante para guiar el aprendizaje de todas las capas, incluidas las más cercanas a la entrada. No son necesarios, pues, clasificadores auxiliares que inyecten gradiente niveles intermedios de la red, como sucede en GoogLeNet.

Antes de comenzar cada minilote, partes de la red son desactivadas mediante un procedimiento denominado apagado de ruta (drop-path), que puede ser de dos tipos: local o global. En el apagado local, en cada bifurcación se apagan aleatoriamente los caminos que la información puede tomar, de tal manera que al menos una opción de ruta debe sobrevivir. En el apagado global, tan sólo una ruta (generalmente, una columna) es seleccionada.

La red intercala bloques convolucionales con capas de pooling. Uno de estos bloque es el que aparece en la imagen. En gris oscuro aparecen las capas convolucionales, mientras que en magenta se muestra las capas destinadas a integrar las diferentes rutas.

Conclusión de Redes Residuales

Todos los ejemplos mostrados en este artículo muestran que la degradación de una red neuronal con conexiones atajo es proporcional a la longitud total de estos últimos. El número de capas presente en el interior de una unidad residual parece tener una importancia muy secundaria. Esta circunstancia es la que ha permitido construir arquitecturas ultraprofundas de centenares o miles de capas que soslayan el problema de la desaparición del gradiente, y aumentan así la eficiencia del sistema en uno o varios grados de magnitud.

Lecturas recomendadas

– Huang, G. et al (2016). Deep Networks with Stochastic Depth.

– Srivastava, R. K., Greff, K. y Schmidhuber, J. (2015). Highway Networks.

– Larsson, G., Maire, M. y Shakhnarovich, G. (2017). FractalNet: Ultra-Deep Neural Networks without Residuals.