การแพร่กระจายย้อนกลับ
ส่วนหนึ่งของเนื้อหา |
การเรียนรู้ของเครื่อง และ การทำเหมืองข้อมูล |
---|
การแพร่กระจายย้อนกลับ (backpropagation) เป็นขั้นตอนวิธีการเรียนรู้ของเครื่องสำหรับโครงข่ายประสาทเทียม[1]
ภาพรวม
[แก้]การแพร่กระจายย้อนกลับเป็นขั้นตอนวิธีที่สามารถทำการปรับแก้ (เรียนรู้) ค่าพารามิเตอร์น้ำหนักของโครงข่ายประสาทเทียม ซึ่งเป็นแบบจำลองทางคณิตศาสตร์ได้ไม่ว่าจะมีกี่ชั้นก็ตาม ได้รับการนำมาใช้เป็นวิธีการเรียนรู้หลักสำหรับการเรียนรู้เชิงลึก
ขั้นตอนวิธีมีดังนี้:
- กำหนดตัวอย่างโครงข่ายประสาทเทียมเพื่อการเรียนรู้
- ทำการคำนวณให้ได้ค่าขาออกของโครงข่าย แล้วหาค่าความผิดพลาด
- คำนวณค่าผลลัพธ์ที่คาดหวังและค่าสเกลสำหรับเซลล์ประสาทแต่ละเซลล์ และความแตกต่างระหว่างผลลัพธ์ที่คาดหวังและค่าจริง
- ทำการปรับแก้ค่าพารามิเตอร์น้ำหนักของเซลล์ประสาทแต่ละเซลล์เพื่อทำให้ข้อผิดพลาดลดลง
- พิจารณาว่าเซลล์ประสาทในระยะก่อนหน้าที่เชื่อมต่อด้วยน้ำหนักที่มากขึ้นจะต้องรับผิดชอบต่อข้อผิดพลาดในส่วนนั้น
- ทำการประมวลผลคล้ายกันนี้สำหรับกลุ่มของเซลล์ประสาทในขั้นก่อนหน้า และย้อนต่อไปยังขั้นก่อนหน้านั้นอีก
เมื่อทำตามขั้นตอนนี้แล้ว ค่าความผิดพลาดจะถูกแพร่กระจายย้อนกลับจากเซลล์ในชั้นสุดท้ายไปสู่ชั้นแรกสุด ทำให้ค่าพารามิเตอร์น้ำหนักในเซลล์ทั้งหมดได้รับการปรับแก้ ในทางเทคนิคแล้วการแพร่กระจายย้อนกลับจะคำนวณความชันของข้อผิดพลาดสำหรับพารามิเตอร์น้ำหนักที่เปลี่ยนแปลงค่าได้บนโครงข่าย[2] ค่าความชันนี้มักใช้ในวิธีการเคลื่อนลงตามความชัน ซึ่งเป็นขั้นตอนวิธีง่าย ๆ ที่ใช้ในการลดข้อผิดพลาดให้เหลือน้อยที่สุด คำว่าการแพร่กระจายย้อนกลับยังใช้ในความหมายทั่วไปกว่านั้นได้ โดยครอบคลุมขั้นตอนการค้นหาความชันและการเคลื่อนลงแบบสุ่มที่ชันที่สุด
ฟังก์ชันกระตุ้นที่ใช้ในเซลล์ประสาทเทียมจะต้องสร้างหาอนุพันธ์ได้ นอกจากนี้ยังมีความเกี่ยวข้องอย่างใกล้ชิดกับ วิธีเกาส์–นิวตัน
เนื่องจากนี่เป็นวิธีแก้ปัญหาการหาค่าเหมาะที่สุดทางคณิตศาสตร์ประเภทหนึ่ง จึงมีการนำการเรียนรู้แบบเป็นชุดหรือการเรียนรู้แบบเชื่อมตรงมาใช้ โดยทั่วไปแล้วจะทำการเรียนรู้โดยแบ่งข้อมูลเป็นชุดย่อยแล้วใช้วิธีการเคลื่อนลงตามความชันแบบเฟ้นสุ่ม