LSTM (Red de Memoria a Largo Corto Plazo)

Tabla de contenido

1. ¿Qué es LSTM?

2. Explicación detallada de LSTM

 0. ¿Qué es una puerta?

1. Puerta olvidada

2. Puerta de entrada

3. Actualizar memoria

4. Puerta de salida


1. ¿Qué es LSTM?

LSTM es un tipo de RNN, que puede resolver la escasez de memoria a corto plazo de RNN. Cuando una secuencia es lo suficientemente larga, será difícil para RNN transferir información de pasos de tiempo anteriores a pasos de tiempo posteriores, mientras que LSTM puede aprender a largo plazo. información dependiente del término. , recordando información de pasos de tiempo anteriores, por lo que se puede vincular el contexto.

Por ejemplo:

1.

RNN puede predecir efectivamente la palabra en blanco como el cielo en función de las palabras anteriores.

2.

RNN puede concluir a partir de la información cerca del espacio que se debe completar un idioma aquí, pero no sabemos qué idioma es. Lo que queremos es dejar que el modelo descubra que este debe ser francés en función de lo anterior Crecí en Francia Pero las secuencias están demasiado separadas y RNN no puede usar información histórica de manera efectiva, por lo que debemos confiar en LSTM para hacerlo.

2. Explicación detallada de LSTM

LSTM tiene tres puertas, que son la puerta de olvido, la puerta de entrada (algunas también se denominan puerta de actualización, puerta candidata, la función es la misma) y la puerta de salida. Estas tres puertas se utilizan para controlar qué información debe olvidarse y descartarse, y qué información debe conservarse o mantenerse sin cambios. Al igual que una válvula de tubería, controla el flujo y la falta de flujo.

Primero veamos un diagrama ampliado de la estructura de lstm y luego desmontemos las tres puertas y sus funciones.

Descripción del símbolo:

x_{t}: Introduzca información en el momento actual 

h_{t-1}: El estado oculto en el último momento

h_{t}: el estado oculto pasó al siguiente momento

 \sigma:función sigmoide, a través de la cual los datos se pueden cambiar a un valor en el rango de 0-1.

tanh: función tanh, a través de la cual se pueden cambiar los datos a un valor en el rango [-1,1]

Características de los LSTM:

lstm tiene un estado de celda más que rnn, y algunas personas lo llaman celdas de memoria.

La línea negra horizontal en la figura a continuación indica el estado de la celda en el momento anterior. C_{t-1}A través del control de tres puertas y operaciones lineales, se determina qué información debe olvidarse y descartarse, qué información debe conservarse o no cambiarse, para generar el estado de la celda en el momento actual, y luego Connecticut}generar la salida En el siguiente momento, use esto para actualizar la memoria.

Este es solo el proceso de actualización del estado de la celda en un momento determinado. En toda la secuencia larga, el estado de la celda en cada momento olvida y descarta selectivamente la información en el momento anterior, o la mantiene, o la mantiene sin cambios, y actualiza la memoria Desde C_{1}la teletransportación hasta Connecticut}, por lo que se puede lograr la memoria a largo plazo.

 0. ¿Qué es una puerta?

LSTM controla el olvido del estado de la celda o la adición de memoria a través de una puerta. La estructura de la puerta es una capa sigmoidea y luego se multiplica por el estado de la celda en un momento. La siguiente figura es una puerta.

El rango de valores emitido por la capa sigmoidea es [0, 1], que se puede usar como una señal de puerta. Si 0 se multiplica por cualquier valor, sigue siendo 0, lo que significa que no puede pasar, y estos recuerdos se olvidarán. .1 significa que puede pasar, y la memoria se mantendrá.

1. Puerta olvidada

El objeto de la puerta de olvido es el estado de la celda C_{t-1}, y su función es controlar la información en el estado de la celda para el olvido selectivo y decidir qué parte se debe descartar y qué parte se debe retener. Entonces, cómo controlar la memoria de olvido selectivo del estado de la celda, veámoslo en combinación con la fórmula:

La fórmula para la puerta del olvido: 

 

 Multiplique la matriz de peso W_{f}y la matriz concatenada, agregue el sesgo y h_{t-1}colóquelo en la función sigmoidea para obtener una matriz con la misma dimensión , por ejemplo, obtenga [0,0,1,0], en la matriz Cada valor determina si la información correspondiente se olvida o se retiene, 0 significa que se descarta por completo y 1 significa que se retiene por completo.x_{t}b_{f}C_{t-1}pie}pie}C_{t-1}

