Reservoir computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Corretto: "teoricamente"
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(9 versioni intermedie di 9 utenti non mostrate)
Riga 1:
Con '''Reservoirreservoir Computingcomputing'''<ref>{{Cita|Lukoševičius}}.</ref> ci si riferisce ad un insieme di metodologie per illa designprogettazione e l'[[Apprendimento supervisionato|allenamento]] delledi [[Rete neurale ricorrente|reti neurali ricorrenti]], tranel cui leambito sono ricompresi Echo State NetworksNetwork,<ref name=jaeger>{{Cita|Jaeger}}.</ref> le Liquid State Machines,Machine<ref name=Maass>{{Cita|Maass}}.</ref> e l'algoritmo Backpropagation-Decorrelation.<ref name=steil>{{Cita|Steil}}.</ref> Il termine è stato introdotto nel 2007<ref>{{Cita|Verstraeten}}.</ref> 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 [[RandomizzazioneAleatorietà|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 del gradiente|discesa al gradiente]], nel caso [[Apprendimento online|online]]. Questo evita il ricorso a tecniche di [[Backpropagation|error backpropagation]] sull'intera rete ricorrente, come la ''[[backpropagation through time]]''.<ref>Jaeger, H. (2002). ''[http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf Tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the" echo state network" approach] {{Webarchive|url=https://web.archive.org/web/20140808052352/http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf |data=8 agosto 2014 }}''[http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf .] {{Webarchive|url=https://web.archive.org/web/20140808052352/http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf |data=8 agosto 2014 }} GMD-Forschungszentrum Informationstechnik.</ref>
{{O|scienza|agosto 2014}}
Con '''Reservoir Computing'''<ref>{{Cita|Lukoševičius}}.</ref> ci si riferisce ad un insieme di metodologie per il design e l'[[Apprendimento supervisionato|allenamento]] delle [[reti neurali ricorrenti]], tra cui le Echo State Networks,<ref name=jaeger>{{Cita|Jaeger}}.</ref> le Liquid State Machines,<ref name=Maass>{{Cita|Maass}}.</ref> e l'algoritmo Backpropagation-Decorrelation.<ref name=steil>{{Cita|Steil}}.</ref> Il termine è stato introdotto nel 2007<ref>{{Cita|Verstraeten}}.</ref> 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 [[Randomizzazione|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 del gradiente|discesa al gradiente]], nel caso [[Apprendimento online|online]]. Questo evita il ricorso a tecniche di [[Backpropagation|error backpropagation]] sull'intera rete ricorrente, come la [[backpropagation through time]].<ref>Jaeger, H. (2002). ''[http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf Tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the" echo state network" approach]''[http://www.pdx.edu/sites/www.pdx.edu.sysc/files/Jaeger_TrainingRNNsTutorial.2005.pdf .] GMD-Forschungszentrum Informationstechnik.</ref>
 
== Tipologie di Reservoir Computing ==
Line 8 ⟶ 7:
 
