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

Attention: คำไหนควรฟังคำไหน

คำเดียวกันแต่ความหมายเปลี่ยนตามคำรอบข้าง embedding ของคำเดี่ยวๆ จึงไม่พอ AI ต้องมีวิธีให้แต่ละคำ "หันไปฟัง" คำอื่นในประโยค วิธีนั้นชื่อ กลไกความสนใจ (attention)วิธีที่แต่ละคำเลือกว่าจะ "ฟัง" คำอื่นในประโยคมากน้อยแค่ไหน โดยใช้ softmax แบ่งน้ำหนักให้รวมได้ 100%ดูคำศัพท์ทั้งหมด

ลองนึกถึงห้องเรียน ทุกคำในประโยคเหมือนนักเรียนที่ทำ 3 อย่าง (คิวรี-คีย์-แวลู (query, key, value)สามบทบาทใน attention คำถาม (query) ไปเทียบกับป้ายชื่อ (key) ของทุกคำ แล้วผสมข้อมูล (value) ตามน้ำหนักที่ได้ดูคำศัพท์ทั้งหมด):

  1. Query (คำถาม) — "ฉันกำลังหาข้อมูลแบบไหน" เช่น "มัน" ถามว่า "ใครคือตัวที่หิวได้"
  2. Key (ป้ายชื่อ) — แต่ละคำติดป้ายว่า "ฉันมีข้อมูลแบบนี้" แล้วเอา query ไปเทียบกับทุกป้าย ได้คะแนนความเกี่ยวข้อง
  3. Value (ข้อมูลจริง) — เอาข้อมูลของแต่ละคำมาผสมกันตามน้ำหนัก

ขั้นเปลี่ยนคะแนนเป็นน้ำหนักใช้ ซอฟต์แมกซ์ (softmax)สูตรที่เปลี่ยนคะแนนดิบเป็นความน่าจะเป็นที่รวมกันได้ 100% โดยยก e กำลังคะแนนแล้วหารด้วยผลรวมดูคำศัพท์ทั้งหมด — สูตรเดียวกับที่ใช้เลือกคำถัดไปในบทที่ 1 นั่นเอง

Attention: คำไหนฟังคำไหน

เลือกประโยค แล้วแตะคำที่อยากรู้ว่ามัน “ฟัง” คำไหนบ้าง (ตัวเลขตั้งขึ้นเพื่อสาธิต)

คำว่า “มัน” ฟัง “แมว” มากที่สุด 62.0%

  • แมว62.0%
  • กิน5.0%
  • ปลา13.0%
  • เพราะ5.0%
  • มัน10.0%
  • หิว5.0%

รวมทั้งแถว = 100.0% (softmax แบ่งความสนใจให้รวมได้ 100% เสมอ)

ตารางทั้งประโยค: แถว = คำที่ถาม (query) · คอลัมน์ = คำที่ถูกฟัง (key) · ยิ่งเข้มยิ่งฟังมาก

ลองกดประโยค “แมวไม่กินปลาเพราะมันเน่า” แล้วดูว่า “มัน” เปลี่ยนไปฟังใคร

น้ำหนัก attention ของประโยค “แมวกินปลาเพราะมันหิว” (แถว = query, คอลัมน์ = key) ตารางตัวเลขสำหรับโปรแกรมอ่านหน้าจอ
query \ keyแมวกินปลาเพราะมันหิว
แมว60.0%15.0%10.0%5.0%5.0%5.0%
กิน30.0%40.0%20.0%4.0%3.0%3.0%
ปลา15.0%30.0%45.0%4.0%3.0%3.0%
เพราะ10.0%15.0%10.0%50.0%10.0%5.0%
มัน62.0%5.0%13.0%5.0%10.0%5.0%
หิว35.0%10.0%5.0%5.0%30.0%15.0%

ลองเลือกคำ "มัน" แล้วสลับระหว่างสองประโยค ดูว่าน้ำหนักย้ายจากแมวไปปลายังไง แต่ละแถวของตารางรวมกันได้ 100% เสมอ

attention ให้แต่ละคำเลือก "ฟัง" คำอื่นในประโยคมากน้อยต่างกัน โดยใช้ softmax แบ่งความสนใจให้รวมได้ 100%

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

มังคุด

เหมือนตอนครูถาม แล้วหนูหันไปมองเพื่อนที่รู้คำตอบเลย!