O que é uma explicação intuitiva das Echo State Networks?

17

Eu sou novo em Redes Neurais Recorrentes (RNN) e ainda estou aprendendo os conceitos. Eu entendo em um nível abstrato que uma Echo State Network (ESN) é capaz de (re) produzir uma sequência de entradas, ou seja, um sinal, mesmo após a remoção da entrada. No entanto, achei o artigo da Scholarpedia muito difícil de entender e entender completamente.

Alguém pode explicar como o aprendizado funciona matematicamente da forma mais simples possível.

tejaskhot
fonte

Respostas:

17

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.

adamconkey
fonte
1

O aprendizado em um ESN não é forçado a adaptar pesos, mais respectivamente, a camada de saída aprende qual saída produzir para o estado atual da rede. O estado interno é baseado na dinâmica da rede e é chamado de estado dinâmico do reservatório. Para entender como os estados do reservatório se formam, precisamos examinar a topologia de um ESN.

Topologia ESN

A (s) unidade (s) de entrada são conectadas aos neurônios nas unidades internas (unidades do reservatório), os pesos são inicializados aleatoriamente. As unidades do reservatório são conectadas aleatoria e esparsamente e também possuem pesos aleatórios. A unidade de saída também é conectada a todas as unidades do reservatório, portanto, recebe o estado do reservatório e produz uma saída correspondente.

A ativação da entrada aumenta a dinâmica da rede. O sinal flutua Timesteps através das unidades reservatório ligado recorrentes. Você pode imaginá-lo como um eco que ocorre vezes na rede (que fica distorcido). Os únicos pesos que são adaptados são os da unidade de saída. Isso significa que a camada de saída aprende qual saída deve pertencer a um determinado estado do reservatório. Isso também significa que o treinamento se torna uma tarefa de regressão linear.tt

Antes de podermos explicar como o treinamento funciona em detalhes, precisamos explicar e definir algumas coisas:

Forçar professor significa alimentar a entrada de séries temporais na rede, bem como a saída desejada correspondente (atraso no tempo). Alimentar a saída desejada de em back é chamado feedback de saída. Portanto, precisamos de alguns pesos inicializados aleatoriamente armazenados na matriz . Na figura 1, essas arestas são exibidas com setas pontilhadas.TtWfb

Definições variáveis:

  • r = número de unidades do reservatório,
  • o = número de unidades de saída,
  • t = número de timesteps,
  • o = número de unidades de saída.
  • T = Matriz (do tamanho x ) que contém a saída desejada para cada passo de tempo.to

Finalmente, como o treinamento funciona em detalhes?

  • tMtr
  • WovocêtMWovocêt=T->Wovocêt=MT-1

Como o aprendizado é muito rápido, podemos experimentar muitas topologias de rede para obter uma que se encaixe bem.

Para medir o desempenho de um ESN:

  • Wfb
  • ||MWovocêt-T||2

Raio espectral e ESN

Spec-tral1

maníaco
fonte