ปัญญาประดิษฐ์
NLP Rise with Transformer Models | การวิเคราะห์แบบครอบคลุมของ T5, BERT และ GPT

การประมวลผลภาษาธรรมชาติ (NLP) ได้ประสบกับการพัฒนาที่มีผลกระทบมากที่สุดในช่วงไม่กี่ปีที่ผ่านมา โดยหลักๆ แล้วเนื่องมาจากสถาปัตยกรรม Transformer การพัฒนาที่สำคัญเหล่านี้ไม่เพียงแต่เพิ่มความสามารถของเครื่องจักรในการเข้าใจและสร้างภาษาของมนุษย์เท่านั้น แต่ยังกำหนดภูมิทัศน์ของแอปพลิเคชันต่างๆ ใหม่อีกด้วย ตั้งแต่เครื่องมือค้นหาไปจนถึง AI ที่สามารถสนทนาได้
เพื่อทำความเข้าใจถึงความสำคัญของ Transformer อย่างเต็มที่ เราต้องมองย้อนกลับไปที่ต้นกำเนิดและบล็อกที่สร้างขึ้นซึ่งวางรากฐานสำหรับสถาปัตยกรรมที่ปฏิวัตินี้
เทคนิค NLP ในยุคแรกๆ: พื้นฐานก่อน Transformer
การฝังตัวของคำ: จาก One-Hot ถึง Word2Vec
ในแนวทาง NLP แบบดั้งเดิม การแสดงคำมักจะเป็นแบบตามตัวอักษรและขาดความเข้าใจเชิงความหมายหรือไวยากรณ์ การเข้ารหัสแบบ One-Hot เป็นตัวอย่างที่ดีของข้อจำกัดนี้
การเข้ารหัสแบบ One-Hot เป็นกระบวนการที่ตัวแปรประเภทต่างๆ ถูกแปลงเป็นตัวแทนเวกเตอร์แบบไบนารี่ โดยที่บิตเพียงหนึ่งบิตถูกตั้งค่าเป็น “1” ในขณะที่บิตอื่นๆ ถูกตั้งค่าเป็น “0” ในบริบทของ NLP แต่ละคำในพจนานุกรมจะถูกแสดงด้วยเวกเตอร์แบบ One-Hot โดยที่แต่ละเวกเตอร์มีขนาดเท่ากับขนาดของพจนานุกรม และแต่ละคำจะถูกแสดงด้วยเวกเตอร์ที่มี “0” ทั้งหมดและ “1” ที่ดัชนีที่สอดคล้องกับคำนั้นในรายการพจนานุกรม
ตัวอย่างของการเข้ารหัสแบบ One-Hot
สมมติว่าเรามีพจนานุกรมขนาดเล็กที่มีเพียงห้าคำ: [“king”, “queen”, “man”, “woman”, “child”] เวกเตอร์แบบ One-Hot สำหรับแต่ละคำจะดูเหมือนดังนี้:
- “king” -> [1, 0, 0, 0, 0]
- “queen” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “woman” -> [0, 0, 0, 1, 0]
- “child” -> [0, 0, 0, 0, 1]
การแสดงผลทางคณิตศาสตร์
หากเราแสดงขนาดของพจนานุกรมของเราเป็น และเวกเตอร์แบบ One-Hot ของคำที่ i เป็น การแสดงผลทางคณิตศาสตร์ของ จะเป็น:
โดยที่ตำแหน่งที่ i เป็น 1 และตำแหน่งอื่นๆ เป็น 0.
ข้อเสียหลักของการเข้ารหัสแบบ One-Hot คือการรักษาแต่ละคำเป็นหน่วยที่แยกจากกัน โดยไม่มีความสัมพันธ์กับคำอื่นๆ ซึ่งนำไปสู่เวกเตอร์ที่มีความหนาแน่นต่ำและมีมิติสูงซึ่งไม่สามารถจับข้อมูลเชิงความหมายหรือไวยากรณ์ของคำได้
การแนะนำการฝังตัวของคำ โดยเฉพาะ Word2Vec ถือเป็นช่วงเวลาสำคัญใน NLP ซึ่งพัฒนาโดยทีมที่ Google นำโดย Tomas Mikolov ในปี 2013 Word2Vec แสดงคำในพื้นที่เวกเตอร์ที่หนาแน่น โดยจับความสัมพันธ์ของคำเชิงความหมายและไวยากรณ์ตามบริบทภายในข้อความขนาดใหญ่
ไม่เหมือนกับการเข้ารหัสแบบ One-Hot Word2Vec ผลิตเวกเตอร์ที่มีความหนาแน่น โดยทั่วไปมีหลายร้อยมิติ คำที่ปรากฏในบริบทที่คล้ายกัน เช่น “king” และ “queen” จะมีการแสดงเวกเตอร์ที่ใกล้กันในพื้นที่เวกเตอร์
เพื่อการอธิบาย ลองสมมติว่าเรามีการฝึกอบรมแบบ Word2Vec และแสดงคำในพื้นที่ 3 มิติ (ซึ่งลดลงจากความซับซ้อนจริง) การฝังตัวอาจดูเหมือนดังนี้:
- “king” -> [0.2, 0.1, 0.9]
- “queen” -> [0.21, 0.13, 0.85]
- “man” -> [0.4, 0.3, 0.2]
- “woman” -> [0.41, 0.33, 0.27]
- “child” -> [0.5, 0.5, 0.1]
แม้ว่าตัวเลขเหล่านี้จะเป็นข้อคิด แต่ก็แสดงให้เห็นว่าคำที่คล้ายกันมีเวกเตอร์ที่คล้ายกัน
การแสดงผลทางคณิตศาสตร์
หากเราแสดงการฝังตัวของ Word2Vec ของคำเป็น , และพื้นที่การฝังตัวของเรามี มิติ แล้ว สามารถแสดงเป็น:
ความสัมพันธ์เชิงความหมาย
Word2Vec ยังสามารถจับความสัมพันธ์ที่ซับซ้อน เช่น การเปรียบเทียบได้ ตัวอย่างเช่น ความสัมพันธ์ที่มีชื่อเสียงที่ Word2Vec จับได้คือ:
เวกเตอร์(“king”) – เวกเตอร์(“man”) + เวกเตอร์(“woman”)≈เวกเตอร์(“queen”)
สิ่งนี้เป็นไปได้เพราะ Word2Vec ปรับเวกเตอร์ของคำระหว่างการฝึกอบรมเพื่อให้คำที่ปรากฏในบริบทที่คล้ายกันในคอร์ปัสจะถูกวางไว้ใกล้กันในพื้นที่เวกเตอร์
Word2Vec ใช้สถาปัตยกรรมหลักสองแบบในการสร้างการแสดงคำแบบกระจาย: Continuous Bag-of-Words (CBOW) และ Skip-Gram CBOW คาดการณ์คำเป้าหมายจากคำบริบทที่ล้อมรอบ ในขณะที่ Skip-Gram ทำสิ่งที่ตรงกันข้าม โดยคาดการณ์คำบริบทจากคำเป้าหมาย สิ่งนี้ทำให้เครื่องจักรสามารถเริ่มเข้าใจการใช้คำและความหมายในลักษณะที่ละเอียดอ่อนมากขึ้น
การสร้างแบบจำลองลำดับ: RNNs และ LSTMs
เมื่อสนามแข่งขันพัฒนาไป ความสนใจเปลี่ยนไปสู่การทำความเข้าใจลำดับของข้อความ ซึ่งจำเป็นสำหรับงานอย่างการแปลภาษา การสรุปข้อความ และการวิเคราะห์ความรู้สึก Recurrent Neural Networks (RNNs) กลายเป็นรากฐานสำหรับการใช้งานเหล่านี้เนื่องจากความสามารถในการจัดการข้อมูลลำดับโดยการรักษาหน่วยความจำในรูปแบบใดรูปแบบหนึ่ง
อย่างไรก็ตาม RNNs ไม่ได้ปราศจากข้อจำกัด พวกมันประสบปัญหาในการจัดการกับความสัมพันธ์ระยะไกลเนื่องจากปัญหาการคายความชัน (vanishing gradient) ซึ่งทำให้การเรียนรู้ความสัมพันธ์ระหว่างเหตุการณ์ที่ห่างไกลเป็นเรื่องที่ท้าทาย
Long Short-Term Memory networks (LSTMs) ซึ่งแนะนำโดย Sepp Hochreiter และ Jürgen Schmidhuber ในปี 1997 ได้กล่าวถึงปัญหานี้ด้วยสถาปัตยกรรมที่ซับซ้อนมากขึ้น LSTMs มีเกตที่ควบคุมการไหลของข้อมูล: เกตข้อมูลเข้า เกตลืม และเกตข้อมูลออก เกตเหล่านี้กำหนดข้อมูลที่จะถูกเก็บไว้ อัปเดต หรือทิ้งไป ทำให้เครือข่ายสามารถรักษาความสัมพันธ์ระยะไกลและปรับปรุงประสิทธิภาพในการทำงาน NLP หลายอย่างอย่างมาก
… (เนื้อหาที่เหลือจะถูกแปลและรักษาไว้ตามโครงสร้างเดิม)












