การลดการสูญเสีย: แนวทางการทำซ้ำ

โมดูลก่อนหน้ามีแนวคิดของการสูญเสีย ในโมดูลนี้ คุณจะได้เรียนรู้วิธีที่โมเดลแมชชีนเลิร์นนิง ลดการสูญเสีย

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

ภาพต่อไปนี้แสดงถึงกระบวนการลองผิดลองถูกซ้ำๆ ที่อัลกอริทึมของแมชชีนเลิร์นนิงใช้ในการฝึกโมเดล

วงจรการย้ายจากฟีเจอร์และป้ายกำกับไปยังโมเดลและการคาดการณ์

รูปที่ 1 วิธีการแบบวนซ้ำในการฝึกโมเดล

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

"โมเดล" จะใช้ฟีเจอร์อย่างน้อย 1 รายการเป็นอินพุตและแสดงผลการคาดการณ์ 1 รายการเป็นเอาต์พุต เพื่อให้ง่ายขึ้น ลองพิจารณาโมเดลที่มี 1 ฟีเจอร์ (\(x_1\)) และแสดงผลการคาดการณ์ 1 รายการ (\(y'\)) ดังนี้

$$ y' = b + w_1x_1 $$

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

  • \(b\) เท่ากับ 0
  • \(w_1\) เท่ากับ 0

สมมติว่าค่าจุดสนใจแรกคือ 10 การใส่ค่าคุณลักษณะดังกล่าว ในฟังก์ชันการคาดการณ์จะได้ผลลัพธ์ดังนี้

$$ y' = 0 + 0 \cdot 10 = 0 $$

ส่วน "การสูญเสียการประมวลผล" ในแผนภาพคือฟังก์ชันการสูญเสียที่โมเดลจะใช้ สมมติว่าเราใช้ฟังก์ชันการสูญเสียกำลังสอง ฟังก์ชันสูญเสีย จะป้อนค่า 2 ค่าดังนี้

  • \(y'\): การคาดการณ์ของโมเดลสำหรับฟีเจอร์ x
  • \(y\): ป้ายกำกับที่ถูกต้องที่สอดคล้องกับฟีเจอร์ x

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