Echo State Network
L’Echo State Network (ESN), est un réseau de neurones récurrent avec une couche cachée peu connectée (avec généralement une connectivité de 1%).
La connectivité et le poids des neurones cachés sont fixés et répartis au hasard. Les poids des neurones de sortie peuvent être appris afin que le réseau puisse (re) produire des modèles temporels spécifiques. L’intérêt principal de ce réseau est que, bien que son comportement soit non linéaire, les seuls poids modifiés pendant l’entraînement concernent les synapses qui connectent les neurones cachés aux neurones de sortie.
Ainsi, la fonction d'erreur est quadratique par rapport au paramètre ve ctor et peut être facilement différenciée en un système linéaire.
On peut aussi envisager une formulation bayésienne non paramétrique de la couche de sortie, dans laquelle:
(i) une distribution préalable est imposée sur les poids de sortie;
et (ii) les poids de sortie sont définis dans le contexte de la génération de prédiction, en fonction des données d'apprentissage. Cette idée a été démontrée dans en utilisant des a priori gaussiens, ce qui permet d'obtenir un modèle de processus gaussien avec une fonction de noyau pilotée par ESN. Il a été démontré qu'une telle solution surpasse les Echo State Networks avec des ensembles de poids pouvant être formés (finis) dans plusieurs points de repère.
Voici quelques exemples de mises en œuvre ESN librement accessibles:
(i) aureservoir : une bibliothèque C ++ efficace pour divers types de réseaux d'état d'écho avec des liaisons python / numpy;
(ii) code Matlab : un matlab efficace pour un Echo State Network .