Attention: คำไหนควรฟังคำไหน
คำเดียวกันแต่ความหมายเปลี่ยนตามคำรอบข้าง embedding ของคำเดี่ยวๆ จึงไม่พอ AI ต้องมีวิธีให้แต่ละคำ "หันไปฟัง" คำอื่นในประโยค วิธีนั้นชื่อ กลไกความสนใจ (attention)วิธีที่แต่ละคำเลือกว่าจะ "ฟัง" คำอื่นในประโยคมากน้อยแค่ไหน โดยใช้ softmax แบ่งน้ำหนักให้รวมได้ 100%ดูคำศัพท์ทั้งหมด
ลองนึกถึงห้องเรียน ทุกคำในประโยคเหมือนนักเรียนที่ทำ 3 อย่าง (คิวรี-คีย์-แวลู (query, key, value)สามบทบาทใน attention คำถาม (query) ไปเทียบกับป้ายชื่อ (key) ของทุกคำ แล้วผสมข้อมูล (value) ตามน้ำหนักที่ได้ดูคำศัพท์ทั้งหมด):
- Query (คำถาม) — "ฉันกำลังหาข้อมูลแบบไหน" เช่น "มัน" ถามว่า "ใครคือตัวที่หิวได้"
- Key (ป้ายชื่อ) — แต่ละคำติดป้ายว่า "ฉันมีข้อมูลแบบนี้" แล้วเอา query ไปเทียบกับทุกป้าย ได้คะแนนความเกี่ยวข้อง
- Value (ข้อมูลจริง) — เอาข้อมูลของแต่ละคำมาผสมกันตามน้ำหนัก
ขั้นเปลี่ยนคะแนนเป็นน้ำหนักใช้ ซอฟต์แมกซ์ (softmax)สูตรที่เปลี่ยนคะแนนดิบเป็นความน่าจะเป็นที่รวมกันได้ 100% โดยยก e กำลังคะแนนแล้วหารด้วยผลรวมดูคำศัพท์ทั้งหมด — สูตรเดียวกับที่ใช้เลือกคำถัดไปในบทที่ 1 นั่นเอง
ลองเลือกคำ "มัน" แล้วสลับระหว่างสองประโยค ดูว่าน้ำหนักย้ายจากแมวไปปลายังไง แต่ละแถวของตารางรวมกันได้ 100% เสมอ
attention ให้แต่ละคำเลือก "ฟัง" คำอื่นในประโยคมากน้อยต่างกัน โดยใช้ softmax แบ่งความสนใจให้รวมได้ 100%

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