Qual é a diferença entre uma rede neural de feed-forward e recorrente ?
Por que você usaria um sobre o outro?
Existem outras topologias de rede?
Intimamente relacionados: stats.stackexchange.com/questions/287276/…
As RNAs de avanço de alimentação permitem que os sinais viajem apenas em uma direção: da entrada para a saída. Não há feedback (loops); ou seja , a saída de qualquer camada não afeta a mesma camada. As RNAs de feed-forward tendem a ser redes simples que associam entradas a saídas. Eles são amplamente utilizados no reconhecimento de padrões. Esse tipo de organização também é chamado de baixo para cima ou de cima para baixo.
As redes de feedback (ou recorrentes ou interativas) podem ter sinais viajando em ambas as direções, introduzindo loops na rede. As redes de feedback são poderosas e podem ser extremamente complicadas. Computações derivadas de entradas anteriores são retornadas à rede, o que lhes dá um tipo de memória. As redes de feedback são dinâmicas; seu 'estado' está mudando continuamente até atingirem um ponto de equilíbrio. Eles permanecem no ponto de equilíbrio até que a entrada mude e um novo equilíbrio precise ser encontrado.
As redes neurais feedforward são ideais para modelar relacionamentos entre um conjunto de variáveis ​​preditivas ou de entrada e uma ou mais variáveis ​​de resposta ou saída. Em outras palavras, eles são apropriados para qualquer problema de mapeamento funcional em que queremos saber como várias variáveis ​​de entrada afetam a variável de saída. As redes neurais feedforward de multicamadas, também chamadas de perceptrons de múltiplas camadas (MLP), são o modelo de rede neural mais amplamente estudado e utilizado na prática.
Como exemplo de rede de feedback, posso me lembrar da rede de Hopfield . O principal uso da rede de Hopfield é como memória associativa. Uma memória associativa é um dispositivo que aceita um padrão de entrada e gera uma saída como o padrão armazenado que está mais associado à entrada. A função da memória associada é recuperar o padrão armazenado correspondente e, em seguida, produzir uma versão clara do padrão na saída. As redes Hopfield são normalmente usadas para esses problemas com vetores de padrões binários e o padrão de entrada pode ser uma versão barulhenta de um dos padrões armazenados. Na rede Hopfield, os padrões armazenados são codificados como os pesos da rede.
Mapas auto-organizados de Kohonen(SOM) representam outro tipo de rede neural que é marcadamente diferente das redes multicamadas de feedforward. Ao contrário do treinamento no MLP feedforward, o treinamento ou aprendizado do SOM é frequentemente chamado de não supervisionado, porque não há saídas de destino conhecidas associadas a cada padrão de entrada no SOM e durante o processo de treinamento, o SOM processa os padrões de entrada e aprende a agrupar ou segmentar os dados através do ajuste de pesos (que o torna um modelo de rede neural importante para redução de dimensão e agrupamento de dados). Um mapa bidimensional é normalmente criado de tal maneira que as ordens das inter-relações entre as entradas são preservadas. O número e a composição dos clusters podem ser determinados visualmente com base na distribuição de saída gerada pelo processo de treinamento. Com apenas variáveis ​​de entrada na amostra de treinamento,
(Os diagramas são do site de Inteligência Artificial C463 / B551 de Dana Vrajitoru .)
Uma rede de feed forward que iterativamente usa suas saídas como entradas conta como uma rede recorrente?
Sim, esse é realmente o caso.
Meu comentário anterior estava errado. Parte deste post foi aparentemente plagiada por essa pessoa (além de algumas pequenas alterações de palavras) sem crédito.
— Glen_b 5/05
Estou tentando entender matematicamente por que as RNNs são superiores às redes de encaminhamento de feed. Existem exemplos em que é muito difícil aproximar pelo feed-forward ANN, mas fácil com o RNN.
— Pikachuchameleon
O que George Dontas escreve está correto, no entanto, o uso de RNNs na prática hoje está restrito a uma classe mais simples de problemas: séries temporais / tarefas seqüenciais.
( i , t )(Eu,t)EuEutti ∈ RnEu∈RnEuEui ∈ ( Rn)∗Eu∈(Rn)∗
Demonstrou-se que as RNNs são capazes de representar qualquer sequência mensurável para mapeamento de sequência pelo Hammer.
Portanto, as RNNs estão sendo usadas hoje em dia para todos os tipos de tarefas seqüenciais: previsão de séries temporais, rotulagem de sequências, classificação de sequências etc. Uma boa visão geral pode ser encontrada na página de Schmidhuber nas RNNs .
"Enquanto redes feedforward são usadas para aprender conjuntos de dados como (i, t) onde ie t são vetores (por exemplo, i∈Rn, para redes recorrentes sempre serei uma sequência, por exemplo, i∈ (Rn) ∗" Eu sei que esta pergunta foi perguntou há muito tempo, mas você se importaria de explicar o que isso significa em termos de leigo? Preciso justificar o motivo pelo qual escolhi usar uma rede de feed forward em uma RNN para o meu projeto, e acho que esse pode ser o motivo. ou, você poderia me conectar-se a uma fonte que vai permitir-me para fazer esta justificação Depois de pesquisar eu não consigo encontrar um para mim Obrigado, qualquer resposta é muito apreciada?.!
Esta resposta está meio desatualizada agora. Embora os RNNs se prestem naturalmente a sequenciar dados, eles também podem ser usados ​​para fazer previsões sobre entradas estáticas (como imagens ou outras). Veja: Rede Neural Convolucional Recorrente para Reconhecimento de Objetos e Evidência de que os circuitos recorrentes são críticos para a execução do fluxo ventral do comportamento do reconhecimento de objetos principais
O que é realmente interessante ao fazer esta pergunta?
Em vez de dizer que RNN e FNN têm um nome diferente. Então eles são diferentes. , Acho que o mais interessante é em termos de modelagem do sistema dinâmico, a RNN difere muito da FNN?
Houve um debate para modelagem de sistemas dinâmicos entre a rede neural recorrente e a rede neural Feedforward com recursos adicionais como atrasos de tempo anteriores (FNN-TD).
Pelo meu conhecimento, depois de ler esses artigos nos anos 90 ~ 2010. A maioria da literatura prefere que o RNN de baunilha é melhor que o FNN, pois o RNN usa uma memória dinâmica, enquanto o FNN-TD é uma memória estática .
No entanto, não há muitos estudos numéricos comparando esses dois. O primeiro [1] mostrou que, para modelagem de sistemas dinâmicos, o FNN-TD mostra desempenho comparável ao RNN de baunilha quando está livre de ruído, enquanto executa um pouco pior quando há ruído. Nas minhas experiências em modelagem de sistemas dinâmicos, geralmente vejo que o FNN-TD é bom o suficiente.
Qual é a principal diferença em como tratar efeitos de memória entre RNN e FNN-TD?
Xn, Xn - 1, … , Xn - kXn,Xn-1,...,Xn-kXn + 1Xn+1
O FNN-TD é a maneira mais geral e abrangente de tratar os chamados efeitos de memória . Por ser brutal, abrange qualquer tipo, tipo e efeito de memória, teoricamente. A única desvantagem é que são necessários muitos parâmetros na prática.
A memória na RNN nada mais é do que representada como uma "convolução" geral das informações anteriores . Todos nós sabemos que a convolução entre duas sequências escalares em geral não é um processo reversível e a desconvolução é mais frequentemente incorreta.
Portanto, o RNN está realmente comprimindo as informações de memória anteriores com perda, fazendo convolução, enquanto o FNN-TD apenas as expõe de um modo sem perda de informações de memória. Observe que você pode reduzir a perda de informações em convolução aumentando o número de unidades ocultas ou usando mais atrasos do que a RNN de baunilha. Nesse sentido, o RNN é mais flexível que o FNN-TD. O RNN não pode obter perda de memória como o FNN-TD e pode ser trivial mostrar que o número de parâmetros está na mesma ordem.
Eu sei que alguém pode querer mencionar que a RNN está carregando o efeito de longo tempo, enquanto a FNN-TD não pode. Para isso, quero apenas mencionar que, para um sistema dinâmico autônomo contínuo, da teoria de incorporação de Takens, é uma propriedade genérica para a incorporação existir para o FNN-TD com memória de tempo aparentemente curto para obter o mesmo desempenho que o tempo aparentemente longo. memória na RNN. Explica por que RNN e FNN-TD não diferem muito no exemplo de sistema dinâmico contínuo no início dos anos 90.
Agora vou mencionar o benefício da RNN. Para a tarefa de sistema dinâmico autônomo, usar termos mais anteriores, embora efetivamente seja o mesmo que usar FNN-TD com menos termos anteriores em teoria, numericamente seria útil, pois é mais robusto ao ruído. O resultado em [1] é consistente com esta opinião.
[1] Gençay, Ramazan e Tung Liu. "Modelagem e previsão não lineares com redes feedforward e recorrentes". Physica D: Fenómenos Não Lineares 108.1-2 (1997): 119-134.
[2] Pan, Shaowu e Karthik Duraisamy. "Descoberta orientada a dados de modelos de fechamento". pré-impressão do arXiv arXiv: 1803.09318 (2018).