Gradient descent: เดินลงก้นชาม
รู้แล้วว่าเดาผิดแค่ไหน คำถามต่อไปคือ จะขยับตัวเลขไปทางไหน และเท่าไร
เริ่มจากของเล่น: ร้านชาไทยปรับสูตร ให้ w = จำนวนช้อนน้ำตาล ลูกค้าชอบ 3 ช้อนพอดี ความผิดพลาดคือ
เริ่มที่ w = 0 ได้ loss = 9
ความชัน (gradient)ชุดตัวเลขที่บอกว่าถ้าขยับพารามิเตอร์แต่ละตัวขึ้นนิดหนึ่ง loss จะเพิ่มหรือลดเท่าไร ใช้บอกทิศทางที่ต้องปรับดูคำศัพท์ทั้งหมด คือความชันของ loss ตรงจุดที่ยืน ชามนี้มีความชัน 2(w − 3) ที่ w = 0 ได้ −6 ค่าติดลบแปลว่า loss ลดเมื่อเพิ่ม w จึงก้าวไปทางขวา
การไล่ลงตามความชัน (gradient descent)วิธีฝึกโมเดลโดยขยับพารามิเตอร์สวนทาง gradient ทีละก้าวเล็กๆ ให้ loss ลดลงเรื่อยๆดูคำศัพท์ทั้งหมด คือก้าวสวนความชันทีละก้าว:
η (อ่านว่า อีตา) คือขนาดก้าว เรียกว่า อัตราการเรียนรู้ (learning rate)ขนาดของแต่ละก้าวตอนปรับพารามิเตอร์ (มักเขียนว่า η) เล็กไปเรียนช้า ใหญ่ไปก้าวเลยจนแกว่งหรือพังดูคำศัพท์ทั้งหมด
- η = 0.1: 0 → 0.6 → 1.08 → 1.464 … ใช้ 19 ก้าว กว่าจะถึงก้นชาม ช้าแต่ปลอดภัย
- η = 0.5: ลองเองในกล่องด้านล่าง
- η = 1.1: 0 → 6.6 → −1.32 → 8.184 … และ loss 9 → 12.96 → 18.6624 … ยิ่งเดินยิ่งห่าง จนหลุดกราฟในก้าวที่ 5 (w = 10.465)
หา η ที่ถึงก้นชาม (ห่าง 3 ไม่เกิน 0.05) ภายใน 5 ก้าว:
ถ้าติด: ค่อยๆ เพิ่มจาก 0.1 ถ้าแกว่งแรงให้ลด
gradient คือความชันของ loss: ก้าวสวนความชันแล้ว loss ลด learning rate เล็กไปเรียนช้า ใหญ่ไปก้าวเลยจนแกว่งหรือหลุด
loss แบบไหนก็ใช้วิธีเดียวกัน หน้าถัดไปจะใช้กับ −ln p ของ "แมวชอบกิน ___"

มังคุด
ทำไมไม่ตั้ง 0.5 ไปเลยล่ะ ก้าวเดียวถึง?