Reservoir computing

entorno de cálculo derivado de la teoría de redes neuronales recurrentes

El reservoir computing o cálculo de reservoir es un marco de trabajo o framework derivado de la teoría de las redes neuronales recurrentes. Este enfoque mapea las señales de entrada en espacios computacionales de mayor dimensión utilizando la dinámica de un sistema fijo y no lineal llamado "reservoir".[1]​ Una vez que la señal de entrada se introduce en el reservoir, que se trata como una caja negra, se entrena un sencillo mecanismo de lectura para obtener y mapear el estado del reservoir hasta obtener el resultado deseado.[1]​ La principal ventaja de este framework radica en que el entrenamiento solo se lleva a cabo en la fase de lectura, ya que la dinámica del reservoir es fija.[1]​ Además, otra ventaja importante es que se puede aprovechar la potencia de cálculo de los sistemas disponibles de manera natural, tanto clásicos como mecánicos cuánticos, lo que permite reducir el costo de cálculo efectivo.[2]

Diagrama esquemático de cálculo por tanque.

Historia

editar

El concepto del cálculo de reservoir surge de la utilización de conexiones recursivas en redes neuronales para crear un sistema dinámico complejo.[3]​ Representa una generalización de arquitecturas previas de redes neuronales, como las redes neuronales recurrentes, las máquinas de estado líquido y las redes de estado de eco. El cálculo de reservoir también se extiende a sistemas físicos que no se ajustan a la definición clásica de redes, sino que son sistemas continuos en el espacio y/o en el tiempo. Por ejemplo, un "cubo de agua" literal puede funcionar como un reservoir que realiza cálculos sobre las entradas que se presentan como perturbaciones de la superficie.[4]

La complejidad resultante de estas redes neuronales recurrentes ha demostrado ser útil para resolver diversos problemas, como el procesamiento de lenguaje y el modelado de sistemas dinámicos.[3]​ Sin embargo, el entrenamiento de las redes neuronales recurrentes es complicado y costoso desde el punto de vista computacional.[3]​ Para abordar estos problemas, el cálculo de reservoir simplifica el proceso al fijar la dinámica del reservoir y entrenar únicamente la capa lineal de salida.[3]

Existe una amplia variedad de sistemas dinámicos no lineales que pueden utilizarse como reservoir para realizar cálculos. En los últimos años, los láseres semiconductores han despertado un gran interés debido a su capacidad para realizar cálculos de manera rápida y energéticamente eficiente en comparación con los componentes eléctricos.

Los recientes avances en inteligencia artificial y teoría de la información cuántica han dado lugar al concepto de redes neuronales cuánticas.[5]​ Estas redes muestran promesa en el procesamiento cuántico de la información, lo cual representa un desafío para las redes clásicas, pero también pueden encontrar aplicaciones en la resolución de problemas clásicos.[5][6]

En 2018, se logró la realización física de una arquitectura cuántica del cálculo de reservoir utilizando espines nucleares en un sólido molecular.[6]​ Sin embargo, los experimentos realizados no demostraron el cálculo de reservoir cuántico propiamente dicho, ya que no implicaban el procesamiento de datos secuenciales.[6]​ En cambio, los datos se presentaron como entradas vectoriales, lo que se considera más una demostración de la implementación cuántica de un algoritmo aleatorio o "fregadero de cocina" (random kitchen sink),[7]​ también conocido como máquinas de aprendizaje extremo en algunas comunidades.

En 2019, se propuso otra posible implementación de procesadores reservoir cuánticos utilizando campos en redes fermiónicas bidimensionales.[6]​ En 2020, se propuso la realización de cálculo de reservoir en ordenadores cuánticos basados en compuertas y se demostró en ordenadores cuánticos superconductores IBM a corto plazo basados en la nube.[8]

El cálculo de reservoir se ha utilizado con el propósito de análisis de series temporales. En particular, se han utilizado para la predicción de series temporales caóticas,[9][10]​ la separación de señales caóticas[11]​ y la inferencia de enlaces de redes a partir de su dinámica.[12]

Reservoir computing clásico

editar

Reservoir

editar

En cálculo de reservoir, el "reservoir" es la estructura interna del ordenador y debe cumplir dos propiedades: estar compuesta por unidades individuales no lineales y ser capaz de almacenar información.[13]

