Pergunta

Eu sei que redes neurais multicamadas feedforward com backprop são usadas com Aprendizado por Reforço para ajudá-lo a generalizar as ações que nosso agente realiza.Isto é, se tivermos um grande espaço de estados, podemos realizar algumas ações, e elas ajudarão a generalizar para todo o espaço de estados.

O que as redes neurais recorrentes fazem?Para quais tarefas eles são utilizados, em geral?

Foi útil?

Solução

Redes Neurais Recorrentes, RNN para abreviar (embora tenha cuidado, pois RNN é frequentemente usado na literatura para designar Redes Neurais Aleatórias, que efetivamente são um caso especial de NN recorrente), vêm em "sabores" muito diferentes, o que os faz exibir vários comportamentos e características.Em geral, no entanto, estes muitos matizes de comportamentos e características são enraizado na disponibilidade de entrada [de feedback] para neurônios individuais.Esse feedback vem de outras partes da rede, seja ela local ou distante, da mesma camada (incluindo em alguns casos o “próprio”), ou mesmo de camadas diferentes (*).As informações de feedback são tratadas como entradas "normais" no neurônio e podem então influenciar, pelo menos em parte, sua saída.

Diferente retropropagação que é usado durante a fase de aprendizagem de uma rede feed-forward com o propósito de ajustar os pesos relativos das várias conexões [somente feedfoward], o FeedBack em RNNs constitui uma verdadeira entrada para os neurônios aos quais eles se conectam.

Um dos usos do feedback é para tornar a rede mais resistente a ruídos e outras imperfeições na entrada (ou seja, entrada para a rede como um todo).A razão para isso é que, além das entradas "diretamente" pertencentes à entrada da rede (os tipos de entrada que estariam presentes em uma rede feedforward), os neurônios possuem informações sobre o que outros neurônios estão "pensando".Essa informação extra leva a Aprendizagem hebbiana, ou sejaa ideia de que neurônios que [normalmente] disparam juntos deveriam “encorajar” uns aos outros a disparar.Em termos práticos, esta entrada extra de neurônios vizinhos "de disparo semelhante" (ou vizinhos não-assim) pode levar um neurônio a disparar, mesmo que suas entradas sem feedback possam ter sido tais que ele não teria disparado (ou disparado com menos força, dependendo do tipo de rede).

Um exemplo desta resiliência às imperfeições de entrada é com memória associativa, um emprego comum de RNNs.A ideia é usar as informações de feeback para "preencher as lacunas".

Outro uso relacionado, mas distinto, do feedback é com sinais inibitórios, por meio do qual um determinado neurônio pode aprender que, embora todas as suas outras entradas o levem a disparar, uma entrada de feedback específica de alguma outra parte da rede normalmente indica que de alguma forma as outras entradas não são confiáveis ​​(neste contexto específico).

Outro uso extremamente importante do feedback é que em algumas arquiteturas ele pode introduzir um elemento temporal no sistema.Uma entrada específica [de feedback] pode não tanto instruir o neurônio sobre o que ele "pensa" [agora], mas em vez disso "lembrar" o neurônio que, digamos, dois ciclos atrás (quaisquer que sejam os ciclos que possam representar), o estado da rede (ou um dos é um subestado) era "X".Essa capacidade de “lembrar” o passado [tipicamente] recente é outro fator de resiliência ao ruído na entrada, mas o seu principal interesse pode ser a introdução de “previsão” no processo de aprendizagem.Essas entradas atrasadas podem ser vistas como previsões de outras partes da rede:“Ouvi passos no corredor, espero ouvir a campainha [ou o barulho das chaves]”.

(*) Aliás, uma liberdade tão ampla nas “regras” que ditam as conexões permitidas, seja feedback ou feed-forward, explica por que existem tantas arquiteturas RNN diferentes e suas variações).Outra razão para essas muitas arquiteturas diferentes é que uma das características da RNN é que elas não são tão tratáveis, matematicamente ou não, em comparação com o modelo feed-forward.Como resultado, impulsionados por insights matemáticos ou por uma abordagem simples de tentativa e erro, muitas possibilidades diferentes estão sendo testadas.

Isso não quer dizer que a rede de feedback seja uma caixa preta total; na verdade, algumas das RNNs, como a Redes Hopfield são bastante bem compreendidos.Acontece que a matemática normalmente é mais complicada (pelo menos para mim ;-))

Eu acho que o que foi dito acima, geralmente (muito geralmente!), aborda elísio devoradoperguntas de (o OP) de "o que a RNN faz em vez disso", e a "tarefas gerais para as quais são usados".Para complementar esta informação, aqui está uma pesquisa incompleta e informal de aplicações de RNNs.As dificuldades em reunir tal lista são múltiplas:

  • a sobreposição de aplicações entre redes feed-forward e RNNs (como resultado, isso esconde a especificidade dos RNNs)
  • a natureza muitas vezes altamente especializada das aplicações (ou permanecemos em conceitos muito abrangentes, como "classificação" ou mergulhamos em "Previsão de mudanças de carbono em séries de benzenos saturados" ;-))
  • o hype frequentemente associado às redes neurais, quando descrito em textos de vulgarização

De qualquer forma, aqui está a lista

  • modelagem, em particular a aprendizagem de sistemas dinâmicos [frequentemente não lineares]
  • Classificação (agora, FF Net também é usado para isso...)
  • Otimização combinatória

Também existem muitas aplicações associadas à dimensão temporal das RNNs (outra área onde as redes FF normalmente não seriam encontradas)

  • Detector de movimento
  • previsão de carga (como acontece com utilidades ou serviços:prever a carga no curto prazo)
  • processamento de sinal:filtragem e controle

Outras dicas

Há uma suposição na estrutura básica do Aprendizado por Reforço de que sua sequência de estado/ação/recompensa é um Processo de Decisão de Markov.Isso basicamente significa que você não precisa se lembrar de nenhuma informação sobre os estados anteriores deste episódio para tomar decisões.

Mas isto obviamente não é verdade para todos os problemas.Às vezes você precisa se lembrar de algumas coisas recentes para tomar decisões informadas.Às vezes você pode incluir explicitamente as coisas que precisam ser lembradas no sinal de estado, mas em geral gostaríamos que nosso sistema aprendesse o que precisa ser lembrado.Isso é chamado de Processo de Decisão de Markov Parcialmente Observável (POMDP), e há uma variedade de métodos usados ​​para lidar com isso.Uma solução possível é usar uma rede neural recorrente, uma vez que incorpora detalhes de etapas de tempo anteriores na decisão atual.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top