RNN to Deep Neural Network (DNN), gdzie każda warstwa może przyjmować nowe dane wejściowe, ale ma te same parametry. BPT jest fantazyjnym słowem dla propagacji wstecznej w takiej sieci, która sama w sobie jest fantazyjnym słowem dla Gradient Descent.
Załóżmy, że w RNN WYJŚCIA y t w każdym etapie i
e r r o r t = ( y t - r t ) 2y^t
e r r or rt= ( yt- y^t)2)
Aby poznać wagi, potrzebujemy gradientów, aby funkcja mogła odpowiedzieć na pytanie „jak bardzo zmiana parametru wpływa na funkcję straty?” i przesuń parametry w kierunku podanym przez:
∇ e r r or rt=−2(yt−y^t)∇y^t
To znaczy, mamy DNN, gdzie otrzymujemy informację zwrotną o tym, jak dobre są prognozy dla każdej warstwy. Ponieważ zmiana parametru zmieni każdą warstwę w DNN (timestep), a każda warstwa przyczynia się do nadchodzących wyników, należy to uwzględnić.
Weź prostą sieć z jedną warstwą jeden neuron, aby zobaczyć to częściowo jawnie:
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 t but not recurse further. I assume that your loss is something like
error=∑t(yt−y^t)2
Maybe each step will then contribute a crude direction which is enough in aggregation? This could explain your results but I'd be really interested in hearing more about your method/loss function! Also would be interested in a comparison with a two timestep windowed ANN.
edit4: After reading comments it seems like your architecture is not an RNN.
RNN: Stateful - carry forward hidden state ht indefinitely
This is your model but the training is different.
Your model: Stateless - hidden state rebuilt in each step
edit2 : added more refs to DNNs
edit3 : fixed gradstep and some notation
edit5 : Fixed the interpretation of your model after your answer/clarification.