Was Sie beschreiben, ist in der Tat ein "Gleitzeitfenster" -Ansatz und unterscheidet sich von wiederkehrenden Netzwerken. Sie können diese Technik mit jedem Regressionsalgorithmus verwenden. Dieser Ansatz unterliegt einer enormen Einschränkung: Ereignisse in den Eingängen können nur mit anderen Ein- / Ausgängen korreliert werden, die höchstens t Zeitschritte voneinander entfernt sind, wobei t die Größe des Fensters ist.
Man kann sich zB eine Markov-Ordnungskette t vorstellen. RNNs leiden theoretisch nicht darunter, aber in der Praxis ist das Lernen schwierig.
Es ist am besten, eine RNN im Gegensatz zu einem Feedfoward-Netzwerk zu veranschaulichen. Betrachten Sie das (sehr) einfache Feedforward-Netzwerk wobei die Ausgabe, die Wichtungsmatrix und die Eingabe ist.y=WxyWx
Jetzt verwenden wir ein wiederkehrendes Netzwerk. Jetzt haben wir eine Folge von Eingaben, daher werden wir die Eingaben für die i-te Eingabe mit . Die entsprechende i-te Ausgabe wird dann über berechnet .xiyi=Wxi+Wryi−1
Somit haben wir eine weitere Gewichtsmatrix die die Ausgabe im vorherigen Schritt linear in die aktuelle Ausgabe .Wr
Dies ist natürlich eine einfache Architektur. Am gebräuchlichsten ist eine Architektur, bei der Sie eine verborgene Ebene haben, die immer wieder mit sich selbst verbunden ist. Sei die verborgene Schicht im Zeitschritt i. Die Formeln lauten dann:hi
h0=0
hi=σ(W1xi+Wrhi−1)
yi=W2hi
Wobei eine geeignete Nichtlinearitäts- / Übertragungsfunktion wie das ist. und sind die Verbindungsgewichte zwischen der Eingabe- und der verborgenen und der verborgenen und der Ausgabeebene. repräsentiert die wiederkehrenden Gewichte.σW1W2Wr
Hier ist ein Diagramm der Struktur: