[Aprendizaje profundo] Red neuronal recurrente RNN y red de memoria a corto plazo larga LSTM (derivación y explicación de principios súper detallados)

escrito en frente

Debido a que tengo que hacer algunos proyectos relacionados con la previsión financiera de acciones en un futuro cercano, comencé a mirar RNN \rm RNN en los últimos dos días.R N NLSTM \rm LSTML S TM , lo he visto varias veces antes, pero me asusté por su compleja estructura de red y sus fórmulas. Esta vez finalmente me calmé y estudié estas dos redes, y también personalmente duro. escribir muchas fórmulas y dibujar muchas imágenes. Tomó mucho tiempo y esabsolutamente súper detallado. Mientras te calmes, creo que cualquiera puede entender su mecanismo de trabajo, especialmenteLSTM \rm LSTML S T M , finalmente escribió este artículo, uno es para brindar comodidad a más personaspara analizar sus principios, y el otro es para facilitarme volver y revisar. El contenido del interior es mi propio entendimiento y algunas notas hechas junto con materiales de referencia relevantes.Amigos que han pasado porun clic y tres conectadosentre sí, ¡aprendamos unos de otros y promocionemos juntos! ¡Gracias de nuevo por tus artículos y videos!

RNN

introducción

Red Neural Recurrente ( Red N eural R ecurrente ) (\rm Recurrent \ Neural \ Network)( Red neuronal recurrente ) se refiere a una estructura que se repite con el tiempo . _ _ _ _   _ _ _ _ _ _ _ Es ampliamente utilizado en muchos campos, como el procesamiento de lenguaje natural y el procesamiento de imágenes de voz.Es un modelo de red neuronal para procesar datos de secuencia. La red neuronal tradicionalincluye una capa de entrada, una capa oculta y una capa de salida. La salida está controlada por una función de activación y las capas están conectadas por pesos. El objetivo final del entrenamiento de redes neuronales es aprender un conjunto de pesos para procesar nuevos datos para cumplir con nuestros requisitos. Como la red neuronal convolucional( CNN ) (\rm CNN)( C N N ) , la salida calculada por propagación directa solo considera la influencia de la entrada anterior y no considera la influencia de la entrada en otros momentos.

La mayor diferencia entre la red neuronal cíclica y la red neuronal tradicional es que tiene una " función de memoria ": puede usarse para procesar datos basados ​​en secuencias . Por ejemplo, si desea predecir cuál es la siguiente palabra de una oración, generalmente necesita usar las palabras anteriores, porque las palabras en la oración no existen fuera de contexto, y debemos considerar el contexto en el que se encuentran. . Es decir, RNN \rm RNNLa salida de los datos procesados ​​por RNN en el momento actual también está relacionada con la salida en el momento anterior .

estructura de red

RNN \rm RNNLa función de memoria de RNN se concreta en que la red memorizará la información anterior y la aplicará al cálculo de la salida actual . Por lo tanto, existe una conexión entre las capas ocultas, yla entrada de la capa oculta incluye no solo el valor de entrada de la capa de entrada, sino también el valor de salida de la capa oculta en el momento anterior.

inserte la descripción de la imagen aquí

Se puede ver en la figura anterior que la matriz de peso WWW actúa sobre las neuronas de cada capa oculta. dondext x_tXtIndica el tt actualValor de entrada de capa de entrada de t , st s_tstrepresenta el tiempo ttEl valor de salida de la capa oculta de t (en lo sucesivo,ht h_thtrepresenta el valor de salida de la capa oculta), ot o_totentonces representa el tiempo ttValor de salida de t , UUU representa el peso de la capa de entrada,VVV representa el peso de la capa de salida.

Distribución de peso : se puede ver en la estructura de la red que U , V , WU,V,Wtu ,V ,W es un conjunto de parámetros compartidos por todas las funciones. Su ventaja es que frente a diferentes entradas, se pueden aprender diferentes resultados correspondientes; se reduce la cantidad de parámetros de entrenamiento; la longitud de los datos de entrada y salida puede ser diferenteen diferentes ejemplos.

propagación hacia adelante

inserte la descripción de la imagen aquí

De la estructura de la red podemos ver que RNN \rm RNNLos principales parámetros de cálculo de RNN son el valor de salida de la capa oculta y el valor de la capa de salida.
ht = f ( U xt + W ht − 1 ) ot = gramo ( V ht ) \begin{alineado} h_t &= f(Ux_t + Wh_{t - 1}) \\ o_t &= g(Vh_t) \end{ alineado}htot=f ( x _t+¿ Qué?t 1)=g ( V ht)
En el proceso de cálculo anterior, las funciones f , gf, gf ,g es la función de activación,fff generalmente tomatanh ⁡ \tanhfunción tanh ,ggg generalmente tomasoftmax \rm softmaxfunción máxima suave . _ _ _ _

