แผนภาพวิธีการแบบวนซ้ำ (รูปที่ 1) มีกล่องคลื่นเทียมสีเขียวที่มีชื่อว่า "การอัปเดตพารามิเตอร์ Compute" ตอนนี้เราจะแทนที่ฝุ่นละอองนางฟ้าอัลกอริทึมด้วยสิ่งที่สำคัญมากขึ้น
สมมติว่าเรามีเวลาและทรัพยากรในการประมวลผลเพื่อคำนวณการขาดทุนสำหรับค่าที่เป็นไปได้ทั้งหมดของ \(w_1\) สำหรับปัญหาการถดถอยที่เราตรวจสอบ กราฟของความสูญเสียกับ \(w_1\) จะเป็นผลลัพธ์ที่นูนเสมอ กล่าวคือ พล็อตเรื่อง จะมีรูปทรงคล้ายชามเสมอ
รูปที่ 2 ปัญหาการถดถอยทำให้ลดรูปนูนลงเทียบกับแผนภาพน้ำหนัก
โจทย์การนูนจะมีค่าต่ำสุดเพียงค่าเดียว ซึ่งก็คือจุดเดียวที่มีความชันเป็น 0 พอดี ซึ่งก็คือจุดที่ฟังก์ชันการลดทอน
การคำนวณฟังก์ชันการสูญเสียสำหรับค่าทั้งหมดที่เป็นไปได้ของ \(w_1\)จากชุดข้อมูลทั้งหมดจะเป็นวิธีหาจุดบรรจบกันที่ไม่มีประสิทธิภาพ มาดูกลไกที่ดีกว่ากัน ซึ่งเป็นที่นิยมมากในแมชชีนเลิร์นนิงที่เรียกว่าการไล่ระดับสี
ขั้นตอนแรกในการไล่ระดับสีลงคือการเลือกค่าเริ่มต้น (จุดเริ่มต้น) สำหรับ \(w_1\) จุดเริ่มต้นก็ไม่ได้สำคัญเท่าไหร่นัก อัลกอริทึมจำนวนมากจึงตั้งค่า \(w_1\) เป็น 0 หรือเลือกค่าแบบสุ่ม ตัวเลขต่อไปนี้แสดงให้เห็นว่าเราได้เลือกจุดเริ่มต้นที่มากกว่า 0 เล็กน้อย
รูปที่ 3 จุดเริ่มต้นสำหรับการไล่ระดับสีลง
จากนั้นอัลกอริทึมการลดการไล่ระดับสีจะคำนวณการไล่ระดับสีของเส้นโค้งการสูญเสียที่จุดเริ่มต้น ในรูปที่ 3 การไล่ระดับสีของการสูญเสียจะเท่ากับอนุพันธ์ (ความชัน) ของเส้นโค้ง ซึ่งจะบอกให้ทราบว่าทางใดเป็น "อุ่นขึ้น" หรือ "เย็นลง" เมื่อมีน้ำหนักหลายระดับ การไล่ระดับสีจะเป็นเวกเตอร์ของอนุพันธ์บางส่วนเทียบกับน้ำหนัก
โปรดทราบว่าการไล่ระดับสีเป็นเวกเตอร์ ดังนั้นจึงมีลักษณะทั้งสองดังต่อไปนี้
- เส้นทาง
- ขนาด
การไล่ระดับสีจะชี้ไปในทิศทางที่เพิ่มขึ้นสูงสุดในฟังก์ชันการสูญเสียเสมอ อัลกอริทึมขั้นตอนการไล่ระดับสีจะดำเนินการในทิศทาง ของการไล่ระดับสีเชิงลบเพื่อลดการสูญเสียให้เร็วที่สุด
รูปที่ 4 การไล่ระดับสีเพื่อลดการไล่ระดับสีต้องใช้การไล่ระดับสีเชิงลบ
ในการระบุจุดถัดไปในเส้นโค้งของฟังก์ชันการสูญเสีย อัลกอริทึมการไล่ระดับสีจะเพิ่มลงในขนาดบางส่วนของการไล่ระดับสีไปยังจุดเริ่มต้นดังที่แสดงในรูปต่อไปนี้
รูปที่ 5 ขั้นตอนการไล่ระดับสีจะนำเราไปยังจุดถัดไปบนเส้นโค้งการสูญเสีย
การไล่ระดับสีลงจะทำซ้ำขั้นตอนนี้โดยให้เข้าใกล้จุดขั้นต่ำสุดเข้าไปอีก