Una Echo State Network è un'istanza del concetto più generale di Reservoir Computing . L'idea alla base di ESN è quella di ottenere i benefici di un RNN (elaborare una sequenza di input che dipendono l'uno dall'altro, ovvero dipendenze temporali come un segnale) ma senza i problemi di addestramento di un RNN tradizionale come il problema del gradiente di svanimento .
Gli ESN ottengono questo risultato avendo un serbatoio relativamente grande di neuroni scarsamente connessi usando una funzione di trasferimento sigmoidale (rispetto alla dimensione di input, qualcosa come 100-1000 unità). Le connessioni nel serbatoio vengono assegnate una volta e sono completamente casuali; i pesi del serbatoio non vengono allenati. I neuroni di input sono collegati al serbatoio e alimentano le attivazioni di input nel serbatoio - anche a questi vengono assegnati pesi casuali non allenati. Gli unici pesi che vengono allenati sono i pesi di uscita che collegano il serbatoio ai neuroni di uscita.
Durante l'addestramento, gli input verranno inviati al serbatoio e un output dell'insegnante verrà applicato alle unità di output. Gli stati del serbatoio vengono acquisiti nel tempo e memorizzati. Una volta applicati tutti gli input di training, è possibile utilizzare una semplice applicazione della regressione lineare tra gli stati del serbatoio acquisiti e gli output target. Questi pesi di output possono quindi essere incorporati nella rete esistente e utilizzati per nuovi input.
L'idea è che le connessioni casuali sparse nel serbatoio consentano agli stati precedenti di "eco" anche dopo che sono passati, in modo che se la rete riceve un nuovo input simile a qualcosa su cui si è allenato, le dinamiche nel serbatoio inizieranno a seguire la traiettoria di attivazione appropriata per l'input e in tal modo in grado di fornire un segnale corrispondente a ciò su cui si è allenato, e se è ben addestrato sarà in grado di generalizzare da ciò che ha già visto, seguendo traiettorie di attivazione che avrebbero senso dato il segnale di ingresso che guida il serbatoio.
Il vantaggio di questo approccio è nella procedura di allenamento incredibilmente semplice poiché la maggior parte dei pesi viene assegnata una sola volta e in modo casuale. Tuttavia sono in grado di catturare dinamiche complesse nel tempo e sono in grado di modellare le proprietà dei sistemi dinamici. Di gran lunga i documenti più utili che ho trovato su ESN sono:
Entrambi hanno spiegazioni facili da comprendere insieme al formalismo e consigli eccezionali per la creazione di un'implementazione con una guida per la scelta dei valori dei parametri appropriati.
AGGIORNAMENTO: Il libro Deep Learning di Goodfellow, Bengio e Courville ha una discussione ad alto livello leggermente più dettagliata ma comunque piacevole di Echo State Networks. La Sezione 10.7 discute il problema del gradiente in via di estinzione (e che esplode) e le difficoltà di apprendimento delle dipendenze a lungo termine. La Sezione 10.8 è dedicata alle reti statali Echo. Spiega in dettaglio i motivi per cui è cruciale selezionare i pesi del serbatoio che hanno un valore del raggio spettrale appropriato : collabora con le unità di attivazione non lineari per incoraggiare la stabilità, pur propagando le informazioni nel tempo.