ลดการสูญเสีย: การไล่ระดับสี

แผนภาพวิธีการแบบวนซ้ำ (รูปที่ 1) มีกล่องคลื่นเทียมสีเขียวที่มีชื่อว่า "การอัปเดตพารามิเตอร์ Compute" ตอนนี้เราจะแทนที่ฝุ่นละอองนางฟ้าอัลกอริทึมด้วยสิ่งที่สำคัญมากขึ้น

สมมติว่าเรามีเวลาและทรัพยากรในการประมวลผลเพื่อคำนวณการขาดทุนสำหรับค่าที่เป็นไปได้ทั้งหมดของ \(w_1\) สำหรับปัญหาการถดถอยที่เราตรวจสอบ กราฟของความสูญเสียกับ \(w_1\) จะเป็นผลลัพธ์ที่นูนเสมอ กล่าวคือ พล็อตเรื่อง จะมีรูปทรงคล้ายชามเสมอ

พล็อตของเส้นโค้งรูปตัว U ที่มีแกนแนวตั้งระบุว่า "การสูญเสีย" และแกนแนวนอนมีป้ายกำกับเป็นค่าน้ำหนัก w i

รูปที่ 2 ปัญหาการถดถอยทำให้ลดรูปนูนลงเทียบกับแผนภาพน้ำหนัก

 

โจทย์การนูนจะมีค่าต่ำสุดเพียงค่าเดียว ซึ่งก็คือจุดเดียวที่มีความชันเป็น 0 พอดี ซึ่งก็คือจุดที่ฟังก์ชันการลดทอน

การคำนวณฟังก์ชันการสูญเสียสำหรับค่าทั้งหมดที่เป็นไปได้ของ \(w_1\)จากชุดข้อมูลทั้งหมดจะเป็นวิธีหาจุดบรรจบกันที่ไม่มีประสิทธิภาพ มาดูกลไกที่ดีกว่ากัน ซึ่งเป็นที่นิยมมากในแมชชีนเลิร์นนิงที่เรียกว่าการไล่ระดับสี

ขั้นตอนแรกในการไล่ระดับสีลงคือการเลือกค่าเริ่มต้น (จุดเริ่มต้น) สำหรับ \(w_1\) จุดเริ่มต้นก็ไม่ได้สำคัญเท่าไหร่นัก อัลกอริทึมจำนวนมากจึงตั้งค่า \(w_1\) เป็น 0 หรือเลือกค่าแบบสุ่ม ตัวเลขต่อไปนี้แสดงให้เห็นว่าเราได้เลือกจุดเริ่มต้นที่มากกว่า 0 เล็กน้อย

พล็อตของเส้นโค้งรูปตัว U จุดที่อยู่ด้านบนด้านซ้ายของเส้นโค้งมีป้ายกำกับ "จุดเริ่มต้น"

รูปที่ 3 จุดเริ่มต้นสำหรับการไล่ระดับสีลง

จากนั้นอัลกอริทึมการลดการไล่ระดับสีจะคำนวณการไล่ระดับสีของเส้นโค้งการสูญเสียที่จุดเริ่มต้น ในรูปที่ 3 การไล่ระดับสีของการสูญเสียจะเท่ากับอนุพันธ์ (ความชัน) ของเส้นโค้ง ซึ่งจะบอกให้ทราบว่าทางใดเป็น "อุ่นขึ้น" หรือ "เย็นลง" เมื่อมีน้ำหนักหลายระดับ การไล่ระดับสีจะเป็นเวกเตอร์ของอนุพันธ์บางส่วนเทียบกับน้ำหนัก

โปรดทราบว่าการไล่ระดับสีเป็นเวกเตอร์ ดังนั้นจึงมีลักษณะทั้งสองดังต่อไปนี้

  • เส้นทาง
  • ขนาด

การไล่ระดับสีจะชี้ไปในทิศทางที่เพิ่มขึ้นสูงสุดในฟังก์ชันการสูญเสียเสมอ อัลกอริทึมขั้นตอนการไล่ระดับสีจะดำเนินการในทิศทาง ของการไล่ระดับสีเชิงลบเพื่อลดการสูญเสียให้เร็วที่สุด

พล็อตของเส้นโค้งรูปตัว U จุดทางด้านซ้ายของเส้นโค้งมีป้ายกำกับ "จุดเริ่มต้น" ลูกศรที่มีป้ายกำกับ "การไล่ระดับสีเชิงลบ" ชี้จากจุดนี้ทางด้านขวา

รูปที่ 4 การไล่ระดับสีเพื่อลดการไล่ระดับสีต้องใช้การไล่ระดับสีเชิงลบ

ในการระบุจุดถัดไปในเส้นโค้งของฟังก์ชันการสูญเสีย อัลกอริทึมการไล่ระดับสีจะเพิ่มลงในขนาดบางส่วนของการไล่ระดับสีไปยังจุดเริ่มต้นดังที่แสดงในรูปต่อไปนี้

พล็อตของเส้นโค้งรูปตัว U จุดทางด้านซ้ายของเส้นโค้งมีป้ายกำกับ "จุดเริ่มต้น" ลูกศรที่มีป้ายกำกับ "การไล่ระดับสีเชิงลบ" ชี้จากจุดนี้ทางด้านขวา ลูกศรอีกจุดจากปลายลูกศรแรกลงไปยังจุดที่ 2 บนเส้นโค้ง จุดที่สองจะมีข้อความระบุว่า "จุดถัดไป"

รูปที่ 5 ขั้นตอนการไล่ระดับสีจะนำเราไปยังจุดถัดไปบนเส้นโค้งการสูญเสีย

การไล่ระดับสีลงจะทำซ้ำขั้นตอนนี้โดยให้เข้าใกล้จุดขั้นต่ำสุดเข้าไปอีก