Trataré de hacer esto matemáticamente riguroso, en lugar de que todas las respuestas no lo hagan. En el corazón de este problema, en realidad está tomando un límite simple a una matriz exponencial.
Tome un RNN Vanilla con una capa oculta. [math] \ theta, \ theta_ {x} y \ theta_ {y} [/ math] son parámetros de la red neuronal que necesitamos determinar (estoy ignorando términos constantes por conveniencia), [math] x_ {i} [/ math] son entradas a la red. No debemos preocuparnos por las dimensiones exactas por ahora. Además, [math] E_ {t} [/ math] es la función de error, podemos ignorar de forma segura la forma exacta de la misma, usted va con diferentes formas, como la pérdida de entropía cruzada, etc., según sus tareas.
Las dos ecuaciones centrales para un RNN Vanilla son:
- [matemáticas] h_ {t} = \ theta * \ phi \ left (h_ {t-1} \ right) + \ theta_ {x} * x_ {t} [/ math]
- [matemáticas] y_ {t} = \ theta_ {y} * \ phi \ left (h_ {t} \ right) [/ math]
El primero proporciona la función de transición de un estado [matemático] h_ {t-1} [/ matemático] al estado [matemático] h_ {t} [/ matemático]. Además, [math] \ phi [/ math] aquí es una función básica o popularmente llamada no linealidad como ReLU o tanh, nuevamente podemos ignorar con seguridad su forma exacta para nuestros propósitos. El segundo calcula la salida de su red neuronal.
Los RNN de Vanilla son difíciles de entrenar a través de métodos basados en gradientes como Gradient Descent. Al final, queremos poder calcular:
[math] \ frac {\ partial E} {\ partial \ theta} = \ sum_ {t} \ frac {\ partial E_ {t}} {\ partial \ theta} [/ math]
Tomemos un valor particular de [math] t [/ math] y calcule [math] \ frac {\ partial E_ {t}} {\ partial \ theta}. [/matemáticas]
[matemáticas] \ frac {\ partial E_ {t}} {\ partial \ theta} = \ sum_ {k = 1} ^ {t-1} \ frac {\ partial E_ {t}} {\ partial y_ {t} } \ frac {\ partial y_ {t}} {\ partial h_ {t}} \ frac {\ partial h_ {t}} {\ partial h_ {k}} \ frac {\ partial h_ {k}} {\ parcial \ theta} [/ math]
[matemáticas] = \ frac {\ partial E_ {t}} {\ partial y_ {t}} \ frac {\ partial y_ {t}} {\ partial h_ {t}} \ sum_ {k = 1} ^ {t -1} \ frac {\ partial h_ {t}} {\ partial h_ {k}} \ phi (h_ {k-1}) [/ math]
Lo que realmente necesitamos calcular ahora es [math] \ frac {\ partial h_ {t}} {\ partial h_ {k}}. [/ Math]
Algún ingenioso matemático debería convencerte de que …
[matemáticas] \ frac {\ partial h_ {t}} {\ partial h_ {k}} = \ prod_ {i = t} ^ {k + 1} \ frac {\ partial h_ {i}} {\ partial h_ { i-1}} [/ matemáticas]
que se simplifica aún más a [matemáticas] \ prod_ {i = t} ^ {k + 1} \ theta {\ phi} ‘(h_ {i-1}) [/ matemáticas]
que es equivalente a [math] \ theta ^ {tk} \ prod_ {i = t} ^ {k + 1} {\ phi} ‘(h_ {i-1}). [/ math] Finalmente tenemos [math] \ frac {\ partial h_ {t}} {\ partial h_ {k}} = \ theta ^ {tk} \ prod_ {i = t} ^ {k + 1} {\ phi} ‘(h_ {i-1} )[/matemáticas].
Ahora utilizaremos una prueba matemática que relaciona el radio espectral, es decir, el valor propio máximo con la convergencia de la potencia de una matriz. Esto es de Wikipedia –
El radio espectral está estrechamente relacionado con el comportamiento de la convergencia de la secuencia de potencia de una matriz; a saber, se cumple el siguiente teorema:
Teorema. Deje A ∈ C n × n con radio espectral ρ ( A ). Entonces ρ ( A ) <1 si y solo si
[matemáticas] {\ displaystyle \ lim _ {k \ to \ infty} A ^ {k} = 0.} [/ matemáticas]
Por otro lado, si ρ ( A )> 1, [math] {\ displaystyle \ lim _ {k \ to \ infty} \ | A ^ {k} \ | = \ infty} [/ math].
Sustituya nuestra matriz requerida [matemática] \ theta [/ matemática] en lugar de A y deduciría que dependiendo del radio espectral de [matemática] \ theta [/ matemática] nuestra matriz requerida [matemática] \ theta ^ {tk}, [ / math] en la expresión para [math] \ frac {\ partial h_ {t}} {\ partial h_ {k}} [/ math] convergería a cero (problema de gradiente de fuga) o infinito (problema de gradiente de explosión). Esta es la razón por la cual es difícil para los RNN aprender dependencias a largo plazo, es decir, [matemática] \ frac {\ parcial h_ {t}} {\ parcial h_ {k}} [/ matemática] mediante métodos basados en gradiente.
Referencias:
Lección de aprendizaje profundo 12: redes neuronales recurrentes y LSTM
Radio espectral – Wikipedia
Consejo: Mire la conferencia de Nando Freitas que he vinculado, detalla un poco más la esencia de la que he tratado de obtener aquí. He elaborado notas, comente a continuación si desea que las cargue.