RNN เป็น Deep Neural Network (DNN) ซึ่งแต่ละชั้นอาจรับอินพุตใหม่ แต่มีพารามิเตอร์เดียวกัน BPT เป็นคำแฟนซีสำหรับการแพร่กระจายย้อนกลับบนเครือข่ายซึ่งเป็นคำแฟนซีสำหรับการไล่ระดับสี
บอกว่า RNN เอาท์พุทYในแต่ละขั้นตอนและ
อีR R o R T = ( Y T - Y T ) 2Y^เสื้อ
e r r o rเสื้อ= ( yเสื้อ- y^เสื้อ)2
เพื่อเรียนรู้น้ำหนักเราต้องการการไล่ระดับสีสำหรับฟังก์ชันเพื่อตอบคำถาม"การเปลี่ยนแปลงของพารามิเตอร์มีผลต่อฟังก์ชันการสูญเสียมากแค่ไหน" และย้ายพารามิเตอร์ไปในทิศทางที่กำหนดโดย:
∇ อีR R o rเสื้อ= - 2 ( yเสื้อ-y^เสื้อ) ∇ y^เสื้อ
คือเรามี DNN ที่เราได้รับคำติชมว่าการทำนายแต่ละชั้นนั้นดีแค่ไหน เนื่องจากการเปลี่ยนแปลงของพารามิเตอร์จะเปลี่ยนทุกเลเยอร์ใน DNN (การประทับเวลา) และทุกเลเยอร์มีส่วนร่วมกับเอาท์พุตที่กำลังจะมาถึงซึ่งจำเป็นต้องนำมาพิจารณา
ใช้เครือข่ายเลเยอร์หนึ่งเดียวที่เรียบง่ายเพื่อดูสิ่งนี้อย่างชัดเจน:
Y^t + 1=∂∂aY^t + 1=∂∂ขY^t + 1=∂∂คY^t + 1=⟺∇ y^t + 1=ฉ( a + b xเสื้อ+ c y^เสื้อ)ฉ'( a + b xเสื้อ+ c y^เสื้อ) ⋅ ค⋅ ∂∂aY^เสื้อฉ'( a + b xเสื้อ+ c y^เสื้อ) ⋅ ( xเสื้อ+ ค⋅ ∂∂ขY^เสื้อ)ฉ'( a + b xเสื้อ+ c y^เสื้อ) ⋅ ( y^เสื้อ+ ค⋅ ∂∂คY^เสื้อ)ฉ'( a + b xเสื้อ+ c y^เสื้อ)⋅⎛⎝⎜⎡⎣⎢0xเสื้อY^เสื้อ⎤⎦⎥+ c ∇ y^เสื้อ⎞⎠⎟
ด้วยอัตราการเรียนรู้ขั้นตอนการฝึกอบรมหนึ่งแล้ว:
[ ~ ~ ข~ ค ] ← [ ขค ] + δ ( Y T - Y T ) ∇ Yเสื้อδ
⎡⎣⎢a~b~c~⎤⎦⎥←⎡⎣⎢abc⎤⎦⎥+δ(yt−y^t)∇y^t
สิ่งที่เราเห็นก็คือว่าในการคำนวณที่คุณต้องการในการคำนวณคือม้วนออก∇ Yเสื้อ สิ่งที่คุณเสนอคือการไม่สนใจส่วนสีแดงคำนวณส่วนสีแดงสำหรับtแต่จะไม่เรียกเก็บเพิ่มเติม ฉันคิดว่าการสูญเสียของคุณเป็นอย่างไร∇y^t+1∇y^tt
error=∑t(yt−y^t)2
บางทีแต่ละขั้นตอนจะมีส่วนร่วมในทิศทางที่หยาบซึ่งเพียงพอในการรวม? สิ่งนี้สามารถอธิบายผลลัพธ์ของคุณ แต่ฉันสนใจที่จะรับฟังเพิ่มเติมเกี่ยวกับวิธี / ฟังก์ชั่นการสูญเสียของคุณ! และจะสนใจในการเปรียบเทียบกับการประทับเวลาสองครั้งที่หน้าต่าง ANN
edit4: หลังจากอ่านความคิดเห็นดูเหมือนว่าสถาปัตยกรรมของคุณไม่ใช่ RNN
ht
แบบจำลองของคุณ: ไร้รัฐ - สถานะที่ซ่อนสร้างใหม่ในแต่ละขั้นตอนการแก้ไข 2
: เพิ่มผู้อ้างอิงเพิ่มเติมไปยัง DNNs edit3: gradstep คงที่และการแก้ไขสัญลักษณ์ 5: แก้ไขการตีความโมเดลของคุณหลังจากคำตอบ / การชี้แจง