通过反复代入
ot = gramo ( V ht ) = gramo V ( f ( U xt + W ht − 1 ) ) = gramo V ( f ( U xt + W f ( U xt − 1 + W ht − 2 ) ) ) = gramo V ( F ( U xt + W F ( U xt − 1 + W F ( U xt − 2 + W ht − 3 ) ) ) ) = ⋯ \begin{alineado} o_t &= g(V h_t) \\ & = gV(f(Ux_t + Wh_{t - 1})) \\ &= gV(f(Ux_t + Wf(Ux_{t -1} + Wh_{t - 2}))) \\ &= gV(f (Ux_t + Wf(Ux_{t -1} + Wf(Ux_{t - 2} + Wh_{t-3})))) \\ &= \cdots \end{alineado}ot=g ( V ht)=g V ( f ( U xt+¿ Qué?t 1) )=g V ( f ( U xt+W f ( U xt 1+¿ Qué?t 2) ) )=g V ( f ( U xt+W f ( U xt 1+W f ( U xt 2+¿ Qué?t 3) ) ) )=
De esto se puede ver que ttLa salida en el momento t es la misma que xt , xt − 1 , xt − 2 , xt − 3 , ⋯ x_t, x_{t-1}, x_{t-2},x_{t-3}, \cdotsXt,Xt 1,Xt 2,Xt 3,... están todos relacionados.

El valor de sesgo bb se omite aquí.b , generalmente este valor debe agregarse.

función de pérdida

Se puede definir una sola pérdida de paso de tiempo según el tipo de tarea, la más utilizada es la pérdida de entropía cruzada ( CE ) (\rm CE)( C mi ),即
LCE = − ( yt ln ⁡ ot + ( 1 − yt ) ln ⁡ ( 1 − ot ) ) L_{\rm CE} = - (y_t \ln o_t + (1 - y_t) \ln ( 1 - o_t))LCE _=( ytenot+( 1yt)en ( 1ot) )
La pérdida de toda la serie de tiempo es la suma de las pérdidas de un solo paso de tiempo, es decir,
L = ∑ t LCEL = \sum_t L_{\rm CE}L=tLCE _
Entre ellos, yt y_tytrepresenta el tiempo ttEl verdadero valor de etiqueta de t , ot o_totrepresenta el tiempo ttEl modelo t predice el valor de salida.

retropropagación

A partir del proceso de propagación directa, se puede ver que solo se necesitan tres pesos U, V, WU, V, Wtu ,V ,W se puede optimizar, por lo que el gradiente se calcula por separado.

