J'essaie de comprendre comment les rnn peuvent être utilisés pour prédire des séquences en travaillant à travers un exemple simple. Voici mon réseau simple, composé d'une entrée, d'un neurone caché et d'une sortie:
Le neurone caché est la fonction sigmoïde et la sortie est considérée comme une simple sortie linéaire. Donc, je pense que le réseau fonctionne comme suit: si l'unité cachée commence dans l'état s
, et que nous traitons un point de données qui est une séquence de longueur , , alors:
Au moment 1
, la valeur prédite, , est
Parfois 2
, nous avons
Parfois 3
, nous avons
Jusqu'ici tout va bien?
Le rnn "déroulé" ressemble à ceci:
Si nous utilisons une somme de termes d'erreur carrés pour la fonction objectif, comment est-elle définie? Sur toute la séquence? Dans ce cas, nous aurions quelque chose comme ?
Les poids sont-ils mis à jour uniquement une fois que la séquence entière a été examinée (dans ce cas, la séquence en 3 points)?
En ce qui concerne le gradient par rapport aux poids, nous devons calculer , je vais essayer de le faire simplement en examinant les 3 équations de ci-dessus, si tout le reste semble correct. En plus de le faire de cette façon, cela ne ressemble pas à une rétro-propagation de la vanille, car les mêmes paramètres apparaissent dans différentes couches du réseau. Comment ajustons-nous cela?
Si quelqu'un peut m'aider à travers cet exemple de jouet, je serais très reconnaissant.