Ein RNN ist ein Deep Neural Network (DNN), bei dem jede Schicht neue Eingaben annehmen kann, aber dieselben Parameter hat. BPT ist ein ausgefallenes Wort für Back Propagation in einem solchen Netzwerk, das selbst ein ausgefallenes Wort für Gradient Descent ist.
Angenommen , dass die Ausgänge RNN y t in jedem Schritt und
e r r o r t = ( y t - y t ) 2y^t
errort=(yt−y^t)2
Um die Gewichte zu lernen, benötigen wir Gradienten für die Funktion, um die Frage zu beantworten: "Wie stark wirkt sich eine Änderung des Parameters auf die Verlustfunktion aus?" und bewegen Sie die Parameter in die Richtung, die gegeben ist durch:
∇errort=−2(yt−y^t)∇y^t
Das heißt, wir haben eine DNN, in der wir Feedback darüber erhalten, wie gut die Vorhersage auf jeder Schicht ist. Da eine Änderung des Parameters jede Schicht im DNN (Zeitschritt) ändert und jede Schicht zu den bevorstehenden Ausgaben beiträgt, muss dies berücksichtigt werden.
Nehmen Sie ein einfaches Ein-Neuron-Ein-Schicht-Netzwerk, um dies semi-explizit zu sehen:
y^t+1=∂∂ay^t+1=∂∂by^t+1=∂∂cy^t+1=⟺∇y^t+1=f(a+bxt+cy^t)f′(a+bxt+cy^t)⋅c⋅∂∂ay^tf′(a+bxt+cy^t)⋅(xt+c⋅∂∂by^t)f′(a+bxt+cy^t)⋅(y^t+c⋅∂∂cy^t)f′(a+bxt+cy^t)⋅⎛⎝⎜⎡⎣⎢0xty^t⎤⎦⎥+c∇y^t⎞⎠⎟
With δ the learning rate one training step is then:
⎡⎣⎢a~b~c~⎤⎦⎥←⎡⎣⎢abc⎤⎦⎥+δ(yt−y^t)∇y^t
What we see is that in order to calculate ∇y^t+1 you need to calculate i.e roll out ∇y^t. What you propose is to simply disregard the red part calculate the red part for taber nicht weiter rekursiv. Ich gehe davon aus, dass Ihr Verlust so etwas wie ist
e r r o r = ∑t( yt- y^t)2
Vielleicht trägt dann jeder Schritt eine grobe Richtung bei, die aggregiert ausreicht? Dies könnte Ihre Ergebnisse erklären, aber ich wäre sehr daran interessiert, mehr über Ihre Methode / Verlustfunktion zu erfahren! Wäre auch interessiert an einem Vergleich mit einem Zwei-Zeitschritt-Fenster von ANN.
edit4: Nach dem Lesen von Kommentaren scheint Ihre Architektur keine RNN zu sein.
RNN: Stateful - Verborgenen Zustand weiterleiten htauf unbestimmte Zeit
Dies ist Ihr Modell, aber das Training ist anders.
Ihr Modell: Zustandslos - Versteckter Zustand wird in jedem Schritt
wiederhergestellt. Bearbeiten2: DNNs wurden mehr Verweise hinzugefügt. Bearbeiten3: Feste Abstufung und etwas Notation. Bearbeiten5: Die Interpretation Ihres Modells nach Ihrer Antwort / Erläuterung wurde korrigiert.