[Aprendizaje profundo] Red neuronal recurrente RNN y modelo de aprendizaje profundo LSTM

1. Red neuronal recurrente RNN (red neuronal recurrente)

Un núcleo de la red neuronal recurrente es que puede utilizar los datos de la secuencia anterior para predecir los resultados posteriores. Cómo lograr esto. La estructura RNN se muestra en la siguiente figura.
Insertar descripción de la imagen aquí
Una vez procesada la información de la secuencia anterior, se pasa a la secuencia posterior como información de entrada.

modelo matemático:

a 1 = ga ( W ha 0 + W ix 1 + ba ) a^1=g_a(W_{h}a^0+W_{i}x^1+b_a)a1=gramoun( Wha0+W.yoX1+bun)y 1 = gy ( W ya 0 + W ox 1 + bi ) y^1=g_y(W_{y}a^0+W_{o}x^1+b_i)y1=gramoy( Wya0+W.oX1+byo)
a 2 = ga ( W ha 1 + W ix 2 + ba ) a^2=g_a(W_{h}a^1+W_{i}x^2+b_a)a2=gramoun( Wha1+W.yoX2+bun)y 2 = gy ( W ya 1 + W ox 2 + bi ) y^2=g_y(W_{y}a^1+W_{o}x^2+b_i)y2=gramoy( Wya1+W.oX2+byo)
……
en = ga ( Qué − 1 + W ixt + ba ) a^t=g_a(W_{h}a^{t-1}+W_{i}x^t+b_a)at=gramoun( What - 1+W.yoXt+bun)yt = gy ( W yat − 1 + W oxt + bi ) y^t=g_y(W_{y}a^{t-1}+W_{o}x^t+b_i)yt=gramoy( Wyat - 1+W.oXt+byo)

gggg es la función de activación,W, b W,bW ,b es el parámetro de entrenamiento.

2. Diferentes tipos de modelos RNN

Entrada de estructura básica del modelo RNN
Insertar descripción de la imagen aquí
: x 1, x 2, x 2,..., xix^1,x^2,x^2,...,x^iX1 ,X2 ,X2 ,... ,Xi,输出: y 1 , y 2 , y 2 , . . . , y i y^1,y^2,y^2,... ,y^i y1 ,y2 ,y2 ,... ,yi
Estructura RNN de múltiples entradas a múltiples salidas con las mismas dimensiones.
Aplicación: Identificación de información específica.

Estructura RNN de entrada múltiple y salida única
Insertar descripción de la imagen aquí

Importar: x 1 , x 2 , x 2 , . . . , xix^1,x^2,x^2,... ,x^iX1 ,X2 ,X2 ,... ,Xyo , Salida:yyy
Aplicación: Reconocimiento de emociones

Estructura RNN de entrada única y salida múltiple
Insertar descripción de la imagen aquí

Entrada: xi xix i,输出:y 1 , y 2 , y 2 , . . . , yiy^1,y^2,y^2,... ,y^iy1 ,y2 ,y2 ,... ,yi
aplicación: generador de datos de secuencia, como generación de artículos, generación de música


Insertar descripción de la imagen aquí
Entrada de estructura RNN de múltiples entradas y múltiples salidas : x 1, x 2, x 2,..., xix^1,x^2,x^2,...,x^iX1 ,X2 ,X2 ,... ,Xi,输出: y 1 , y 2 , y 2 , . . . , y j y^1,y^2,y^2,... ,y^j y1 ,y2 ,y2 ,... ,yj
Aplicación: Traducción de idiomas

Cuando la red neuronal recurrente bidireccional (BRNN)
emite un juicio, también tiene en cuenta la información de la secuencia posterior.

Insertar descripción de la imagen aquí

Las redes neuronales recurrentes profundas (DRNN)
resuelven tareas de secuencia más complejas y se pueden combinar con pilas RNN de una sola capa o conexiones completas antes de la salida.
Insertar descripción de la imagen aquí

Defectos de las estructuras RNN ordinarias.