Por ejemplo, un modelo de lenguaje que predice la siguiente palabra basándose en todas las palabras anteriores. Es posible que el estado de la celda haya recordado el género del carácter actual para predecir el pronombre personal (él o ella) la próxima vez, pero cuando aparece un nuevo carácter, es necesario olvidar el género del carácter anterior.

Ejemplo:

Xiaoming es un chico guapo, y a Xiaomei le gusta... Cuando se trata de "Xiaomei", debe olvidar selectivamente el "Xiaoming" anterior o reducir el efecto de esta palabra en las siguientes palabras.

2. Puerta de entrada

El objeto de la puerta de entrada es también el estado de la celda, y su función es decidir qué nueva información almacenar en el estado de la celda, es decir, qué nuevos recuerdos agrega selectivamente el estado de la celda. Entonces, ¿cómo decidir qué nueva información agregar?La puerta de entrada se divide en dos partes.

 primera parte:

 Cree una puerta de entrada que determine qué información se agrega al estado de la celda como una nueva memoria.

Ingrese la fórmula de la puerta: 

Similar a la fórmula de la puerta de olvido, la puerta de entrada obtiene una \tilde{C}_{t}matriz con la misma dimensión a través de operaciones lineales él}, por ejemplo, es él}[0,0,1,0], cada valor en la matriz determina \tilde{C}_{t}si descartar o retener la información correspondiente , y 0 representa Descartar completamente, 1 significa completamente reservado

 la segunda parte:

Construya un estado de celda candidato \tilde{C}_{t}, que guarde  la información en x_{t}y h_{t-1}, y luego la multiplique él}por el valor de, para determinar qué memorias son útiles. Aún así él}, 0 significa completamente descartado y 1 significa completamente retenido, por lo que la información retenida se agrega al nuevo estado de celda como una nueva memoria, por lo que aquí se \tilde{C}_{t}denomina estado de celda candidato , solo está esperando la selección, y los útiles se agregarán como nueva memoria.

 

La fórmula para el estado de la celda candidata  \tilde{C}_{t}:

 

Siguiendo el ejemplo anterior:

Este paso introduce cierta información, como que a Xiaomei le gusta usar faldas, y la puerta de entrada es para filtrar información útil de esta información para recordar el género del nuevo personaje, recordar que el género de Xiaomei es femenino y agregarlo como un nuevo recuerdo.

3. Actualizar memoria

La memoria en nuevos estados celulares consta de dos partes.

En parte, los viejos recuerdos que quedan después de que las células de memoria del momento anterior hayan olvidado los recuerdos inútiles.

La otra parte es que la información útil se filtra en la puerta de entrada como una nueva memoria.

La fórmula para el nuevo estado de la celda:

 pie}El producto escalar C_{t-1}representa la memoria antigua después del procesamiento, y él}el producto escalar \tilde{C}_{t}representa la nueva memoria que debe agregarse, que se suma al nuevo estado de celda.

Continúe con el ejemplo:

Xiaoming es un chico guapo y a Xiaomei le gusta usar faldas. Este paso es olvidar que el género de Xiaoming es masculino y recordar que el género de Xiaomei es femenino.

4. Puerta de salida

La función de la puerta de salida es determinar cuál es la salida final, es decir h_{t}, esta salida se Connecticut}basa en el nuevo estado de la celda y se realiza en dos partes.

primera parte:

Todavía use la capa sigmoide para obtener Antiguo Testamento}, como Antiguo Testamento}​​​​​​= [0,0,0,1], para determinar qué parte del estado de la celda debe generarse, se genera la memoria requerida, no todos se generan .

 Antiguo Testamento}La fórmula para:

 la segunda parte:

Procese el nuevo estado de celda a través de la función tanh, cambie el valor de salida a [-1.1] y luego apunte la multiplicación Antiguo Testamento}para controlar qué parte debe salir.

 h_{t}La fórmula para:

 

Supongo que te gusta

Origin blog.csdn.net/Michale_L/article/details/122782164
Recomendado
Clasificación