vignette|400x400px|Schéma de base d'un réseau à états d'écho Un réseau à états d'écho (i.e., echo state network ESN ) est un type d'ordinateur réservoir qui exploite un réseau de neurones récurrents doté d'une couche cachée faiblement interconnectée (généralement avec une connectivité de 1 %). Tandis que les connexions et les poids des neurones cachés sont préétablis et distribués de manière aléatoire, les poids associés aux neurones de sortie peuvent être ajustés, ce qui permet au réseau de générer ou d'imiter des motifs temporels spécifiques.
L'attrait majeur de ce réseau est qu'il, malgré son comportement non linéaire, ne modifie que les poids des synapses reliant les neurones cachés aux neurones de sortie lors de la phase d'apprentissage. Ainsi, la fonction d'erreur est de nature quadratique par rapport au vecteur de paramètres et peut aisément être dérivée en un système linéaire.
On peut aussi envisager une approche bayésienne non paramétrique pour la couche de sortie, où : (i) une distribution a priori est imposée aux poids de sortie ; et (ii) ces poids sont marginalisés lors de la génération des prédictions, en prenant en compte les données d'entraînement. Ce concept a été prouvé dans en utilisant des distributions a priori gaussiennes, ce qui conduit à un modèle de processus gaussien avec une fonction noyau contrôlée par un réseau de neurones à états aléatoires (ESN). Cette solution a prouvé sa supériorité par rapport aux ESN disposant d'ensembles de poids entraînables (terminés) sur plusieurs jeux de données standards.
Parmi les implémentations efficaces d'ESN disponibles publiquement, on trouve aureservoir (une bibliothèque C++ pour différents types avec des liaisons python/numpy), MATLAB, ReservoirComputing.jl (une implémentation basée sur Julia de différents types) et pyESN (pour les ESN simples en Python ).
Références
Catégorie:Réseau de neurones artificiels