* Il reservoir deve essere sufficientemente grande.
* Il reservoir deve essere [[stabilitàStabilità strutturale|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 ''[[Matrice sparsa|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<ref>Buehner, M., & Young, P. (2006). [http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1629106&tag=1 A tighter bound for the echo state property.] IEEE Transactions on Neural Networks, 17(3), 820-824.</ref>, e nuovamente nel 2012<ref>{{Cita pubblicazione|nome1=Izzet B.|cognome1=Yildiz|nome2=Herbert|cognome2=Jaeger|nome3=Stefan J.|cognome3=Kiebel|titolo=Re-visiting the echo state property|rivista=Neural Networks|data=1º novembre 2012|issn=0893-6080|pp=1–91-9|volume=35|doi=10.1016/j.neunet.2012.07.005}}</ref>. Un approccio alternativo, basato sulla [[teoria dell'informazione]], è stato invece proposto nel 2007 da Mustafa Ozturk, Dongming Xu e José Príncipe.<ref>Ozturk, M. C., Xu, D., & Príncipe, J. C. (2007). [http://www.mitpressjournals.org/doi/abs/10.1162/neco.2007.19.1.111 Analysis and design of echo state networks.] Neural Computation, 19(1), 111-138.</ref>
Ad oggi, il Fraunhofer Institute for Intelligent Analysis and Information Systems detiene un brevetto per lo sfruttamentesfruttamento commerciale delle Echo State Networks.<ref>[http://patentscope.wipo.int/search/en/WO2002031764 EP2001011490 A METHOD FOR SUPERVISED TEACHING OF A RECURRENT ARTIFICIAL NEURAL NETWORK<!-- Titolo generato automaticamente -->]</ref>
 
=== Liquid State Machines ===
 
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.<ref name=Maass /> Seppur condividendo molto idee di base della Echo State Network, la LSM è stata introdotta come un [[modello computazionale]] per studiare determinati tipi di [[Rete neurale artificiale|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 [[sinapsi|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.<ref name=Maass /><ref>Maass, Wolfgang, Prashant Joshi, and Eduardo D. Sontag. [http://papers.nips.cc/paper/2864-principles-of-real-time-computing-with-feedback-applied-to-cortical-microcircuit-models Principles of real-time computing with feedback applied to cortical microcircuit models.] Advances in Neural Information Processing Systems. 2006.</ref><ref>Bertschinger, N., & Natschläger, T. (2004). [http://www.mitpressjournals.org/doi/abs/10.1162/089976604323057443#.U9k2Xvl_s5A Real-time computation at the edge of chaos in recurrent neural networks.] Neural computation, 16(7), 1413-1436.</ref>
 
=== Backpropagation-Decorrelation ===
 
Il terzo esempio di Reservoir Computing è l'algoritmo Backpropagation-Decorrelation (BD), introdotto nel 2004 da Jochen Steil.<ref name=steil /><ref>Steil, J. J. (2004, July). [http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1380039&tag=1 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).</ref> 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 [[sinapsi|sinaptici]] sono lenti ed estremamente [[correlazione (statistica)|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 [[euristica|euristici]], possono essere visti come approssimazioni teoricamenteteoreticamente motivate di [[algoritmi]] globalmente ottimi.
 
== Aspetti teorici del reservoir ==
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.<ref>Jaeger, H. (2001). [http://minds.jacobs-university.de/sites/default/files/uploads/papers/STMEchoStatesTechRep.pdf Short term memory in echo state networks.] {{Webarchive|url=https://web.archive.org/web/20140104155906/http://minds.jacobs-university.de/sites/default/files/uploads/papers/STMEchoStatesTechRep.pdf |datedata=4 gennaio 2014 }} GMD Technical Report 152.</ref> 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.<ref>Verstraeten, D., Dambre, J., Dutoit, X., & Schrauwen, B. (2010, July). [http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5596492 Memory versus non-linearity in reservoirs.] In Proceedings of the 2010 IEEE International Joint Conference on Neural Networks (IJCNN)(pp. 1-8).</ref> Essa spiega alcune differenze di comportamento osservate fra reservoir con neuroni digitali ed analogici,<ref>Büsing, L., Schrauwen, B., & Legenstein, R. (2010). [http://www.mitpressjournals.org/doi/abs/10.1162/neco.2009.01-09-947#.U9kxOvl_s5A Connectivity, dynamics, and memory in reservoir computing with binary and analog neurons.] Neural computation, 22(5), 1272-1311.</ref>, ed è essenziale anche nell'analisi di reti ricorrenti a tempo continuo.<ref>{{Cita pubblicazione|nome1=Michiel|cognome1=Hermans|nome2=Benjamin|cognome2=Schrauwen|titolo=Memory in linear recurrent neural networks in continuous time|rivista=Neural Networks|data=1º aprile 2010|issn=0893-6080|pp=341–355341-355|volume=23|numero=3|doi=10.1016/j.neunet.2009.08.008}}</ref>
 
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''<ref>Rodan, A., & Tino, P. (2011). [http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5629375 Minimum complexity echo state network.] IEEE Transactions on Neural Networks, 22(1), 131-144.</ref>, e sul meccanismo della ''plasticità intrinseca''.<ref>{{Cita pubblicazione|nome1=Benjamin|cognome1=Schrauwen|nome2=Marion|cognome2=Wardermann|nome3=David|cognome3=Verstraeten|nome4=Jochen J.|cognome4=Steil|titolo=Improving reservoirs using intrinsic plasticity|rivista=Neurocomputing|data=1º marzo 2008|issn=0925-2312|pp=1159–11711159-1171|volume=71|serie=Progress in Modeling, Theory, and Application of Computational Intelligenc|numero=7|doi=10.1016/j.neucom.2007.12.020|nome5=Dirk|cognome5=Stroobandt}}</ref> Altra possibilità è quella invece di combinare diversi reservoir per aumentarne le capacità di [[Elaborazione dati|elaborazione]], come avviene nei reservoir ''disaccoppiati''<ref>{{Cita pubblicazione|nome1=Yanbo|cognome1=Xue|nome2=Le|cognome2=Yang|nome3=Simon|cognome3=Haykin|titolo=Decoupled echo state networks with lateral inhibition|rivista=Neural Networks|data=1º aprile 2007|issn=0893-6080|pp=365–376365-376|volume=20|serie=Echo State Networks and Liquid State Machines|numero=3|doi=10.1016/j.neunet.2007.04.014}}</ref> o la possibilità di costruire reservoir ''gerarchici''.<ref name=":0">Triefenbach, F., Jalalvand, A., Demuynck, K., & Martens, J. (2013). [http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6587732 Acoustic modeling with hierarchical reservoirs.] In IEEE Transactions on Audio, Speech, and Language Processing, 21(11-12), 2439-2450</ref> L'approccio del Reservoir Computing è stato esteso nella direzione del [[Deep learning|Deep Learning]] con l'introduzione del Deep Reservoir Computing e del modello Deep Echo State Network (DeepESN)<ref>{{Cita pubblicazione |nome=Luca |cognome=Pedrelli |data=2019 |titolo=Deep Reservoir Computing: A Novel Class of Deep Recurrent Neural Networks |editore=Università di Pisa |url=https://etd.adm.unipi.it/t/etd-02282019-191815/}}</ref><ref>{{Cita pubblicazione|nome=Claudio|cognome=Gallicchio|data=2017-12|titolo=Deep reservoir computing: A critical experimental analysis|rivista=Neurocomputing|volume=268|pp=87–9987-99|lingua=en|accesso=28 aprile 2019|doi=10.1016/j.neucom.2016.12.089|url= |nome2=Alessio|cognome2=Micheli|nome3=Luca|cognome3=Pedrelli}}</ref><ref>{{Cita pubblicazione|nome=Claudio|cognome=Gallicchio|data=2018-12|titolo=Design of deep echo state networks|rivista=Neural Networks|volume=108|pp=33–4733-47|lingua=en|accesso=28 aprile 2019|doi=10.1016/j.neunet.2018.08.002|url= |nome2=Alessio|cognome2=Micheli|nome3=Luca|cognome3=Pedrelli}}</ref>.
 
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<ref>Paquot, Y., Duport, F., Smerieri, A., Dambre, J., Schrauwen, B., Haelterman, M., & Massar, S. (2012). [https://www.nature.com/srep/2012/120227/srep00287/full/srep00287.html Optoelectronic reservoir computing.] ''Scientific reports'',''2''.</ref>, reservoir costruiti a partire da circuiti analogici,<ref>{{Cita pubblicazione|nome1=Benjamin|cognome1=Schrauwen|nome2=Michiel|cognome2=D’Haene|nome3=David|cognome3=Verstraeten|nome4=Jan Van|cognome4=Campenhout|titolo=Compact hardware liquid state machines on FPGA for real-time speech recognition|rivista=Neural Networks|data=1º marzo 2008|issn=0893-6080|pp=511–523511-523|volume=21|serie=Advances in Neural Networks Research: IJCNN ’07|numero=2|doi=10.1016/j.neunet.2007.12.009}}</ref> ed altri.<ref>Lukoševičius, M., Jaeger, H., & Schrauwen, B. (2012). [http://minds.jacobs-university.de/sites/default/files/uploads/papers/2508_Lukoseviciusetal12.pdf Reservoir computing trends.] {{Webarchive|url=https://web.archive.org/web/20140211092930/http://minds.jacobs-university.de/sites/default/files/uploads/papers/2508_Lukoseviciusetal12.pdf |datedata=11 febbraio 2014 }} ''KI-Künstliche Intelligenz'', ''26''(4), 365-371.</ref>
 
== Applicazioni del reservoir computing ==