Optimización de parámetros

  • Para el parámetro VVV求偏导
    ∂ L ∂ V = ∑ t ∂ L t ∂ ot ∂ ot ∂ V \frac{\partial{L}}{\partial{V}} = \sum_{t} \frac{\partial{L_t} }{\parcial{o_t}} \frac{\parcial{o_t}} {\parcial{V}}∂V _ L=t∂o _t∂L _t∂V _∂o _t
    Entre ellos, también se deriva la función compuesta (función de activación).

  • Para parámetro WWW para derivada parcial

    El parámetro involucra información en el momento anterior, y la derivación es relativamente complicada, por lo que se supone que en t = 3 t = 3t=3 momento, usa los datos del momento anterior aWWDerivada de W , es decir

    ∂ L 3 ∂ W = ∂ L 3 ∂ o 3 ∂ o 3 ∂ h 3 ( ∂ h 3 ∂ W + ∂ h 3 ∂ h 2 ∂ h 2 ∂ W + ∂ h 3 ∂ h 2 ∂ h 2 ∂ h 1 ∂ h 1 ∂ W ) = ∂ L t ∂ ot ∂ ot ∂ ht ∑ j = 1 t [ ( ∏ yo = j + 1 t ∂ hola ∂ hola − 1 ) ∂ hj ∂ W ] \begin{alineado} \frac{\ parcial{L_3}}{\parcial{W}} &= \frac{\parcial{L_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_3}} (\frac{ \parcial{h_3}}{\parcial{W}} + \frac{\parcial{h_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{W}} + \frac{ \parcial{h_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{W}}) \\ &= \frac{\parcial{L_t}}{\parcial{o_t}} \frac{\parcial{o_t}}{\parcial{h_t}} \sum_{j=1}^t \left[ \left(\prod_{ i = j+1}^t \frac{\parcial{h_{i}}}{\parcial{h_{i - 1}}}\right) \frac{\parcial{h_j}}{\parcial{W} }\right] \end{alineado}W∂L _3=∂o _3∂L _3hora3∂o _3(Whora3+hora2hora3Whora2+hora2hora3hora1hora2Whora1)=∂o _t∂L _thorat∂o _tj = 1t[ (yo = j + 1thorayo 1horayo)Whoraj]

  • Para el parámetro UUU para derivada parcial

    Asumiendo lo mismo. Por lo tanto hay

    ∂ L 3 ∂ W = ∂ L 3 ∂ o 3 ∂ o 3 ∂ h 3 ( ∂ h 3 ∂ U + ∂ h 3 ∂ h 2 ∂ h 2 ∂ U + ∂ h 3 ∂ h 2 ∂ h 2 ∂ h 1 ∂ h 1 ∂ U ) = ∂ L t ∂ ot ∂ ot ∂ ht ∑ j = 1 t [ ( ∏ yo = j + 1 t ∂ hola ∂ hola − 1 ) ∂ hj ∂ U ] \begin{alineado} \frac{\ parcial{L_3}}{\parcial{W}} &= \frac{\parcial{L_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_3}} (\frac{ \parcial{h_3}}{\parcial{U}} + \frac{\parcial{h_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{U}} + \frac{ \parcial{h_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{U}}) \\ &= \frac{\parcial{L_t}}{\parcial{o_t}} \frac{\parcial{o_t}}{\parcial{h_t}} \sum_{j=1}^t \left[ \left(\prod_{ i = j+1}^t \frac{\parcial{h_{i}}}{\parcial{h_{i - 1}}}\right) \frac{\parcial{h_j}}{\parcial{U} }\right] \end{alineado}W∂L _3=∂o _3∂L _3hora3∂o _3(Uhora3+hora2hora3Uhora2+hora2hora3hora1hora2Uhora1)=∂o _t∂L _thorat∂o _tj = 1t[ (yo = j + 1thorayo 1horayo)Uhoraj]

Los degradados desaparecen o explotan

En el proceso de optimización de parámetros, con la acumulación continua de tiempo, los parámetros U , WU, Wtu ,En el proceso de optimización de W , habrá multiplicación de gradientesy la funciónfff求导,因此有
∏ yo = j + 1 t ∂ hola ∂ hola − 1 = ∏ yo = j + 1 tf ′ ⋅ W \prod_{i = j+1}^t \frac{\parcial{h_{i }}}{\parcial{h_{i - 1}}} = \prod_{i = j+1}^t f' \cdot Wyo = j + 1thorayo 1horayo=yo = j + 1tFW
conducirá a la multiplicación de la función de activación, porque la función de activación suele sertanh ⁡ \tanhtanh osigmoide \rm sigmoides i g m o i d , su función y gráficas derivadas son

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Se puede ver que no importa qué función de activación se use, el valor de su derivada nunca excederá 1 11 , el problema de la desaparición del gradienteaparecerá después de la multiplicación acumulativa. Por lo tanto, solo hay dos soluciones, una es usar una mejor función de activación (comoR e LU \rm ReLUR e L U ), el segundo es cambiar la estructura de propagación de la red, que es el LSTM \rm LSTMpropuesto más adelanteL S T M

Red de memoria a corto plazo LSTM

Estructura de la red y la diferencia de RNN

Red de memoria a largo plazo (Memoria a largo plazo) \rm (Memoria a largo plazo)( Largo corto _ _ _ _ _ _ _ t e r m m e m o r y )  , es una red neuronal recurrente especial, que evita la dependencia a largo plazo a través de un diseño de estructura de propagación especial, aliviando asíRNN \rm RNNEn el caso de que el gradiente R N N desaparezca o explote,puede funcionar mejor en secuencias más largas. LSTM \rm LSTMLSTM y la red neuronal cíclica tienen básicamente la misma estructura de red, la única diferencia es el módulo de red de propagación hacia adelante de una sola capa, y el módulo de repetición único tiene 4 44 capas de red que interactúan de manera especial. La diferencia esencial esLSTM \rm LSTMLSTM memoriza selectivamente información importante a través de celdas de memoria, filtra información sin importancia y reduce la carga de memoria, mientras que RNN \ rm RNNR N N recuerda toda la información, lo que aumenta la carga en la red.

inserte la descripción de la imagen aquí

Idea principal

LSTM \rm LSTMLa clave de L STM esel estado de la celda , que es C t C_ten la siguiente figuraCt, el estado de la celda se transmite en una cinta transportadora, con solo una pequeña cantidad de interacción lineal, por lo que es difícil que la información se propague o se recuerde durante mucho tiempo sin cambiar. Utiliza principalmente una estructura llamada "puerta" para controlar la propagación de la señal para ajustar el estado de la celda, para agregar o eliminar información en el estado de la celda , donde "puerta" es una estructura de multiplicación o suma en la estructura anterior, la información es selectivamente pasado a través de la función de activación.

inserte la descripción de la imagen aquí

propagación hacia adelante

puerta olvidada

inserte la descripción de la imagen aquí

Arriba se muestra LSTM \rm LSTMLa primera etapa de L S T M , es decir, la "etapa de olvido", específicamente, es a través deht − 1 h_{t - 1}ht 1y xt x_tXtCalcular ft (olvidar) f_t(\rm olvidar)Ft( f o r g e t ) comopuerta de olvido, olvido del estado de celdaC t − 1 C_{t-1}Ct 1Información sin importancia en , es decir, para C t − 1 C_{t-1}Ct 1Cada número de estados da como resultado 0 00 a1 1Número entre 1 , 1 11 significa recordar completamente,0 00 significa olvidar por completo.

En el ejemplo de un modelo de lenguaje, predecir la siguiente palabra en base a lo que se ha visto. En este problema, el estado de la celda puede contener el género del sujeto actual , por lo que se puede seleccionar el pronombre correcto. Al ver un tema nuevo , espero olvidar el anterior .

pies piesFtEl método de cálculo específico es el siguiente
ft = σ ( W xfxt + W hfht − 1 + bf ) f_t = \sigma(W_{xf} x_t +W_{hf} h_{t - 1} +b_f)Ft=s ( Wx fXt+Wh fht 1+bf)

puerta de entrada

Arriba se muestra LSTM \rm LSTMLa segunda etapa de LSTM , la "etapa de entrada", es decidir qué información agregar al estado de la celda . Hay dos partes, la primera parte es a través desigmoide \rm sigmoideFunción s i g m o i d paradeterminar qué nueva información agregar, la segunda parte es a través detanh ⁡ \tanhfunción tanh para crear un vector de valor candidatoC t ~ \tilde{C_t}Ct~

具体计算方式如下
it = σ ( W xixt + W hiht − 1 + bi ) C t ~ = tanh ⁡ ( W x C xt + W h C ht − 1 + b C ) \begin{alineado} i_t &= \sigma (W_{xi}x_t + W_{hi} h_{t-1} +b_i) \\ \tilde{C_t} &= \tanh(W_{xC} x_t + W_{hC} h_{t-1} +b_C ) \end{alineado}itCt~=s ( Wx yoXt+Whola _ht 1+byo)=sospechoso ( Wx cXt+Wh cht 1+bc)

actualización de estado

inserte la descripción de la imagen aquí

El antiguo estado celular C t − 1 C_{t - 1}Ct 1Actualizar a C t C_tCt, hemos determinado la información que se olvidará, recordará y agregará en la etapa anterior, y ahora es el momento de completar esta operación.

El método de cálculo específico es el siguiente
C t = ft ⊙ C t − 1 + it ⊙ C t ~ C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C_t}Ct=FtCt 1+itCt~
con pies piesFtMultiplique por el estado anterior C t − 1 C_{t-1}Ct 1para olvidar la información decidió olvidar, más ⊙ C t ~ i_t \odot \tilde{C_t}itCt~, que son nuevos valores candidatos, cambian según cuanto decidamos actualizar cada estado.

puerta de salida

inserte la descripción de la imagen aquí

Como se muestra en la figura anterior, esta etapa determinará qué valor generar y la salida se basará en el estado de celda actual C t C_tCt, también es una versión filtrada. Primer paso sigmoide \rm sigmoideLa función s i g m o i d determina qué entradas en el estado actual deben generarse y luego el estado de celda actualC t C_tCtpor tanh ⁡ \tanhLa función tanh se comprime a − 1 -11 a1 11 y combínalo conot o_totMultiplique, y finalmente emita nuestros puntos.

El método de cálculo específico es el siguiente:
ot = σ ( W xoxt + W hoht − 1 + bo ) ht = ot ⊙ tanh ⁡ ( C t ) \begin{aligned} o_t &= \sigma(W_{xo} x_t + W_ {ho} h_ {t - 1} + b_o) \\ h_t &= o_t \odot \tanh(C_t) \end{alineado}otht=s ( Wxo _Xt+Whola _ht 1+bo)=otsospechoso ( _t)

retropropagación

首先将前向传播的表达式罗列如下:
{ pies = σ ( W xfxt + W hfht − 1 + bf ) it = σ ( W xixt + W hiht − 1 + bi ) C ~ t = tanh ⁡ ( W x C ~ xt + W h C ~ ht − 1 + segundo C ~ ) C t = pies ⊙ C t − 1 + eso ⊙ C ~ tot = σ ( W xoxt + W hoht − 1 + bo ) ht = ot ⊙ tanh ⁡ ( C t ) yt = W yht + by \begin{cases} f_t &= \sigma(W_{xf} x_t +W_{hf}h_{t - 1} +b_f) \\ i_t &= \sigma(W_{xi }x_t + W_{hi} h_{t-1} +b_i) \\ \tilde{C}_t &= \tanh(W_{x\tilde{C}} x_t + W_{h\tilde{C}} h_ {t-1} +b_{\tilde{C}}) \\ C_t &= f_t \odot C_{t-1} + i_t \odot \tilde{C}_t \\ o_t &= \sigma(W_{xo } x_t + W_{ho} h_{t - 1} + b_o) \\ h_t &= o_t \odot \tanh(C_t) \\ y_t &= W_y h_t +b_y \end{casos}FtitC~tCtothtyt=s ( Wx fXt+Wh fht 1+bf)=s ( Wx yoXt+Whola _ht 1+byo)=sospechoso ( WXC~Xt+WhC~ht 1+bC~)=FtCt 1+itC~t=s ( Wxo _Xt+Whola _ht 1+bo)=otsospechoso ( _t)=Wtuht+btu

Optimización de parámetros

A partir del proceso de propagación directa se puede ver que los parámetros que deben optimizarse son solo W xf , W hf , W xi , W hi , W x C , W h CW xo , Who , W y W_{xf} ,W_{hf}, W_{xi},W_{hi}, W_{xC},W_{hC} W_{xo},W_{ho},WyWx f,Wh f,Wx yo,Whola _,Wx c,Wh cWxo _,Whola _,W y , por lo que derivar derivados basados ​​en ellos. ConsulteRNN \rm RNNRetropropagación de R N N , suponiendo que en el tiempo t = 3 t = 3t=3. Use los datos en el momento anterior para optimizar W xf W_{xf}en los parámetros de optimización anterioresWx f
∂ L 3 ∂ W xf ( 3 ) + ∂ L 3 ∂ W xf ( 2 ) + ∂ L 3 ∂ W xf ( 1 ) \frac{\partial{L_3}}{\partial{W_{xf}^{( 3)}}} + \frac{\parcial{L_3}}{\parcial{W_{xf}^{(2)}}} + \frac{\parcial{L_3}}{\parcial{W_{xf}^ {(1)}}}Wx f( 3 )∂L _3+Wx f( 2 )∂L _3+Wx f( 1 )∂L _3

∂ L 3 ∂ W xf ( 3 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 ∂ h 3 ∂ C 3 ∂ C 3 ∂ F 3 ∂ F 3 ∂ W xf ( 3 ) \frac{\parcial{L_3 }}{\parcial{W_{xf}^{(3)}}} = \frac{\parcial{L_3}}{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3} } \frac{\parcial{h_3}}{\parcial{C_3}} \frac{\parcial{C_3}}{\parcial{f_3}} \frac{\parcial{f_3}}{\parcial{W_{xf} ^{(3)}}} \\Wx f( 3 )∂L _3=años3∂L _3hora3años3∂C _3hora3f3∂C _3Wx f( 3 )f3
∂ L 3 ∂ W xf ( 2 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 { ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 2 ∂ C 2 ∂ h 3 ∂ C 3 { ∂ C 3 ∂ C 2 ∂ C 3 ∂ F 3 ∂ F 3 ∂ h 2 ∂ h 2 ∂ C 2 ∂ C 3 ∂ yo 3 ∂ yo 3 ∂ h 2 ∂ h 2 ∂ C 2 ∂ C 3 ∂ C ~ 3 ∂ C ~ 3 ∂ h 2 ∂ h 2 ∂ C 2 } } ∂ C 2 ∂ F 2 ∂ F 2 ∂ W xf ( 2 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 { ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 2 ∂ C 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ C 2 } ∂ C 2 ∂ f 2 ∂ f 2 ∂ W xf ( 2 ) \begin{alineado} \frac{\partial{L_3} }{\parcial{W_{xf}^{(2)}}} &= \frac{\parcial{L_3}}{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3} } \left\{ \begin{array}{l} \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} \frac{\parcial {h_2}}{\parcial{C_2}} \\ \frac{\parcial{h_3}}{\parcial{C_3}} \left\{ \begin{array}{l} \color{red} { \frac{ \parcial{C_3}}{\parcial{C_2}} }\\ \color{rojo}{ \frac{\parcial{C_3}}{\parcial{f_3}} \frac{\parcial{f_3}}{\parcial {h_2}}\frac{\parcial{h_2}}{\parcial{C_2}} }\\ \color{red}{ \frac{\parcial{C_3}}{\parcial{i_3}} \frac{\parcial{i_3}} {\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{C_2}} }\\ \color{red}{ \frac{\parcial{C_3}}{\parcial{\tilde{C} _3}} \frac{\parcial{\tilde{C}_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{C_2}} } \\ \end{matriz} \right \} \end{matriz} \right\} \frac{\parcial{C_2}}{\parcial{f_2}} \frac{\parcial{f_2}}{\parcial{W_{xf}^{(2)} }} \\ &= \frac{\parcial{L_3}}{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3}} \left\{ \begin{array}{l} \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} \frac{\parcial{h_2}}{\parcial{C_2}} \\ \frac{\parcial{h_3}}{\parcial{C_3}} \color{red} { \frac{\parcial{C_3}}{\parcial{C_2}} }\\ \end{matriz} \right\} \frac{\parcial{C_2}}{\parcial{f_2}} \frac{\parcial{f_2}}{\parcial{W_{xf}^{(2)}}} \end{alineado}Wx f( 2 )∂L _3=años3∂L _3hora3años3∂o _3hora3hora2∂o _3∂C _2hora2∂C _3hora3∂C _2∂C _3f3∂C _3hora2f3∂C _2hora2yo3∂C _3hora2yo3∂C _2hora2C~3∂C _3hora2C~3∂C _2hora2f2∂C _2Wx f( 2 )f2=años3∂L _3hora3años3{ ∂o _3hora3hora2∂o _3∂C _2hora2∂C _3hora3∂C _2∂C _3}f2∂C _2Wx f( 2 )f2

t 3 → t 1 = { t 3 → t 2 : h 3 → { o 3 → h 2 C 3 → C 2 C 3 → F 3 → h 2 C 3 → yo 3 → h 2 C 3 → C ~ 3 → h 2 } t 2 → t 1 { C 2 → { F 2 → h 1 → C 1 → F 1 yo 2 → h 1 → C 1 → F 1 C ~ 2 → h 1 → C 1 → F 1 C 1 → F 1 } h 2 → { o 2 → h 1 → C 1 → F 1 C 2 → C 1 → F 1 C 2 → F 2 → h 1 → C 1 → F 1 C 2 → yo 2 → h 1 → C 1 → f 1 C 2 → C ~ 2 → h 1 → C 1 → f 1 } } } t 3 → t 2 → t 1 : total 24 caminos t_3 \to t_1 = \left\{\begin{array}{l } t_3 \a t_2:h_3 \to \left\{\begin{array}{l} o_3 \to h_2 \\ C_3 \to C_2 \\ C_3 \to f_3 \to h_2 \\ C_3 \to i_3 \to h_2 \\ C_3 \to \tilde {C}_3 \a h_2 \\ \end{array}\right\} \\ t_2 \a t_1 \left\{\begin{array}{l} C_2 \a \left\{\begin{array}{l } f_2 \to h_1 \to C_1 \to f_1 \\ i_2 \to h_1 \to C_1 \to f_1 \\ \tilde{C}_2 \to h_1 \to C_1 \to f_1 \\ C_1 \to f_1 \end{array }\right\} \\ h_2 \to \left\{\begin{array}{l} o_2 \to h_1 \to C_1 \to f_1 \\ C_2 \to C_1 \to f_1 \\ C_2 \to f_2 \to h_1 \a C_1 \a f_1 \\ C_2 \a i_2 \a h_1 \a C_1 \a f_1 \\ C_2 \a \tilde{C}_2 \a h_1 \a C_1 \a f_1 \\ \end{matriz}\right \} \\ \end{matriz}\right\} \\ \end{matriz}\right\} \rm t_3 \to t_2 \to t_1 :total \, 24 \, rutascaminoscaminost3t1=t3t2:h3o3h2C3C2C3F3h2C3i3h2C3C~3h2t2t1C2F2h1C1F1i2h1C1F1C~2h1C1F1C1F1h2o2h1C1F1C2C1F1C2F2h1C1F1C2i2h1C1F1C2C~2h1C1F1t3t2t1:total _ _ _ _2 4caminos _ _ _ _

∂ L 3 ∂ W xf ( 1 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 { t 3 → t 2 { ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 C 2 C 3 C 3 C 3 C 3 C 3 C 3 C 3 C ~ 3 ∂ C ~ 3 ∂ h 2 } t 2 → t 1 { { ∂ C 2 ∂ F 2 ∂ F 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ C 2 ∂ yo 2 ∂ yo 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ C 2 ∂ C ~ 2 ∂ C ~ 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ C 2 ∂ C 1 } { ∂ h 2 ∂ o 2 ∂ o 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ h 2 ∂ C 2 { ∂ C 2 ∂ C 1 ∂ C 2 ∂ F 2 ∂ F 2 ∂ C 1 ∂ C 2 ∂ yo 2 ∂ yo 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ C 2 ∂ C ~ 2 ∂ C ~ 2 ∂ h 1 ∂ h 1 ∂ C 1 } } } ∂ C 1 ∂ F 1 } ∂ F 1 ∂ W xf ( 1 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 { t 3 → t 2 { ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ C 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ F 3 ∂ F 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ yo 3 ∂ yo 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ C ~ 3 ∂ C ~ 3 ∂ h 2 } t 2 → t 1 { ∂ C 2 ∂ C 1 { ∂ h 2 ∂ o 2 ∂ o 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ h 2 ∂ C 2 ∂ C 2 ∂ C 1 } }∂ C 1 ∂ F 1 } ∂ F 1 ∂ W xf ( 1 ) = ∂ L 3 ∂ y 3 ∂ y 3 ∂ h 3 { ∂ h 3 ∂ C 3 ∂ C 3 ∂ C 2 ∂ C 2 ∂ C 1 { ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ F 3 ∂ F 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ yo 3 ∂ yo 3 ∂ h 2 ∂ h 3 ∂ C 3 ∂ C 3 ∂ C ~ 3 ∂ C ~ 3 ∂ h 2 } ∂ h 2 ∂ o 2 ∂ o 2 ∂ h 1 ∂ h 1 ∂ C 1 ∂ h 3 ∂ o 3 ∂ o 3 ∂ h 2 ∂ h 2 ∂ C 2 ∂ C 2 ∂ C 1 } ∂ C 1 ∂ F 1 ∂ F 1 ∂ W xf ( 1 ) \begin{alineado} \frac{\parcial{L_3}}{\parcial{W_{xf}^{ (1)}}} & = \frac{\parcial{L_3}}{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3}} \left\{\begin{matriz}{ lcl} t_3 \to t_2 \left\{\begin{matriz}{l} \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} \\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{C_2}} }}\\ \frac{\parcial {h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{f_3}} \frac{\parcial{f_3}}{\parcial{h_2}} }}\\\frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{i_3}} \frac{\parcial{i_3}}{\ parcial{h_2}} }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{\tilde{C} _3 }} \frac{\parcial{\tilde{C}_3 }}{\parcial{h_2}} }}\\ \end{array}\right\} \\ t_2 \to t_1 \left\{\begin{ array}{l} \left\{\begin{array}{l} \color{red}{ \frac{\partial{C_2}}{\partial{f_2}} \frac{\partial{f_2}}{\ parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} }\\ \color{red}{ \frac{\parcial{C_2}}{\parcial{i_2}} \frac{\ parcial{i_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} }\\ \color{red}{ \frac{\parcial{C_2}}{\parcial{ \tilde{C}_2}} \frac{\parcial{\tilde{C}_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} }\\ \color {rojo}{ \frac{\parcial{C_2}}{\parcial{C_1}} }\\ \end{matriz}\right\} \\ \left\{\begin{matriz}{l}\frac{\parcial{h_2}}{\parcial{o_2}} \frac{\parcial{o_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} \\ {\color{azul}{ \frac{\parcial{h_2}}{\parcial{C_2}} }} \left\{\begin{array}{l} \color{verde}{ \frac{\parcial{C_2 }}{\parcial{C_1}} }\\ \color{verde}{ \frac{\parcial{C_2}}{\parcial{f_2}} \frac{\parcial{f_2}}{\parcial{C_1}} } \\ \color{verde}{ \frac{\parcial{C_2}}{\parcial{i_2}} \frac{\parcial{i_2}}{\parcial{h_1}} \frac{\parcial{h_1}} {\parcial{C_1}} }\\ \color{verde}{ \frac{\parcial{C_2}}{\parcial{\tilde{C}_2}} \frac{\parcial{\tilde{C}_2} }{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} }\\ \end{matriz}\right\} \\ \end{matriz}\right\} \end{ matriz}\right\} \frac{\parcial{C_1}}{\parcial{f_1}}\\ \end{matriz}\right\} \frac{\parcial{f_1}}{\parcial{W_{xf} ^{(1)}}} \\&= \frac{\parcial{L_3}}{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3}}\left\{\begin{arreglo}{l} t_3 \to t_2 \left\{\begin{arreglo}{l} \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{ o_3}}{\parcial{h_2}} \\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{C_2} } }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{f_3}} \frac{\parcial{ f_3}}{\parcial{h_2}} }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{ i_3}} \frac{\parcial{i_3}}{\parcial{h_2}} }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\ parcial{C_3}}{\parcial{\tilde{C}_3 }} \frac{\parcial{\tilde{C}_3 }}{\parcial{h_2}} }}\\ \end{array}\right\ } \\ t_2 \to t_1 \left\{\begin{array}{l} {\color{red}{ \frac{\partial{C_2}}{\partial{C_1}}}}\\ \left\{ \begin{matriz}{l} \frac{\parcial{h_2}}{\parcial{o_2}} \frac{\parcial{o_2}}{\parcial{h_1}}\frac{\parcial{h_1}}{\parcial{C_1}} \\ {\color{azul}{ \frac{\parcial{h_2}}{\parcial{C_2}} }} {\color{verde} { \frac{\parcial{C_2}}{\parcial{C_1}}}} \end{matriz}\right\} \end{matriz}\right\} \frac{\parcial{C_1}}{\parcial{f_1 }}\\ \end{matriz}\right\} \frac{\parcial{f_1}}{\parcial{W_{xf}^{(1)}}} \\& = \frac{\parcial{L_3} }{\parcial{y_3}} \frac{\parcial{y_3}}{\parcial{h_3}} \left\{\begin{array}{l} \frac{\parcial{h_3}}{\parcial{C_3 }} {\color{morado}{ \frac{\parcial{C_3}}{\parcial{C_2}} }} {\color{rojo}{ \frac{\parcial{C_2}}{\parcial{C_1}} }}\\ \left\{\begin{matriz}{l} \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} \\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{f_3}} \frac{\parcial{f_3}}{\ parcial{h_2}} }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3}}{\parcial{i_3}}\frac{\parcial{i_3}}{\parcial{h_2}} }}\\ \frac{\parcial{h_3}}{\parcial{C_3}} {\color{azul}{ \frac{\parcial{C_3 }}{\parcial{\tilde{C}_3 }} \frac{\parcial{\tilde{C}_3 }}{\parcial{h_2}} }}\\ \end{matriz}\right\} \frac {\parcial{h_2}}{\parcial{o_2}} \frac{\parcial{o_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} \\ \frac {\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} {\color{azul}{ \frac{\parcial{h_2}}{\parcial{ C_2}} }} {\color{verde} { \frac{\parcial{C_2}}{\parcial{C_1}}}}\\ \end{matriz}\right\} \frac{\parcial{C_1}} {\parcial{f_1}} \frac{\parcial{f_1}}{\parcial{W_{xf}^{(1)}}} \end{alineado}\frac{\parcial{o_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} \\ \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} {\color{azul}{ \frac{\parcial{h_2}}{\parcial{C_2}} }} {\color{verde} { \frac {\parcial{C_2}}{\parcial{C_1}}}}\\ \end{matriz}\right\} \frac{\parcial{C_1}}{\parcial{f_1}} \frac{\parcial{f_1 }}{\parcial{W_{xf}^{(1)}}} \end{alineado}\frac{\parcial{o_2}}{\parcial{h_1}} \frac{\parcial{h_1}}{\parcial{C_1}} \\ \frac{\parcial{h_3}}{\parcial{o_3}} \frac{\parcial{o_3}}{\parcial{h_2}} {\color{azul}{ \frac{\parcial{h_2}}{\parcial{C_2}} }} {\color{verde} { \frac {\parcial{C_2}}{\parcial{C_1}}}}\\ \end{matriz}\right\} \frac{\parcial{C_1}}{\parcial{f_1}} \frac{\parcial{f_1 }}{\parcial{W_{xf}^{(1)}}} \end{alineado}Wx f( 1 )∂L _3=años3∂L _3hora3años3t3t2∂o _3hora3hora2∂o _3∂C _3hora3∂C _2∂C _3∂C _3hora3f3∂C _3hora2f3∂C _3hora3yo3∂C _3hora2yo3∂C _3hora3C~3∂C _3hora2C~3t2t1f2∂C _2hora1f2∂C _1hora1yo2∂C _2hora1yo2∂C _1hora1C~2∂C _2hora1C~2∂C _1hora1∂C _1∂C _2∂o _2hora2hora1∂o _2∂C _1hora1∂C _2hora2∂C _1∂C _2f2∂C _2∂C _1f2yo2∂C _2hora1yo2∂C _1hora1C~2∂C _2hora1C~2∂C _1hora1f1∂C _1Wx f( 1 )f1=años3∂L _3hora3años3t3t2∂o _3hora3hora2∂o _3∂C _3hora3∂C _2∂C _3∂C _3hora3f3∂C _3hora2f3∂C _3hora3yo3∂C _3hora2yo3∂C _3hora3C~3∂C _3hora2C~3t2t1∂C _1∂C _2{ ∂o _2hora2hora1∂o _2∂C _1hora1∂C _2hora2∂C _1∂C _2}f1∂C _1Wx f( 1 )f1=años3∂L _3hora3años3∂C _3hora3∂C _2∂C _3∂C _1∂C _2∂o _3hora3hora2∂o _3∂C _3hora3f3∂C _3hora2f3∂C _3hora3yo3∂C _3hora2yo3∂C _3hora3C~3∂C _3hora2C~3∂o _2hora2hora1∂o _2∂C _1hora1∂o _3hora3hora2∂o _3∂C _2hora2∂C _1∂C _2f1∂C _1Wx f( 1 )f1

