Reservoir computing
Con reservoir computing[1] ci si riferisce ad un insieme di metodologie per la progettazione e l'allenamento di reti neurali ricorrenti, nel cui ambito sono ricompresi Echo State Network,[2] Liquid State Machine[3] e l'algoritmo Backpropagation-Decorrelation.[4] Il termine è stato introdotto nel 2007[5] per sottolineare come queste metodologie condividano la stessa idea fondamentale di base, la separazione fra la parte ricorrente (dinamica) della rete, il reservoir, dalla parte non-ricorrente, il readout. Questo permette di separare l'allenamento complessivo della rete ricorrente in due fasi distinte. In particolare, una volta fissato il reservoir (ad esempio con una generazione casuale delle sue connessioni interne), la scelta più comune è quella di allenare il readout tramite una regressione lineare (in modalità batch) o tramite un approccio basato sulla discesa al gradiente, nel caso online. Questo evita il ricorso a tecniche di error backpropagation sull'intera rete ricorrente, come la backpropagation through time.[6]
Tipologie di Reservoir Computing
[modifica | modifica wikitesto]Echo State Networks
[modifica | modifica wikitesto]La Echo State Network (ESN) è stata introdotta da Herbert Jaeger nel 2001, in un report del German National Research Center for Information Technology.[2] L'obiettivo era sviluppare un algoritmo di apprendimento efficiente per reti neurali ricorrenti, per applicazioni di apprendimento automatico ed elaborazione del segnale. In questa formulazione, gli stati del reservoir vengono visti come feature (anche dette echi dell'input originario), usate come input dal successivo readout non-ricorrente. Da questo punto di vista, affinché la ESN risultante abbia buone proprietà di generalizzazione, le connessioni interne del reservoir possono anche essere generate in maniera casuale, purché siano mantenute tre proprietà principali:[2]
- Il reservoir deve essere sufficientemente grande.
- Il reservoir deve essere stabile, ovvero l'effetto di un input sulla dinamica interna deve svanire dopo un certo lasso temporale. Nel contesto delle ESN, questa proprietà viene chiamata echo state property.
- Le connessioni interne al reservoir devono essere sparse, in modo da generare un insieme eterogeneo di feature.
Nel suo lavoro originale del 2001, Jaeger stesso introdusse alcuni criteri per cercare di soddisfare la echo state property, in termini del raggio spettrale della matrice dei pesi interni del reservoir. Tali condizioni sono poi state migliorate nel 2007[7], e nuovamente nel 2012[8]. Un approccio alternativo, basato sulla teoria dell'informazione, è stato invece proposto nel 2007 da Mustafa Ozturk, Dongming Xu e José Príncipe.[9] Ad oggi, il Fraunhofer Institute for Intelligent Analysis and Information Systems detiene un brevetto per lo sfruttamento commerciale delle Echo State Networks.[10]
Liquid State Machines
[modifica | modifica wikitesto]La Liquid State Machine (LSM) è stata introdotta nel 2002, in maniera indipendente dalla Echo State Network, da Wolfgang Maass, Thomas Natschläger ed Henry Markram.[3] Seppur condividendo molto idee di base della Echo State Network, la LSM è stata introdotta come un modello computazionale per studiare determinati tipi di circuiti neurali. A causa di ciò, le LSM utilizzano in genere modelli di neuroni con maggiore plasubilità biologica, il più semplice dei quali è noto come integrate-and-fire spiking neuron. Inoltre, la connettività all'interno di una LSM tende a ricalcare modelli plausibili di connessioni sinaptiche. Poiché questo richiede operazioni più complesse di codifica/decodifica dell'informazione, le LSM sono state applicate in maniera minore a problemi di apprendimento automatico, ma ne sono state studiate a fondo le proprietà computazionali esibite.[3][11][12]
Backpropagation-Decorrelation
[modifica | modifica wikitesto]Il terzo esempio di Reservoir Computing è l'algoritmo Backpropagation-Decorrelation (BD), introdotto nel 2004 da Jochen Steil.[4][13] BD è sostanzialmente equivalente ad una delle varianti di Echo State Network formulate da Jaeger, ma è derivato da Steil come approssimazione ad un algoritmo già noto per l'allenamento di reti neurali ricorrenti, detto Atiya–Parlos learning (APRL). Il punto chiave dell'analisi di Steil è che APRL agisce in maniera separata sulla parte ricorrente della rete, dove i cambiamenti dei pesi sinaptici sono lenti ed estremamente correlati, dalla parte non ricorrente, dove i cambiamenti sono molto più rapidi. Tale lavoro è importante in quanto mostra come gli approcci di tipo Reservoir Computing, seppur euristici, possono essere visti come approssimazioni teoreticamente motivate di algoritmi globalmente ottimi.
Aspetti teorici del reservoir
[modifica | modifica wikitesto]La distinzione netta tra reservoir e readout ha permesso di separare l'analisi dinamica del primo dalle capacità meglio note di generalizzazione del secondo. Un elemento essenziale dell'analisi del reservoir, oltre a quanto già menzionato prima, si è rivelata esserne la cosiddetta memoria a breve termine, di cui Jaeger diede una prima definizione in un lavoro del 2002.[14] In linea generale, la memoria a breve termine in una Echo State Network con neuroni digitali è massima quando la funzione di attivazione dei suoi neuroni costituenti è lineare, e si contrappone alla sua capacità di elaborare relazioni altamente non-lineari.[15] Essa spiega alcune differenze di comportamento osservate fra reservoir con neuroni digitali ed analogici,[16], ed è essenziale anche nell'analisi di reti ricorrenti a tempo continuo.[17]
Un altro aspetto della ricerca teorica sul reservoir si concentra sulla possibilità di eliminare il processo di generazione casuale delle sue connessioni, o quantomeno di ridurne l'effetto. Esempi di ciò sono lo studio sui reservoir a complessità minima[18], e sul meccanismo della plasticità intrinseca.[19] Altra possibilità è quella invece di combinare diversi reservoir per aumentarne le capacità di elaborazione, come avviene nei reservoir disaccoppiati[20] o la possibilità di costruire reservoir gerarchici.[21] L'approccio del Reservoir Computing è stato esteso nella direzione del Deep Learning con l'introduzione del Deep Reservoir Computing e del modello Deep Echo State Network (DeepESN)[22][23][24].
Infine, alcuni ricercatori hanno investigato la possibilità di generare reservoir in maniera non convenzionale, tra cui si possono ricordare i lavori sui reservoir di tipo opto-elettronici[25], reservoir costruiti a partire da circuiti analogici,[26] ed altri.[27]
Applicazioni del reservoir computing
[modifica | modifica wikitesto]Le tecniche di reservoir computing sono state applicate a numerose classi di problemi, tra cui:
- predizione di serie temporali caotiche[28] e finanziarie;[29]
- controllo motorio di piattaforme robotiche;[30]
- modellamento acustico nel riconoscimento del parlato;[21]
- rilevamento in tempo reale di crisi epilettiche.[31]
Note
[modifica | modifica wikitesto]- ^ Lukoševičius.
- ^ a b c Jaeger.
- ^ a b c Maass.
- ^ a b Steil.
- ^ Verstraeten.
- ^ Jaeger, H. (2002). Tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the" echo state network" approach Archiviato l'8 agosto 2014 in Internet Archive.. Archiviato l'8 agosto 2014 in Internet Archive. GMD-Forschungszentrum Informationstechnik.
- ^ Buehner, M., & Young, P. (2006). A tighter bound for the echo state property. IEEE Transactions on Neural Networks, 17(3), 820-824.
- ^ Izzet B. Yildiz, Herbert Jaeger e Stefan J. Kiebel, Re-visiting the echo state property, in Neural Networks, vol. 35, 1º novembre 2012, pp. 1–9, DOI:10.1016/j.neunet.2012.07.005, ISSN 0893-6080 .
- ^ Ozturk, M. C., Xu, D., & Príncipe, J. C. (2007). Analysis and design of echo state networks. Neural Computation, 19(1), 111-138.
- ^ EP2001011490 A METHOD FOR SUPERVISED TEACHING OF A RECURRENT ARTIFICIAL NEURAL NETWORK
- ^ Maass, Wolfgang, Prashant Joshi, and Eduardo D. Sontag. Principles of real-time computing with feedback applied to cortical microcircuit models. Advances in Neural Information Processing Systems. 2006.
- ^ Bertschinger, N., & Natschläger, T. (2004). Real-time computation at the edge of chaos in recurrent neural networks. Neural computation, 16(7), 1413-1436.
- ^ Steil, J. J. (2004, July). Backpropagation-decorrelation: online recurrent learning with O (N) complexity. In Proceedings of the 2004 IEEE International Joint Conference on Neural Networks (Vol. 2, pp. 843-848).
- ^ Jaeger, H. (2001). Short term memory in echo state networks. Archiviato il 4 gennaio 2014 in Internet Archive. GMD Technical Report 152.
- ^ Verstraeten, D., Dambre, J., Dutoit, X., & Schrauwen, B. (2010, July). Memory versus non-linearity in reservoirs. In Proceedings of the 2010 IEEE International Joint Conference on Neural Networks (IJCNN)(pp. 1-8).
- ^ Büsing, L., Schrauwen, B., & Legenstein, R. (2010). Connectivity, dynamics, and memory in reservoir computing with binary and analog neurons. Neural computation, 22(5), 1272-1311.
- ^ Michiel Hermans e Benjamin Schrauwen, Memory in linear recurrent neural networks in continuous time, in Neural Networks, vol. 23, n. 3, 1º aprile 2010, pp. 341–355, DOI:10.1016/j.neunet.2009.08.008, ISSN 0893-6080 .
- ^ Rodan, A., & Tino, P. (2011). Minimum complexity echo state network. IEEE Transactions on Neural Networks, 22(1), 131-144.
- ^ Benjamin Schrauwen, Marion Wardermann, David Verstraeten, Jochen J. Steil e Dirk Stroobandt, Improving reservoirs using intrinsic plasticity, in Neurocomputing, Progress in Modeling, Theory, and Application of Computational Intelligenc, vol. 71, n. 7, 1º marzo 2008, pp. 1159–1171, DOI:10.1016/j.neucom.2007.12.020, ISSN 0925-2312 .
- ^ Yanbo Xue, Le Yang e Simon Haykin, Decoupled echo state networks with lateral inhibition, in Neural Networks, Echo State Networks and Liquid State Machines, vol. 20, n. 3, 1º aprile 2007, pp. 365–376, DOI:10.1016/j.neunet.2007.04.014, ISSN 0893-6080 .
- ^ a b Triefenbach, F., Jalalvand, A., Demuynck, K., & Martens, J. (2013). Acoustic modeling with hierarchical reservoirs. In IEEE Transactions on Audio, Speech, and Language Processing, 21(11-12), 2439-2450
- ^ Luca Pedrelli, Deep Reservoir Computing: A Novel Class of Deep Recurrent Neural Networks, Università di Pisa, 2019.
- ^ (EN) Claudio Gallicchio, Alessio Micheli e Luca Pedrelli, Deep reservoir computing: A critical experimental analysis, in Neurocomputing, vol. 268, 2017-12, pp. 87–99, DOI:10.1016/j.neucom.2016.12.089. URL consultato il 28 aprile 2019.
- ^ (EN) Claudio Gallicchio, Alessio Micheli e Luca Pedrelli, Design of deep echo state networks, in Neural Networks, vol. 108, 2018-12, pp. 33–47, DOI:10.1016/j.neunet.2018.08.002. URL consultato il 28 aprile 2019.
- ^ Paquot, Y., Duport, F., Smerieri, A., Dambre, J., Schrauwen, B., Haelterman, M., & Massar, S. (2012). Optoelectronic reservoir computing. Scientific reports,2.
- ^ Benjamin Schrauwen, Michiel D’Haene, David Verstraeten e Jan Van Campenhout, Compact hardware liquid state machines on FPGA for real-time speech recognition, in Neural Networks, Advances in Neural Networks Research: IJCNN ’07, vol. 21, n. 2, 1º marzo 2008, pp. 511–523, DOI:10.1016/j.neunet.2007.12.009, ISSN 0893-6080 .
- ^ Lukoševičius, M., Jaeger, H., & Schrauwen, B. (2012). Reservoir computing trends. Archiviato l'11 febbraio 2014 in Internet Archive. KI-Künstliche Intelligenz, 26(4), 365-371.
- ^ Jaeger, H., & Haas, H. (2004). Harnessing nonlinearity: Predicting chaotic systems and saving energy in wireless communication. Science, 304(5667), 78-80.
- ^ Ilies, Iulian, et al. "Stepping forward through echoes of the past: forecasting with echo state networks." Short report on the winning entry to the NN3 financial forecasting competition, available online Archiviato il 26 novembre 2015 in Internet Archive. (2007).
- ^ Plöger, P. G., Arghir, A., Günther, T., & Hosseiny, R. (2004). Echo state networks for mobile robot modeling and control. In RoboCup 2003: Robot Soccer World Cup VII (pp. 157-168). Springer Berlin Heidelberg.
- ^ Buteneers, P., Schrauwen, B., Verstraeten, D., & Stroobandt, D. (2009). Real-time epileptic seizure detection on intra-cranial rat data using reservoir computing. In Advances in neuro-information processing (pp. 56-63). Springer Berlin Heidelberg.
Bibliografia
[modifica | modifica wikitesto]- Herbert Jaeger, The “echo state” approach to analysing and training recurrent neural networks-with an erratum note. (PDF), in GMD Technical Report 148, 2001, pp. 127-149. URL consultato il 31 luglio 2014 (archiviato dall'url originale il 4 gennaio 2014).
- Mantas Lukoševičius e Herbert Jaeger, Reservoir computing approaches to recurrent neural network training., in Computer Science Review, vol. 3, n. 3, 2009, pp. 127-149, DOI:10.1016/j.cosrev.2009.03.005.
- Wolfgang Mass, Thomas Natschläger e Henry Markram, Real-time computing without stable states: A new framework for neural computation based on perturbations., in Neural computation, vol. 14, n. 11, 2002, pp. 2531-2560.
- Jochen J. Steil, Online stability of backpropagation–decorrelation recurrent learning., in Neurocomputing, vol. 69, n. 7, 2006, pp. 642-650, DOI:10.1016/j.neucom.2005.12.012.
- David Verstraeten e et al., An experimental unification of reservoir computing methods., in Neural Networks, vol. 20, n. 3, 2007, pp. 391-403, DOI:10.1016/j.neunet.2007.04.003.
Collegamenti esterni
[modifica | modifica wikitesto]- Elenco di software disponibili per il Reservoir Computing, su reservoir-computing.org. URL consultato il 31 luglio 2014 (archiviato dall'url originale il 9 agosto 2014).