p − y: ขยับคะแนนไปทางไหน
กลับมาที่ "แมวชอบกิน ___" เฉลยคือ ปลา คราวนี้มี คะแนนดิบ (logit)คะแนนที่โมเดลให้กับทุก token ว่าเข้ากับบริบทแค่ไหน ติดลบได้ และยังไม่ใช่ความน่าจะเป็นดูคำศัพท์ทั้งหมด 4 ตัว ความชัน (gradient)ชุดตัวเลขที่บอกว่าถ้าขยับพารามิเตอร์แต่ละตัวขึ้นนิดหนึ่ง loss จะเพิ่มหรือลดเท่าไร ใช้บอกทิศทางที่ต้องปรับดูคำศัพท์ทั้งหมด จึงมี 4 ค่า บอกว่าแต่ละคะแนนควรขยับทางไหน
สำหรับ ซอฟต์แมกซ์ (softmax)สูตรที่เปลี่ยนคะแนนดิบเป็นความน่าจะเป็นที่รวมกันได้ 100% โดยยก e กำลังคะแนนแล้วหารด้วยผลรวมดูคำศัพท์ทั้งหมด คู่กับ −ln p ความชันของแต่ละคะแนนคือ p − y โดย y = 1 สำหรับคำเฉลย และ 0 สำหรับคำอื่น (ที่มาอยู่ในหน้าเสริม)
| คำ | p | y | p − y | ทิศ |
|---|---|---|---|---|
| ปลา | 0.6572 | 1 | −0.3428 | ดันขึ้น |
| ข้าว | 0.2418 | 0 | +0.2418 | กดลง |
| หนู | 0.0889 | 0 | +0.0889 | กดลง |
| รถ | 0.0120 | 0 | +0.0120 | กดลง |
ถ้าไม่ปัดเศษ คอลัมน์ p − y รวมกันได้ 0 พอดี
ก้าวแบบชามชาไทย ด้วย η = 1:
คะแนนคำผิดลดลง η × p ของมัน เช่น ข้าว 2 → 1.7582 ส่วนคำเฉลยเพิ่ม η × (1 − p) คือ ปลา 3 → 3.3428
พื้นผิว loss ตัวนี้ต่างจากชามชาไทย: ไม่มีก้นให้ก้าวเลย แต่เป็นทางลาดที่ค่อยๆ แบนลง loss เข้าใกล้ 0 แต่ไม่ถึง และโค้งน้อยกว่าชามมาก η = 1 จึงไม่ทำให้แกว่ง
หลัง 1 ก้าว โอกาสเป็น 76.6%, 15.7%, 6.7%, 1.0% และ loss ลดจาก 0.4197 เหลือ 0.2668
กด "ฝึก 1 ก้าว" จน loss ต่ำกว่า 0.1:
ใกล้แล้ว: ก้าวที่ 5 loss ยังเป็น 0.1056 อีกก้าวเดียวก็ผ่าน
ในโมเดลจริง คะแนนคำนวณจากพารามิเตอร์ (บทที่ 3) หน้า backprop จะเล่าว่า p − y ส่งย้อนไปถึงพารามิเตอร์ยังไง
สำหรับ softmax คู่กับ −ln p ความชันของแต่ละคะแนนคือ p − y: คำเฉลยถูกดันขึ้น คำอื่นถูกกดลงตามโอกาสที่มันได้ไป ยิ่งมั่นใจผิดมากยิ่งโดนกดมาก

มังคุด
แม้แต่ รถ ที่โมเดลแทบไม่เลือก ก็โดนกดลงด้วยเหรอ?