RNN, her katmanın yeni girdi alabileceği ancak aynı parametrelere sahip olabileceği bir Derin Sinir Ağıdır (DNN). BPT, Gradient Descent için süslü bir kelime olan böyle bir ağda Geri Yayılım için süslü bir kelimedir.
Ki bu RYSA çıkışlar her aşamada ve
errort=(yt - y t)2y^t
errort=(yt−y^t)2
Ağırlıkları öğrenmek için fonksiyonun "parametredeki bir değişiklik kayıp fonksiyonunu ne kadar etkiliyor?" ve parametreleri şu şekilde hareket ettirin:
∇errort=−2(yt−y^t)∇y^t
Yani, her katmanda tahminin ne kadar iyi olduğuna dair geri bildirim aldığımız bir DNN var. Parametredeki bir değişiklik DNN'deki (timestep) her katmanı değiştireceğinden ve her katman bunun hesaba katılması gereken sonraki çıktılara katkıda bulunduğundan.
Bunu yarı açık olarak görmek için basit bir nöron-bir katman ağı alın:
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⎞⎠⎟
İle öğrenme hızı bir eğitim aşaması o zaman:
δ
⎡⎣⎢a~b~c~⎤⎦⎥←⎡⎣⎢abc⎤⎦⎥+δ(yt−y^t)∇y^t
Gördüğümüz olduğu için hesapla için Eğer ihtiyaç dışarı hesapla yani roll . Ne önermektir basitçe kırmızı kısım gözardı kırmızı kısmı için hesapla değil -recurse ayrıca. Sanırım kaybın şöyle bir şey∇y^t+1∇y^tt
error=∑t(yt−y^t)2
Belki de her adım, kümelenmede yeterli olan kaba bir yöne katkıda bulunur? Bu, sonuçlarınızı açıklayabilir, ancak yöntem / kayıp işleviniz hakkında daha fazla şey duymakla gerçekten ilgilenirim! Ayrıca iki zaman aralığı pencereli YSA ile bir karşılaştırmayla ilgilenirsiniz.
edit4: Yorumları okuduktan sonra mimariniz bir RNN değil gibi görünüyor.
RNN: Durum bilgisi olan - gizli durumu süresiz olarak ileriht
Bu sizin modeliniz ama eğitim farklı.
Modeliniz: Vatansız - her adımda yeniden inşa edilen gizli durum
edit2: DNN'lere daha fazla ref ekledi edit3: sabit adım adım ve bazı gösterim düzenleme5: Yanıt / açıklamadan sonra modelinizin yorumu düzeltildi.