Uma rede de estados de eco é uma instância do conceito mais geral de computação de reservatório . A idéia básica por trás do ESN é obter os benefícios de um RNN (processar uma sequência de entradas que dependem um do outro, ou seja, dependências de tempo como um sinal), mas sem os problemas de treinar um RNN tradicional como o problema do gradiente de fuga .
Os ESNs conseguem isso tendo um reservatório relativamente grande de neurônios escassamente conectados, usando uma função de transferência sigmoidal (em relação ao tamanho da entrada, algo como 100-1000 unidades). As conexões no reservatório são atribuídas uma vez e são completamente aleatórias; os pesos do reservatório não são treinados. Os neurônios de entrada são conectados ao reservatório e alimentam as ativações de entrada no reservatório - estes também recebem pesos aleatórios não treinados. Os únicos pesos treinados são os pesos de saída que conectam o reservatório aos neurônios de saída.
No treinamento, as entradas serão alimentadas no reservatório e uma saída do professor será aplicada às unidades de saída. Os estados do reservatório são capturados ao longo do tempo e armazenados. Depois que todas as entradas de treinamento foram aplicadas, uma aplicação simples de regressão linear pode ser usada entre os estados do reservatório capturado e as saídas de destino. Esses pesos de saída podem ser incorporados à rede existente e usados para novas entradas.
A idéia é que as conexões aleatórias esparsas no reservatório permitam que os estados anteriores "ecoem" mesmo depois de terem passado, de modo que, se a rede receber uma entrada nova e semelhante a algo em que treinou, a dinâmica no reservatório começará a siga a trajetória de ativação apropriada para a entrada e, dessa forma, pode fornecer um sinal correspondente ao que foi treinado e, se for bem treinado, será capaz de generalizar o que já viu, seguindo trajetórias de ativação que faria sentido dado o sinal de entrada que dirige o reservatório.
A vantagem dessa abordagem está no procedimento de treinamento incrivelmente simples, pois a maioria dos pesos é atribuída apenas uma vez e aleatoriamente. No entanto, eles são capazes de capturar dinâmicas complexas ao longo do tempo e são capazes de modelar propriedades de sistemas dinâmicos. De longe, os artigos mais úteis que encontrei nos ESNs são:
Ambos têm explicações fáceis de entender para acompanhar o formalismo e conselhos excelentes para criar uma implementação com orientações para a escolha de valores de parâmetros apropriados.
ATUALIZAÇÃO: O livro Deep Learning de Goodfellow, Bengio e Courville tem uma discussão de alto nível um pouco mais detalhada, mas ainda agradável, da Echo State Networks. A Seção 10.7 discute o problema do gradiente de fuga (e explosão) e as dificuldades de aprender dependências de longo prazo. A Seção 10.8 é sobre Echo State Networks. Ele detalha especificamente por que é crucial selecionar pesos de reservatório com um valor de raio espectral apropriado - ele trabalha em conjunto com as unidades de ativação não lineares para incentivar a estabilidade enquanto ainda propaga informações ao longo do tempo.