La no linealidad describe la respuesta de cada unidad ante la entrada, lo cual permite resolver problemas complejos mediante el cálculo de reservoir. Los reservoir pueden almacenar información conectando las unidades en bucles recurrentes, donde la entrada previa afecta a la respuesta siguiente. Este cambio en la respuesta debido al pasado permite entrenar a los ordenadores para realizar tareas específicas.[13]

Los reservoir pueden ser virtuales o físicos.[13]​ Los reservoir virtuales suelen generarse aleatoriamente y se diseñan como redes neuronales.[3][13]​ Estos reservoir virtuales pueden tener no linealidad y bucles recurrentes, pero a diferencia de las redes neuronales, las conexiones entre las unidades son aleatorias y permanecen constantes durante el cálculo.[13]

Por otro lado, los reservoir físicos son posibles gracias a la no linealidad inherente en ciertos sistemas naturales. Por ejemplo, la interacción entre las ondulaciones en la superficie del agua posee la dinámica no lineal necesaria para la creación de reservoir físicos. Se ha desarrollado un enfoque de cálculo de reservoir para el reconocimiento de patrones utilizando ondulaciones generadas por motores eléctricos y registrando y analizando las ondulaciones en la fase de lectura.[1]

Readout

editar

El readout o lectura es una capa de la red neuronal que realiza una transformación lineal en la salida del reservoir.[1]​ Los pesos de esta capa de lectura se entrenan analizando los patrones espaciotemporales del reservoir después de haber sido excitado por entradas conocidas. Para esto, se utilizan métodos de entrenamiento como la regresión lineal o la regresión de Ridge.[1]​ Dado que la aplicación del cálculo de reservoir depende de los patrones espaciotemporales específicos del reservoir, los detalles de los métodos de lectura se adaptan a cada tipo de reservoir.[1]​ Por ejemplo, en el caso del cálculo de reservoir que utilice un recipiente de líquido como su reservoir, la lectura podría implicar la observación de los patrones espaciotemporales en la superficie del líquido.[1]

Red de reverberación contextual

editar

Uno de los primeros ejemplos del cálculo de reservoir fue la red de reverberación contextual.[14]​ En esta red, una capa de entrada alimenta un sistema dinámico de alta dimensión que luego es leído por un perceptrón monocapa entrenable. Se describen dos tipos de sistemas dinámicos utilizados: una red neuronal recurrente con pesos aleatorios fijos y un sistema continuo de reacción-difusión inspirado en el modelo de morfogénesis de Alan Turing. En la capa entrenable, el perceptrón asocia las entradas actuales con las señales que reverberan en el sistema dinámico; se decía que estas últimas proporcionaban un "contexto" dinámico para las entradas de datos. En el lenguaje de trabajos posteriores, el sistema de reacción-difusión funcionaba como reservoir.

Red de estado de eco

editar

El modelo de Red de Estado de Eco de Árbol (Tree Echo State Network o TreeESN en inglés) representa una generalización del marco de trabajo del cálculo de reservoir hacia datos estructurados en forma de árbol.[15]

Máquina de estado líquido

editar

Una Máquina de Estado Líquido (Liquid State Machine o LSM en inglés) es un tipo de calculador de reservoir que utiliza una red neuronal de impulsos.[16]

Máquina de estado líquido caótico
editar

El líquido en una Máquina de Estado Líquido Caótico (Chaotic Liquid State Machine o CLSM en inglés),[17][18]​ también conocido como reservoir caótico, está compuesto por neuronas de impulsos caóticas. Sin embargo, estas neuronas logran estabilizar su actividad ajustándose a una única hipótesis que describe las entradas entrenadas en la máquina. Esto contrasta con otros tipos de reservoir que no logran estabilizarse. La estabilización del líquido se logra a través de la plasticidad sináptica y el control del caos que gobiernan las conexiones neuronales dentro del líquido. La CLSM ha mostrado resultados prometedores en el aprendizaje de datos de series temporales sensibles.[17][18]

Cálculo transitorio no lineal

editar

Este tipo de procesamiento de la información es especialmente relevante cuando las señales de entrada, que son dependientes del tiempo, se desvían de la dinámica interna del mecanismo.[19]​ Estas desviaciones generan transitorios o alteraciones temporales que se reflejan en la salida del dispositivo.[19]

Cálculo de reservoir profundo

editar

