Ich versuche zu verstehen, wie rnns verwendet werden können, um Sequenzen anhand eines einfachen Beispiels vorherzusagen. Hier ist mein einfaches Netzwerk, bestehend aus einem Eingang, einem versteckten Neuron und einem Ausgang:
Das versteckte Neuron ist die Sigmoidfunktion, und die Ausgabe wird als einfache lineare Ausgabe angesehen. Ich denke, das Netzwerk funktioniert wie folgt: Wenn die verborgene Einheit im Status startet s
und wir einen Datenpunkt verarbeiten, der eine Folge der Länge ist , dann:( x 1 , x 2 , x 3 )
Zu einem Zeitpunkt 1
, der vorhergesagte Wert, ist
Zur Zeit 2
haben wir
Zur Zeit 3
haben wir
So weit, ist es gut?
Das "abgerollte" RNN sieht folgendermaßen aus:
Wenn wir für die Zielfunktion eine Summe der quadratischen Fehlerterme verwenden, wie ist sie dann definiert? Auf die ganze Sequenz? In welchem Fall hätten wir so etwas wie ?
Werden Gewichte erst aktualisiert, wenn die gesamte Sequenz betrachtet wurde (in diesem Fall die 3-Punkt-Sequenz)?
Was den Gradienten in Bezug auf die Gewichte betrifft, müssen wir berechnen. Ich werde versuchen, dies einfach durch Untersuchen der 3 Gleichungen für oben zu tun , wenn alles andere korrekt aussieht. Abgesehen davon sieht dies für mich nicht nach Vanilla-Back-Propagation aus, da dieselben Parameter in verschiedenen Schichten des Netzwerks angezeigt werden. Wie stellen wir uns darauf ein?
Wenn mir jemand helfen kann, mich durch dieses Spielzeugbeispiel zu führen, wäre ich sehr dankbar.