Red neuronal recurrente

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 22 de enero de 2022; las comprobaciones requieren 7 ediciones .

Redes neuronales recurrentes ( RNS , ing.  Red neuronal recurrente ; RNN ) - un tipo de redes neuronales , donde las conexiones entre elementos forman una secuencia dirigida. Esto hace posible procesar una serie de eventos en el tiempo o cadenas espaciales sucesivas. A diferencia de los perceptrones multicapa , las redes recurrentes pueden usar su memoria interna para procesar secuencias de longitud arbitraria. Por lo tanto, los RNN son aplicables en tareas en las que algo integral se divide en partes, por ejemplo: reconocimiento de escritura a mano [1] o reconocimiento de voz [2] [3] . Se han propuesto muchas soluciones arquitectónicas diferentes para redes recurrentes, que van desde simples hasta complejas. Recientemente, la red de memoria a corto y largo plazo (LSTM) y la unidad recurrente controlada (GRU) se han convertido en las más extendidas.

Historia

John Hopfield propuso Hopfield Network en 1982 . En 1993, un sistema neuronal para almacenar y comprimir datos históricos pudo resolver un problema de “aprendizaje muy profundo” en el que se desplegaban más de 1000 capas consecutivas en una red recurrente. [cuatro]

Memoria a Largo Corto Plazo (LSTM)

Red con memoria a corto y largo plazo ( ing.  Long short term memory, LSTM) ; LSTM ). [5] ha encontrado aplicación en varias aplicaciones.

A partir de 2007, LSTM ganó popularidad y pudo llevar el reconocimiento de voz al siguiente nivel , mostrando una mejora significativa con respecto a los modelos tradicionales. [6] En 2009, surgió el enfoque de Clasificación Temporal Conexionista (CTC). Este método permitió que las redes recurrentes incluyeran análisis de contexto en el reconocimiento de escritura a mano. [7] En 2014, Encyclopedia of China y el motor de búsqueda Baidu , utilizando redes recurrentes entrenadas por CTC, pudieron llevar Switchboard Hub5'00 a un nuevo nivel, por delante de los métodos tradicionales. [ocho]

LSTM también ha llevado a mejoras en el reconocimiento de voz con diccionarios grandes [2] [3] y mejoras en texto a voz [9] , y también ha encontrado aplicación en el sistema operativo Google Android . [10] En 2015, el reconocimiento de voz de Google aumentó significativamente sus puntajes hasta en un 49%, la razón de esto fue el uso de un sistema especial de entrenamiento LSTM basado en CTC en el sistema de búsqueda por voz de Google . [once]

LSTM ha llevado a un nuevo nivel la calidad de la traducción automática , [12] la construcción de modelos de lenguaje y [13] el procesamiento de texto multilingüe. [14] La combinación de LSTM con redes neuronales convolucionales (CNN) ha mejorado la descripción automática de imágenes. [quince]

Arquitectura

Hay muchas variedades, soluciones y elementos constructivos de redes neuronales recurrentes.

La dificultad de la red recurrente radica en el hecho de que si se tiene en cuenta cada paso de tiempo, entonces se hace necesario que cada paso de tiempo cree su propia capa de neuronas, lo que provoca serias dificultades computacionales. Además, las implementaciones multicapa resultan ser computacionalmente inestables, ya que los pesos suelen desaparecer o salirse de escala en ellas. Si el cálculo se limita a una ventana de tiempo fija, los modelos resultantes no reflejarán las tendencias a largo plazo. Diversos enfoques intentan mejorar el modelo de memoria histórica y el mecanismo de recordar y olvidar.

Red completamente recurrente

Esta arquitectura básica se desarrolló en la década de 1980. La red se construye a partir de nodos, cada uno de los cuales está conectado a todos los demás nodos. Para cada neurona, el umbral de activación cambia con el tiempo y es un número real. Cada compuesto tiene un peso real variable. Los nodos se dividen en entrada, salida y ocultos.

Para el aprendizaje supervisado en tiempo discreto , en cada paso de tiempo (discreto), los nodos de entrada reciben datos, y otros nodos completan su activación, y las señales de salida se preparan para que la neurona las transmita al siguiente nivel. Si, por ejemplo, la red es responsable del reconocimiento de voz, como resultado, las etiquetas (palabras reconocidas) ya se envían a los nodos de salida.

