Backpropagation ด้วย Softmax / Cross Entropy
ฉันพยายามที่จะเข้าใจวิธีการทำงานของ backpropagation สำหรับเลเยอร์เอาต์พุต softmax / cross-entropy ฟังก์ชันข้อผิดพลาดข้ามเอนโทรปีคือ E(t,o)=−∑jtjlogojE(t,o)=−∑jtjlogojE(t,o)=-\sum_j t_j \log o_j ด้วยและเป็นเป้าหมายและเอาต์พุตที่เซลล์ประสาทตามลำดับ ผลรวมอยู่เหนือเซลล์ประสาทแต่ละเซลล์ในชั้นเอาต์พุต นั้นเป็นผลมาจากฟังก์ชั่น softmax:tttooojjjojojo_j oj=softmax(zj)=ezj∑jezjoj=softmax(zj)=ezj∑jezjo_j=softmax(z_j)=\frac{e^{z_j}}{\sum_j e^{z_j}} อีกครั้งผลรวมจะอยู่เหนือแต่ละเซลล์ประสาทในเลเยอร์เอาต์พุตและคืออินพุตไปยังเซลล์ประสาท :zjzjz_jjjj zj=∑iwijoi+bzj=∑iwijoi+bz_j=\sum_i w_{ij}o_i+b นั่นคือผลรวมกว่าเซลล์ทั้งหมดในชั้นก่อนหน้านี้กับการส่งออกของพวกเขาที่สอดคล้องกันและน้ำหนักต่อเซลล์ประสาทบวกอคติขoioio_iwijwijw_{ij}jjjbbb ตอนนี้เพื่ออัปเดตน้ำหนักที่เชื่อมต่อเซลล์ประสาทในชั้นเลเยอร์เอาท์พุทกับเซลล์ประสาทในชั้นก่อนหน้าฉันต้องคำนวณอนุพันธ์บางส่วนของฟังก์ชันข้อผิดพลาดโดยใช้กฎลูกโซ่:wijwijw_{ij}jjjiii ∂E∂wij=∂E∂oj∂oj∂zj∂zj∂wij∂E∂wij=∂E∂oj∂oj∂zj∂zj∂wij\frac{\partial E} {\partial w_{ij}}=\frac{\partial E} {\partial o_j} \frac{\partial o_j} {\partial z_{j}} \frac{\partial z_j} {\partial w_{ij}} กับเป็น input เพื่อเซลล์ประสาทญzjzjz_jjjj เทอมสุดท้ายค่อนข้างเรียบง่าย เนื่องจากมีน้ำหนักเพียงหนึ่งเดียวระหว่างและอนุพันธ์คือ:iiijjj ∂zj∂wij=oi∂zj∂wij=oi\frac{\partial z_j} {\partial w_{ij}}=o_i เทอมแรกคือการสืบทอดของฟังก์ชันข้อผิดพลาดเกี่ยวกับเอาต์พุต :ojojo_j ∂E∂oj=−tjoj∂E∂oj=−tjoj\frac{\partial …