Memoria a corto plazo

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de marzo de 2021; las comprobaciones requieren 20 ediciones .

Una cadena larga de elementos de memoria a corto plazo ( ing.  Long short-term memory ; LSTM ) es un tipo de arquitectura de red neuronal recurrente propuesta en 1997 por Sepp Hochreiter y Jurgen Schmidhuber [2] . Como la mayoría de las redes neuronales recurrentes, una red LSTM es universal en el sentido de que, con un número suficiente de elementos de red, puede realizar cualquier cálculo que sea capaz de realizar una computadora convencional, lo que requiere una matriz de peso adecuada, que puede considerarse como una programa. A diferencia de las redes neuronales recurrentes tradicionales, la red LSTM se adapta bien al aprendizaje en las tareas de clasificación , procesamiento y predicción de series temporales en los casos en que los eventos importantes están separados por lapsos de tiempo con límites y duración indefinidos. La inmunidad relativa a la duración de los intervalos de tiempo le da a LSTM una ventaja sobre las redes neuronales recurrentes alternativas, los modelos ocultos de Markov y otros métodos de entrenamiento para secuencias en diversas aplicaciones. De los muchos logros de las redes LSTM, se pueden destacar los mejores resultados en el reconocimiento de escritura continua no segmentada [3] y la victoria en 2009 en el concurso de reconocimiento de escritura ( ICDAR ). Las redes LSTM también se utilizan en tareas de reconocimiento de voz , por ejemplo, la red LSTM fue el componente principal de la red, que en 2013 alcanzó un umbral de error de registro del 17,7 % en la tarea de reconocimiento de fonemas sobre el corpus clásico de habla natural TIMIT [4] . A partir de 2016, las principales empresas de tecnología, incluidas Google , Apple , Microsoft y Baidu , utilizan las redes LSTM como un componente fundamental de los nuevos productos [5] [6] .

Arquitectura

Una red LSTM es una red neuronal artificial que contiene módulos LSTM en lugar o además de otros módulos de red. Un módulo LSTM es un módulo de red recurrente capaz de almacenar valores tanto para periodos de tiempo cortos como largos. La clave de esta capacidad es que el módulo LSTM no utiliza una función de activación dentro de sus componentes recurrentes. Por lo tanto, el valor almacenado no se desdibuja en el tiempo, y el gradiente o penalización no desaparece cuando se utiliza el método de retropropagación a través del tiempo al entrenar una red neuronal artificial . 

Los LSTM a menudo se agrupan en "bloques" que contienen varios LSTM. Dicho dispositivo es típico de las redes neuronales multicapa "profundas" y contribuye a la implementación de la computación paralela utilizando equipos apropiados. En las fórmulas a continuación, cada variable, escrita en cursiva minúscula, denota un vector de dimensiones igual al número de módulos LSTM en el bloque.

Los bloques LSTM contienen tres o cuatro "puertas" que se utilizan para controlar el flujo de información en las entradas y salidas de la memoria de estos bloques. Estas puertas se implementan como una función logística para calcular un valor en el rango [0; una]. La multiplicación por este valor se usa para permitir o denegar parcialmente el flujo de información dentro y fuera de la memoria. Por ejemplo, la "puerta de entrada" controla la medida en que un nuevo valor ingresa a la memoria, y la "puerta de olvido" controla la medida en que un valor se retiene en la memoria. La "puerta de salida" controla hasta qué punto se usa el valor en la memoria para calcular la función de activación de salida para el bloque. (En algunas implementaciones, la puerta de entrada y la puerta de olvido se implementan como una sola puerta. La idea es que el valor anterior debe olvidarse cuando hay un valor nuevo que vale la pena recordar).

Los pesos en el bloque LSTM ( y ) se utilizan para establecer la dirección de operación de las puertas. Estos pesos se definen para los valores que ingresan al bloque (incluida la salida del paso de tiempo anterior ) para cada una de las puertas. Por lo tanto, el bloque LSTM determina cómo administrar su memoria en función de estos valores, y el entrenamiento con pesas permite que el bloque LSTM aprenda una función que minimiza la pérdida. Los bloques LSTM generalmente se entrenan usando retropropagación a lo largo del tiempo.

LSTM tradicional

LSTM tradicional con puertas olvidadas [2] [7] y ( significa producto de Hadamard ):

Variables:

Funciones de activación :

LSTM con ojos

Eye LSTM con puertas de olvido [8] [9] no se usa, se usa como reemplazo en la mayoría de los lugares:

LSTM convolucional

LSTM convolucional [10] ( significa operador de convolución ):

Entrenamiento

Para minimizar el error general del LSTM en todo el conjunto de secuencias de entrenamiento, se puede usar el descenso de gradiente iterativo , como la propagación hacia atrás desenrollada en el tiempo, para cambiar cada uno de los pesos en proporción a su derivado, según la magnitud del error. El principal problema con el descenso de gradiente para las redes neuronales recurrentes estándar es que los gradientes de error disminuyen a un ritmo exponencial a medida que aumenta el tiempo de retraso entre eventos importantes, lo que se identificó en 1991 [11] [12] . Sin embargo, con los bloques LSTM, cuando los valores de error se propagan desde la capa de salida, el error se bloquea en la memoria del bloque. Esto se denomina "carrusel de errores", que continuamente "alimenta" un error a cada una de las puertas hasta que están entrenadas para descartar un valor. Por lo tanto, la retropropagación regular de errores es efectiva para entrenar un bloque LSTM para recordar valores durante períodos de tiempo muy largos.

LSTM también se puede entrenar usando una combinación de un algoritmo evolutivo para los pesos en las capas ocultas y matrices pseudoinversas , o una máquina de vectores de soporte para los pesos en la capa de salida. [13] En el aprendizaje por refuerzo, los LSTM se pueden entrenar buscando directamente en el espacio estrategias, estrategias evolutivas o algoritmos genéticos .

Aplicaciones

Se describen ejemplos de aplicación de LSTM: en robótica [14] , para análisis de series de tiempo [15] , para reconocimiento de voz [4] [16] [17] , en aprendizaje rítmico [9] , para generar composiciones musicales [18] , en aprendizaje de gramática ( English  artificial grammar learning ) [8] [19] [20] , en tareas de reconocimiento de escritura a mano [21] [22] , para reconocimiento de actividad humana [23] , en la tarea de identificación de proteínas homólogas [24] .

