ความหมายของ Backpropagation
Backpropagation (การแพร่ย้อนกลับ) นิยามถึงกระบวนการทั้งหมดที่ครอบคลุมทั้งการคำนวณเงรดิเอนต์ (gradient) และการใช้งานใน stochastic gradient descent ทางเทคนิค Backpropagation ถูกใช้เพื่อคำนวณเงรดิเอนต์ของข้อผิดพลาด (error) ของเครือข่าย เทียบกับน้ำหนักที่ปรับเปลี่ยนได้ (modifiable weights) ของเครือข่าย
ลักษณะเฉพาะ
ลักษณะเฉพาะของ Backpropagation คือ วิธีการแบบวนซ้ำ (iterative), แบบเวียนเกิด (recursive) และมีประสิทธิภาพ (effective) ที่คำนวณน้ำหนักที่อัปเดต (updated weight) เพื่อปรับปรุงเครือข่ายจนกว่าจะสามารถทำหน้าที่ที่กำลังฝึกได้ จำเป็นต้องรู้อนุพันธ์ (Derivatives) ของฟังก์ชันการเปิดใช้งาน (activation function) ในขณะออกแบบเว็บ (web design time) สำหรับ Backpropagation
Backpropagation มักใช้ในการฝึกเครือข่ายประสาท (neural network training) และคำนวณฟังก์ชันสูญเสีย (loss function) เกี่ยวกับน้ำหนักของเครือข่าย มันทำงานกับเครือข่ายประสาทหลายชั้น (multi-layer neural network) และสังเกตรูปแบบภายใน (internal representations) ของการแมปปิง input-output
เป็นรูปแบบมาตรฐานของการฝึกเครือข่ายเทียม (artificial network training) ที่ช่วยคำนวณ gradient loss function เทียบกับน้ำหนักทั้งหมดในเครือข่าย อัลกอริทึม Backpropagation ใช้ฝึกเครือข่ายประสาทให้มีประสิทธิภาพมากขึ้นผ่านวิธี chain rule มันนิยามว่าหลังจากการ forward ทุกครั้ง Backpropagation จะดำเนินการ backward pass ผ่านเว็บโดยปรับพารามิเตอร์ของโมเดล
Gradient นี้ถูกใช้ในอัลกอริทึม stochastic gradient descent แบบง่าย เพื่อหาน้ำหนักที่ลดข้อผิดพลาด (minimizes the error) ข้อผิดพลาดแพร่ย้อนกลับ (propagate backwards) จากโหนดเอาต์พุต (output nodes) ไปยังโหนดภายใน (inner nodes)
กระบวนการเรียนรู้
Backpropagation เรียนรู้โดยการประมวลผลชุดข้อมูลฝึก (training tuples) แบบวนซ้ำ เปรียบเทียบการทำนายของเครือข่ายสำหรับแต่ละทูเพิลกับค่าเป้าหมายที่ทราบจริง (actual known target value) ค่าเป้าหมายสามารถเป็นป้ายกำกับคลาสที่ทราบ (known class label) ของทูเพิลฝึก (สำหรับปัญหาการจัดประเภท) หรือค่าต่อเนื่อง (continuous value) (สำหรับการทำนาย)
สำหรับแต่ละทูเพิลฝึก น้ำหนักจะถูกปรับเปลี่ยนเพื่อลดค่าเฉลี่ยกำลังสองของข้อผิดพลาด (mean squared error) ระหว่างการทำนายของเครือข่ายและค่าเป้าหมายจริง การปรับเปลี่ยนเหล่านี้ทำในทิศทาง "ย้อนหลัง" (backwards) นั่นคือ จากชั้นเอาต์พุต ผ่านแต่ละชั้นซ่อน (hidden layer) ลงไปยังชั้นซ่อนแรก (first hidden layer) (ดังนั้นจึงชื่อ backpropagation) แม้ไม่ได้รับประกัน แต่โดยทั่วไปน้ำหนักจะรวมตัว (converge) และกระบวนการเรียนรู้สิ้นสุดลง
ประเภทของ Backpropagation
มีสองประเภทของ Backpropagation ดังนี้:
Static Back Propagation – ในประเภทนี้ ผลลัพธ์แบบคงที่ (static output) ถูกสร้างขึ้นเนื่องจากการแมปปิงอินพุตแบบคงที่ (static input) สามารถแก้ปัญหาการจัดประเภทแบบคงที่ได้ เช่น การจดจำตัวอักษรด้วยวิทยา (optical character recognition)
Recurrent Backpropagation – การแพร่ย้อนกลับแบบเวียนเกิด (Recurrent Propagation) ถูกนำไปข้างหน้าหรือดำเนินการต่อจนกว่าจะถึงค่าที่กำหนดหรือค่าเกณฑ์ (threshold value) หลังจากค่านั้น ข้อผิดพลาด (bug) จะถูกคำนวณและแพร่ย้อนกลับ