En el aprendizaje por refuerzo , no hay un maestro que proporcione señales de destino para la red; en cambio, a veces se usa una función de aptitud (fitness) o una función de recompensa, que evalúa la calidad de la red, mientras que el valor de salida afecta el comportamiento de la red en la entrada. En particular, si la red está implementando un juego, la salida se mide por el número de puntos ganados o por posición.

Cada peldaño calcula el error como la desviación total de las salidas de la red. Si hay un conjunto de muestras de entrenamiento, el error se calcula teniendo en cuenta los errores de cada muestra individual.

Red recursiva

Las redes neuronales recursivas son un caso más general de redes recurrentes, cuando la señal en la red pasa a través de una estructura en forma de árbol (generalmente árboles binarios). [16] Las mismas matrices de peso se utilizan de forma recursiva en todo el gráfico según su topología. [17] [18] Las redes neuronales recursivas encuentran aplicación en tareas de procesamiento de lenguaje natural . [19] También hay redes neuronales recursivas de tensor (RNTN, Recursive Neural Tensor Network), que utilizan funciones de tensor para todos los nodos del árbol. [veinte]

Red neuronal de Hopfield

Una red Hopfield  es un tipo de red recurrente donde todas las conexiones son simétricas. Inventado por John Hopfield en 1982, se garantiza que la dinámica de dicha red converge a una de las posiciones de equilibrio. Si se usa el aprendizaje de Hebbian al crear conexiones , entonces la red de Hopfield puede funcionar como una memoria asociativa confiable que es resistente a cambios de conexión.

Memoria Asociativa Bidireccional (BAM)

Una variación de la red de Hopfield es la memoria asociativa bidireccional (BAM) . BAM tiene dos capas, cada una de las cuales puede actuar como una entrada, encontrar (recordar) una asociación y generar un resultado para la otra capa. [21] [22] [23]

Elman y Jordan Networks

La red neuronal de Elman es una red neuronal de tres capas. En la ilustración, las capas de la red están etiquetadas con x , y y z . La red también contiene un conjunto de "cuadros de contexto" ( u en la ilustración) que almacenan los valores anteriores de los nodos de capa oculta. Para ello, la capa oculta se conecta a los bloques de contexto mediante enlaces directos con un peso fijo igual a uno. [24] Con cada paso, la información se recibe en la entrada, que pasa un camino directo a la capa de salida de acuerdo con las reglas de aprendizaje. Las retroalimentaciones fijas de los bloques de contexto transmiten los valores de los estados anteriores de los nodos de la capa oculta (antes de que la capa oculta cambie el valor durante el proceso de aprendizaje). De esta forma, la red conserva su estado anterior, lo que proporciona predicción de secuencias, que está más allá de las capacidades de un perceptrón multicapa.

La red neuronal de Jordan es similar a la red de Elman. Sin embargo, los cuadros de contexto no están asociados a la capa oculta, sino a la capa de salida. Los bloques de contexto preservan así el estado anterior de la red y permiten la comunicación recurrente en la red. [24]

Las redes de Elman y Jordan también se denominan "redes recurrentes simples" (SRN).

Red Elman [25] Red de Jordania [26]

Notación de variables y funciones:

  • : vector de capa de entrada
  • : vector de capa oculta
  • : vector de capa de salida
  • , y : Matrices de pesos de conexión y vector de parámetros
  • y : función de activación

Redes de eco

La red de eco ( English  echo state network ; ESN ) se caracteriza por una capa oculta (que se denomina reservorio) con conexiones dispersas aleatorias entre neuronas. En este caso, las conexiones dentro del depósito son fijas, pero las conexiones con la capa de salida están sujetas a entrenamiento. El estado del tanque (estado) se calcula a través de los estados anteriores del tanque, así como los estados anteriores de las señales de entrada y salida. Dado que las redes de eco tienen solo una capa oculta, tienen una complejidad computacional bastante baja, pero la calidad de la simulación depende en gran medida de la configuración inicial, que es aproximadamente aleatoria. Las redes de eco funcionan bien cuando se reproducen series de tiempo . [27] Una variación de las redes de eco son las redes neuronales de impulso (pico) , también conocidas como redes neuronales líquidas (las redes "líquidas" se nombran utilizando la metáfora de círculos divergentes en el agua de una piedra que cae, que caracteriza la memoria a corto plazo de un evento de entrada). [28]