La extensión del framework de cálculo de reservoir hacia el Aprendizaje Profundo, mediante la introducción del Cálculo de Reservoir Profundo (Deep Reservoir Computing) y del modelo de Red de Estado de Eco Profunda (Deep Echo State Network o DeepESN en inglés),[20][21][22][23]​ permite desarrollar modelos eficientemente entrenados para el procesamiento jerárquico de datos temporales. Además, posibilita investigar el rol intrínseco de la composición por capas en las redes neuronales recurrentes.

Reservoir computing cuántico

editar

El cálculo de reservoir cuántico puede aprovechar la naturaleza no lineal de las interacciones o procesos mecánicos cuánticos para formar los reservoir no lineales característicos.[5][6][24]​ Sin embargo, también es posible utilizar reservoir lineales cuando la inyección de la entrada al reservoir crea la no linealidad.[25]​ La combinación del aprendizaje automático y los dispositivos cuánticos está dando lugar al surgimiento de la computación neuromórfica cuántica como un nuevo campo de investigación.[26]

Estados gaussianos de osciladores armónicos cuánticos en interacción

editar

Los estados gaussianos son una clase fundamental de estados en sistemas cuánticos de variables continuas.[27]​ Aunque actualmente es posible crear y manipular estos estados en plataformas ópticas de última generación,[28]​ que son naturalmente sólidas frente a la decoherencia, se sabe que por sí solos no son suficientes para lograr la computación cuántica universal debido a que las transformaciones que preservan la naturaleza gaussiana de un estado son lineales.[29]

Por lo general, la dinámica lineal tampoco sería suficiente para el cálculo de reservoir no trivial. Sin embargo, es posible aprovechar esta dinámica al considerar una red de osciladores armónicos cuánticos que interactúan y al inyectar la entrada mediante reinicios periódicos del estado de un subconjunto de osciladores. Con una elección adecuada de cómo los estados de este subconjunto de osciladores dependen de la entrada, los observables de los demás osciladores pueden convertirse en funciones no lineales apropiadas para el cálculo de reservoir. De hecho, gracias a las propiedades de estas funciones, incluso es posible lograr el cálculo de reservoir universal mediante la combinación de los observables con una función de lectura polinómica.[25]

En principio, estos calculadores de reservoir podrían implementarse utilizando procesos paramétricos ópticos multimodo controlados.[30]​ Sin embargo, la extracción eficiente de la salida del sistema representa un desafío, especialmente en el régimen cuántico, donde se debe tener en cuenta la medición de retroacción.

Redes de puntos cuánticos bidimensionales

editar

En esta arquitectura, el acoplamiento aleatorio entre los sitios de la red confiere al reservoir la propiedad de caja negra, que es característica de los procesadores de reservoir.[5]​ Posteriormente, se produce la agitación del reservoir, que actúa como entrada, mediante un campo óptico incidente. La lectura se realiza mediante los números ocupacionales de los sitios reticulares, los cuales son naturalmente funciones no lineales de entrada.[5]

Espines nucleares en un sólido molecular

editar

En esta arquitectura, el acoplamiento mecánico cuántico entre los espines de átomos vecinos dentro del sólido molecular proporciona la no linealidad necesaria para crear el espacio computacional de mayor dimensión.[6]​ Posteriormente, el reservoir se excita mediante radiación electromagnética de radiofrecuencia sintonizada con las frecuencias de resonancia de los espines nucleares relevantes.[6]​ La lectura se realiza midiendo los estados de los espines nucleares.[6]

Reservoir computing en ordenadores cuánticos superconductores near-term basados en compuertas

editar

El modelo más extendido de computación cuántica es el basado en compuertas, en el cual se realiza la computación cuántica mediante la aplicación secuencial de compuertas cuánticas unitarias en los qubits de un ordenador cuántico.[31]​ Se ha desarrollado una teoría para implementar el cálculo de reservoir en un ordenador cuántico basado en compuertas, y se han realizado pruebas de principio en varios ordenadores cuánticos superconductores de escala intermedia y ruidosos (NISQ, del inglés Noisy intermediate-scale quantum) de IBM.[8][32]

Véase también

editar

Referencias

