บทที่ 4 · AI เรียนรู้ยังไง หน้า 8/13 ~4 นาที

ที่มาของสูตร p − y

Advanced · ให้เห็นภาพรวม ข้ามได้ ไม่นับเป็นเงื่อนไขจบบท ข้ามไปหน้าถัดไป →

หน้าเสริม ข้ามได้

ขั้น 1 — เขียน loss ใหม่

t คือคำเฉลย เช่น 3.4197 − 3 = 0.4197 ทางลัดเดียวกับหน้า loss

ขั้น 2 — หาความชันทีละพจน์

  • ความชันของพจน์แรกเทียบกับ คือ ก็คือ
  • ความชันของ คือ −1 ถ้า i เป็นคำเฉลย และ 0 ถ้าไม่ใช่

รวมกันได้

ขั้น 3 — ตรวจด้วยตัวเลข

ขยับคะแนน ปลา จาก 3 เป็น 3.01 loss ลดจาก 0.4197 เป็น 0.4163 (ลด 0.0034) ตรงกับสูตร −0.3428 × 0.01 ≈ −0.0034 ✔

ขั้น 4 — ไปถึงพารามิเตอร์ด้วยกฎลูกโซ่

สมมติ z = w × x โดยค่าขาเข้า (input) x = 0.5 และพารามิเตอร์ w = 6 จึงได้ z = 3 ความชันของ loss เทียบกับ w คือ (p − y) × x = −0.3428 × 0.5 = −0.1714

ก้าวด้วย η = 1 ได้ w = 6 → 6.1714 และ z เป็น 3.0857 นี่คือ backprop ฉบับย่อ: เอาสัญญาณที่ส่งมาคูณความชันเฉพาะจุด

ขั้น 5 — ของจริงเพิ่มอะไรอีก

  • optimizer เช่น AdamW หรือตัวที่ใหม่กว่า: ปรับก้าวแยกรายพารามิเตอร์ และมี weight decay (ดึงพารามิเตอร์ให้เล็กลงนิดหนึ่งทุกก้าว)
  • gradient clipping: ตัดความชันที่พุ่งผิดปกติ
  • mixed precision: คำนวณส่วนใหญ่ด้วยเลข 16 บิตหรือต่ำกว่าเพื่อความเร็ว แต่เก็บสำเนาหลักของพารามิเตอร์ไว้ละเอียดกว่า เพราะก้าวเล็กๆ จะหายไปถ้าปัดหยาบ

p − y ไม่ใช่เรื่องบังเอิญ: ln ใน loss หักล้างกับ e ใน softmax พอดี gradient จึงเป็นแค่ "ที่ทาย ลบ ที่ถูก"

มังคุด มาสคอตมังคุด

มังคุด

สูตรสั้นขนาดนี้ เป็นเพราะคนเลือก softmax คู่กับ −ln มาให้เข้ากันเหรอ?