¿Cómo abordar el problema de la memoria a corto plazo?
Debido a las transformaciones que sufren los datos al atravesar una red neuronal recurrente, se pierde cierta información en cada paso de tiempo. Después de un tiempo, el estado de la red neuronal recurrente prácticamente no contiene rastros de las primeras entradas. Esto puede ser un problema. Imaginemos a Dory, el pez, intentando traducir una frase larga; cuando termina de leerla, no tiene ni idea de cómo empezó. Para abordar este problema, se han introducido varios tipos de células con memoria a largo plazo. Han demostrado ser tan exitosas que las células básicas ya no se utilizan mucho. Veamos primero la más popular de estas células de memoria a largo plazo: la célula LSTM.
LSTM
La celda LSTM (Long Short Term Memory) es una caja negra y se puede usar de forma muy similar a una celda básica, excepto que funcionará mucho mejor, el entrenamiento convergerá más rápido y detectará dependencias a largo plazo en los datos.
Si no miras lo que hay dentro de la caja, la celda LSTM se ve exactamente como una celda normal, excepto que su estado está dividido en dos vectores:

¡Ahora abramos la caja! La idea clave es que la red puede aprender qué almacenar en el estado de largo plazo, qué descartar y qué leer de él. A medida que el estado de largo plazo
En primer lugar, el vector de entrada actual
La capa principal es la que genera la salida
Las otras tres capas son controladores de compuertas. Dado que utilizan la función de activación logística, sus salidas van de 0 a 1. Como puede ver, sus salidas se utilizan para operaciones de multiplicación elemento por elemento, por lo que si generan 0, cierran la compuerta y si generan 1, la abren. En concreto:
— La compuerta de olvido (controlada por
— La compuerta de entrada (controlada por
— Finalmente, la compuerta de salida (controlada por
En resumen, una célula LSTM puede aprender a reconocer una entrada importante (esa es la función de la compuerta de entrada), almacenarla en el estado de largo plazo, conservarla durante el tiempo que sea necesario (esa es la función de la compuerta de olvido) y extraerla cuando sea necesario. Esto explica por qué estas células han tenido un éxito asombroso en la captura de patrones de largo plazo en series temporales, textos largos, grabaciones de audio y más.
Las siguientes ecuaciones resumen cómo calcular el estado a largo plazo de la celda, su estado a corto plazo y su salida en cada paso de tiempo para una sola instancia (las ecuaciones para un minilote completo son muy similares).
En esta ecuación:
-
-
-
-
Otra ejemplificación de este tipo de celda es la siguiente, donde los cuadrados vacíos son los valores concretos,
Variantes
LSTM bidireccional
Un LSTM bidireccional como se usa en HYBRID SPEECH RECOGNITION WITH DEEP BIDIRECTIONAL LSTM consta de dos LSTM que se ejecutan en paralelo: uno en la secuencia de entrada y el otro en el reverso de la secuencia de entrada. En cada paso de tiempo, el estado oculto del LSTM bidireccional es la concatenación de los estados ocultos hacia adelante y hacia atrás. Esta configuración permite que el estado oculto capture información pasada y futura.
LSTM multicapa
En arquitecturas LSTM multicapa, el estado oculto de una unidad LSTM en la capa
Referencias