editar
  1. a b c d e f g h Tanaka, Gouhei; Yamane, Toshiyuki; Héroux, Jean Benoit; Nakane, Ryosho; Kanazawa, Naoki; Takeda, Seiji; Numata, Hidetoshi; Nakano, Daiju et al. (2019). «Recent advances in physical reservoir computing: A review». Neural Networks (en inglés) 115: 123. ISSN 0893-6080. PMID 30981085. doi:10.1016/j.neunet.2019.03.005. 
  2. Röhm, André; Lüdge, Kathy (3 de agosto de 2018). «Multiplexed networks: reservoir computing with virtual and real nodes». Journal of Physics Communications (en inglés) 2. ISSN 2399-6528. doi:10.1088/2399-6528/aad56d. 
  3. a b c d e Schrauwen, Benjamin; Verstraeten, David; Campenhout, Jan Van (25 de abril de 2007). «Proceedings of the European Symposium on Artificial Neural Networks». 15th European Symposium on Artificial Neural Networks (en inglés): 471-482. 
  4. Fernando, C.; Sojakka, Sampsa (2003). «Pattern Recognition in a Bucket». Advances in Artificial Life (en inglés) 2801. pp. 588-597. ISBN 978-3-540-20057-4. doi:10.1007/978-3-540-39432-7_63. 
  5. a b c d e Ghosh, Sanjib; Opala, Andrzej; Matuszewski, Michał; Paterek, Tomasz; Liew, Timothy C. H. (Diciembre de 2019). «Quantum reservoir processing». npj Quantum Information (en inglés) 5: 35. ISSN 2056-6387. doi:10.1038/s41534-019-0149-8. 
  6. a b c d e f g h Negoro, Makoto; Mitarai, Kosuke; Fujii, Keisuke; Nakajima, Kohei; Kitagawa, Masahiro (28 de junio de 2018). Machine learning with controllable quantum dynamics of a nuclear spin ensemble in a solid (en inglés). 
  7. Rahimi, Ali; Recht, Benjamin (Diciembre de 2008). «Weighted Sums of Random Kitchen Sinks: Replacing minimization with randomization in Learning». NIPS'08: Proceedings of the 21st International Conference on Neural Information Processing Systems (en inglés): 1313-1320. 
  8. a b Chen, Jiayin; Nurdin, Hendra; Yamamoto, Naoki (24 de agosto de 2020). «Temporal Information Processing on Noisy Quantum Computers». Physical Review Applied (en inglés) 14. doi:10.1103/PhysRevApplied.14.024065. 
  9. Pathak, Jaideep; Hunt, Brian; Girvan, Michelle; Lu, Zhixin; Ott, Edward (12 de enero de 2018). «Model-Free Prediction of Large Spatiotemporally Chaotic Systems from Data: A Reservoir Computing Approach». Physical Review Letters (en inglés) 120. PMID 29376715. doi:10.1103/PhysRevLett.120.024102. 
  10. Vlachas, P.R.; Pathak, J.; Hunt, B.R.; Sapsis, T.P.; Girvan, M.; Ott, E.; Koumoutsakos, P. (21 de marzo de 2020). «Backpropagation algorithms and Reservoir Computing in Recurrent Neural Networks for the forecasting of complex spatiotemporal dynamics». Neural Networks (en inglés) 126: 191-217. ISSN 0893-6080. PMID 32248008. doi:10.1016/j.neunet.2020.02.016. 
  11. Krishnagopal, Sanjukta; Girvan, Michelle; Ott, Edward; Hunt, Brian R. (1 de febrero de 2020). «Separation of chaotic signals by reservoir computing». Chaos: An Interdisciplinary Journal of Nonlinear Science (en inglés) 30. ISSN 1054-1500. PMID 32113243. doi:10.1063/1.5132766. 
  12. Banerjee, Amitava; Hart, Joseph D.; Roy, Rajarshi; Ott, Edward (20 de julio de 2021). «Machine Learning Link Inference of Noisy Delay-Coupled Networks with Optoelectronic Experimental Tests». Physical Review X (en inglés) 11. doi:10.1103/PhysRevX.11.031014. 
  13. a b c d e Soriano, Miguel C. (6 de febrero de 2017). «Viewpoint: Reservoir Computing Speeds Up». Physics (en inglés) 10. doi:10.1103/Physics.10.12. 
  14. Kirby, Kevin (1991). Context dynamics in neural sequential learning (en inglés). pp. 66-70. 
  15. Gallicchio, Claudio; Micheli, Alessio (2013). «Tree Echo State Networks». Neurocomputing (en inglés) 101: 319-337. doi:10.1016/j.neucom.2012.08.017. 
  16. De: Liquid state machine (en inglés)
  17. a b Aoun, Mario Antoine; Boukadoum, Mounir (2014). «Learning algorithm and neurocomputing architecture for NDS Neurons». 2014 IEEE 13th International Conference on Cognitive Informatics and Cognitive Computing (en inglés): 126-132. ISBN 978-1-4799-6081-1. doi:10.1109/icci-cc.2014.6921451. 
  18. a b Aoun, Mario Antoine; Boukadoum, Mounir (2015). «Chaotic Liquid State Machine». International Journal of Cognitive Informatics and Natural Intelligence (en inglés) 9: 1–20. ISSN 1557-3958. doi:10.4018/ijcini.2015100101. 
  19. a b Crook, Nigel (2007). «Nonlinear Transient Computation». Neurocomputing (en inglés) 70: 1167-1176. doi:10.1016/j.neucom.2006.10.148. 
  20. Pedrelli, Luca (2019). «Deep Reservoir Computing: A Novel Class of Deep Recurrent Neural Networks». Università di Pisa. (en inglés). 
  21. Gallicchio, Claudio; Micheli, Alessio; Pedrelli, Luca (13 de diciembre de 2017). «Deep reservoir computing: A critical experimental analysis». Neurocomputing (en inglés) 268: 87–99. doi:10.1016/j.neucom.2016.12.089. 
  22. Gallicchio, Claudio; Micheli, Alessio (5 de mayo de 2017). «Echo State Property of Deep Reservoir Computing Networks». Cognitive Computation (en inglés) 9: 337-350. ISSN 1866-9956. doi:10.1007/s12559-017-9461-9. 
  23. Gallicchio, Claudio; Micheli, Alessio; Pedrelli, Luca (Diciembre de 2018). «Design of deep echo state networks». Neural Networks (en inglés) 108: 33-47. ISSN 0893-6080. PMID 30138751. doi:10.1016/j.neunet.2018.08.002. 
  24. Chen, Jiayin; Nurdin, Hendra (15 de mayo de 2019). «Learning nonlinear input–output maps with dissipative quantum systems». Quantum Information Processing (en inglés) 18: 198. doi:10.1007/s11128-019-2311-9. 
  25. a b Nokkala, Johannes; Martínez-Peña, Rodrigo; Giorgi, Gian Luca; Parigi, Valentina; Soriano, Miguel C.; Zambrini, Roberta (2021). «Gaussian states of continuous-variable quantum systems provide universal and versatile reservoir computing». Communications Physics (en inglés) 4: 53. doi:10.1038/s42005-021-00556-w. 
  26. Marković, Danijela; Grollier, Julie (13 de octubre de 2020). «Quantum Neuromorphic Computing». Applied Physics Letters (en inglés) 117. doi:10.1063/5.0020014. 
  27. Ferraro, Alessandro; Olivares, Stefano; Paris, Matteo G. A. (31 de marzo de 2005). Gaussian states in continuous variable quantum information (en inglés). 
  28. Roslund, Jonathan; de Araújo, Renné Medeiros; Jiang, Shifeng; Fabre, Claude; Treps, Nicolas (15 de diciembre de 2013). «Wavelength-multiplexed quantum networks with ultrafast frequency combs». Nature Photonics (en inglés) 8: 109-112. ISSN 1749-4893. doi:10.1038/nphoton.2013.340. 
  29. Bartlett, Stephen D.; Sanders, Barry C.; Braunstein, Samuel L.; Nemoto, Kae (14 de febrero de 2002). «Efficient Classical Simulation of Continuous Variable Quantum Information Processes». Physical Review Letters (en inglés) 88. PMID 11864057. doi:10.1103/PhysRevLett.88.097904. 
  30. Nokkala, J.; Arzani, F.; Galve, F.; Zambrini, R.; Maniscalco, S.; Piilo, J.; Treps, N.; Parigi, V. (9 de mayo de 2018). «Reconfigurable optical implementation of quantum complex networks». New Journal of Physics (en inglés) 20. ISSN 1367-2630. doi:10.1088/1367-2630/aabc77. 
  31. Nielsen, Michael; Chuang, Isaac (2010). Quantum Computation and Quantum Information (en inglés) (2 edición). Cambridge University Press Cambridge. 
  32. Preskill, John (2018). Quantum Computing in the NISQ era and beyond (en inglés).