ต้นขั้ว Transformer Neural Networks คืออะไร? - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

Transformer Neural Networks คืออะไร?

mm
วันที่อัพเดท on

Transformer Neural Networks อธิบายไว้

หม้อแปลง เป็นโมเดลการเรียนรู้ของเครื่องประเภทหนึ่งที่เชี่ยวชาญในการประมวลผลและการตีความข้อมูลตามลำดับ ทำให้เหมาะสมที่สุดสำหรับงานประมวลผลภาษาธรรมชาติ เพื่อให้เข้าใจได้ดีขึ้นว่าหม้อแปลงการเรียนรู้ของเครื่องจักรคืออะไร และวิธีการทำงานของพวกมัน เรามาดูโมเดลของหม้อแปลงและกลไกที่ขับเคลื่อนพวกมันกันดีกว่า

บทความนี้จะครอบคลุม:

  • แบบจำลองลำดับต่อลำดับ
  • สถาปัตยกรรมโครงข่ายประสาทเทียมของ Transformer
  • กลไกการเรียกร้องความสนใจ
  • ความแตกต่างระหว่าง Transformers และ RNNs/LSTMs

แบบจำลองลำดับต่อลำดับ

แบบจำลองลำดับต่อลำดับคือประเภทของแบบจำลอง NLP ที่ใช้ในการแปลงลำดับของประเภทหนึ่งไปเป็นลำดับของอีกประเภทหนึ่ง แบบจำลองลำดับต่อลำดับมีหลายประเภท เช่น โครงข่ายประสาทกำเริบ รูปแบบและ หน่วยความจำระยะสั้นระยะยาว (LSTM) รูปแบบต่างๆ

แบบจำลองลำดับต่อลำดับแบบดั้งเดิมเช่น RNN และ LSTMS ไม่ใช่จุดสนใจของบทความนี้ แต่การทำความเข้าใจเกี่ยวกับแบบจำลองเหล่านี้จำเป็นต้องเข้าใจถึงวิธีการทำงานของแบบจำลองหม้อแปลงและเหตุใดจึงเหนือกว่าแบบจำลองลำดับต่อลำดับแบบดั้งเดิม

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

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

สถาปัตยกรรมโครงข่ายประสาทเทียมของ Transformer

เราจะพูดถึงกลไกความสนใจในรายละเอียดเพิ่มเติมในภายหลัง แต่สำหรับตอนนี้ เรามาดูกันที่ สถาปัตยกรรมของเครือข่ายประสาทหม้อแปลง ในระดับที่สูงขึ้น

โดยทั่วไปแล้วโครงข่ายประสาทเทียมของหม้อแปลงจะมีลักษณะดังต่อไปนี้:

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

การเข้ารหัสตำแหน่งและเวกเตอร์คำ

เครือข่ายประสาทของหม้อแปลงทำงาน โดยนำลำดับของอินพุตและแปลงอินพุตเหล่านี้เป็นสองลำดับอื่น หม้อแปลงสร้างลำดับของการฝังเวกเตอร์คำและการเข้ารหัสตำแหน่ง

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

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

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

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

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

เนื่องจาก GPU สามารถประมวลผลแบบขนานได้ จึงมีการใช้กลไกการสังเกตหลายอย่างพร้อมกัน โดยคำนวณข้อมูลที่เกี่ยวข้องสำหรับคำที่ป้อนทั้งหมด ความสามารถนี้ในการให้ความสนใจกับคำหลายคำ ซึ่งเรียกว่า "หลายหัว" ในแต่ละครั้ง ช่วยให้โครงข่ายประสาทเทียมเรียนรู้บริบทของคำภายในประโยค และเป็นหนึ่งในข้อได้เปรียบหลักที่เครือข่ายหม้อแปลงมีเหนือ RNN และ LSTM

กลไกการเรียกร้องความสนใจ

