6 votos

¿Presenta un problema el gradiente evanescente en las RNN?

Uno de los problemas más citados en el entrenamiento de RNN es el problema del gradiente evanescente [1,2,3,4].

Sin embargo, he encontrado varios artículos de Anton Maximilian Schaefer, Steffen Udluft y Hans-Georg Zimmermann (por ejemplo, [5]) en los que afirman que el problema no existe ni siquiera en una RNN simple, si se utilizan pesos compartidos.

Entonces, ¿cuál es la verdad: existe o no el problema del gradiente evanescente?


  1. Aprender dependencias a largo plazo con el descenso de gradiente es difícil de Y.Bengio et al. (1994)

  2. El problema del gradiente de fuga durante el aprendizaje de redes neuronales recurrentes y sus soluciones de S.Hochreiter (1997)

  3. Flujo gradiente en redes recurrentes: la dificultad de aprender dependencias a largo plazo de S.Hochreiter et al. (2003)

  4. Sobre la dificultad de entrenar redes neuronales recurrentes de R.Pascanu et al. (2012)

  5. Aprendizaje de dependencias a largo plazo con redes neuronales recurrentes de A.M. Schaefer et al. (2008)

4voto

markymuy Puntos 21

En primer lugar, volvamos a plantear el problema de la desaparición de gradientes. Supongamos que tenemos un perceptrón multicapa normal con unidades ocultas sigmoidales. Se entrena por retropropagación. Cuando hay muchas capas ocultas, el gradiente de error se debilita a medida que se desplaza desde la parte trasera de la red hacia la delantera, porque la derivada la sigmoide se debilita hacia los polos. Las actualizaciones a medida que se desplaza hacia la parte delantera de la red contendrán menos información.

Las RNN amplifican este problema porque se entrenan por retropropagación en el tiempo (BPTT). De hecho, el número de capas que recorre la retropropagación aumenta drásticamente.

La arquitectura de memoria a largo plazo y corto plazo (LSTM) evita el problema de la desaparición de gradientes mediante la introducción de un control de errores. Esto le permite aprender dependencias a largo plazo (más de 100 pasos) entre puntos de datos mediante "carruseles de errores".

Una tendencia más reciente en el entrenamiento de redes neuronales es utilizar unidades lineales rectificadas, que son más robustas frente al problema del gradiente evanescente. Las RNN con penalización por dispersión y unidades lineales rectificadas parecen funcionar bien.

Véase Avances en la optimización de redes recurrentes.

Históricamente, el rendimiento de las redes neuronales dependía en gran medida de muchos trucos de optimización y de la selección de muchos hiperparámetros. En el caso de las RNN sería prudente aplicar también rmsprop y el gradiente acelerado de Nesterov. Afortunadamente, los recientes avances en el entrenamiento con abandono han hecho que las redes neuronales sean más robustas frente al sobreajuste. Parece que se está trabajando para que el dropout funcione con las RNN.

Véase Sobre el abandono rápido y su aplicabilidad a la recurrencia recurrentes

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