Backpropagation (การส่งย้อนกลับ) นิยามกระบวนการทั้งหมดที่รวมทั้งการคำนวณ Gradient (ความชัน) และความต้องการใน Stochastic Gradient Descent ทางเทคนิค Backpropagation ใช้คำนวณ Gradient ของข้อผิดพลาด (Error) ของเครือข่ายเกี่ยวกับน้ำหนักที่ปรับเปลี่ยนได้ (Modifiable Weights) ของเครือข่าย
ลักษณะเฉพาะของ Backpropagation คือ แนวทางแบบวนซ้ำ (Iterative) แบบเรียกซ้ำ (Recursive) และมีประสิทธิภาพ (Effective) ที่คำนวณน้ำหนักที่อัปเดตเพื่อเพิ่มประสิทธิภาพเครือข่าย จนกว่าจะสามารถทำหน้าที่ที่กำลังฝึกอบรมได้ ต้องการ Derivatives ของ Activation Function ที่รู้จักในเวลาออกแบบเครือข่ายสำหรับ Backpropagation
Backpropagation ใช้กันอย่างแพร่หลายในการฝึกอบรม Neural Network และคำนวณ Loss Function สำหรับน้ำหนักของเครือข่าย ทำงานกับ Multi-layer Neural Network และค้นพบคำอธิบายภายใน (Internal Representation) ของการแมป Input-Output
เป็นรูปแบบมาตรฐานของการฝึกอบรมเครือข่ายเทียม (Artificial Network Training) ที่ช่วยคำนวณ Gradient Loss Function เกี่ยวกับน้ำหนักทั้งหมดในเครือข่าย อัลกอริทึม Backpropagation ใช้ฝึก Neural Network ให้มีประสิทธิภาพมากขึ้นผ่านวิธี Chain Rule
Gradient นี้ใช้ในอัลกอริทึม Stochastic Gradient Descent แบบง่าย เพื่อหาน้ำหนักที่ลด Error ต่ำสุด Error แพร่กระจายย้อนกลับ (Propagates Backward) จากโหนดเอาต์พุต (Output Nodes) ไปยังโหนดภายใน (Inner Nodes)
ขั้นตอนการฝึกอบรม Backpropagation (4 ขั้นตอน)
Initialization of weights (การเริ่มต้นน้ำหนัก): กำหนดค่าสุ่มเล็กๆ น้อยๆ
Feed-forward (การส่งต่อไปข้างหน้า): แต่ละหน่วย X รับสัญญาณนำเข้า และส่งสัญญาณนี้ไปยังหน่วยซ่อน (Hidden Units) Z1, Z2,... Zn แต่ละหน่วยซ่อนคำนวณ Activation Function และส่งสัญญาณ Z1 ไปยังหน่วยเอาต์พุตแต่ละตัว หน่วยเอาต์พุตคำนวณ Activation Function เพื่อสร้างการตอบสนองของรูปแบบนำเข้าที่กำหนด
Backpropagation of errors (การส่งย้อนกลับข้อผิดพลาด): แต่ละหน่วยเอาต์พุตเปรียบเทียบ Activation Yk กับค่าเป้าหมาย Tk เพื่อกำหนดข้อผิดพลาดที่เกี่ยวข้องสำหรับหน่วยนั้น บนพื้นฐานข้อผิดพลาด ปัจจัย δk (K = 1, ..., m) ถูกคำนวณ และใช้กระจายข้อผิดพลาดที่หน่วยเอาต์พุต Yk ย้อนกลับไปยังหน่วยทั้งหมดในเลเยอร์ก่อนหน้า ทương tự ปัจจัย δj (j = 1, ..., p) ถูกคำนวณสำหรับแต่ละหน่วยซ่อน Zj
Update weights and biases (อัปเดตน้ำหนักและไบแอส): ปรับน้ำหนักและไบแอสตามที่คำนวณได้
ประเภทของ Backpropagation
มี 2 ประเภทหลัก:
Static Back Propagation
ในประเภทนี้ สร้าง Static Output เนื่องจากการแมป Static Input ใช้แก้ปัญหาการจัดประเภทแบบคงที่ (Static Classification Problems) เช่น การรู้จำตัวอักษรด้วย الضوء (Optical Character Recognition)
Recurrent Backpropagation
Recurrent Propagation ถูกนำไปข้างหน้าหรือนำไปจนกว่าจะได้ค่าที่กำหนดหรือเกณฑ์ (Threshold) หลังจากค่านั้น Error จะถูกประเมินและส่งย้อนกลับ