# Xarxa d'estat d'eco

Una xarxa d'estat d'eco (ESN) és un tipus d'ordinador de dipòsit que utilitza una xarxa neuronal recurrent amb una capa oculta poc connectada (amb una connectivitat típica de l'1%). La connectivitat i els pesos de les neurones ocultes es fixen i s'assignen aleatòriament. Els pesos de les neurones de sortida es poden aprendre perquè la xarxa pugui produir o reproduir patrons temporals específics. El principal interès d'aquesta xarxa és que tot i que el seu comportament no és lineal, els únics pesos que es modifiquen durant l'entrenament són les sinapsis que connecten les neurones ocultes amb les neurones de sortida. Així, la funció d'error és quadràtica respecte al vector de paràmetres i es pot diferenciar fàcilment a un sistema lineal.
Alternativament, es pot considerar una formulació bayesiana no paramètrica de la capa de sortida, sota la qual: (i) s'imposa una distribució prèvia sobre els pesos de sortida; i (ii) els pesos de sortida estan marginats en el context de la generació de prediccions, donades les dades d'entrenament. Aquesta idea s'ha demostrat a mitjançant l'ús de priors gaussians, per la qual cosa s'obté un model de procés gaussià amb funció del nucli controlada per ESN. Es va demostrar que aquesta solució supera els ESN amb conjunts de pesos entrenables (finits) en diversos punts de referència.
Algunes implementacions d'ESN disponibles públicament són: (i) auresservoir: una biblioteca C++ eficient per a diversos tipus de xarxes d'estat d'eco amb enllaços python/numpy; (ii) Codi Matlab: un matlab eficient per a una xarxa d'estat d'eco; (iii) ReservoirComputing.jl: una implementació eficient basada en Julia de diversos tipus de xarxes d'estat d'eco; i (iv) pyESN: xarxes d'estat d'eco simples en Python.

## Rerefons

L'Echo State Network (ESN) pertany a la família de xarxes neuronals recurrents (RNN) i ofereix la seva arquitectura i principi d'aprenentatge supervisat. A diferència de les xarxes neuronals Feedforward, les xarxes neuronals recurrents són sistemes dinàmics i no funcions. Les xarxes neuronals recurrents s'utilitzen normalment per: Aprendre processos dinàmics: tractament del senyal en enginyeria i telecomunicacions, anàlisi de vibracions, sismologia, control de motors i generadors. Previsió i generació de senyals: text, música, senyals elèctrics, senyals caòtics. Modelització de sistemes biològics, neurociències (neurodinàmica cognitiva), modelització de memòria, interfícies cervell-ordinador (BCI), processos de filtrat i de Kalman, aplicacions militars, modelització de volatilitat, etc.

## Referències

* ↑ Jaeger, H.; Haas, H. Science, 304, 5667, 2004, pàg. 78–80. Bibcode: 2004Sci...304...78J. DOI: 10.1126/science.1091277. PMID: 15064413.
* ↑ Jaeger, Herbert Scholarpedia, 2, 9, 2007, pàg. 2330. Bibcode: 2007SchpJ...2.2330J. DOI: 10.4249/scholarpedia.2330 [Consulta: free].
* ↑ Chatzis, S. P.; Demiris, Y. IEEE Transactions on Neural Networks, 22, 9, 2011, pàg. 1435–1445. DOI: 10.1109/TNN.2011.2162109. PMID: 21803684.
* ↑ Jaeger, Herbert. A tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the "echo state network" approach (en anglès). Germany: German National Research Center for Information Technology, 2002, p. 1–45.
* ↑ Antonik, Piotr; Gulina, Marvyn; Pauwels, Jaël; Massar, Serge Phys. Rev. E, 98, 1, 2018, pàg. 012215. arXiv: 1802.02844. Bibcode: 2018PhRvE..98a2215A. DOI: 10.1103/PhysRevE.98.012215. PMID: 30110744.