กลไกความสนใจเป็นส่วนที่สำคัญที่สุดของเครือข่ายหม้อแปลง กลไกความสนใจคือสิ่งที่ทำให้โมเดลหม้อแปลงสามารถก้าวข้ามขีดจำกัดความสนใจของโมเดล RNN หรือ LSTM ทั่วไปได้ โมเดล Sequence-to-Sequence แบบดั้งเดิมจะละทิ้งสถานะขั้นกลางทั้งหมด และใช้เฉพาะสถานะสุดท้าย/เวกเตอร์บริบทเมื่อเริ่มต้นเครือข่ายตัวถอดรหัสเพื่อสร้างการคาดคะเนเกี่ยวกับลำดับอินพุต

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

กลไกความสนใจกำหนดว่าโทเค็นอินพุตอื่นๆ มีความสำคัญต่อโมเดลอย่างไร เมื่อสร้างการเข้ารหัสสำหรับโทเค็นที่กำหนด ตัวอย่างเช่น “มัน” เป็นคำสรรพนามทั่วไป มักใช้เรียกสัตว์เมื่อไม่ทราบเพศ กลไกการให้ความสนใจจะทำให้โมเดลหม้อแปลงระบุได้ว่าในบริบทปัจจุบัน "มัน" หมายถึงกระรอก เพราะมันสามารถตรวจสอบคำที่เกี่ยวข้องทั้งหมดในประโยคอินพุตได้

กลไกความสนใจสามารถใช้ได้ในสามวิธี: ตัวเข้ารหัสถึงตัวถอดรหัส, ตัวเข้ารหัสเท่านั้น, ตัวถอดรหัสเท่านั้น

ความสนใจของตัวเข้ารหัส-ตัวถอดรหัสช่วยให้ตัวถอดรหัสพิจารณาลำดับอินพุตเมื่อสร้างเอาต์พุต ในขณะที่กลไกความสนใจเฉพาะตัวเข้ารหัสและตัวถอดรหัสเท่านั้นช่วยให้เครือข่ายพิจารณาทุกส่วนของลำดับก่อนหน้าและปัจจุบันตามลำดับ

การสร้างกลไกความสนใจสามารถแบ่งออกเป็นห้าขั้นตอน:

  1. คำนวณคะแนนสำหรับสถานะตัวเข้ารหัสทั้งหมด
  2. การคำนวณน้ำหนักความสนใจ
  3. การคำนวณเวกเตอร์บริบท
  4. กำลังอัปเดตเวกเตอร์บริบทด้วยเอาต์พุตขั้นตอนเวลาก่อนหน้า
  5. สร้างเอาต์พุตด้วยตัวถอดรหัส

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

ในการคำนวณน้ำหนักความสนใจ ฟังก์ชัน softmax จะใช้เพื่อสร้างการกระจายความน่าจะเป็นสำหรับน้ำหนักความสนใจ

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

หลังจากคำนวณเวกเตอร์บริบทแล้ว จะใช้ควบคู่ไปกับคำที่สร้างขึ้นในขั้นตอนเวลาก่อนหน้าเพื่อสร้างคำถัดไปในลำดับผลลัพธ์ เนื่องจากตัวถอดรหัสไม่มีเอาต์พุตก่อนหน้าที่จะอ้างอิงในขั้นตอนครั้งแรก จึงมักใช้โทเค็น "เริ่มต้น" พิเศษแทน

ความแตกต่างระหว่าง Transformers & RNNs/LSTMs

เรามาพูดถึงความแตกต่างระหว่าง RNN และ LSTM กันอย่างรวดเร็ว

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

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

LSTMs คือ RNNs เวอร์ชันแก้ไข ซึ่งปรับให้รองรับลำดับอินพุตที่ยาวขึ้น สถาปัตยกรรม LSTM ใช้โครงสร้างที่เรียกว่า "เกต" โดยมี "เกตอินพุต" "เกตเอาต์พุต" และ "เกตลืม" การออกแบบ gated เกี่ยวข้องกับการสูญหายของข้อมูลทั่วไปในรุ่น RNN ข้อมูลยังคงถูกประมวลผลตามลำดับ และการออกแบบซ้ำของสถาปัตยกรรมทำให้โมเดล LSTM ฝึกโดยใช้การคำนวณแบบขนานได้ยาก ทำให้เวลาฝึกโดยรวมนานขึ้น

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

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม