La memoria larga a corto plazo, (en inglés, long short-term memory o LSTM) es una arquitectura de red neuronal recurrente (RNN) desarrollada para abordar el problema de desvanecimiento de gradiente,[1] que afecta la capacidad de las RNN tradicionales para aprender dependencias a largo plazo en secuencias de datos. A diferencia de otros modelos como los modelos ocultos de Markov, los LSTM pueden retener información durante miles de pasos temporales, lo que los convierte en una herramienta eficaz para procesar datos secuenciales.[2]
El núcleo de un LSTM es la célula de memoria, que retiene información durante intervalos de tiempo arbitrarios. Esta célula está controlada por tres tipos de puertas: la puerta de entrada, la puerta de salida[3] y la puerta de olvido.[4] La puerta de entrada regula qué nueva información se almacenará en la célula de memoria, la puerta de salida decide qué información se usará para generar la salida en el paso actual, y la puerta de olvido determina qué información debe eliminarse.[2]
Además de sus aplicaciones en el procesamiento del lenguaje y el habla, los LSTM se utilizan en otras áreas como la predicción de series temporales, donde pueden prever valores futuros en secuencias basadas en patrones aprendidos de datos pasados. También se aplican en el control de robots,[5][6] ayudando a los sistemas a aprender comportamientos complejos a partir de datos sensoriales continuos.[7][8]Otras aplicaciones incluyen la clasificación estadística,[9][10] procesamiento de datos, análisis de series temporales,[11]reconocimiento del habla,[12][13]traducción automática,[14][15], videojuegos[16][17] y servicios de salud.[18] En el reconocimiento de voz, por ejemplo, un LSTM puede identificar patrones en secuencias de audio que representan palabras o frases específicas, incluso en presencia de ruido o variaciones en el habla.[19][20]
Motivación
En teoría, las redes neuronales recurrentes clásicas (RNNs) pueden rastrear dependencias a largo plazo arbitrarias en las secuencias de entrada. Sin embargo, el problema con las RNNs clásicas es de naturaleza computacional (o práctica): al entrenar una RNN clásica utilizando retropropagación, los gradientes a largo plazo que se retropropagan pueden «desvanecerse», lo que significa que tienden a cero debido a la acumulación de números muy pequeños en los cálculos, causando que el modelo efectivamente deje de aprender. Las RNNs que utilizan unidades LSTM resuelven parcialmente el problema de desvanecimiento de gradiente, ya que las unidades LSTM permiten que los gradientes fluyan con poca o ninguna atenuación. Sin embargo, las redes LSTM aún pueden sufrir el problema de los gradientes que explotan.[21]
La intuición detrás de la arquitectura LSTM es crear un módulo adicional en una red neuronal que aprenda cuándo recordar y cuándo olvidar información pertinente.[4] En otras palabras, la red aprende efectivamente qué información podría necesitarse más adelante en una secuencia y cuándo esa información ya no es relevante. Por ejemplo, en el contexto del procesamiento del lenguaje natural, la red puede aprender dependencias gramaticales.[22] Un LSTM podría procesar la oración: «Dave, como resultado de sus afirmaciones controvertidas, ahora es un paria» recordando el género gramatical y el número del sujeto Dave (probablemente masculino y singular), notar que esta información es pertinente para el pronombre sus y darse cuenta de que esta información ya no es importante después del verbo es.
Variantes
En las ecuaciones a continuación, las variables en minúsculas representan vectores. Las matrices y contienen, respectivamente, los pesos de las conexiones de entrada y recurrentes, donde el subíndice puede referirse a la puerta de entrada , la puerta de salida , la puerta de olvido , o la célula de memoria , dependiendo de la activación que se esté calculando. En esta sección, se utiliza una «notación vectorial». Por ejemplo, no representa solo una unidad de una célula LSTM, sino que contiene unidades de células LSTM.
También existe un estudio empírico de ocho variantes arquitectónicas de LSTM.[23]
LSTM con puerta de olvido
Las formas compactas de las ecuaciones para el paso hacia adelante de una célula LSTM con una puerta de olvido son:[2][4]
donde los valores iniciales son y , además, el operador denota el producto de Hadamard (producto elemento a elemento). El subíndice indica el paso temporal.
Variables
Usando los superíndices y para referirse al número de características de entrada y al número de unidades ocultas, respectivamente:
- : vector de entrada a la unidad LSTM.
- : vector de activación de la puerta de olvido.
- : vector de activación de la puerta de entrada/actualización.
- : vector de activación de la puerta de salida.
- : vector del estado oculto, también conocido como el vector de salida de la unidad LSTM.
- : vector de activación de la entrada de la célula.
- : vector del estado de la célula.
- , y : matrices de pesos y vector de sesgo, parámetros que deben ser aprendidos durante el entrenamiento.
Funciones de activación
- : función sigmoide.
- : función hiperbólica tangente.
- : función hiperbólica tangente o, como sugiere el artículo del LSTM con peephole, .[24][25]
LSTM con peephole
Con el tiempo, se han desarrollado variantes de la arquitectura LSTM para mejorar su rendimiento y ampliar sus aplicaciones. La introducción de las conexiones peephole permite que las puertas accedan directamente al estado de la célula de memoria, mejorando la precisión en tareas que requieren un control más fino de la memoria.[4]
La figura de la derecha es una representación gráfica de una unidad LSTM con conexiones peephole (es decir, LSTM con peephole).[24][25] Las conexiones peephole permiten que las puertas accedan al carrusel de error constante (CEC, constant error carrousel), cuya activación corresponde al estado de la célula.[24] En este caso, no se utiliza; en su lugar, se utiliza en la mayoría de los casos:
Cada una de las puertas puede considerarse como una «neurona estándar» en una red neuronal de propagación hacia adelante (o de múltiples capas): es decir, calculan una activación (usando una función de activación) de una suma ponderada. y representan las activaciones de las puertas de entrada, salida y olvido, respectivamente, en el paso temporal .
Las tres flechas de salida desde la célular de memoria hacia las tres puertas y representan las conexiones peephole. Estas conexiones peephole denotan las contribuciones de la activación de la célula de memoria en el paso temporal , es decir, la contribución de (y no , como podría sugerir la imagen). En otras palabras, las puertas y calculan sus activaciones en el paso temporal ( y , respectivamente) considerando también la activación de la célula de memoria en el paso temporal , es decir, .
La única flecha de izquierda a derecha que sale de la célula de memoria no es una conexión peephole y denota .
Los pequeños círculos que contienen un símbolo representan una multiplicación elemento a elemento entre sus entradas. Los círculos grandes que contienen una curva en forma de «S» representan la aplicación de una función diferenciable (como la función sigmoide) a una suma ponderada.
LSTM convolucional con peephole
También existe el LSTM convolucional con peephole, que integra capacidades de procesamiento de imágenes, útil en aplicaciones como la predicción de precipitaciones.[26]El símbolo denota el operador de convolución.
Entrenamiento
El entrenamiento de un LSTM se realiza mediante el algoritmo de retropropagación a través del tiempo, combinado con métodos de optimización como el descenso de gradiente. Este proceso ajusta los parámetros de la red para minimizar el error entre las predicciones del modelo y los resultados esperados, lo cual permite que la red aprenda a hacer predicciones más precisas. En otras palabras, esto permite calcular los gradientes necesarios durante el proceso de optimización.[27] Esto permite ajustar cada peso de la red LSTM en proporción a la derivada del error (en la capa de salida de la red) con respecto al peso correspondiente.
Un problema del descenso por gradiente en RNN estándar es que los gradientes del error se desvanecen exponencialmente rápido con el tamaño del desfase temporal entre eventos importantes. Esto ocurre debido a que si el radio espectral de es menor que 1.[1][28]
Sin embargo, con las unidades LSTM, cuando los valores de error son retropropagados desde la capa de salida, el error permanece en la celda de la unidad LSTM. Este «carrusel de error» retroalimenta continuamente el error a cada una de las puertas de la unidad LSTM, hasta que estas aprenden a cortar el valor.
Función de puntuación CTC
Muchas aplicaciones utilizan pilas de redes LSTM RNA[29] y las entrenan mediante clasificación temporal conexionista (CTC, connectionist temporal classification),[9] con el objetivo de encontrar una matriz de pesos que maximice la probabilidad de las secuencias de etiquetas en un conjunto de entrenamiento dado el conjunto de secuencias de entrada. Esta función logra tanto alineación como reconocimiento.
Alternativas
En ocasiones, puede ser ventajoso entrenar partes de una LSTM mediante neuroevolución[11] o métodos de gradiente de políticas, especialmente cuando no existe un «profesor» (es decir, no hay etiquetas de entrenamiento).
Aplicaciones
Las aplicaciones de LSTM incluyen:
- Control de robots[5]
- Predicción de series temporales[11]
- Reconocimiento del habla[30][31][32]
- Aprendizaje de ritmos[25]
- Modelado hidrológico de lluvia–escorrentía[33]
- Composición musical[34]
- Aprendizaje de gramática[24][35][36]
- Reconocimiento de escritura a mano[37][38]
- Reconocimiento de acciones humanas[39]
- Traducción de lenguaje de señas[40]
- Detección de homología de proteínas[41]
- Predicción de localización subcelular de proteínas[42]
- Detección de anomalías en series temporales[43]
- Predicción en gestión de procesos empresariales[44]
- Predicción en vías de atención médica[45]
- Análisis semántico[46]
- Cosegmentación de objetos[47][48]
- Gestión de pasajeros en aeropuertos[49]
- Modelización de transporte a corto plazo[50]
- Diseño de fármacos[51]
- Predicción de mercados[52]
- Clasificación de actividades en video[53]
Acontecimientos importantes
- 2015: Google comenzó a usar LSTM entrenado con CTC para el reconocimiento de voz en Google Voice,[54][55] de manera que disminuyó errores de transcripción en un 49 %.[56]
- 2016: Google introdujo LSTM en su aplicación Allo para sugerir mensajes[57] y en el sistema de traducción neuronal para Google Translate, de manera que disminuyó errores de traducción en un 60 %.[14][58][59] En la conferencia Apple Worldwide Developers, Apple anunció su uso para QuickType[60][61][62] en iPhone y Siri.[63][64] Amazon lanzó Polly, una tecnología que genera las voces detrás de Alexa, utilizando un LSTM bidireccional para la conversión de texto a voz.[65]
- 2017: Facebook realizó 4.5 mil millones de traducciones automáticas diarias con redes LSTM.[15] Microsoft alcanzó un 94.9 % de precisión en el reconocimiento de Switchboard utilizando LSTM orientado a sesiones de diálogo.[66]
- 2018: OpenAI usó LSTM con gradientes de política para superar a humanos en el videojuego Dota 2[16] y controlar una mano robótica con destreza sin precedentes.[8][67]
- 2019: DeepMind empleó LSTM entrenado con gradientes de política para sobresalir en el videojuego Starcraft II.[17][67]
Historia
Desarrollo
Aspectos del LSTM fueron anticipados por el concepto de «retropropagación enfocada» (Mozer, 1989)[68], citado en el artículo sobre LSTM.[2]
La tesis de diploma en alemán de Sepp Hochreiter en 1991 analizó el problema de desvanecimiento de gradiente y desarrolló principios fundamentales del método.[1] Su supervisor, Jürgen Schmidhuber, consideró la tesis de gran relevancia.[69]
Una versión temprana de LSTM fue publicada en 1995 en un informe técnico por Sepp Hochreiter y Jürgen Schmidhuber[70] y luego presentada en la conferencia NIPS de 1996.[3]
La referencia más común para LSTM se publicó en 1997 en la revista Neural Computation.[2] Al introducir las unidades de Carrusel de Error Constante (CEC), LSTM aborda el problema de desvanecimiento de gradiente. La versión inicial del bloque LSTM incluía celdas y puertas de entrada y salida.[23]
En 1999, Felix Gers, Jürgen Schmidhuber y Fred Cummins[71] introdujeron la puerta de olvido (también llamada «puerta de retención») en la arquitectura LSTM, permitiendo que el LSTM restablezca su propio estado.[23] Esta es la versión más utilizada hoy en día.
En 2000, Gers, Schmidhuber y Cummins añadieron las conexiones peephole,[24][25] y eliminaron la función de activación de salida.[23]
Desarrollo de variantes
- 2006: Graves, Fernandez, Gomez y Schmidhuber[9] introdujeron una nueva función de error para LSTM, la Clasificación Temporal Conexionista (CTC), para alineación y reconocimiento simultáneos de secuencias.
- 2005: Graves y Schmidhuber[30] publicaron LSTM con retropropagación completa a través del tiempo y LSTM bidireccional.
- 2014: Kyunghyun Cho et al.[72] publicaron una variante simplificada del LSTM con puerta de olvido,[71] denominada unidad recurrente cerrada (GRU).
- 2015: Rupesh Kumar Srivastava, Klaus Greff y Schmidhuber usaron principios de LSTM[71] para crear la red Highway, una red neuronal prealimentada directa con cientos de capas, mucho más profunda que las redes anteriores.[73][74][75] Paralelamente, se desarrolló la arquitectura ResNet, equivalente a una red Highway sin puertas o con puertas abiertas.[76]
- 2024: Un equipo liderado por Sepp Hochreiter publicó una actualización moderna del LSTM llamada xLSTM (Maximilian et al.).[77] Uno de sus bloques, mLSTM, es paralelizable como la arquitectura de transformadores, mientras que otros bloques, sLSTM, permiten el seguimiento de estados.
Aplicaciones
- 2001: Gers y Schmidhuber entrenaron LSTM para aprender lenguajes imposibles de aprender con modelos tradicionales como los Modelos Ocultos de Markov.[24][67] Hochreiter et al. usaron LSTM para metaaprendizaje (es decir, aprender un algoritmo de aprendizaje).[78]
- 2004: Primera aplicación exitosa de LSTM al reconocimiento de voz (Alex Graves et al.).[67][79]
- 2005: Wierstra, Gomez y Schmidhuber entrenaron LSTM mediante neuroevolución sin un maestro.[11] Mayer et al. lo usaron para controlar robots.[5]
- 2007: Wierstra, Foerster, Peters y Schmidhuber entrenaron LSTM con gradientes de política para aprendizaje por refuerzo sin un maestro.[80] En el campo de la biología, Hochreiter, Heuesel y Obermayr aplicaron LSTM a la detección de homología de proteínas.[41]
- 2009: Justin Bayer et al. introdujeron la búsqueda de arquitecturas neuronales para LSTM.[67][81] Un LSTM entrenado con CTC ganó la competencia de reconocimiento de escritura manual conectada en el ICDAR. Alex Graves lideró el equipo que presentó tres modelos,[82] uno de los cuales fue el más preciso y otro el más rápido.[83] Esta fue la primera vez que una RNN ganó competencias internacionales.[67]
- 2013: Alex Graves, Abdel-rahman Mohamed y Geoffrey Hinton usaron redes LSTM como componente principal de una red que alcanzó un error del 17.7 % en fonemas en el conjunto de datos TIMIT de habla natural.[32] Investigadores de Michigan State University, IBM Research y Cornell University publicaron un estudio en la conferencia KDD.[84][85][86] Su LSTM Consciente del Tiempo (T-LSTM) mostró mejor rendimiento en ciertos conjuntos de datos comparado con el LSTM estándar.
A pesar de sus ventajas, los LSTM pueden experimentar el problema del gradiente explosivo, donde los gradientes crecen exponencialmente y causan inestabilidad en el entrenamiento. Sin embargo, existen técnicas como la recorte de gradientes para gestionar estos problemas.[28]
En la actualidad, los LSTM siguen siendo una herramienta fundamental en el aprendizaje profundo, especialmente en áreas que involucran secuencias temporales complejas. Su capacidad para aprender y retener información durante largos periodos de tiempo ha permitido avances en campos como el reconocimiento de voz, la traducción automática y la predicción de series temporales, consolidando su lugar como una de las arquitecturas más influyentes en la inteligencia artificial moderna.[87]
Véase también
- Atención (aprendizaje automático)
- Aprendizaje por refuerzo
- Aprendizaje profundo
- Red neuronal recurrente
- Serie temporal
- Transformador (modelo de aprendizaje automático)
- Unidades recurrentes cerradas
- Potenciación a largo plazo
Referencias
- ↑ a b c Hochreiter, Sepp (1991). Untersuchungen zu dynamischen neuronalen Netzen (en alemán). Technical University Munich, Institute of Computer Science.
- ↑ a b c d e Hochreiter, Sepp; Schmidhuber, Jürgen (1997). «Long short-term memory». Neural Computation (en inglés) 9 (8): 1735-1780. doi:10.1162/neco.1997.9.8.1735.
- ↑ a b Hochreiter, Sepp; Schmidhuber, Jürgen (3 de diciembre de 1996). «LSTM can solve hard long time lag problems». Proceedings of the 9th International Conference on Neural Information Processing Systems. NIPS'96 (MIT Press): 473-479. doi:10.5555/2998981.2999048. Consultado el 27 de noviembre de 2024.
- ↑ a b c d Gers, Felix A.; Schmidhuber, Jürgen; Cummins, Fred (1 de octubre de 2000). «Learning to Forget: Continual Prediction with LSTM». Neural Computation 12 (10): 2451-2471. ISSN 0899-7667. doi:10.1162/089976600300015015. Consultado el 27 de noviembre de 2024.
- ↑ a b c Mayer, Hermann; Gomez, Faustino; Wierstra, Daan; Nagy, Istvan; Knoll, Alois; Schmidhuber, Jurgen (2006-10). «A System for Robotic Heart Surgery that Learns to Tie Knots Using Recurrent Neural Networks». 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems (IEEE). doi:10.1109/iros.2006.282190. Consultado el 28 de noviembre de 2024.
- ↑ «Learning dexterity». OpenAI (en inglés estadounidense). Consultado el 28 de noviembre de 2024.
- ↑ H. Mayer, F. Gomez, D. Wierstra, I. Nagy, A. Knoll, J. Schmidhuber (2006). «A System for Robotic Heart Surgery that Learns to Tie Knots Using Recurrent Neural Networks». 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.
- ↑ a b «Learning dexterity». OpenAI (en inglés estadounidense). Consultado el 27 de noviembre de 2024.
- ↑ a b c Graves, Alex; Fernández, Santiago; Gomez, Faustino; Schmidhuber, Jürgen (2006). «Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks». In Proceedings of the International Conference on Machine Learning, ICML 2006 (en inglés): 369-376.
- ↑ Karim, Fazle; Majumdar, Somshubra; Darabi, Houshang; Chen, Shun (2018). «LSTM Fully Convolutional Networks for Time Series Classification». IEEE Access (en inglés) 6: 1662-1669. ISSN 2169-3536. doi:10.1109/ACCESS.2017.2779939. Consultado el 27 de noviembre de 2024.
- ↑ a b c d Wierstra, Daan; Schmidhuber, J.; Gomez, F. J. (1 de enero de 2005). «Evolino: Hybrid Neuroevolution/Optimal Linear Search for Sequence Learning». Proceedings of the 19th International Joint Conference on Artificial Intelligence (IJCAI) (Edinburgh): 853-858. Consultado el 27 de noviembre de 2024.
- ↑ Sak, Hasim; Senior, Andrew; Beaufays, Francoise (2014). «Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling» (en inglés). Archivado desde el original el 24 de abril de 2018.
- ↑ Li, Xiangang; Wu, Xihong (15 de octubre de 2014). Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition (en inglés).
- ↑ a b Wu, Yonghui; Schuster, Mike; Chen, Zhifeng; Le, Quoc V.; Norouzi, Mohammad; Macherey, Wolfgang; Krikun, Maxim; Cao, Yuan et al. (26 de septiembre de 2016). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (en inglés).
- ↑ a b Ong, Thuy (4 de agosto de 2017). «Facebook’s translations are now powered completely by AI». The Verge (en inglés). Consultado el 28 de noviembre de 2024.
- ↑ a b Rodriguez, Jesus (2 de julio de 2018). «The Science Behind OpenAI Five that just Produced One of the Greatest Breakthrough in the History of AI». Towards Data Science (en inglés). Archivado desde el original el 26 de diciembre de 2019.
- ↑ a b Stanford, Stacy (25 de mayo de 2020). «DeepMind’s AI, AlphaStar Showcases Significant Progress Towards AGI». Medium (en inglés).
- ↑ Schmidhuber, Jürgen. «The 2010s: Our Decade of Deep Learning / Outlook on the 2020s». AI Blog (en inglés). Switzerland: IDSIA.
- ↑ Hasim Sak, Andrew Senior, Francoise Beaufays (2014). «Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling».
- ↑ Sahidullah, Md; Patino, Jose; Cornell, Samuele; Yin, Ruiking; Sivasankaran, Sunit; Bredin, Herve; Korshunov, Pavel; Brutti, Alessio; Serizel, Romain; Vincent, Emmanuel; Evans, Nicholas; Marcel, Sebastien; Squartini, Stefano; Barras, Claude (6 de noviembre de 2019). The Speed Submission to DIHARD II: Contributions & Lessons Learned (en inglés).
- ↑ Calin, Ovidiu L. (2020). Deep learning architectures: a mathematical approach. Springer series in the data sciences. Springer. ISBN 978-3-030-36720-6.
- ↑ Lakretz, Yair; Kruszewski, German; Desbordes, Theo; Hupkes, Dieuwke; Dehaene, Stanislas; Baroni, Marco (2019-06). «The emergence of number and syntax units in LSTM language models». En Burstein, Jill, ed. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers) (Association for Computational Linguistics): 11-20. doi:10.18653/v1/N19-1002. Consultado el 28 de noviembre de 2024.
- ↑ a b c d Greff, Klaus; Srivastava, Rupesh K.; Koutnik, Jan; Steunebrink, Bas R.; Schmidhuber, Jurgen (2017-10). «LSTM: A Search Space Odyssey». IEEE Transactions on Neural Networks and Learning Systems 28 (10): 2222-2232. ISSN 2162-237X. doi:10.1109/TNNLS.2016.2582924. Consultado el 1 de diciembre de 2024.
- ↑ a b c d e f Gers, F.A.; Schmidhuber, E. (Nov./2001). «LSTM recurrent networks learn simple context-free and context-sensitive languages». IEEE Transactions on Neural Networks 12 (6): 1333-1340. doi:10.1109/72.963769. Consultado el 1 de diciembre de 2024.
- ↑ a b c d Gers, F.; Schraudolph, N.; Schmidhuber, J. (2002). «Learning precise timing with LSTM recurrent networks». Journal of Machine Learning Research (en inglés) 3: 115-143.
- ↑ Xingjian Shi, Zhourong Chen, Hao Wang, Dit-Yan Yeung (2015). «Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting». Proceedings of the 28th International Conference on Neural Information Processing Systems.
- ↑ Ovidiu Calin (2020). Deep Learning Architectures. Springer. p. 555.
- ↑ a b S. Hochreiter, Y. Bengio, P. Frasconi, J. Schmidhuber (2001). «Gradient Flow in Recurrent Nets: The Difficulty of Learning Long-Term Dependencies». IEEE Press. A Field Guide to Dynamical Recurrent Neural Networks (en inglés).
- ↑ Fernández, Santiago; Graves, Alex; Schmidhuber, Jürgen (2007). «Sequence labelling in structured domains with hierarchical recurrent neural networks». Proc. 20th Int. Joint Conf. On Artificial Intelligence, Ijcai 2007 (en inglés): 774-779.
- ↑ a b Graves, Alex; Schmidhuber, Jürgen (1 de julio de 2005). «Framewise phoneme classification with bidirectional LSTM and other neural network architectures». Neural Networks. IJCNN 2005 18 (5): 602-610. ISSN 0893-6080. doi:10.1016/j.neunet.2005.06.042. Consultado el 1 de diciembre de 2024.
- ↑ Fernández, S.; Graves, A.; Schmidhuber, J. (2007). «An Application of Recurrent Neural Networks to Discriminative Keyword Spotting». Proceedings of the 17th International Conference on Artificial Neural Networks. ICANN'07 (en inglés) (Berlin, Heidelberg: Springer-Verlag): 220-229. ISBN 978-3540746935.
- ↑ a b Graves, Alex; Mohamed, Abdel-rahman; Hinton, Geoffrey (2013-05). «Speech recognition with deep recurrent neural networks». 2013 IEEE International Conference on Acoustics, Speech and Signal Processing (IEEE): 6645-6649. doi:10.1109/icassp.2013.6638947. Consultado el 1 de diciembre de 2024.
- ↑ Kratzert, Frederik; Klotz, Daniel; Shalev, Guy; Klambauer, Günter; Hochreiter, Sepp; Nearing, Grey (17 de diciembre de 2019). «Towards learning universal, regional, and local hydrological behaviors via machine learning applied to large-sample datasets». Hydrology and Earth System Sciences (en english) 23 (12): 5089-5110. ISSN 1027-5606. doi:10.5194/hess-23-5089-2019. Consultado el 1 de diciembre de 2024.
- ↑ Eck, Douglas; Schmidhuber, Jürgen (2002). «Learning the Long-Term Structure of the Blues». En Dorronsoro, José R., ed. Artificial Neural Networks — ICANN 2002 (en inglés) (Springer): 284-289. ISBN 978-3-540-46084-8. doi:10.1007/3-540-46084-5_47. Consultado el 1 de diciembre de 2024.
- ↑ Schmidhuber, J.; Gers, F.; Eck, D. (1 de septiembre de 2002). «Learning Nonregular Languages: A Comparison of Simple Recurrent Networks and LSTM». Neural Computation 14 (9): 2039-2041. ISSN 0899-7667. doi:10.1162/089976602320263980. Consultado el 1 de diciembre de 2024.
- ↑ Pérez-Ortiz, Juan Antonio; Gers, Felix A.; Eck, Douglas; Schmidhuber, Jürgen (1 de marzo de 2003). «Kalman filters improve LSTM network performance in problems unsolvable by traditional recurrent nets». Neural Networks 16 (2): 241-250. ISSN 0893-6080. doi:10.1016/S0893-6080(02)00219-8. Consultado el 1 de diciembre de 2024.
- ↑ Graves, A.; Schmidhuber, J. (2009). «Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks». Advances in Neural Information Processing Systems 22, NIPS'22 (en inglés) (Vancouver: MIT Press): 545-552.
- ↑ Graves, Alex; Fernández, Santiago; Liwicki, Marcus; Bunke, Horst; Schmidhuber, Jürgen (3 de diciembre de 2007). «Unconstrained online handwriting recognition with recurrent neural networks». Proceedings of the 20th International Conference on Neural Information Processing Systems. NIPS'07 (en inglés) (Curran Associates Inc.): 577-584. ISBN 978-1-60560-352-0. Consultado el 1 de diciembre de 2024.
- ↑ Baccouche, Moez; Mamalet, Franck; Wolf, Christian; Garcia, Christophe; Baskurt, Atilla (2011). «Sequential Deep Learning for Human Action Recognition». En Salah, Albert Ali, ed. Human Behavior Understanding (en inglés) (Springer): 29-39. ISBN 978-3-642-25446-8. doi:10.1007/978-3-642-25446-8_4. Consultado el 1 de diciembre de 2024.
- ↑ Huang, Jie; Zhou, Wengang; Zhang, Qilin; Li, Houqiang; Li, Weiping (30 de enero de 2018). Video-based Sign Language Recognition without Temporal Segmentation (en inglés).
- ↑ a b Hochreiter, Sepp; Heusel, Martin; Obermayer, Klaus (15 de julio de 2007). «Fast model-based protein homology detection without alignment». Bioinformatics 23 (14): 1728-1736. ISSN 1367-4803. doi:10.1093/bioinformatics/btm247. Consultado el 1 de diciembre de 2024.
- ↑ Thireou, T.; Reczko, M. (2007-07). «Bidirectional Long Short-Term Memory Networks for Predicting the Subcellular Localization of Eukaryotic Proteins». IEEE/ACM Transactions on Computational Biology and Bioinformatics 4 (3): 441-446. ISSN 1545-5963. doi:10.1109/tcbb.2007.1015. Consultado el 1 de diciembre de 2024.
- ↑ Malhotra, Pankaj; Vig, Lovekesh; Shroff, Gautam; Agarwal, Puneet (2015). «Long Short Term Memory Networks for Anomaly Detection in Time Series». European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning — ESANN 2015. Archivado desde el original el 30 de octubre de 2020.
- ↑ Tax, Niek; Verenich, Ilya; La Rosa, Marcello; Dumas, Marlon (2017). «Predictive Business Process Monitoring with LSTM Neural Networks». En Dubois, Eric, ed. Advanced Information Systems Engineering (en inglés) (Springer International Publishing): 477-492. ISBN 978-3-319-59536-8. doi:10.1007/978-3-319-59536-8_30. Consultado el 1 de diciembre de 2024.
- ↑ Choi, Edward; Bahadori, Mohammad Taha; Schuetz, Andy; Stewart, Walter F.; Sun, Jimeng (10 de diciembre de 2016). «Doctor AI: Predicting Clinical Events via Recurrent Neural Networks». Proceedings of the 1st Machine Learning for Healthcare Conference (en inglés) (PMLR): 301-318. PMC 5341604. PMID 28286600. Consultado el 1 de diciembre de 2024.
- ↑ Jia, Robin; Liang, Percy (2016). Data Recombination for Neural Semantic Parsing (en inglés).
- ↑ Wang, Le; Duan, Xuhuan; Zhang, Qilin; Niu, Zhenxing; Hua, Gang; Zheng, Nanning (2018-05). «Segment-Tube: Spatio-Temporal Action Localization in Untrimmed Videos with Per-Frame Segmentation». Sensors (en inglés) 18 (5): 1657. ISSN 1424-8220. PMC 5982167. PMID 29789447. doi:10.3390/s18051657. Consultado el 1 de diciembre de 2024.
- ↑ Duan, Xuhuan; Wang, Le; Zhai, Changbo; Zheng, Nanning; Zhang, Qilin; Niu, Zhenxing; Hua, Gang (2018-10). Joint Spatio-Temporal Action Localization in Untrimmed Videos with Per-Frame Segmentation. IEEE. pp. 918-922. ISBN 978-1-4799-7061-2. doi:10.1109/ICIP.2018.8451692. Consultado el 1 de diciembre de 2024.
- ↑ Orsini, Federico; Gastaldi, Massimiliano; Mantecchini, Luca; Rossi, Riccardo (2019-06). Neural networks trained with WiFi traces to predict airport passenger behavior. IEEE. pp. 1-7. ISBN 978-1-5386-9484-8. doi:10.1109/MTITS.2019.8883365. Consultado el 1 de diciembre de 2024.
- ↑ Zhao, Zheng; Chen, Weihai; Wu, Xingming; Chen, Peter C. Y.; Liu, Jingmeng (2017). «LSTM network: a deep learning approach for short-term traffic forecast». IET Intelligent Transport Systems (en inglés) 11 (2): 68-75. ISSN 1751-9578. doi:10.1049/iet-its.2016.0208. Consultado el 1 de diciembre de 2024.
- ↑ Gupta, Anvita; Müller, Alex T.; Huisman, Berend J. H.; Fuchs, Jens A.; Schneider, Petra; Schneider, Gisbert (2018). «Generative Recurrent Networks for De Novo Drug Design». Molecular Informatics (en inglés) 37 (1-2): 1700111. ISSN 1868-1751. PMC 5836943. PMID 29095571. doi:10.1002/minf.201700111. Consultado el 1 de diciembre de 2024.
- ↑ Islam, M. S.; Hossain, E. (1 de diciembre de 2021). «Foreign exchange currency rate prediction using a GRU-LSTM hybrid network». Soft Computing Letters 3: 100009. ISSN 2666-2221. doi:10.1016/j.socl.2020.100009. Consultado el 1 de diciembre de 2024.
- ↑ Martin, Abbey; Hill, Andrew J.; Seiler, Konstantin M.; Balamurali, Mehala (27 de mayo de 2024). «Automatic excavator action recognition and localisation for untrimmed video using hybrid LSTM-Transformer networks». International Journal of Mining, Reclamation and Environment (en inglés) 38 (5): 353-372. ISSN 1748-0930. doi:10.1080/17480930.2023.2290364. Consultado el 1 de diciembre de 2024.
- ↑ Beaufays, Françoise (11 de agosto de 2015). «The neural networks behind Google Voice transcription». Research Blog (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ Sak, Haşim; Senior, Andrew; Rao, Kanishka; Beaufays, Françoise; Schalkwyk, Johan (24 de setiembre de 2015). «Google voice search: faster and more accurate». Research Blog (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ «Neon prescription... or rather, New transcription for Google Voice». Official Google Blog (en inglés estadounidense). 23 de julio de 2015. Consultado el 1 de diciembre de 2024.
- ↑ Khaitan, Pranav (18 de mayo de 2016). «Chat Smarter with Allo». Research Blog (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ Metz, Cade. «An Infusion of AI Makes Google Translate More Powerful Than Ever». Wired (en inglés estadounidense). ISSN 1059-1028. Consultado el 1 de diciembre de 2024.
- ↑ «A Neural Network for Machine Translation, at Production Scale». Google AI Blog (en inglés).
- ↑ Efrati, Amir (13 de junio de 2016). «Apple’s Machines Can Learn Too». The Information (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ Ranger, Steve (14 de junio de 2016). «iPhone, AI and big data: Here's how Apple plans to protect your privacy». ZDNET (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ «Can Global Semantic Context Improve Neural Language Models?». Apple Machine Learning Research (en inglés estadounidense). Consultado el 1 de diciembre de 2024.
- ↑ Smith, Chris (13 de junio de 2016). «iOS 10: Siri now works in third-party apps, comes with extra AI features». BGR (en inglés estadounidense). Consultado el 1 de diciembre de 2024.
- ↑ Capes, Tim; Coles, Paul; Conkie, Alistair; Golipour, Ladan; Hadjitarkhani, Abie; Hu, Qiong; Huddleston, Nancy; Hunt, Melvyn et al. (2017). «Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System». Interspeech 2017: 4011-4015. doi:10.21437/Interspeech.2017-1798.
- ↑ Vogels, Werner (30 de noviembre de 2016). «Bringing the Magic of Amazon AI and Alexa to Apps on AWS.». www.allthingsdistributed.com (en inglés). Consultado el 1 de diciembre de 2024.
- ↑ Xiong, W.; Wu, L.; Alleva, F.; Droppo, J.; Huang, X.; Stolcke, A. (2018-04). The Microsoft 2017 Conversational Speech Recognition System. IEEE. pp. 5934-5938. ISBN 978-1-5386-4658-8. doi:10.1109/ICASSP.2018.8461870. Consultado el 1 de diciembre de 2024.
- ↑ a b c d e f Schmidhuber, Juergen (10 de mayo de 2021). Deep Learning: Our Miraculous Year 1990-1991 (en inglés).
- ↑ Mozer, Mike (1989). «A Focused Backpropagation Algorithm for Temporal Pattern Recognition». Complex Systems (en inglés).
- ↑ Schmidhuber, Juergen (2022). Annotated History of Modern AI and Deep Learning (en inglés).
- ↑ Sepp Hochreiter; Jürgen Schmidhuber (21 de agosto de 1995). «Long Short Term Memory» (en inglés).
- ↑ a b c Gers, Felix; Schmidhuber, Jürgen; Cummins, Fred (1999). «Learning to forget: continual prediction with LSTM». 9th International Conference on Artificial Neural Networks: ICANN '99 (en inglés) (IEE) 1999: 850-855. ISBN 978-0-85296-721-8. doi:10.1049/cp:19991218. Consultado el 1 de diciembre de 2024.
- ↑ Cho, Kyunghyun; van Merrienboer, Bart; Gulcehre, Caglar; Bahdanau, Dzmitry; Bougares, Fethi; Schwenk, Holger; Bengio, Yoshua (2014). «Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation».
- ↑ Srivastava, Rupesh Kumar; Greff, Klaus; Schmidhuber, Jürgen (2 de mayo de 2015). Highway Networks (en inglés).
- ↑ Srivastava, Rupesh K; Greff, Klaus; Schmidhuber, Jürgen (2015). «Training Very Deep Networks». Advances in Neural Information Processing Systems (Curran Associates, Inc.) 28. Consultado el 1 de diciembre de 2024.
- ↑ Schmidhuber, Jürgen (2021). «The most cited neural networks all build on work done in my labs». AI Blog (en inglés) (IDSIA, Switzerland).
- ↑ He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2016-06). «Deep Residual Learning for Image Recognition». IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (Las Vegas, NV, USA: IEEE): 770-778. ISBN 978-1-4673-8851-1. doi:10.1109/CVPR.2016.90. Consultado el 1 de diciembre de 2024.
- ↑ Beck, Maximilian; Pöppel, Korbinian; Spanring, Markus; Auer, Andreas; Prudnikova, Oleksandra; Kopp, Michael; Klambauer, Günter; Brandstetter, Johannes; Hochreiter, Sepp (7 de mayo de 2024). «xLSTM: Extended Long Short-Term Memory».
- ↑ Hochreiter, Sepp; Younger, A. Steven; Conwell, Peter R. (2001). «Learning to Learn Using Gradient Descent». En Dorffner, Georg, ed. Artificial Neural Networks — ICANN 2001 (en inglés) (Springer): 87-94. ISBN 978-3-540-44668-2. doi:10.1007/3-540-44668-0_13. Consultado el 2 de diciembre de 2024.
- ↑ Graves, Alex; Eck, Douglas; Beringer, Nicole; Schmidhuber, Juergen (2004). «Biologically Plausible Speech Recognition with LSTM Neural Nets». En Ijspeert, Auke Jan, ed. Biologically Inspired Approaches to Advanced Information Technology (en inglés) (Springer): 127-136. ISBN 978-3-540-27835-1. doi:10.1007/978-3-540-27835-1_10. Consultado el 2 de diciembre de 2024.
- ↑ Wierstra, Daan; Foerster, Alexander; Peters, Jan; Schmidhuber, Juergen (2005). «Solving Deep Memory POMDPs with Recurrent Policy Gradients». International Conference on Artificial Neural Networks ICANN'07.
- ↑ Bayer, Justin; Wierstra, Daan; Togelius, Julian; Schmidhuber, Jürgen (2009). «Evolving Memory Cell Structures for Sequence Learning». En Alippi, Cesare, ed. Artificial Neural Networks – ICANN 2009 (en inglés) (Springer): 755-764. ISBN 978-3-642-04277-5. doi:10.1007/978-3-642-04277-5_76. Consultado el 2 de diciembre de 2024.
- ↑ Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. (2009-05). «A Novel Connectionist System for Unconstrained Handwriting Recognition». IEEE Transactions on Pattern Analysis and Machine Intelligence 31 (5): 855-868. ISSN 0162-8828. doi:10.1109/TPAMI.2008.137. Consultado el 2 de diciembre de 2024.
- ↑ Märgner, Volker; Abed, Haikal El (2009). «ICDAR 2009 Arabic Handwriting Recognition Competition». 2009 10th International Conference on Document Analysis and Recognition (IEEE): 1383-1387. doi:10.1109/icdar.2009.256. Consultado el 2 de diciembre de 2024.
- ↑ «Patient Subtyping via Time-Aware LSTM Networks». msu.edu (en inglés).
- ↑ «Patient Subtyping via Time-Aware LSTM Networks». Kdd.org (en inglés).
- ↑ «SIGKDD». Kdd.org (en inglés).
- ↑ R. Dolphin (2021). «LSTM Networks – A Detailed Explanation».
Bibliografía adicional
- Monner, Derek D.; Reggia, James A. (2010). «A generalized LSTM-like training algorithm for second-order recurrent neural networks». Neural Networks (en inglés) 25 (1): 70-83. PMC 3217173. PMID 21803542. doi:10.1016/j.neunet.2011.07.003. «Una extensión de alto rendimiento del LSTM, simplificada a un solo tipo de nodo, capaz de entrenar arquitecturas arbitrarias.»
- Gers, Felix A.; Schraudolph, Nicol N.; Schmidhuber, Jürgen (2002). «Learning precise timing with LSTM recurrent networks». Journal of Machine Learning Research (en inglés) 3: 115-143.
- Gers, Felix (2001). «Long Short-Term Memory in Recurrent Neural Networks». Tesis doctoral (en inglés).
- Abidogun, Olusola Adeniyi (2005). Data Mining, Fraud Detection and Mobile Telecommunications: Call Pattern Analysis with Unsupervised Neural Networks (Tesis de Maestría) (en inglés). University of the Western Cape. Archivado el 22 de mayo de 2012.
- Archivo original con dos capítulos dedicados a la explicación de las redes neurales recurrentes, especialmente en LSTM.
Enlaces externos
- Redes neurales recurrentes (en inglés), con más de treinta artículos realizados por Jürgen Schmidhuber y su equipo, para el Instituto Dalle Molle para la Investigación de Inteligencia Artificial.
- Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). «10.1. Long Short-Term Memory (LSTM)». Dive into deep learning (en inglés). Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN 978-1-009-38943-3.