บทที่ 2 · AI เข้าใจความหมายยังไง หน้า 7/12 ~4 นาที

Scaled dot-product attention ด้วยตัวเลขจริง

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

หน้าเสริมสำหรับคนอยากเห็นสูตรเต็ม ข้ามได้ สูตรที่อยู่หัวใจของโมเดลภาษาสมัยใหม่เกือบทุกตัว (Transformer) หน้าตาแบบนี้:

ดูน่ากลัว แต่มันคือ 3 ขั้นที่คุณรู้จักแล้ว: dot product → softmax → ผสม

โจทย์ (d = 2 มิติ): query ของคำว่า "มัน" คือ

คำkeyvalue
แมว(2, 1)(1, 0)
กิน(0, 1)(0, 1)
ปลา(1, −1)(0.5, 0.5)

ขั้น 1 — dot product ของ q กับแต่ละ key

  • แมว:
  • กิน:
  • ปลา:

ขั้น 2 — หารด้วย ได้ 1.7678, 0.3536, 0.3536

ขั้น 3 — softmax ได้น้ำหนัก 0.6728, 0.1636, 0.1636 หรือ 67.3%, 16.4%, 16.4% (รวมได้ 100.1% เพราะปัดเศษ)

ขั้น 4 — ผสม value ตามน้ำหนัก

ผลลัพธ์ (0.7546, 0.2454) คือ "ความหมายใหม่" ของคำว่า "มัน" ที่เอนไปทางแมวมาก เพราะฟังแมวถึง 67.3%

ทำไมต้องหาร √d? ยิ่งเวกเตอร์มีหลายมิติ dot product ยิ่งมีค่าใหญ่ softmax จะแหลมจนเกือบเลือกคำเดียว การหาร √d ทำหน้าที่คล้าย temperature ในบทที่ 1 คือคุมไม่ให้การกระจายความสนใจสุดโต่งเกินไป

attention คือ softmax ของ dot product — สองสูตรที่คุณรู้แล้วจากหน้าก่อนๆ

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

มังคุด

แปลว่าคำว่า "มัน" มีความหมายเปลี่ยนไปตามประโยคจริงๆ เหรอ?