Connect with us

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

ปัญญาประดิษฐ์

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

mm
Guide on NLP

การประมวลผลภาษาธรรมชาติ (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 หลายอย่างอย่างมาก

… (เนื้อหาที่เหลือจะถูกแปลและรักษาไว้ตามโครงสร้างเดิม)

ฉันใช้เวลา 5 ปีที่ผ่านมาในการศึกษาและเรียนรู้เกี่ยวกับโลกของ Machine Learning และ Deep Learning อย่างลึกซึ้ง ความรู้และความเชี่ยวชาญของฉันทำให้ฉันได้เข้าร่วมในโครงการพัฒนาซอฟต์แวร์มากกว่า 50 โครงการที่มีความหลากหลาย โดยมุ่งเน้นไปที่ AI/ML ความอยากรู้อยากเห็นของฉันยังดึงดูดให้ฉันสนใจไปที่ Natural Language Processing ซึ่งเป็นสาขาที่ฉันกระตือรือร้นที่จะสำรวจเพิ่มเติม