Primero, cuando la información de la secuencia frontal se transmite hacia atrás, el peso de la información disminuye, lo que resulta en la pérdida de información importante. El gradiente desaparece durante el proceso de solución.
Insertar descripción de la imagen aquí
En segundo lugar, RNN a veces pierde parámetros durante el proceso de entrenamiento.
Insertar descripción de la imagen aquí
En el proceso de minimizar la función de pérdida, el gradiente fluctuará repentina y violentamente, lo que provocará la pérdida de parámetros.
Insertar descripción de la imagen aquí
Entonces, ¿por qué sucede esto?
Tome la estructura RNN en la figura siguiente como ejemplo, asumiendo W i , W o W^i,W^oW.yo ,W.o son todos 1 y la longitud de entrada es 1000, entoncesy 1000 = w 999 y^{1000}=w^{999}y1000=w999
Insertar descripción de la imagen aquí

asumimos wwEl valor inicial de w es 1, enww¿ Qué sucede cuando w cambia ligeramente?
Insertar descripción de la imagen aquí
Entonces el problema con RNN es que durante el proceso de entrenamiento, el mismowww se usa repetidamente en diferentes momentos,wwUna vez que w tenga un impacto, tendrá un gran impacto.

Red de memoria a corto plazo y larga LSTM (memoria a corto plazo)

El uso de LSTM puede optimizar los defectos de la estructura RNN mencionada anteriormente. Agregue celdas de memoria cic^i a la unidad estructural RNN ordinaria originalCi , puede transmitir información sobre partes distantes del frente.
Insertar descripción de la imagen aquí
La estructura de LSTM consta de tres puertas, cuatro entradas y una salida. Las tres puertas son la puerta de entrada, la puerta de olvido y la puerta de salida. Utilice estas tres puertas para controlar qué información debe olvidarse y descartarse, qué información debe conservarse o mantenerse sin cambios. Las cuatro entradas son, datos de entradaZZZ , señal de control de puerta de entradaZ i Z_izyo, olvídate de la señal de control de puerta Z f Z_fzfy señal de control de puerta de salida Z o Z_ozo
Insertar descripción de la imagen aquí

La puerta aquí puede entenderse como una función de activación, esta función de activación suele ser una función sigmoidea, porque el valor de la función sigmoidea está entre 0 y 1, que se utiliza para controlar el cierre y apertura de la puerta.

Supongamos que el valor original almacenado en la memoria es ccc , el valor actualizado esc ′ = g ( z ) f ( zi ) + cf ( zf ) c'=g(z)f(z_i)+cf(z_f)C=gramo ( z ) f ( z)yo)+c f ( zf)c ′ c'C es el nuevo valor almacenado en la memoria. De esta fórmula podemos ver quef ( zi ) f(z_i)f ( zyo) es controlarZZ¿Se puede ingresar Z como nivel?f (zi) = 0 f(z_i)=0f ( zyo)=0 significa que no hay entrada,f (zi) = 1 f(z_i)=1f ( zyo)=1 tiene entrada. f ( zf ) f(z_f)f ( zf) controla si el valor en la memoria se actualizará. f(zf) = 0 f(z_f)=0f ( zf)=En 0 , olvida que la puerta está abierta y escribe 0 en la celda,f (zf) = 1 f(z_f)=1f ( zf)=Cuando 1 , pasa directamente y el valor mediano de la celda permanece sin cambios o c. f (zo) f(z_o)f ( zo) controla si hay un valor de salida.

Z i , Z f , Z , Z o Z_i,Z_f,Z_,Z_ozyo,zf,z,zoTodo por XXLa entrada obtenida multiplicando X por la matriz de peso. Ingrese la secuencia como se muestra a continuación.
Insertar descripción de la imagen aquí
LSTM puede resolver el problema de la desaparición del gradiente RNN. Los valores en la memoria RNN se borrarán cada vez, mientras que la memoria en LSTM siempre se superpondrá y solo se borrará a menos que se cierre la puerta.

Supongo que te gusta

Origin blog.csdn.net/Luo_LA/article/details/133314652
Recomendado
Clasificación