Compresor de historia neuronal

El compresor neuronal de datos históricos es un bloque que permite almacenar de forma comprimida las características históricas esenciales del proceso, que es una especie de pila de una red neuronal recurrente formada en el proceso de autoaprendizaje . [29] En el nivel de entrada, el compresor de historial neuronal intenta predecir la siguiente entrada a partir de los datos históricos. El siguiente nivel de la red recurrente recibe solo aquellas entradas que no se pudieron predecir y que al mismo tiempo contribuyen a un cambio en el estado del compresor. Cada siguiente capa de la red también aprende información histórica comprimida de las capas anteriores de la misma manera. Por lo tanto, la secuencia de entrada se puede reconstruir con precisión a partir de la representación de las capas posteriores.

El sistema intenta minimizar el tamaño de la descripción o utiliza logaritmos negativos para estimar las probabilidades de los datos. [30] Usando la previsibilidad entrenable en la secuencia de datos entrantes, la red RNN del siguiente nivel, aplicando el aprendizaje ya supervisado, ya puede clasificar incluso secuencias profundas con grandes intervalos de tiempo entre eventos clave.

Así, la red RNN se puede dividir en dos niveles de capas: automatización "consciente" (nivel superior) y "subconsciente" (nivel inferior). Una vez que el nivel superior ha aprendido a predecir y comprimir entradas (que son impredecibles) con la ayuda del automatizador, entonces el automatizador puede ser forzado en la siguiente etapa de aprendizaje para predecirse a sí mismo o imitar a través de bloques adicionales u ocultos del cambio más lento. nivel superior. Esto simplifica el trabajo del automatizador, lo que permite memorias a largo plazo, pero que rara vez cambian. A su vez, esto ayuda al automatizador a hacer predecibles muchas de sus entradas que alguna vez fueron impredecibles, de modo que la capa superior pueda enfocarse en los eventos impredecibles restantes. [29]

Memoria a Largo Corto Plazo (LSTM)

Una red con memoria a largo plazo y a corto plazo ( English  Long short term memory, LSTM) es un sistema de aprendizaje profundo , cuya implementación logró evitar el problema de la desaparición o salida de la escala de gradientes en el proceso de aprendizaje utilizando el método de retropropagación . La red LSTM generalmente se modera con puertas recurrentes llamadas puertas de "olvido". [31] Los errores se propagan hacia atrás en el tiempo a través de un número potencialmente ilimitado de capas virtuales. De esta forma, el aprendizaje tiene lugar en la LSTM [32] conservando la memoria de miles e incluso millones de intervalos de tiempo en el pasado. Las topologías de las redes LSTM se pueden desarrollar de acuerdo con las especificaciones del proceso. [33] En una red LSTM, se pueden tener en cuenta incluso grandes retrasos entre eventos significativos y, por lo tanto, se pueden mezclar componentes de alta y baja frecuencia.

Muchas redes recurrentes usan pilas de datos inherentes a LSTM [34] Las redes se pueden entrenar usando la "Clasificación temporal conexionista (CTC)" [  35 ] para encontrar una matriz de peso en la que la probabilidad de una secuencia de etiquetas en el conjunto de muestras en el momento apropiado el flujo de entrada se minimiza. CTC le permite lograr tanto el pedido como el reconocimiento.

LSTM también se puede entrenar para reconocer lenguajes sensibles al contexto, a diferencia de los modelos anteriores basados ​​en el modelo oculto de Markov (HMM) e ideas similares. [36]

Redes recurrentes de segundo orden

Las redes recurrentes de segundo orden utilizan ponderaciones de orden superior en lugar de ponderaciones regulares , y los parámetros de entrada y de estado se pueden obtener como un producto. En este caso, la red se transforma (mapeo) en una máquina de estados tanto en el proceso de aprendizaje como durante la estabilización y presentación. [37] [38] La memoria a corto plazo en este caso no tiene tal prueba de transformación y estabilidad.