Del proceso de cálculo anterior, podemos ver que en el resultado de la derivación final, habrá una gran cantidad de multiplicaciones acumulativas en la siguiente forma,
⋯ ∏ t = mn ∂ C t ∂ C t − 1 ⋯ \cdots \prod_{t = m} ^{n} \frac{\parcial{C_{t}}}{\parcial{C_{t-1}}} \cdotst = metron∂C _t 1∂C _t

en,
∂ C t ∂ C t - 1 = ⊕ { ∂ C t ∂ pies ∂ pies ∂ ht - 1 ∂ ht - 1 ∂ C t - 1 ( = C t - 1 ⋅ W hf σ ′ ⋅ ot − 1 tanh ⁡ ′ ) ∂ C t ∂ eso ∂ eso ∂ ht - 1 ∂ ht - 1 ∂ C t - 1 ( = C ~ t ⋅ W hola σ ′ ⋅ ot − 1 tanh ⁡ ′ ) ∂ C t ∂ C ~ t ∂ C ~ t ∂ ht − 1 ∂ ht − 1 ∂ C t − 1 ( = eso ⋅ W h C ~ tanh ⁡ ′ ⋅ ot − 1 ⋅ tanh ⁡ ′ ) \frac{\parcial{C_{t}}}{\parcial{C_{ t-1}}} = \oplus\begin{casos} \frac{\parcial{C_{t}}}{\parcial{f_t}} \frac{\parcial{f_{t}}}{\parcial{h_ {t-1}}} \frac{\parcial{h_{t-1}}}{\parcial{C_{t-1}}} \left(= C_{t-1} \cdot W_{hf} \ sigma' \cdot o_{t-1} \tanh'\right)\\ \frac{\parcial{C_{t}}}{\parcial{i_t}} \frac{\parcial{i_{t}}}{ \parcial{h_{t-1}}} \frac{\parcial{h_{t-1}}}{\parcial{C_{t-1}}} \left(= \tilde{C}_{t} \cdot W_{hi}\sigma' \cdot o_{t-1}\tanh'\right)\\ \frac{\partial{C_{t}}}{\partial{\tilde{C}_t}}\frac{\parcial{\tilde{C}_{t}}}{\parcial{h_{t-1}}} \frac{\parcial{h_{t-1}}}{\parcial{C_{t -1}}} \left(= i_{t} \cdot W_{h\tilde{C}} \tanh' \cdot o_{t-1} \cdot \tanh'\right)\\ \end{casos}∂C _t 1∂C _t=ft∂C _thorat 1ft∂C _t 1horat 1( =Ct 1Wh fpagot 1sospechoso )yot∂C _thorat 1yot∂C _t 1horat 1( =C~tWhola _pagot 1sospechoso )C~t∂C _thorat 1C~t∂C _t 1horat 1( =itWhC~sospechoso⋅o _t 1sospechoso )

De la fórmula anterior se puede ver que ∂ C t ∂ C t − 1 \frac{\partial{C_{t}}}{\partial{C_{t-1}}}∂C _t 1∂C _tEl valor de se puede ajustar mediante los parámetros W hf , W hi , W h C ~ W_{hf},W_{hi},W_{h\tilde{C}}Wh f,Whola _,WhC~Para controlar de manera flexible, para evitar que desaparezca el gradiente, se puede controlar en 1 11 cerca, entonces habrá1 1En el caso de la multiplicación por 1 , aquí se consideran t = 1, 2, 3 t=1,2,3t=1 ,2 ,3. Cuando se consideran más momentos, aparecerán más y más multiplicaciones Además de estar controlado por lasmultiplicaciones mencionadas anteriormente, otras formas de multiplicaciones de gradiente pueden hacer que el gradiente desaparezca, por lo que∂ C t ∂ C t − 1 \frac{ \parcial{C_{t}}}{\parcial{C_{t-1}}}∂C _t 1∂C _tLa multiplicación acumulativa alivia en gran medida el problema de la desaparición del gradiente.

de LSTM \rm LSTMSe explica el mecanismo de trabajo de L S T M , es decir,t = mt = mt=m at = nt=nt=En el corto plazo detiempo n , la información recordada en el estado de la celda es básicamente la misma, lo que también hará que los gradientes de dos momentos adyacentes sean casi iguales, para paliar la desaparición del gradiente.

Referencias

[1] Video en la estación B: [Revisando los clásicos] Explicando cómo la red de memoria a corto y largo plazo de LSTM alivia la desaparición de gradientes en la lengua vernácula y derivando la propagación hacia atrás con fórmulas prácticas

[2] Introducción a LSTM y derivación del algoritmo de retropropagación que todos pueden entender (muy detallado)

[3] Comprender las redes LSTM

[4] Comprender las redes LSTM

Supongo que te gusta

Origin blog.csdn.net/qq_41139677/article/details/120983071
Recomendado
Clasificación