39 votos

Red neuronal con conexiones de capa de salto

Estoy interesado en la regresión con redes neuronales.

Las redes neuronales con cero nodos ocultos + conexiones de capa de salto son modelos lineales.

¿Y las mismas redes neuronales pero con nodos ocultos? Me pregunto cuál sería el papel de las conexiones de la capa de salto.

Intuitivamente, diría que si se incluyen las conexiones de la capa de salto, entonces el modelo final será una suma de un modelo lineal + algunas partes no lineales.

¿Hay alguna ventaja o desventaja en añadir conexiones de capa de salto a las redes neuronales?

53voto

Indie AI Puntos 48

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: enter image description here

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?

28voto

En teoría, las conexiones de capa de salto no deberían mejorar el rendimiento de la red. Pero, como las redes complejas son difíciles de entrenar y fáciles de sobreajustar, puede ser muy útil añadirlo explícitamente como término de regresión lineal, cuando se sabe que los datos tienen un fuerte componente lineal. Esto orienta el modelo en la dirección correcta... Además, esto es más interpretable ya que presenta su modelo como lineal + perturbaciones, desentrañando un poco la estructura detrás de la red, que normalmente se ve simplemente como una caja negra.

6voto

John Richardson Puntos 1197

Mi antigua caja de herramientas de redes neuronales (actualmente utilizo sobre todo máquinas de núcleo) utilizaba la regularización L1 para eliminar los pesos y las unidades ocultas redundantes, y también tenía conexiones de capa de salto. Esto tiene la ventaja de que si el problema es esencialmente lineal, las unidades ocultas tienden a ser podadas y te quedas con un modelo lineal, lo que te indica claramente que el problema es lineal.

Como sugiere sashkello (+1), los MLP son aproximadores universales, por lo que las conexiones de la capa de salto no mejorarán los resultados en el límite de datos infinitos y un número infinito de unidades ocultas (pero ¿cuándo nos acercamos a ese límite?). La ventaja real es que facilita la estimación de buenos valores para los pesos si la arquitectura de la red está bien adaptada al problema, y se puede utilizar una red más pequeña y obtener un mejor rendimiento de generalización.

Sin embargo, como ocurre con la mayoría de las cuestiones relacionadas con las redes neuronales, generalmente la única forma de averiguar si será útil o perjudicial para un conjunto de datos concreto es probarlo y ver (utilizando un procedimiento fiable de evaluación del rendimiento).

2voto

Puede encontrar una explicación detallada de las conexiones de salto desde múltiples perspectivas aquí:

https://theaisummer.com/skip-connections/

A continuación, proporciono el punto principal del artículo:

Básicamente, la conexión de salto es un módulo estándar en muchas arquitecturas convolucionales. Al utilizar una conexión de salto, proporcionamos un camino alternativo para el gradiente (con retropropagación). Se ha validado experimentalmente que estos caminos adicionales suelen ser beneficiosos para la convergencia del modelo. Las conexiones de salto en las arquitecturas profundas, como su nombre indica, se saltan alguna capa de la red neuronal y alimentan la salida de una capa como entrada a las capas siguientes (en lugar de sólo la siguiente).

Como se ha explicado anteriormente, utilizando la regla de la cadena, debemos seguir multiplicando los términos con el gradiente de error a medida que retrocedemos. Sin embargo, en la larga cadena de multiplicación, si multiplicamos muchas cosas juntas que son menores que uno, entonces el gradiente resultante será muy pequeño. Por lo tanto, el gradiente se vuelve muy pequeño a medida que nos acercamos a las capas anteriores en una arquitectura profunda. En algunos casos, el gradiente llega a ser cero, lo que significa que no actualizamos las primeras capas en absoluto.

En general, hay dos formas fundamentales de utilizar las conexiones de salto a través de diferentes capas no secuenciales:

a) adición como en las arquitecturas residuales,

b) concatenación como en las arquitecturas densamente conectadas.

Espero que esto aclare su comprensión.

1voto

Lazz Puntos 1

Basado en Obispo 5.1. Funciones de la red feed-forward:

[Una forma de generalizar] de la arquitectura de red es incluir conexiones de capa de salto, cada una de las cuales está asociada a un parámetro adaptativo correspondiente. Por ejemplo, en una red de dos capas éstas irían directamente de las entradas a las salidas. En principio, una red con unidades ocultas sigmoidales siempre puede imitar las conexiones de la capa de salto (para valores de entrada acotados) utilizando un peso de la primera capa lo suficientemente pequeño como para que, en su rango de funcionamiento, la unidad oculta sea efectivamente lineal, y luego compensando con un valor de peso grande desde la unidad oculta a la salida. En la práctica, sin embargo, puede ser ventajoso incluir explícitamente las conexiones de la capa de salto. enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X