Estou tentando entender como o rnn pode ser usado para prever sequências, trabalhando com um exemplo simples. Aqui está minha rede simples, consistindo em uma entrada, um neurônio oculto e uma saída:
O neurônio oculto é a função sigmóide e a saída é considerada uma saída linear simples. Então, eu acho que as obras de rede da seguinte forma: se o começa unidade escondida no estado s
, e estamos processando um ponto de dados que é uma sequência de comprimento , , então:( x 1 , x 2 , x 3 )
No momento 1
, o valor previsto, , é
No momento 2
, temos
No momento 3
, temos
Por enquanto, tudo bem?
O rnn "desenrolado" é assim:
Se usarmos a soma do termo do erro quadrado para a função objetivo, como ela será definida? Em toda a sequência? Nesse caso, teríamos algo como ?
Os pesos são atualizados somente depois que toda a sequência foi analisada (neste caso, a sequência de 3 pontos)?
Quanto ao gradiente em relação aos pesos, precisamos calcular , tentarei fazer isso simplesmente examinando as 3 equações para acima, se tudo estiver correto. Além de fazer dessa maneira, isso não me parece propagação traseira de baunilha, porque os mesmos parâmetros aparecem em diferentes camadas da rede. Como nos ajustamos para isso?
Se alguém puder me ajudar nesse exemplo de brinquedo, eu ficaria muito agradecido.