Notas

  1. Klaus Greff; Rupesh Kumar Srivastava; Jan Koutnik; Bas R. Steunebrink & Jürgen Schmidhuber (2015), LSTM: A Search Space Odyssey, arΧiv : 1503.04069 . 
  2. 12 Sep Hochreiter ; Jürgen Schmidhuber . Memoria a corto plazo // Computación  neuronal   : diario. - 1997. - vol. 9 , núm. 8 _ - Pág. 1735-1780 . -doi : 10.1162/ neco.1997.9.8.1735 . —PMID 9377276 . Archivado desde el original el 26 de mayo de 2015. Copia archivada (enlace no disponible) . Consultado el 4 de febrero de 2017. Archivado desde el original el 26 de mayo de 2015. 
  3. A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. Un nuevo sistema conexionista para mejorar el reconocimiento de escritura a mano sin restricciones. Transacciones IEEE sobre análisis de patrones e inteligencia artificial, vol. 31, núm. 5, 2009.
  4. 12 Graves , Alex; Mohamed, Abdel-rahman; Hinton, Geoffrey. Reconocimiento de voz con redes neuronales recurrentes profundas  //  Procesamiento de señales, voz y acústica (ICASSP), Conferencia internacional IEEE de 2013 sobre: ​​revista. - 2013. - Pág. 6645-6649 .
  5. Con QuickType, Apple quiere hacer más que adivinar tu próximo texto. Quiere darte una IA.  (Inglés) . CABLEADO . Fecha de acceso: 16 de junio de 2016. Archivado desde el original el 24 de marzo de 2017.
  6. Redes neuronales recurrentes - Redes de retroalimentación - Lstm Red recurrente - Red neuronal de retroalimentación - Redes recurrentes - Red de retroalimentación - Red recurrente - - Red de retroalimentación . gente.idsia.ch _ Consultado el 16 de junio de 2016. Archivado desde el original el 5 de mayo de 2021.
  7. Félix A. Gers; Jurgen Schmidhuber; Fred Cummins. Aprendiendo a olvidar: predicción continua con LSTM  // Computación  neuronal : diario. - 2000. - vol. 12 , núm. 10 _ - Pág. 2451-2471 . -doi : 10.1162/ 089976600300015015 .
  8. 1 2 3 Gers, FA; Schmidhuber, J. LSTM Redes recurrentes Aprenda lenguajes sensibles al contexto y sin contexto simple  // Transacciones IEEE en  redes neuronales : diario. - 2001. - vol. 12 , núm. 6 _ - P. 1333-1340 . -doi : 10.1109/ 72.963769 .
  9. 1 2 3 Gers, F.; Schraudolph, N.; Schmidhuber, J. Aprendiendo tiempos precisos con redes recurrentes LSTM  //  Journal of Machine Learning Research  : journal. - 2002. - vol. 3 . - pág. 115-143 .
  10. Xingjian Shi; Zhurong Chen; Wang Hao; Dit-Yan Yeung; Wai‑kin Wong; Wang Chun Woo. Red LSTM convolucional: un enfoque de aprendizaje automático para la predicción inmediata de precipitaciones  //  Actas de la 28.ª Conferencia internacional sobre sistemas de procesamiento de información neuronal: revista. - 2015. - Pág. 802-810 .
  11. S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Tesis de diploma, Institut f. Informática, Technische Univ. Múnich, 1991.
  12. S. Hochreiter, Y. Bengio, P. Frasconi y J. Schmidhuber. Flujo de gradiente en redes recurrentes: la dificultad de aprender dependencias a largo plazo. En SC Kremer y JF Kolen, editores, A Field Guide to Dynamical Recurrent Neural Networks. Prensa IEEE, 2001.
  13. Schmidhuber, J.; Wierstra, D.; Gagliolo, M.; Gomez, F. Entrenamiento de Redes Recurrentes por Evolino   // Computación Neural. - 2007. - vol. 19 , núm. 3 . - Pág. 757-779 . -doi : 10.1162/ neco.2007.19.3.757 .
  14. H. Mayer, F. Gómez, D. Wierstra, I. Nagy, A. Knoll y J. Schmidhuber. Un sistema para cirugía cardíaca robótica que aprende a atar nudos utilizando redes neuronales recurrentes. Robótica avanzada, 22/13-14, págs. 1521-1537, 2008.
  15. J. Schmidhuber y D. Wierstra y F. J. Gomez. Evolino: Neuroevolución Híbrida / Búsqueda Lineal Óptima para el Aprendizaje de Secuencias. Actas de la 19.ª Conferencia Internacional Conjunta sobre Inteligencia Artificial (IJCAI), Edimburgo, págs. 853-858, 2005.
  16. Graves, A.; Schmidhuber, J. Clasificación de fonemas Framewise con LSTM bidireccional y otras arquitecturas de  redes neuronales //  Redes neuronales: revista. - 2005. - vol. 18 , núm. 5-6 . - Pág. 602-610 . -doi : 10.1016/ j.neunet.2005.06.042 .
  17. S. Fernández, A. Graves, J. Schmidhuber. Una aplicación de redes neuronales recurrentes para detectar palabras clave discriminativas. internacional Conf. sobre redes neuronales artificiales ICANN'07, 2007.
  18. D. Eck y J. Schmidhuber. Aprendiendo la estructura a largo plazo del blues. En J. Dorronsoro, ed., Proceedings of Int. Conf. on Artificial Neural Networks ICANN'02, Madrid, páginas 284-289, Springer, Berlín, 2002.
  19. Schmidhuber, J.; Gers, F.; Eck, D.; Schmidhuber, J.; Gers, F. Aprendizaje de lenguajes no regulares: una comparación de redes recurrentes simples y LSTM   // Computación neuronal : diario. - 2002. - vol. 14 , núm. 9 _ - Pág. 2039-2041 . doi : 10.1162 / 089976602320263980 .
  20. Pérez-Ortiz, JA; Gers, FA; Eck, D.; Schmidhuber, J. Los filtros de Kalman mejoran el rendimiento de la red LSTM en problemas que no pueden resolver las redes recurrentes tradicionales  //  Redes neuronales: revista. - 2003. - vol. 16 , núm. 2 . - P. 241-250 . -doi : 10.1016 / s0893-6080(02)00219-8 .
  21. A. Graves, J. Schmidhuber. Reconocimiento de escritura a mano sin conexión con redes neuronales recurrentes multidimensionales. Avances en sistemas de procesamiento de información neuronal 22, NIPS'22, pp 545-552, Vancouver, MIT Press, 2009.
  22. A. Graves, S. Fernández, M. Liwicki, H. Bunke, J. Schmidhuber. Reconocimiento de escritura a mano en línea sin restricciones con redes neuronales recurrentes. Advances in Neural Information Processing Systems 21, NIPS'21, pp 577-584, 2008, MIT Press, Cambridge, MA, 2008.
  23. M. Baccouche, F. Mamalet, C Wolf, C. García, A. Baskurt. Aprendizaje Profundo Secuencial para el Reconocimiento de la Acción Humana. 2º Taller Internacional sobre Comprensión del Comportamiento Humano (HBU), AA Salah, B. Lepri ed. Amsterdam, Holanda. páginas. 29-39. Apuntes de clase en informática 7065. Springer. 2011
  24. Hochreiter, S.; Heusel, M.; Obermayer, K. Detección rápida de homología de proteínas basada en modelos sin alineación  //  Bioinformatics: journal. - 2007. - vol. 23 , núm. 14 _ - Pág. 1728-1736 . -doi : 10.1093 / bioinformática/btm247 . —PMID 17488755 .

Enlaces