E se inserirmos dados de sequência na rede feedforward?
Uma das principais vantagens do RNN é a capacidade de receber dados de comprimento variável, como no caso de sequências. No entanto, e se negligenciarmos esse caso e assumirmos alguns aplicativos que podem aceitar alguma janela fixa de entrada. Por exemplo, a previsão do tempo. Podemos inserir a temperatura dos últimos 300 dias, por exemplo, para permitir que a rede preveja a nova temperatura. Podemos corrigir essa janela de 300 o tempo todo para que tenhamos uma entrada de comprimento fixo.
Minha pergunta agora é: e se negligenciarmos o RNN neste caso e inserirmos essa janela de 300 dias em uma rede feedforward com 300 dimensões de entrada e uma saída que está fazendo regressão para ela? Qual será a saída em comparação com RNN? Em outras palavras, por que devo usar RNN neste caso?
Respostas
Uma resposta de impulso finito (FIR) RNN pode ser expressa como um gráfico acíclico direcionado (DAG), portanto, pode ser representado como um FFNN. Então, você poderia teoricamente fazer um FFNN equivalente a um RNN nesta situação.
Em termos de desempenho entre modelos não equivalentes, um RNN provavelmente seria melhor porque, como eles são inerentemente projetados para dados sequenciais. No caso da previsão de estatísticas do tempo, a natureza temporal dos elementos da sequência precisaria ser aprendida por um FFNN, enquanto um RNN teria conhecimento embutido de tais relações. O RNN também seria capaz de tirar vantagem da "memória" mais facilmente por meio dos mecanismos de passagem comuns, conforme visto em LSTMs e semelhantes.
Tudo depende da natureza dos dados em relação aos rótulos.
Por exemplo, se tudo o que você precisa para classificar apropriadamente a sequência de entrada é saber os valores em certos pontos fixos, então um mero perceptron multicamadas (MLP) poderia fazer.
Porém, se para classificar corretamente fosse necessário dar uma olhada nas tendências, talvez o MLP não se comportasse tão bem (isso dependeria dos dados reais, é claro).
Pode ser que os rótulos dependam de alguns padrões locais nos valores diários. Nesse caso, talvez uma rede convolucional 1D pudesse funcionar bem, porque a detecção de padrão local é precisamente sua tendência indutiva.
O viés indutivo das redes recorrentes é inerentemente sequencial e, portanto, muito bom quando a previsão pode ser obtida quando se olha valor após valor. Claro, as pessoas normalmente usam LSTMs ou GRUs em vez de RNNs vanilla devido ao problema do gradiente de desaparecimento.
Finalmente, as redes de autoatenção, que são feedforward, são atualmente o estado da arte em processamento de linguagem natural. Essas redes neurais de grafos disfarçadas podem obter, em geral, melhores representações de texto do que os LSTMs.
Então, resumindo : é perfeitamente possível usar uma rede feedforward em dados sequenciais.