35 votos

¿Qué son las "conexiones residuales" en las RNN?

En el documento de Google El sistema de traducción automática neural de Google: Uniendo la brecha entre la traducción humana y la automática Se dice que

Nuestras LSTM RNN tienen $8$ capas, con conexiones residuales entre las capas ...

¿Qué son conexiones residuales ? ¿Por qué las conexiones residuales entre capas?

Lo ideal es que primero se dé una explicación sencilla e intuitiva, posiblemente acompañada de representaciones esquemáticas.

Por supuesto, los detalles se pueden encontrar en los documentos originales, pero pensé que esta pregunta sería beneficiosa para la comunidad.

35voto

que que Puntos 1435

Las conexiones residuales son lo mismo que las "conexiones de salto". Se utilizan para permitir que los gradientes fluyan a través de una red directamente, sin pasar por funciones de activación no lineales. Las funciones de activación no lineales, por su naturaleza no lineal, hacen que los gradientes exploten o desaparezcan (dependiendo de los pesos).

Las conexiones de salto forman conceptualmente un "autobús" que fluye a lo largo de la red, y a la inversa, los gradientes también pueden fluir hacia atrás a lo largo de ella.

Cada "bloque" de las capas de la red, como las capas de conv, las agrupaciones, etc., toma los valores en un punto a lo largo del bus, y luego añade/resta valores al bus. Esto significa que los bloques afectan a los gradientes y, a la inversa, afectan también a los valores de salida. Sin embargo, existe una conexión directa a través de la red.

En realidad, las resnets ("redes residuales") aún no se conocen del todo bien. Está claro que funcionan empíricamente. Algunos trabajos muestran que son como un conjunto de redes menos profundas. Hay varias teorías :) Que no son necesariamente contradictorias. Pero en cualquier caso, una explicación de por qué funcionan exactamente está fuera del alcance de una pregunta de validación cruzada, siendo una pregunta de investigación abierta :)

Hice un diagrama de cómo veo las redes en mi cabeza, en una respuesta anterior, en Retropropagación gradual a través de las conexiones de salto de ResNet . Aquí está el diagrama que hice, reproducido:

enter image description here

He entendido el concepto principal, pero ¿cómo se suelen implementar estas conexiones residuales? Me recuerdan al funcionamiento de una unidad LSTM.

Entonces, imagina una red donde en cada capa tienes dos bloques de conv, en paralelo: - la entrada entra en cada bloque - las salidas se suman

Ahora, sustituye uno de esos bloques por una conexión directa. Un bloque de identidad, si quieres, o ningún bloque. Eso es una conexión residual/de omisión.

En la práctica, la unidad de conv probablemente sería dos unidades en serie, con una capa de activación en medio.

11voto

Matthew Johnson Puntos 246

Con respecto a Aprendizaje residual profundo para el reconocimiento de imágenes Creo que es correcto decir que una ResNet contiene tanto conexiones residuales como conexiones de salto, y que son no lo mismo.

He aquí una cita del periódico:

Nuestra hipótesis es que es más fácil optimizar el mapeo residual que optimizar el mapeo original no referenciado. En el extremo, si un mapeo de identidad fuera óptimo, sería más fácil empujar el residual a cero que ajustar un mapeo de identidad por una pila de capas no lineales.

El concepto de empujando el residuo a cero indica que la conexión residual corresponde a las capas que se aprenden y no a la conexión de salto. Creo que es mejor entender una "ResNet" como una red que aprende residuales.

En la siguiente imagen (figura 2 del documento), el camino que pasa por las capas de peso y la activación de relu es la conexión residual, mientras que el camino de la identidad es la conexión de salto.

enter image description here

Los autores de Redes de compresión y excitación parece que también lo entienden, según la figura 3 de su artículo.

enter image description here


Referencias

  1. https://arxiv.org/pdf/1512.03385.pdf
  2. https://arxiv.org/pdf/1709.01507.pdf
  3. https://tim.cogan.dev/residual-connections

3voto

Zongzhu Lin Puntos 1

Para una mejor y más profunda comprensión del Conexión residual concepto, tal vez quiera leer también este documento: Aprendizaje residual profundo para el reconocimiento de imágenes . Este es el mismo documento al que también hace referencia " La atención es todo lo que necesitas " al explicar el elemento codificador en el Transformers arquitectura.

0voto

Mc- Puntos 1352

En la superresolución hay muchas arquitecturas de red con conexiones residuales. Si se tiene una imagen de baja resolución x y se quiere reconstruir una imagen de alta resolución y, una red tiene que aprender no sólo a predecir los píxeles que faltan de y, sino también a aprender la representación de x.

Como x e y tienen una alta correlación -> y es una representación de mayor resolución de x, puedes añadir una conexión de salto desde tu entrada a la salida de tu última capa. Eso significaría que todo lo que ocurra en la red sólo se centrará en el aprendizaje de y-x. Porque al final, x se añade a la salida.

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