Bloque recurrente controlado

La unidad recurrente cerrada ( Unidades recurrentes cerradas ; GRU ) es un mecanismo de gestión de red recurrente propuesto en 2014 .  Se encontró que el rendimiento de GRU en señales de voz o modelos de música polifónica es comparable a la memoria a largo plazo (LSTM). [39] Este modelo tiene menos parámetros que el LSTM y carece de control de salida. [40]

Véase también

Notas

  1. Graves, A.; Liwicki, M.; Fernández, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. Un nuevo sistema conexionista para mejorar el reconocimiento de escritura a mano sin restricciones  //  Transacciones IEEE sobre análisis de patrones e inteligencia artificial : diario. - 2009. - Vol. 31 , núm. 5 .
  2. 1 2 Sak, Hasim; Mayor, Andrés; Beaufays, Francoise Long Short-Term Memory arquitecturas de redes neuronales recurrentes para modelado acústico a gran escala (enlace inaccesible) (2014). Consultado el 9 de diciembre de 2017. Archivado desde el original el 24 de abril de 2018. 
  3. 1 2 Li, Xiangang & Wu, Xihong (2014-10-15), Construcción de redes neuronales recurrentes profundas basadas en memoria a largo plazo a corto plazo para el reconocimiento de voz de gran vocabulario, arΧiv : 1410.4281 [cs.CL]. 
  4. Schmidhuber, Jürgen . Habilitación de tesis : Modelado y optimización de sistemas  . — 1993. La página 150 y siguientes demuestra la asignación de créditos en el equivalente a 1200 capas en una RNN desplegada.
  5. Hochreiter, Sep.; Schmidhuber, JürgenMemoria a largo plazo  // Computación  neuronal. - 1997. - 1 de noviembre ( vol. 9 , no. 8 ). - Pág. 1735-1780 . -doi : 10.1162/ neco.1997.9.8.1735 .
  6. Fernández, Santiago; Tumbas, Alex; Schmidhuber, Jurgen. Una aplicación de redes neuronales recurrentes para detectar palabras clave discriminatorias  //  Actas de la 17.ª Conferencia internacional sobre redes neuronales artificiales: revista. - Berlín, Heidelberg: Springer-Verlag, 2007. - Vol. ICANN'07 . - pág. 220-229 . — ISBN 978-3-540-74693-5 .
  7. Tumbas, Alex; Schmidhuber, Jurgen. Reconocimiento de escritura a mano sin conexión con redes neuronales recurrentes multidimensionales // Fundación de sistemas de procesamiento de información neuronal  (  NIPS): revista / Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris editor-KI; Culota, Aron. - 2009. - Pág. 545-552 .
  8. Hannun, Awni; Caso, Carlos; Casper, Jared; Catanzaro, Bryan; Diamos, Greg; Elsen, Erich; Prenger, Ryan; Satheesh, Sanjeev; et al. (2014-12-17), Deep Speech: ampliación del reconocimiento de voz de extremo a extremo, arΧiv : 1412.5567 [cs.CL]. 
  9. Bo Fan, Lijuan Wang, Frank K. Soong y Lei Xie (2015). Cabeza parlante fotorrealista con LSTM bidireccional profundo. En Actas de ICASSP 2015.
  10. Zen, Heiga; Sak, Hasim Red neuronal recurrente de memoria a corto plazo unidireccional con capa de salida recurrente para síntesis de voz de baja latencia . Google.com 4470–4474. ICASSP (2015). Archivado desde el original el 9 de mayo de 2021.
  11. Sak, Hasim; Mayor, Andrés; Rao, Kanishka; Beaufays, Françoise; Schalkwyk, Johan Búsqueda por voz en Google: más rápida y precisa (septiembre de 2015). Fecha de acceso: 9 de diciembre de 2017. Archivado desde el original el 9 de marzo de 2016.
  12. Sutskever, L.; Vinyals, O.; Le, Q. Aprendizaje de secuencia a secuencia con redes neuronales  (indefinido)  // Actas electrónicas de la Conferencia de sistemas de procesamiento de información neuronal. - 2014. - T. 27 . - S. 5346 . - . -arXiv : 1409.3215 . _
  13. Jozefowicz, Rafael; Vinyals, Oriol; Schuster, Mike; Shazeer, Noam & Wu, Yonghui (2016-02-07), Explorando los límites del modelado del lenguaje, arΧiv : 1602.02410 [cs.CL]. 
  14. Gillick, Dan; Brunk, acantilado; Vinyals, Oriol & Subramanya, Amarnag (2015-11-30), Procesamiento de idiomas multilingües a partir de bytes, arΧiv : 1512.00103 [cs.CL]. 
  15. Vinyals, Oriol; Toshev, Alexander; Bengio, Samy & Erhan, Dumitru (2014-11-17), Show and Tell: A Neural Image Caption Generator, arΧiv : 1411.4555 [cs.CV]. 
  16. Goller, C.; Küchler, A. Aprendizaje de representaciones distribuidas dependientes de tareas por retropropagación a través de la estructura  //  Conferencia internacional IEEE sobre redes neuronales, 1996: revista. - 1996. - vol. 1 . - Pág. 347 . - ISBN 0-7803-3210-5 . -doi : 10.1109/ ICNN.1996.548916 .
  17. Seppo Linnainmaa (1970). La representación del error de redondeo acumulativo de un algoritmo como una expansión de Taylor de los errores de redondeo locales. Tesis de Maestría (en finlandés), Univ. Helsinki, 6-7.
  18. Griewank, Andreas; Wálter, Andrea. [ [1]  en Google Books Evaluación de derivadas: principios y técnicas de diferenciación algorítmica  ] . - Segundo. - SIAM, 2008. - ISBN 978-0-89871-776-1 .
  19. Socher, Richard; Lin, acantilado; Ng, Andrew Y. & Manning, Christopher D., Parsing Natural Scenes and Natural Language with Recursive Neural Networks , 28.ª Conferencia internacional sobre aprendizaje automático (ICML 2011) Archivado el 31 de octubre de 2017 en Wayback Machine . 
  20. Socher, Richard; Perelyguin, Alex; Y. Wu, Jean; Chuang, Jason; D.Manning, Christopher; Y. Ng, Andrew; Potts, Christopher. Modelos profundos recursivos para la composicionalidad semántica sobre un árbol de sentimientos  (inglés)  // Emnlp 2013: revista.
  21. Kosko, B. (1988). "Memorias asociativas bidireccionales". Transacciones IEEE sobre sistemas, hombre y cibernética . 18 (1): 49-60. DOI : 10.1109/21.87054 .
  22. Rakkiyappan, R.; Chandrasekar, A.; Lakshmanan, S.; Park, Ju H. Estabilidad exponencial para redes neuronales BAM estocásticas de salto markoviano con retrasos probabilísticos variables en el tiempo y control de impulsos dependientes del modo  //  Complejidad: revista. - 2015. - 2 de enero ( vol. 20 , no. 3 ). - P. 39-65 . -doi : 10.1002/ cplx.21503 .
  23. Raúl Rojas. [ [2]  en Google Books Redes neuronales : una introducción sistemática]  . - Springer, 1996. - Pág. 336. - ISBN 978-3-540-60505-8 .
  24. 12 Cruse , Holk; Redes neuronales como sistemas cibernéticos Archivado el 20 de octubre de 2016 en Wayback Machine , segunda edición y revisada
  25. Elman, Jeffrey L. Encontrar una estructura en el tiempo  (indefinido)  // Ciencia cognitiva. - 1990. - T. 14 , N º 2 . - S. 179-211 . -doi : 10.1016 / 0364-0213(90)90002-E .
  26. Jordan, Michael I. Orden en serie: un enfoque de procesamiento distribuido en paralelo  //  Avances en psicología: revista. - 1997. - 1 de enero ( vol. 121 ). - pág. 471-495 . — ISBN 9780444819314 . - doi : 10.1016/s0166-4115(97)80111-2 .
  27. Jaeger, Herbert; Haas, Haroldo. Aprovechamiento de la no linealidad: predicción de sistemas caóticos y ahorro de energía en la comunicación inalámbrica  (inglés)  // Ciencia: revista. - 2004. - 2 de abril ( vol. 304 , núm. 5667 ). - Pág. 78-80 . -doi : 10.1126 / ciencia.1091277 . - . —PMID 15064413 .
  28. W. Maass, T. Natschläger y H. Markram. Una nueva mirada a la computación en tiempo real en circuitos neuronales recurrentes genéricos. Informe técnico, Instituto de Ciencias de la Computación Teórica, TU Graz, 2002.
  29. 1 2 Schmidhuber, Jürgen. Aprendizaje de secuencias complejas y extendidas utilizando el principio de compresión de la historia  // Computación  neuronal : diario. — vol. 4 , núm. 2 . - pág. 234-242 .
  30. Schmidhuber, Jürgen. Aprendizaje profundo  (indefinido)  // Scholarpedia . - 2015. - T. 10 , N º 11 . - S. 32832 .
  31. Gers, Félix; Schraudolph, Nicol N.; Schmidhuber, Jürgen Learning Precise Timing with LSTM Recurrent Networks (Descarga en PDF disponible) . Puerta de Investigación . Consultado el 13 de junio de 2017. Archivado desde el original el 4 de abril de 2019.
  32. Schmidhuber, Jürgen Aprendizaje profundo en redes neuronales: una descripción general  (neopr.)  // Redes neuronales. - 2015. - Enero ( vol. 61 ). - S. 85-117 . -doi : 10.1016/ j.neunet.2014.09.003. -arXiv : 1404.7828 ._ — PMID 25462637 .
  33. Bayer, Justin; Wierstra, Daan; Togelius, Julián; Schmidhuber, Jurgen. Estructuras de células de memoria en evolución para el aprendizaje de secuencias  //  Redes neuronales artificiales - ICANN 2009: revista. - Springer, Berlín, Heidelberg, 2009. - 14 de septiembre ( vol. Lecture Notes in Computer Science ). - Pág. 755-764 . - ISBN 978-3-642-04276-8 . -doi : 10.1007 / 978-3-642-04277-5_76 .
  34. Fernández, Santiago; Tumbas, Alex; Schmidhuber, Jurgen. Etiquetado de secuencias en dominios estructurados con redes neuronales recurrentes jerárquicas   // Proc . 20 Int. Conf. conjunta on Artificial In℡ligence, Ijcai 2007: revista. - 2007. - Pág. 774-779 .
  35. Tumbas, Alex; Fernández, Santiago; Gómez, Faustino. Clasificación temporal conexionista: Etiquetado de datos de secuencia no segmentados con redes neuronales recurrentes  //  En Actas de la Conferencia Internacional sobre Aprendizaje Automático, ICML 2006: revista. - 2006. - Págs. 369-376 .
  36. Gers, FA; Schmidhuber, E. Las redes recurrentes LSTM aprenden lenguajes sensibles al contexto y libres de contexto  // IEEE  Transactions on Neural Networks : diario. - 2001. - noviembre ( vol. 12 , no. 6 ). - P. 1333-1340 . — ISSN 1045-9227 . -doi : 10.1109/ 72.963769 .
  37. CL Giles, CB Miller, D. Chen, HH Chen, GZ Sun, YC Lee, "Aprender y extraer autómatas de estado finito con redes neuronales recurrentes de segundo orden" Archivado el 15 de abril de 2021 en Wayback Machine , Neural Computation, 4( 3), pág. 393, 1992.
  38. CW Omlin, CL Giles, "Construcción de autómatas deterministas de estado finito en redes neuronales recurrentes" Archivado el 18 de abril de 2017 en Wayback Machine Journal of the ACM, 45(6), 937-972, 1996.
  39. Chung, Jun Young; Gulcehre, Caglar; Cho, KyungHyun & Bengio, Yoshua (2014), Evaluación empírica de redes neuronales recurrentes cerradas en el modelado de secuencias, arΧiv : 1412.3555 [cs.NE]. 
  40. Tutorial de redes neuronales recurrentes, Parte 4: Implementación de un RNN GRU/LSTM con Python y Theano - WildML . Consultado el 18 de mayo de 2016. Archivado desde el original el 10 de noviembre de 2021.

Literatura

  • Jordan, MI Orden en serie: un enfoque de procesamiento distribuido en paralelo // Informe del Instituto de Ciencias Cognitivas 8604. — Universidad de California, San Diego, 1986.