Un Echo State Network est un exemple du concept plus général de Reservoir Computing . L'idée de base derrière l'ESN est d'obtenir les avantages d'un RNN (traiter une séquence d'entrées qui dépendent les unes des autres, c'est-à-dire des dépendances temporelles comme un signal) mais sans les problèmes de formation d'un RNN traditionnel comme le problème du gradient de fuite .
Les ESN y parviennent en ayant un réservoir relativement important de neurones peu connectés utilisant une fonction de transfert sigmoïde (par rapport à la taille d'entrée, quelque chose comme 100-1000 unités). Les connexions dans le réservoir sont attribuées une fois et sont complètement aléatoires; les poids des réservoirs ne sont pas entraînés. Les neurones d'entrée sont connectés au réservoir et alimentent les activations d'entrée dans le réservoir - ceux-ci sont également affectés de poids aléatoires non entraînés. Les seuls poids entraînés sont les poids de sortie qui relient le réservoir aux neurones de sortie.
Lors de la formation, les intrants seront introduits dans le réservoir et une sortie de l'enseignant sera appliquée aux unités de sortie. Les états du réservoir sont capturés dans le temps et stockés. Une fois que tous les intrants d'apprentissage ont été appliqués, une simple application de régression linéaire peut être utilisée entre les états de réservoir capturés et les extrants cibles. Ces poids de sortie peuvent ensuite être intégrés au réseau existant et utilisés pour de nouvelles entrées.
L'idée est que les connexions aléatoires clairsemées dans le réservoir permettent aux états précédents de "résonner" même après leur passage, de sorte que si le réseau reçoit une nouvelle entrée similaire à quelque chose sur laquelle il s'est entraîné, la dynamique dans le réservoir commencera à suivre la trajectoire d'activation appropriée pour l'entrée et de cette manière peut fournir un signal correspondant à ce sur quoi il s'est entraîné, et s'il est bien formé, il pourra généraliser à partir de ce qu'il a déjà vu, en suivant des trajectoires d'activation qui auraient du sens étant donné le signal d'entrée entraînant le réservoir.
L'avantage de cette approche réside dans la procédure d'entraînement incroyablement simple, car la plupart des poids ne sont attribués qu'une seule fois et au hasard. Pourtant, ils sont capables de capturer des dynamiques complexes au fil du temps et sont capables de modéliser les propriétés des systèmes dynamiques. De loin, les articles les plus utiles que j'ai trouvés sur les ESN sont:
Ils ont tous deux des explications faciles à comprendre pour aller de pair avec le formalisme et des conseils exceptionnels pour créer une implémentation avec des conseils pour choisir les valeurs de paramètres appropriées.
MISE À JOUR: Le livre Deep Learning de Goodfellow, Bengio et Courville a une discussion de haut niveau légèrement plus détaillée mais toujours agréable sur les réseaux d'État d'Echo. La section 10.7 traite du problème de gradient qui disparaît (et explose) et des difficultés d'apprentissage des dépendances à long terme. La section 10.8 concerne les réseaux d'état d'écho. Il explique spécifiquement pourquoi il est crucial de sélectionner des poids de réservoir qui ont une valeur de rayon spectral appropriée - il fonctionne avec les unités d'activation non linéaires pour encourager la stabilité tout en propageant les informations dans le temps.