¿Por qué los NN recurrentes son tan susceptibles al problema del gradiente de fuga?

Sea W la matriz que representa las conexiones entre las unidades ocultas de un RNN (red neuronal recurrente). Supongamos que la descomposición propia de W es [matemática] W = QDQ ^ T [/ matemática] [matemática], [/ matemática] donde D es una matriz diagonal que contiene los valores propios de W junto con las diagonales, siendo Q una matriz ortogonal que contiene los vectores propios de W.

W se aplica repetidamente a medida que avanzamos de una unidad oculta a otra, es decir, [matemáticas] h ^ {(t)} = W h ^ {(t – 1)} \ implica h ^ {(t)} = W ^ th ^ {0} [/ math], donde [math] h ^ {(t)} [/ math] es la unidad oculta en el paso de tiempo t.

Tenemos que [matemáticas] W ^ t = QD ^ tQ ^ T [/ matemáticas]. Para cualquier matriz diagonal [matemática] A [/ matemática], calcular [matemática] A ^ t [/ matemática] implica elevar todos los valores a lo largo de la diagonal a su potencia [matemática] t ^ {th} [/ matemática]. Por lo tanto, si los valores propios de W son menores que 1 (como suele ser el caso), los valores de [matemáticas] D ^ t \ rightarrow 0 [/ matemáticas] a medida que t se hace más grande, es decir, a medida que avanzamos a lo largo de la capa oculta . Por lo tanto, los RNN son susceptibles al problema del gradiente de fuga.

Hay una buena explicación en esta página de documentación de DeepLearning4j: una guía para principiantes sobre redes recurrentes y LSTM. Cada unidad de un RNN depende de su entrada y su salida anterior multiplicada por su vector de estado oculto. Lo mismo sucede con los gradientes en reversa durante la propagación hacia atrás. Por lo tanto, los gradientes pequeños tienden a hacerse más pequeños y más grandes a medida que avanzan a través del RNN, conocidos como los problemas de gradientes que desaparecen y explotan, respectivamente. El problema de gradiente explosivo puede mitigarse mediante el recorte de gradiente, pero esto no soluciona el problema de gradiente que desaparece. Las unidades LSTM (memoria a corto plazo) se diseñaron para abordar este problema al tener un mecanismo de actualización más complicado para el vector de estado oculto (que se describe muy bien aquí: Comprensión de las redes LSTM).