Voy a referirme a la introducción de RNN aquí: Tutorial de redes neuronales recurrentes, Parte 1 – Introducción a los RNN
Digamos que tiene la siguiente red:
- ¿Es cierto que las Redes Adversarias Generativas (GAN) aprenden la función de pérdida automáticamente, y si es así, cómo?
- Quiero comenzar en PNL. ¿Vale la pena?
- ¿Cuáles son las diferentes áreas donde los bancos pueden usar NLP (procesamiento del lenguaje natural) para mejorar las operaciones comerciales?
- ¿Qué preguntas se pueden hacer en una entrevista sobre el proyecto de Análisis de sentimientos de Twitter?
- ¿Se puede extraer información significativa de un sistema caótico utilizando una red neuronal?
La ecuación de interés es
[matemáticas] s_t = f (Ux_t + Ws_ {t-1}) [/ matemáticas]
donde [math] f [/ math] es la función sigmoide (). Desea aprender matrices [matemáticas] W [/ matemáticas] y [matemáticas] U [/ matemáticas]. (También desea aprender [matemáticas] V [/ matemáticas], pero eso no es importante para la discusión aquí).
Para simplificar, usemos una simplificación: establezca [math] U [/ math] igual a cero, para obtener
[matemáticas] s_t = f (Ws_ {t-1}) [/ matemáticas]
Suponga que la secuencia [math] s_t [/ math] va de [math] s_0 [/ math] a [math] s_T [/ math]. Deje que [math] \ dfrac {\ partial y} {\ partial s_T} [/ math] sea el gradiente de la salida con respecto al término final.
Para encontrar el gradiente de la salida con respecto a [math] W [/ math], necesita calcular el gradiente de la salida con respecto a cada [math] s_t [/ math] (como parte de la retropropagación). Entonces, obtienes,
[matemáticas] \ dfrac {\ partial y} {\ partial s_ {t-1}} = \ dfrac {\ partial s_t} {\ partial s_ {t-1}} \ cdot \ dfrac {\ partial y} {\ partial s_t} = D_t \ cdot W \ cdot \ dfrac {\ partial y} {\ partial s_t} [/ math]
Aquí, [math] D_t [/ math] es la derivada del sigmoide.
Entonces,
[math] \ dfrac {\ partial y} {\ partial s_ {t-1}} = D_t W \ dfrac {\ partial y} {\ partial s_ {t}} [/ math]
Usando esta ecuación repetidamente para encontrar el gradiente de la salida con respecto a [math] s_0 [/ math], obtenemos
[math] \ dfrac {\ partial y} {\ partial s_ {0}} = D_1 W \ ldots D_ {T-1} W D_T W \ dfrac {\ partial y} {\ partial s_ {T}} [/ math ]
Ahora es la matriz [matemática] W [/ matemática] cuyos valores propios juegan un papel en hacer que el problema sea inestable. Nuevamente, por simplicidad, suponga que [math] \ dfrac {\ partial y} {\ partial s_ {T}} [/ math] está alineado con el vector propio correspondiente al valor propio más grande de [math] W [/ math], y la magnitud de [math] \ dfrac {\ partial y} {\ partial s_ {T}} [/ math] es K. Entonces, ¿cuál es la magnitud de [math] W \ dfrac {\ partial y} {\ partial s_ { T}} [/ matemáticas]? [matemáticas] \ lambda \ cdot K [/ matemáticas].
Entonces esa ecuación eventualmente le dará [math] \ dfrac {\ partial y} {\ partial s_ {0}} [/ math] con una magnitud del orden de [math] \ lambda ^ T K. [/ Math] Entonces, si [math] \ lambda [/ math] es menor que 1, los gradientes van a cero. Si [math] \ lambda [/ math] es mayor que 1, los gradientes van a [math] \ infty [/ math].
Notas:
- Aquí se ignora la contribución de [math] D_t [/ math] en la magnitud, porque no hacen mucha diferencia. Para los gradientes que desaparecen, solo aumentan la tasa de gradientes que descienden a cero. Para los gradientes explosivos, si en algún momento durante el entrenamiento, varios de los [matemáticos] D_t [/ matemáticos] consecutivos mantienen la magnitud igual, el gradiente explota debido al término [matemático] W ^ T [/ matemático].
- Asumimos que [math] \ dfrac {\ partial y} {\ partial s_ {T}} [/ math] está alineado con el vector propio correspondiente al valor propio más grande. Si eso no es cierto, considere el componente de [math] \ dfrac {\ partial y} {\ partial s_ {T}} [/ math] a lo largo de la dirección del vector propio correspondiente al vector propio más grande, y el mismo argumento es válido.
- Debería ser posible hacer que las matemáticas sean más rigurosas, escribiendo explícitamente [math] D_t [/ math], y usando propiedades de matriz para encontrar la magnitud de [math] \ dfrac {\ partial y} {\ partial s_ {0} } [/ math], y también escribiendo [math] \ dfrac {\ partial y} {\ partial s_ {T}} [/ math] como una combinación lineal de todos los vectores propios de [math] W [/ math], pero El análisis anterior ofrece un bosquejo razonablemente bueno del análisis completo sin hacerlo demasiado engorroso.