Llego muy tarde al juego, pero quería publicar para reflejar algunos desarrollos actuales en las redes neuronales convolucionales con respecto a omitir conexiones .
Un equipo de Microsoft Research ganó recientemente el concurso ImageNet 2015 y publicó un informe técnico Aprendizaje residual profundo para el reconocimiento de imágenes describiendo algunas de sus ideas principales.
Una de sus principales aportaciones es este concepto de capas residuales profundas . Estas capas residuales profundas utilizan omitir conexiones . Utilizando estas capas residuales profundas, fueron capaces de entrenar una red conv de 152 capas para ImageNet 2015. Incluso entrenaron una red conv de más de 1000 capas para la CIFAR-10.
El problema que les motivó es el siguiente:
Cuando las redes más profundas son capaces de empezar a converger, un degradación se ha expuesto el problema: con el aumento de la profundidad de la red, la precisión se satura (lo que podría no ser sorprendente) y luego se degrada rápidamente. Inesperadamente, esa degradación es no se debe a un ajuste excesivo y la adición de más capas a un modelo convenientemente profundo conduce a mayor error de formación ...
La idea es que si se toma una red "superficial" y se apilan más capas para crear una red más profunda, el rendimiento de la red más profunda debería ser al menos tan bueno como el de la red superficial, ya que la red más profunda podría aprender la red superficial exacta ajustando las nuevas capas apiladas a las capas de identidad (en realidad, sabemos que es muy poco probable que esto ocurra si no se emplean factores arquitectónicos previos o los métodos de optimización actuales). Observaron que no era así y que el error de entrenamiento a veces empeoraba cuando apilaban más capas sobre un modelo menos profundo.
Así que esto les motivó a utilizar las conexiones de salto y a usar las llamadas capas residuales profundas para permitir que su red aprenda las desviaciones de la capa de identidad, de ahí el término residual , residual aquí referido a la diferencia con la identidad.
Implementan las conexiones de salto de la siguiente manera:
Así que ven el mapa $\mathcal{F}(x) := \mathcal{H}(x) - x$ como un mapa residual. Utilizan una conexión de capa de salto para convertir este mapeo en $\mathcal{F}(x) + x = \mathcal{H}(x)$ . Por lo tanto, si el residuo $\mathcal{F}(x)$ es "pequeño", el mapa $\mathcal{H}(x)$ es aproximadamente la identidad.
De este modo, el uso de capas residuales profundas a través de conexiones de salto permite que sus redes profundas aprendan capas de identidad aproximadas, si es que eso es lo óptimo, o localmente óptimo. De hecho, afirman que sus capas residuales:
Demostramos mediante experimentos (Fig. 7) que las funciones residuales aprendidas tienen en general respuestas pequeñas
En cuanto a por qué funciona exactamente, no tienen una respuesta exacta. Es muy poco probable que las capas de identidad sean óptimas, pero creen que el uso de estas capas residuales ayuda a precondicionar el problema y que es más fácil aprender una nueva función dada una referencia/línea base de comparación con el mapeo de identidad que aprender una "desde cero" sin usar la línea base de identidad. Quién sabe. Pero pensé que esto sería una buena respuesta a tu pregunta.
Por cierto, en retrospectiva: la respuesta de sashkello es aún mejor, ¿no?