แนวคิดที่คุณควรรู้ก่อนเข้าสู่ Transformers

แนวคิดที่คุณควรรู้ก่อนเข้าสู่ Transformers

โหนดต้นทาง: 1894868

โครงข่ายประสาทเทียมเรียนรู้ผ่านตัวเลข ดังนั้นแต่ละคำจะถูกจับคู่กับเวกเตอร์เพื่อแสดงคำเฉพาะ เลเยอร์การฝังอาจเปรียบได้กับตารางการค้นหาที่เก็บการฝังคำและดึงข้อมูลเหล่านั้นโดยใช้ดัชนี

 

ข้อควรรู้ก่อนลง Transformer
 

คำที่มีความหมายเหมือนกันจะใกล้เคียงในรูปของระยะทางแบบยุคลิด/ความคล้ายคลึงกันของโคไซน์ ตัวอย่างเช่น ในการแสดงคำด้านล่าง "วันเสาร์" "วันอาทิตย์" และ "วันจันทร์" มีความเกี่ยวข้องกับแนวคิดเดียวกัน ดังนั้นเราจะเห็นว่าคำเหล่านั้นมีความคล้ายคลึงกัน
 

ข้อควรรู้ก่อนลง Transformer

การกำหนดตำแหน่งของคำ ทำไมต้องกำหนดตำแหน่งของคำ? เนื่องจากตัวเข้ารหัสของหม้อแปลงไม่มีการเกิดซ้ำเหมือนโครงข่ายประสาทเทียมที่เกิดซ้ำ เราต้องเพิ่มข้อมูลบางอย่างเกี่ยวกับตำแหน่งในการฝังอินพุต สิ่งนี้ทำได้โดยใช้การเข้ารหัสตำแหน่ง ผู้เขียนบทความใช้ฟังก์ชันต่อไปนี้เพื่อจำลองตำแหน่งของคำ

 

ข้อควรรู้ก่อนลง Transformer
 

เราจะพยายามอธิบายการเข้ารหัสตำแหน่ง

 

ข้อควรรู้ก่อนลง Transformer
 

ที่นี่ "pos" หมายถึงตำแหน่งของ "คำ" ในลำดับ P0 หมายถึงตำแหน่งที่ฝังของคำแรก “d” หมายถึงขนาดของคำ/โทเค็นที่ฝัง ในตัวอย่างนี้ d=5 สุดท้าย “i” หมายถึงแต่ละมิติจาก 5 มิติของการฝัง (เช่น 0, 1,2,3,4)

ถ้า “i” แปรผันตามสมการข้างต้น คุณจะได้เส้นโค้งจำนวนมากที่มีความถี่ต่างกัน การอ่านค่าการฝังตำแหน่งเทียบกับความถี่ที่แตกต่างกัน โดยให้ค่าที่แตกต่างกันในมิติการฝังที่แตกต่างกันสำหรับ P0 และ P4

ข้อควรรู้ก่อนลง Transformer
 

ในการนี​​้ สอบถาม, Q แทนคำเวกเตอร์, the คีย์เค เป็นคำอื่นทั้งหมดในประโยค และ ค่า V แสดงถึงเวกเตอร์ของคำ

จุดประสงค์ของการให้ความสนใจคือการคำนวณความสำคัญของคำหลักเมื่อเทียบกับคำค้นหาที่เกี่ยวข้องกับบุคคล/สิ่งของหรือแนวคิดเดียวกัน

ในกรณีของเรา V เท่ากับ Q

กลไกความสนใจทำให้เราเห็นความสำคัญของคำในประโยค

 

ข้อควรรู้ก่อนลง Transformer
 

เมื่อเราคำนวณดอทโปรดักต์ที่ทำให้เป็นมาตรฐานระหว่างเคียวรีและคีย์ เราจะได้เทนเซอร์ที่แสดงถึงความสำคัญสัมพัทธ์ของคำแต่ละคำสำหรับเคียวรี

 

ข้อควรรู้ก่อนลง Transformer
 

เมื่อคำนวณดอทโปรดักต์ระหว่าง Q และ KT เราจะพยายามประเมินว่าเวกเตอร์ (เช่น คำที่อยู่ระหว่างเคียวรีกับคีย์) เรียงตัวกันอย่างไร และส่งคืนค่าน้ำหนักสำหรับแต่ละคำในประโยค

จากนั้น เราทำให้ผลลัพธ์กำลังสองของ d_k เป็นมาตรฐาน และฟังก์ชัน softmax จะทำให้เงื่อนไขเป็นปกติและปรับขนาดใหม่ระหว่าง 0 ถึง 1

สุดท้าย เราคูณผลลัพธ์ (เช่น น้ำหนัก) ด้วยค่า (เช่น ทุกคำ) เพื่อลดความสำคัญของคำที่ไม่เกี่ยวข้องและเน้นเฉพาะคำที่สำคัญที่สุด

เวกเตอร์เอาต์พุตความสนใจแบบหลายหัวถูกเพิ่มในการฝังอินพุตตำแหน่งเดิม สิ่งนี้เรียกว่าการเชื่อมต่อที่เหลือ/ข้ามการเชื่อมต่อ เอาต์พุตของการเชื่อมต่อที่เหลือจะผ่านการทำให้เป็นมาตรฐานของเลเยอร์ เอาต์พุตที่เหลือที่ทำให้เป็นมาตรฐานจะถูกส่งผ่านเครือข่ายการส่งต่อแบบจุดสำหรับการประมวลผลเพิ่มเติม

 

ข้อควรรู้ก่อนลง Transformer

มาสก์เป็นเมทริกซ์ที่มีขนาดเท่ากับคะแนนความสนใจซึ่งเต็มไปด้วยค่า 0 และค่าอนันต์ติดลบ

 

ข้อควรรู้ก่อนลง Transformer
 

เหตุผลของการมาสก์คือเมื่อคุณหาค่าซอฟต์แม็กซ์ของคะแนนที่ถูกมาสก์ ค่าอินฟินิตีเชิงลบจะเป็นศูนย์ ทำให้คะแนนความสนใจเป็นศูนย์สำหรับโทเค็นในอนาคต

สิ่งนี้บอกให้นางแบบไม่ให้ความสำคัญกับคำเหล่านั้น

จุดประสงค์ของฟังก์ชัน softmax คือการจับจำนวนจริง (บวกและลบ) และเปลี่ยนให้เป็นจำนวนบวกซึ่งรวมเป็น 1

 

ข้อควรรู้ก่อนลง Transformer

 
 
ราวิคูมาร์ นาดูวิน ยุ่งอยู่กับการสร้างและทำความเข้าใจงาน NLP โดยใช้ PyTorch

 
Original. โพสต์ใหม่โดยได้รับอนุญาต
 

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต