ห้องติวสอบ AI · 3 หัวข้อออกสอบ
เข้าใจ Neural Net
แบบเห็นภาพทุกตัวเลข
ดูสัญญาณวิ่งในเน็ตเวิร์กทีละ node, ไล่ chain rule ขากลับทีละเส้น, แล้วลากกล่องเล่นกับ IoU และ Confusion Matrix เอง ทุกตัวเลขแก้ได้และคำนวณสดให้ดูเป็นขั้น ๆ เหมือนเขียนในกระดาษคำตอบ
ANN ขาไป: คำนวณค่าในแต่ละ node
เน็ตเวิร์ก 2-2-2 (input 2, hidden 2, output 2) ค่าตั้งต้นเป็นตัวอย่างคลาสสิกที่ใช้สอบบ่อย แก้ค่าได้ทุกช่องด้านล่าง
แผงปรับค่า (แชร์กับบท Backprop)
คลิกป้ายน้ำหนักบนเส้นในแผนภาพเพื่อกระโดดมาแก้ค่าช่องนั้นได้เลย
Activation function ที่ออกสอบ
| ชื่อ | f(net) | f′ (ใช้ตอน backprop) |
|---|---|---|
| Sigmoid σ | 1 / (1 + e−net) | out(1 − out) |
| tanh | (ex−e−x)/(ex+e−x) | 1 − out² |
| ReLU | max(0, net) | 1 ถ้า net>0, 0 ถ้าไม่ใช่ |
| Linear | net | 1 |
เส้นทึบ = f(x), เส้นประ = f′(x) ของ activation ที่เลือกอยู่ จุดเหลืองคือค่า net_h1 ปัจจุบัน
เช็กลิสต์กันพลาดตอนสอบ
- net คือผลรวมก่อนเข้า activation, out คือหลังเข้า activation อย่าสลับกัน
- ชั้นถัดไปรับ out ของชั้นก่อนเป็น input เสมอ ไม่ใช่ net
- bias บวกตรง ๆ (เหมือนน้ำหนักที่ต่อกับ input ค่า 1)
- เก็บทศนิยมอย่างน้อย 6 ตำแหน่งระหว่างทาง ปัดตอนท้ายเท่านั้น
- e−x ใช้ปุ่ม e^x บนเครื่องคิดเลข แล้วใส่ค่าลบ
- Error ของแต่ละ output: ½(target − out)² แล้ว Etotal = ผลรวมทุก output
Backprop ขากลับ: หา ∂Etotal/∂w
ใช้ network และค่าเดียวกับบทที่ 1 จุดสีชมพูคือ "ความผิด" ที่ไหลย้อนจาก error กลับไปหาน้ำหนักแต่ละเส้น
เทรนจริง: ดู Etotal ลดลง
แต่ละรอบ = forward → backprop → อัปเดตทุก w ด้วย learning rate η (แก้ η ได้ในแผงปรับค่าบทที่ 1)
สูตรลัดขากลับ (จำ 3 บรรทัดนี้)
ข้อผิดพลาดยอดฮิต
- คำนวณ δh ด้วย w5, w7 ค่าใหม่ ที่เพิ่งอัปเดต ต้องใช้ ค่าเดิม
- ลืมว่า outh1 ส่งผลต่อ E ผ่านทั้ง o1 และ o2 จึงต้องบวกสองทาง
- เครื่องหมาย: ∂E/∂out = −(t − out) ถ้าลืมลบ น้ำหนักจะขยับผิดทาง
- ใช้ ∂E/∂w เดียวกันทุกเส้น: ไม่ใช่ แต่ละเส้นคูณกับ out ต้นทางของตัวเอง
Confusion Matrix ของ Image Classification
โมเดลดูรูปแล้วตอบว่า "เป็นแมวไหม" (แมว = Positive) เทียบกับเฉลยจริงที่เรียกว่า Ground Truth (GT)
เช่น FP = ทายว่า Positive แต่ผิด (จริง ๆ เป็น Negative) → "สัญญาณหลอก"
GT = แมว · ทาย = แมว
ถูกต้อง เจอของที่มีจริง
GT = หมา · ทาย = แมว
ทักผิดตัว (Type I error)
GT = แมว · ทาย = หมา
มองข้ามของจริง (Type II error)
GT = หมา · ทาย = หมา
ถูกต้อง ปฏิเสธได้ถูก
เกมเลื่อน Threshold
โมเดลให้คะแนน "ความเป็นแมว" 0–1 กับรูป 12 รูป ถ้าคะแนน ≥ threshold จะทายว่าแมว ลองเลื่อนแล้วดูการ์ดวิ่งเข้าช่อง
Threshold เปลี่ยน อะไรเปลี่ยน?
- Threshold สูง → ทายแมวน้อยลง → FP ลด, FN เพิ่ม → Precision ↑ Recall ↓
- Threshold ต่ำ → ทายแมวเยอะ → FN ลด, FP เพิ่ม → Recall ↑ Precision ↓
- งานที่พลาดของจริงไม่ได้ (ตรวจโรค) เน้น Recall · งานที่แจ้งเตือนผิดแล้วเสียหาย (กรองสแปม) เน้น Precision
Confusion Matrix หลายคลาส (แก้ตัวเลขได้)
แถว = GT (ของจริง), คอลัมน์ = ทำนาย · เลือกคลาสเพื่อดูว่า TP/FP/FN/TN ของคลาสนั้นอยู่ช่องไหน
ระวัง: บางตำรา/ข้อสอบวาง GT เป็นคอลัมน์และ Predicted เป็นแถว ให้ดูหัวตารางก่อนเสมอ หลักจำ: FP ของคลาส X = ทายว่า X แต่ GT ไม่ใช่ X · FN ของคลาส X = GT เป็น X แต่ทายเป็นอย่างอื่น
Confusion Matrix ของ Object Detection
ต่างจาก classification ตรงที่ต้องดู "ตำแหน่งกล่อง" ด้วย กล่องทำนายจะนับเป็น TP ได้ต้องคลาสถูก และ IoU กับกล่อง GT ≥ threshold
สนาม IoU: ลากกล่องสีน้ำเงินดู
ลากตรงกลางเพื่อย้าย, ลากจุดเหลืองมุมขวาล่างเพื่อย่อ/ขยาย
IoU = Intersection over Union
IoU = พื้นที่ส่วนที่ซ้อนกัน ÷ พื้นที่รวมของสองกล่อง (นับส่วนซ้อนครั้งเดียว) มีค่า 0 ถึง 1 · กล่องเขียน (x1, y1, x2, y2) คือมุมซ้ายบนและขวาล่าง
ไล่ตรวจภาพจริง: กล่องไหน TP / FP / FN
กรอบดำทึบ = GT · กรอบประ = กล่องที่โมเดลทำนาย (พร้อม confidence)
กติกาจับคู่ (matching) ที่ใช้สอบ
- ตัดกล่องที่ confidence ต่ำกว่า threshold ทิ้งก่อน
- เรียงกล่องทำนายจาก confidence มากไปน้อย
- แต่ละกล่องหา GT คลาสเดียวกันที่ IoU สูงสุด ถ้า IoU ≥ threshold และ GT นั้นยังไม่ถูกจับคู่ → TP
- IoU ไม่ถึง, คลาสผิด, หรือ GT ถูกจับคู่ไปแล้ว (กล่องซ้ำ) → FP
- GT ที่ไม่มีใครจับคู่เลย → FN
ทำไม Object Detection ไม่มี TN?
TN แปลว่า "พื้นที่ที่ไม่มีวัตถุ และโมเดลก็ไม่ได้ตีกรอบ" ในภาพหนึ่งมีกล่องที่เป็นไปได้นับไม่ถ้วน (ทุกตำแหน่ง ทุกขนาด) ที่เป็นพื้นหลัง จึงนับ TN ไม่ได้ ตัวชี้วัดของ detection เลยใช้แค่ Precision = TP/(TP+FP) และ Recall = TP/(TP+FN) ซึ่งไม่มี TN อยู่ในสูตร (Accuracy ที่ต้องใช้ TN จึงไม่ใช้กับ detection)
ต่อยอด: นำ Precision-Recall ที่ confidence ต่าง ๆ มาวาดกราฟ พื้นที่ใต้กราฟคือ AP และเฉลี่ยทุกคลาสได้ mAP
แบบฝึกหัดสุ่มโจทย์ไม่ซ้ำ
ทุกข้อสุ่มตัวเลขใหม่ทุกครั้ง ตอบผิดก็มีวิธีทำละเอียดให้ดู ตอบทศนิยม 4 ตำแหน่ง (ปัดเศษได้)
สรุปสูตรหน้าเดียว
อ่านทวนรอบสุดท้าย ทุกสูตรใช้สัญลักษณ์เดียวกับในบทเรียน
1 · ANN ขาไป
- input layer ไม่มี activation: out = ค่า input
- ชั้นถัดไปใช้ out ไม่ใช่ net
2 · Backprop ชั้น output
3 · Backprop ชั้น hidden
- ใช้ w5, w7 ค่าเดิม (ก่อนอัปเดต)
- ∂E/∂b = δ (ถ้า bias ใช้ร่วม ให้รวม δ ทุก node ในชั้น)
4 · Classification metrics
- หลายคลาส: TP = แนวทแยง, FP = คอลัมน์ − TP, FN = แถว − TP, TN = ที่เหลือ (เมื่อแถว = GT)
5 · Object Detection
- TP: คลาสถูก + IoU ≥ threshold + GT ยังไม่ถูกจับคู่
- FP: IoU ต่ำ / คลาสผิด / กล่องซ้ำ / ตีกรอบพื้นหลัง
- FN: GT ที่ไม่มีกล่องไหนจับคู่
- TN: ไม่นับ (พื้นหลังมีไม่จำกัด)
6 · ทริคเครื่องคิดเลข
- σ(x): พิมพ์ 1 ÷ (1 + e^(−x)) ในครั้งเดียว ลดการปัดเศษ
- เก็บค่า outh1, outh2 ไว้ในหน่วยความจำ A, B
- out(1 − out) ของ sigmoid มีค่าไม่เกิน 0.25 เสมอ ถ้าได้เกินแปลว่าคิดผิด
- ตรวจทิศ: out > target → ∂E/∂out เป็นบวก
- IoU ต้องอยู่ระหว่าง 0–1 ถ้าเกิน 1 แสดงว่าลืมลบส่วนซ้อนใน union
ค่าตัวอย่างคลาสสิกในบทที่ 1–2: i = (0.05, 0.10), target = (0.01, 0.99), w1–w8 = 0.15…0.55, b1 = 0.35, b2 = 0.60, η = 0.5 → Etotal ≈ 0.298371, ∂E/∂w5 ≈ 0.082167, ∂E/∂w1 ≈ 0.000439