Tengo un conocimiento básico de cómo funcionan los RNN (y, en particular, con las unidades LSTM). Tengo una idea pictórica de la arquitectura de una unidad LSTM, que es una celda y algunas puertas, que regulan el flujo de valores.
Sin embargo, al parecer, no he entendido completamente cómo LSTM resuelve el problema de "gradientes que desaparecen y explotan", que ocurre durante el entrenamiento, utilizando la propagación inversa a través del tiempo, un RNN convencional. No he tenido la oportunidad de leer los periódicos para comprender completamente las matemáticas.
Esta respuesta da una breve explicación de cómo los RNN con unidades LSTM resuelven el problema de "gradientes de fuga". Matemáticamente, la razón parece ser la inexistencia de una derivada que no se desvanece, es decir, no tiende a cero. En consecuencia, el autor afirma que "hay al menos un camino donde el gradiente no se desvanece". En mi humilde opinión, esta explicación es un poco vaga.
Mientras tanto, estaba leyendo el artículo Sequence to Sequence Learning with Neural Networks (por Ilya Sutskever, Oriol Vinyals, Quoc V. Le) y, en ese artículo, la sección "3.4 Detalles del entrenamiento", se afirma
Aunque los LSTM tienden a no sufrir el problema del gradiente de fuga, pueden tener gradientes explosivos.
Siempre he pensado que los RNN con unidades LSTM resuelven los problemas de "gradiente de fuga" y de "gradientes explosivos", pero, aparentemente, los RNN con unidades LSTM también sufren "gradientes explosivos".
Intuitivamente, ¿por qué es eso? Matemáticamente, ¿cuáles son las razones?
Los RNN anteriores a LSTM / GRU solían ser inestables porque lo que estaban haciendo era esencialmente la multiplicación del estado oculto con algunos pesos para cada paso de tiempo, lo que significa que es una operación exponencial. Y como sabemos, la exponenciación es muy inestable: celdas LSTM / GRU resuelven este problema al convertir la multiplicación en una suma. Tienes un estado de celda y, en lugar de multiplicarlo, sumas o restas de él.1 200 = 1 1,01 200 ≈ 13
Sin embargo, todavía hay algunos caminos a través de los cuales el gradiente puede volverse inestable, y cuanto más grande sea la red, más probable es que te encuentres con este problema.
fuente