- คำศัพท์ (A ถึง D)
- การควบคุมความสามารถของ AI
- AIOps
- อัลบั้ม
- ประสิทธิภาพของสินทรัพย์
- ตัวเข้ารหัสอัตโนมัติ
- การขยายพันธุ์หลัง
- ทฤษฎีบทเบย์
- ข้อมูลขนาดใหญ่
- Chatbot: คู่มือสำหรับผู้เริ่มต้น
- การคิดเชิงคำนวณ
- วิสัยทัศน์คอมพิวเตอร์
- เมทริกซ์ความสับสน
- เครือข่ายประสาทเทียม
- cybersecurity
- ผ้าข้อมูล
- การเล่าเรื่องข้อมูล
- ข้อมูลวิทยาศาสตร์
- คลังข้อมูล
- ต้นไม้ตัดสินใจ
- Deepfakes
- การเรียนรู้ลึก ๆ
- การเรียนรู้การเสริมแรงเชิงลึก
- devops
- DevSecOps
- แบบจำลองการแพร่กระจาย
- ดิจิตอลแฝด
- การลดขนาด
- คำศัพท์ (E ถึง K)
- เอดจ์ไอ
- อารมณ์ AI
- การเรียนรู้ทั้งมวล
- การแฮ็กอย่างมีจริยธรรม
- ETL
- AI ที่อธิบายได้
- สหพันธ์การเรียนรู้
- ฟินอ๊อฟ
- กำเนิด AI
- เครือข่ายผู้ให้กำเนิด
- กำเนิดเทียบกับการเลือกปฏิบัติ
- ไล่โทนสี
- โคตรไล่ระดับ
- การเรียนรู้ไม่กี่ช็อต
- การจำแนกรูปภาพ
- การดำเนินงานด้านไอที (ITOps)
- ระบบอัตโนมัติของเหตุการณ์
- วิศวกรรมอิทธิพล
- K-หมายถึงการจัดกลุ่ม
- K-เพื่อนบ้านที่ใกล้ที่สุด
- คำศัพท์ (L ถึง Q)
- คำศัพท์ (R ถึง Z)
- การเรียนรู้เสริมแรง
- AI ที่มีความรับผิดชอบ
- อาร์แอลเอชเอฟ
- ระบบอัตโนมัติของกระบวนการหุ่นยนต์
- มีโครงสร้าง vs ไม่มีโครงสร้าง
- การวิเคราะห์ความเชื่อมั่น
- อยู่ภายใต้การดูแล vs ไม่ได้รับการดูแล
- สนับสนุนเครื่องเวกเตอร์
- ข้อมูลสังเคราะห์
- สื่อสังเคราะห์
- การจัดประเภทข้อความ
- TinyML
- ถ่ายทอดการเรียนรู้
- เครือข่ายประสาทหม้อแปลง
- การทดสอบของทัวริง
- การค้นหาความคล้ายคลึงกันของเวกเตอร์
AI 101
Transformer Neural Networks คืออะไร?
สารบัญ
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 แบบดั้งเดิมจะละทิ้งสถานะขั้นกลางทั้งหมด และใช้เฉพาะสถานะสุดท้าย/เวกเตอร์บริบทเมื่อเริ่มต้นเครือข่ายตัวถอดรหัสเพื่อสร้างการคาดคะเนเกี่ยวกับลำดับอินพุต
ละทิ้งทุกอย่าง แต่เวกเตอร์บริบทสุดท้ายใช้งานได้ดีเมื่อลำดับอินพุตมีขนาดค่อนข้างเล็ก แต่เมื่อความยาวของลำดับอินพุตเพิ่มขึ้น ประสิทธิภาพของโมเดลจะลดลงในขณะที่ใช้วิธีนี้ เนื่องจากเป็นการยากที่จะสรุปลำดับอินพุตที่ยาวเป็นเวกเตอร์เดียว วิธีแก้ไขคือการเพิ่ม "ความสนใจ" ของโมเดลและใช้สถานะตัวเข้ารหัสระดับกลางเพื่อสร้างเวกเตอร์บริบทสำหรับตัวถอดรหัส
กลไกความสนใจกำหนดว่าโทเค็นอินพุตอื่นๆ มีความสำคัญต่อโมเดลอย่างไร เมื่อสร้างการเข้ารหัสสำหรับโทเค็นที่กำหนด ตัวอย่างเช่น “มัน” เป็นคำสรรพนามทั่วไป มักใช้เรียกสัตว์เมื่อไม่ทราบเพศ กลไกการให้ความสนใจจะทำให้โมเดลหม้อแปลงระบุได้ว่าในบริบทปัจจุบัน "มัน" หมายถึงกระรอก เพราะมันสามารถตรวจสอบคำที่เกี่ยวข้องทั้งหมดในประโยคอินพุตได้
กลไกความสนใจสามารถใช้ได้ในสามวิธี: ตัวเข้ารหัสถึงตัวถอดรหัส, ตัวเข้ารหัสเท่านั้น, ตัวถอดรหัสเท่านั้น
ความสนใจของตัวเข้ารหัส-ตัวถอดรหัสช่วยให้ตัวถอดรหัสพิจารณาลำดับอินพุตเมื่อสร้างเอาต์พุต ในขณะที่กลไกความสนใจเฉพาะตัวเข้ารหัสและตัวถอดรหัสเท่านั้นช่วยให้เครือข่ายพิจารณาทุกส่วนของลำดับก่อนหน้าและปัจจุบันตามลำดับ
การสร้างกลไกความสนใจสามารถแบ่งออกเป็นห้าขั้นตอน:
- คำนวณคะแนนสำหรับสถานะตัวเข้ารหัสทั้งหมด
- การคำนวณน้ำหนักความสนใจ
- การคำนวณเวกเตอร์บริบท
- กำลังอัปเดตเวกเตอร์บริบทด้วยเอาต์พุตขั้นตอนเวลาก่อนหน้า
- สร้างเอาต์พุตด้วยตัวถอดรหัส
ขั้นตอนแรกคือการให้ตัวถอดรหัสคำนวณคะแนนสำหรับสถานะตัวเข้ารหัสทั้งหมด สิ่งนี้ทำได้โดยการฝึกอบรมเครือข่ายตัวถอดรหัสซึ่งเป็นเครือข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดพื้นฐาน เมื่อตัวถอดรหัสได้รับการฝึกอบรมเกี่ยวกับคำแรกในลำดับการป้อนข้อมูล ยังไม่มีการสร้างสถานะภายใน/ที่ซ่อนอยู่ ดังนั้นโดยปกติแล้วสถานะสุดท้ายของตัวเข้ารหัสจะถูกใช้เป็นสถานะก่อนหน้าของตัวถอดรหัส
ในการคำนวณน้ำหนักความสนใจ ฟังก์ชัน softmax จะใช้เพื่อสร้างการกระจายความน่าจะเป็นสำหรับน้ำหนักความสนใจ
เมื่อคำนวณน้ำหนักความสนใจแล้ว จำเป็นต้องคำนวณเวกเตอร์บริบท สิ่งนี้ทำได้โดยการคูณน้ำหนักความสนใจและสถานะที่ซ่อนไว้ด้วยกันในทุกขั้นตอนของเวลา
หลังจากคำนวณเวกเตอร์บริบทแล้ว จะใช้ควบคู่ไปกับคำที่สร้างขึ้นในขั้นตอนเวลาก่อนหน้าเพื่อสร้างคำถัดไปในลำดับผลลัพธ์ เนื่องจากตัวถอดรหัสไม่มีเอาต์พุตก่อนหน้าที่จะอ้างอิงในขั้นตอนครั้งแรก จึงมักใช้โทเค็น "เริ่มต้น" พิเศษแทน
ความแตกต่างระหว่าง Transformers & RNNs/LSTMs
เรามาพูดถึงความแตกต่างระหว่าง RNN และ LSTM กันอย่างรวดเร็ว
RNN ประมวลผลอินพุตตามลำดับ ในขณะที่เวกเตอร์สถานะที่ซ่อนอยู่จะได้รับการดูแลและเปลี่ยนแปลงโดยคำที่ป้อนเมื่อพวกมันเคลื่อนผ่านเครือข่าย สถานะที่ซ่อนอยู่ของ RNN มักจะมีข้อมูลที่เกี่ยวข้องน้อยมากเกี่ยวกับอินพุตก่อนหน้านี้ อินพุตใหม่มักจะเขียนทับสถานะปัจจุบัน ซึ่งทำให้ข้อมูลสูญหายและทำให้ประสิทธิภาพลดลงเมื่อเวลาผ่านไป
ในทางตรงกันข้าม โมเดลของหม้อแปลงจะประมวลผลลำดับอินพุตทั้งหมดพร้อมกัน กลไกความสนใจช่วยให้ทุกคำที่ส่งออกได้รับการแจ้งจากทุกอินพุตและสถานะที่ซ่อนอยู่ ทำให้เครือข่ายมีความน่าเชื่อถือมากขึ้นสำหรับข้อความยาวๆ
LSTMs คือ RNNs เวอร์ชันแก้ไข ซึ่งปรับให้รองรับลำดับอินพุตที่ยาวขึ้น สถาปัตยกรรม LSTM ใช้โครงสร้างที่เรียกว่า "เกต" โดยมี "เกตอินพุต" "เกตเอาต์พุต" และ "เกตลืม" การออกแบบ gated เกี่ยวข้องกับการสูญหายของข้อมูลทั่วไปในรุ่น RNN ข้อมูลยังคงถูกประมวลผลตามลำดับ และการออกแบบซ้ำของสถาปัตยกรรมทำให้โมเดล LSTM ฝึกโดยใช้การคำนวณแบบขนานได้ยาก ทำให้เวลาฝึกโดยรวมนานขึ้น
วิศวกร LSTM มักจะเพิ่มกลไกการเอาใจใส่ไปยังเครือข่าย ซึ่งเป็นที่รู้กันว่าช่วยปรับปรุงประสิทธิภาพของโมเดล อย่างไรก็ตาม ในที่สุดก็ค้นพบว่ากลไกความสนใจเพียงอย่างเดียวช่วยเพิ่มความแม่นยำ การค้นพบนี้นำไปสู่การสร้างเครือข่ายหม้อแปลงไฟฟ้าที่ใช้กลไกความสนใจและการประมวลผลแบบขนานด้วย GPU
บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม
คุณอาจชอบ
Snowflake Arctic: LLM ที่ล้ำสมัยสำหรับ Enterprise AI
EfficientViT: หม้อแปลงวิชันซิสเต็มหน่วยความจำสำหรับวิชันซิสเต็มคอมพิวเตอร์ความละเอียดสูง
MPT-30B: MosaicML โดดเด่นกว่า GPT-3 ด้วย LLM ใหม่เพื่อผลักดันขอบเขตของ NLP
การลบวัตถุออกจากวิดีโออย่างมีประสิทธิภาพยิ่งขึ้นด้วยการเรียนรู้ของเครื่อง
AI Image Matting ที่เข้าใจฉากต่างๆ
คีย์บอร์ดมือถือล่องหนที่ขับเคลื่อนด้วย AI ซึ่งช่วยให้คุณพิมพ์ได้เร็วขึ้น 157%