Long Short-Term Memory/es
| Article | |
|---|---|
| Topic area | Deep Learning |
| Prerequisites | Recurrent Neural Network, Backpropagation, Gradient Descent |
Resumen
La memoria a corto y largo plazo (LSTM) es una arquitectura de red neuronal recurrente disenada para aprender dependencias de largo alcance en datos secuenciales evitando los problemas de desvanecimiento y explosion del gradiente que afectan a las redes recurrentes estandar. Introducida por Sepp Hochreiter y Juergen Schmidhuber en 1997,[1] la celda LSTM aumenta una unidad recurrente con un estado de celda interno protegido por compuertas multiplicativas que aprenden a leer, escribir y borrar informacion de manera selectiva. Durante aproximadamente dos decadas la LSTM fue la arquitectura neuronal dominante para el modelado secuencial, alimentando sistemas de produccion para reconocimiento de voz, traduccion automatica, reconocimiento de escritura manuscrita y modelado de lenguaje, antes de ser ampliamente reemplazada por el Transformer en dominios donde predomina el entrenamiento paralelo. Sigue utilizandose ampliamente en inferencia en linea de baja latencia, prediccion de series temporales, control y cualquier escenario en el que la causalidad secuencial estricta y la memoria acotada sean ventajas en lugar de restricciones.
La idea definitoria de la LSTM es el carrusel de error constante: un autobucle lineal sobre el estado de celda que permite que los gradientes fluyan hacia atras a traves de un numero arbitrariamente grande de pasos de tiempo sin decaimiento exponencial. Las compuertas aprenden cuando dejar entrar informacion en este bucle, cuando olvidarla y cuando exponerla al resto de la red.
Motivacion: el problema del desvanecimiento del gradiente
Una red recurrente simple mantiene un estado oculto $ h_t = \sigma(W_h h_{t-1} + W_x x_t + b) $ y se entrena mediante retropropagacion a traves del tiempo (BPTT). El gradiente de una perdida en el tiempo $ T $ con respecto a un estado oculto en el tiempo $ t $ implica un producto de $ T - t $ jacobianos de la aplicacion recurrente. Cuando el radio espectral de estos jacobianos es inferior a uno el gradiente decrece exponencialmente con el horizonte y la red no puede aprender dependencias separadas por mas de unos pocos pasos; cuando es superior a uno el gradiente explota y el entrenamiento diverge.[2] La tesis de Hochreiter de 1991 identifico esto como el obstaculo central para entrenar modelos recurrentes profundos.
Las LSTM abordan el problema a nivel arquitectonico: en lugar de depender de una inicializacion o normalizacion cuidadosas, introducen una ruta a traves del tiempo a lo largo de la cual el gradiente se propaga con jacobiano unidad por defecto, y aprenden compuertas que perturban ese flujo solo cuando es util.
Arquitectura
Una celda LSTM estandar en el paso de tiempo $ t $ toma el estado oculto previo $ h_{t-1} $, el estado de celda previo $ c_{t-1} $ y un vector de entrada $ x_t $, y produce un nuevo estado oculto y un nuevo estado de celda. Tres compuertas sigmoides controlan el flujo de informacion:
- La compuerta de olvido $ f_t $ decide que componentes del estado de celda previo se borran.
- La compuerta de entrada $ i_t $ decide que componentes de una actualizacion candidata $ \tilde{c}_t $ se escriben en el estado de celda.
- La compuerta de salida $ o_t $ decide que componentes del estado de celda se exponen como estado oculto.
Cada compuerta es una proyeccion lineal aprendida de $ [h_{t-1}, x_t] $ seguida de una sigmoide, de modo que sus salidas se sitúan en $ (0,1) $ y actuan como mascaras binarias suaves bajo multiplicacion elemento a elemento. El estado de celda se actualiza de manera aditiva, propiedad estructural que preserva el flujo de gradiente.
Formulacion
Sea $ \sigma $ la sigmoide logistica y $ \odot $ la multiplicacion elemento a elemento. Con pesos $ W_\bullet $, pesos recurrentes $ U_\bullet $ y sesgos $ b_\bullet $ para cada compuerta, las reglas de actualizacion de la LSTM son
$ {\displaystyle f_t = \sigma(W_f x_t + U_f h_{t-1} + b_f)} $
$ {\displaystyle i_t = \sigma(W_i x_t + U_i h_{t-1} + b_i)} $
$ {\displaystyle o_t = \sigma(W_o x_t + U_o h_{t-1} + b_o)} $
$ {\displaystyle \tilde{c}_t = \tanh(W_c x_t + U_c h_{t-1} + b_c)} $
$ {\displaystyle c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t} $
$ {\displaystyle h_t = o_t \odot \tanh(c_t)} $
Las primeras cuatro ecuaciones pueden calcularse como una unica multiplicacion de matrices de ancho $ 4d $, donde $ d $ es el tamano oculto, que es como se escriben las implementaciones eficientes. La actualizacion del estado de celda $ c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t $ es el carrusel de error constante: cuando $ f_t \approx 1 $, los gradientes con respecto a $ c_{t-1} $ se propagan hacia atras por la ruta aditiva sin compresion no lineal.
Una heuristica ampliamente usada consiste en inicializar el sesgo de la compuerta de olvido $ b_f $ a un valor positivo grande (a menudo 1 o 2), de modo que $ f_t \approx 1 $ al inicio del entrenamiento y el estado de celda por defecto recuerde en lugar de olvidar.[3]
Entrenamiento e inferencia
Las LSTM se entrenan mediante retropropagacion truncada a traves del tiempo: la perdida se suma sobre una ventana de longitud $ T $ y los gradientes se propagan hacia atras a traves de la red desplegada, tipicamente con recorte de gradiente para controlar los infrecuentes eventos de explosion del gradiente que la arquitectura no elimina. Optimizadores estandar como Adam o SGD con momento funcionan bien en la practica. La regularizacion suele combinar decaimiento de pesos con Dropout aplicado a las conexiones no recurrentes, ya que un dropout ingenuo sobre la ruta recurrente dana la autopista de gradiente; variantes como el dropout variacional aplican la misma mascara a lo largo del tiempo para preservarla.[4]
La inferencia es inherentemente secuencial: $ c_t $ depende de $ c_{t-1} $, por lo que el tiempo por token no puede paralelizarse a lo largo del eje temporal como si puede el paso hacia adelante de un Transformer. Esta dependencia secuencial es la principal razon por la que las LSTM perdieron terreno frente al preentrenamiento a gran escala, pero la misma propiedad hace que su coste por token sea constante en la longitud de secuencia y su huella de memoria acotada, lo cual resulta atractivo para inferencia en streaming y despliegue en dispositivo.
Variantes
Se han propuesto muchas variantes de LSTM; los estudios de ablacion sugieren que la mayoria proporciona pequenas mejoras y que la compuerta de olvido y la activacion de salida son los componentes determinantes.[5]
- Las conexiones de mirilla permiten que las compuertas lean directamente el estado de celda, reemplazando $ U_\bullet h_{t-1} $ por terminos que incluyen $ c_{t-1} $ o $ c_t $.
- Las compuertas de entrada y olvido acopladas atan $ i_t = 1 - f_t $, reduciendo a la mitad el numero de parametros de las compuertas.
- La unidad recurrente con compuertas (GRU) fusiona los estados de celda y oculto y usa dos compuertas en lugar de tres, igualando a menudo el rendimiento de la LSTM con menos parametros.
- Las LSTM bidireccionales ejecutan dos LSTM en direcciones opuestas y concatenan sus estados ocultos, exponiendo contexto pasado y futuro para tareas no causales como el etiquetado.
- La ConvLSTM reemplaza las multiplicaciones de matrices por convoluciones, preservando la estructura espacial para video y prediccion espaciotemporal.
- Las LSTM apiladas componen verticalmente varias capas LSTM, donde el estado oculto de la capa $ \ell $ sirve como entrada de la capa $ \ell+1 $; esta era la configuracion estandar de los sistemas de traduccion automatica neuronal de produccion previos al Transformer.
Comparacion con modelos relacionados
Comparada con una RNN convencional, la LSTM cambia aproximadamente 4x mas parametros y computo por paso por un flujo de gradiente muchisimo mejor y, empiricamente, por la capacidad de aprender dependencias separadas por cientos de pasos. Comparada con la GRU, la LSTM tiene un estado de celda separado y una compuerta adicional; en la mayoria de los puntos de referencia ambas son cercanas, con las GRU algo mas rapidas y las LSTM algo mas expresivas en secuencias largas. Comparada con el Transformer, la LSTM tiene memoria y computo por token constantes y un sesgo inductivo causal estricto, pero carece de atencion directa sobre posiciones arbitrarias y no puede entrenarse con el mismo grado de paralelismo, lo que limita cuanto se beneficia del preentrenamiento a gran escala. Modelos recientes de atencion lineal y modelos de espacio de estados como Mamba revisitan ideas estrechamente relacionadas con el estado de celda de la LSTM bajo una formulacion mas paralelizable.[6]
Aplicaciones
Durante la decada de 2010 las LSTM fueron la arquitectura caballo de batalla del modelado de secuencias. Despliegues notables incluyen el sistema de traduccion automatica neuronal de Google,[7] modelos acusticos para reconocimiento de voz de gran vocabulario,[8] reconocimiento de escritura manuscrita, reconocimiento optico de caracteres y los primeros modelos de lenguaje. Siguen siendo comunes en prediccion de series temporales, modelado financiero, deteccion de anomalias y politicas de aprendizaje por refuerzo que operan sobre observaciones parciales, donde el estado recurrente acotado es en si mismo util como resumen aprendido del historial.
Limitaciones
Las LSTM no eliminan la explosion de gradientes, solo mitigan el desvanecimiento; el recorte de gradiente sigue siendo estandar. Su paso hacia adelante secuencial impide el tipo de entrenamiento paralelo con teacher forcing que hace eficientes a los Transformers en aceleradores, razon por la cual el escalado a miles de millones de parametros y billones de tokens se ha perseguido casi exclusivamente con modelos basados en atencion. El estado de celda es un vector de ancho fijo, por lo que en principio una LSTM no puede almacenar una cantidad ilimitada de contexto pasado; las tareas de recuperacion de largo alcance que un Transformer resuelve atendiendo a un token distante deben en cambio comprimirse en el estado recurrente. Empiricamente, las LSTM tambien tienden a rendir por debajo de los modelos basados en atencion en tareas que requieren busqueda direccionable por contenido y nitida, mientras que se mantienen competitivas o superiores en tareas dominadas por estructura temporal de corto a medio alcance.
Referencias
- ↑ Hochreiter, S. and Schmidhuber, J., "Long Short-Term Memory", Neural Computation 9(8):1735-1780, 1997.
- ↑ Bengio, Y., Simard, P., and Frasconi, P., "Learning long-term dependencies with gradient descent is difficult", IEEE Transactions on Neural Networks 5(2):157-166, 1994.
- ↑ Jozefowicz, R., Zaremba, W., and Sutskever, I., "An empirical exploration of recurrent network architectures", ICML, 2015.
- ↑ Gal, Y. and Ghahramani, Z., "A theoretically grounded application of dropout in recurrent neural networks", NeurIPS, 2016.
- ↑ Greff, K., Srivastava, R. K., Koutnik, J., Steunebrink, B. R., and Schmidhuber, J., "LSTM: A search space odyssey", IEEE TNNLS 28(10):2222-2232, 2017.
- ↑ Gu, A. and Dao, T., "Mamba: Linear-time sequence modeling with selective state spaces", arXiv:2312.00752, 2023.
- ↑ Wu, Y. et al., "Google's neural machine translation system: Bridging the gap between human and machine translation", arXiv:1609.08144, 2016.
- ↑ Sak, H., Senior, A., and Beaufays, F., "Long short-term memory recurrent neural network architectures for large scale acoustic modeling", Interspeech, 2014.