आरएनएन एक डीप न्यूरल नेटवर्क (डीएनएन) है, जहां प्रत्येक परत नया इनपुट ले सकती है, लेकिन इसके समान पैरामीटर हैं। BPT एक ऐसे नेटवर्क पर Back Propagation के लिए एक फैंसी शब्द है जो खुद Gradient Descent के लिए एक फैंसी शब्द है।
का कहना है कि RNN आउटपुट y टी हर कदम और में
ई आर आर ओ आर टी = ( y टी - yy^t
errort=(yt−y^t)2
फ़ंक्शन को समझने के लिए वजनों को सीखने के लिए हमें प्रश्न का उत्तर देने के लिए ग्रेडिएंट्स की आवश्यकता होती है "नुकसान के फ़ंक्शन में पैरामीटर कितना बदलाव करता है?" और दिए गए दिशा में मापदंडों को स्थानांतरित करें:
∇errort=−2(yt−y^t)∇y^t
यानी हमारे पास एक DNN है जहां हमें इस बात पर प्रतिक्रिया मिलती है कि प्रत्येक स्तर पर भविष्यवाणी कितनी अच्छी है। चूंकि पैरामीटर में बदलाव DNN (टाइमस्टेप) में हर परत को बदल देगा और हर परत आने वाले आउटपुट में योगदान करती है जिसके लिए इस खाते की आवश्यकता है।
स्पष्ट रूप से देखने के लिए एक साधारण एक न्यूरॉन-वन लेयर नेटवर्क लें:
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⎞⎠⎟
δ
⎡⎣⎢a~b~c~⎤⎦⎥←⎡⎣⎢abc⎤⎦⎥+δ(yt−y^t)∇y^t
∇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.