Seq2seq

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

 ประวัติศาสตร์ 
ขั้นตอนวิธีนี้ได้รับการพัฒนาโดยกูเกิลในปี 2014 เพื่อใช้ในการแปลด้วยเครื่อง

ก่อนหน้านี้มีการการศึกษาที่คล้ายกันเช่นวิทยานิพนธ์ปริญญาเอกปี 2012 ของโตมาช มิโคโลฟp. 94 of https://www.fit.vut.cz/study/phd-thesis-file/283/283.pdf, https://www.fit.vut.cz/study/phd-thesis-file/283/283_o2.pdf ในปี 2019 Facebook ได้ประกาศนำใช้ในงานสำหรับการหาปริพันธ์เชิงสัญลักษณ์ และ การแก้สมการเชิงอนุพันธ์

กูเกิลอ้างว่าสามารถแก้สมการที่ซับซ้อนได้เร็วและแม่นยำกว่าตัวแก้ที่มีขายทั่วไป เช่น Mathematica, MATLAB และ Maple ขั้นแรกจะแยกสมการออกเป็นโครงสร้างต้นไม้เพื่อขจัดลักษณะเฉพาะทางสัญกรณ์ออก จากนั้นโครงข่ายประสาทเทียม LSTM จะประมวลผลแบบต้นไม้โดยใช้ฟังก์ชัน การรู้จำแบบมาตรฐาน

ในปี 2020 กูเกิลได้เปิดตัว Meena ซึ่งเป็น จักรกลสนทนาที่ใช้ seq2seq มีพารามิเตอร์ 2.6 พันล้านตัว ที่ฝึกฝนบนชุดข้อมูลขนาด 341 GB กูเกิลอ้างว่าจักรกลสนทนาตัวนี้มีความจุของแบบจำลองมากกว่า GPT-2 ของ OpenAI ถึง 1.7 เท่า

ในปี 2022 ทาง Amazon ได้ประกาศ AlexaTM 20B ซึ่ง เป็นแบบจำลองภาษา seq2seq ขนาดกลาง (20 พันล้านพารามิเตอร์) ซึ่งใช้ตัวเข้ารหัส-ตัวถอดรหัสเพื่อดำเนินการเรียนรู้แบบไม่กี่ช็อต ตัวเข้ารหัสจะทำการแปลงค่าขาเข้า แล้วตัวถอดรหัสจะดำเนินการกับค่านั้นเพื่อทำงานเช่น การแปลเป็นภาษาอื่น แบบจำลองนี้มีประสิทธิภาพในการแปลภาษาและการสรุปได้ดีกว่า GPT-3 ที่มีขนาดใหญ่กว่ามาก การฝึกได้ทำไปพร้อมกับการลดสัญญาณรบกวน (ซ่อมแซมข้อความที่ขาดหายภายในสายอักขระอย่างเหมาะสม) และการสร้างแบบจำลองภาษาเชิงสาเหตุ (การต่อยอดข้อความที่มีความหมาย) ซึ่งช่วยให้สามารถเพิ่มค่าแทนลักษณะต่าง ๆ ในภาษาต่าง ๆ ได้โดยไม่ต้องมีขั้นตอนการฝึกอบรมที่กว้างขวาง AlexaTM 20B บรรลุประสิทธิภาพที่ล้ำสมัยด้วยงานการเรียนรู้แบบไม่กี่ช็อตจากทุกคู่ภาษาใน Flores-101 และมีประสิทธิภาพเหนือกว่า GPT-3 ในบางงาน 

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

มีวิธีการปรับให้เหมาะที่สุดดังต่อไปนี้

 กลไกความใส่ใจ

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

 การค้นหาแบบบีม

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

โดยทั่วไปการฝึกแบบจำลองจะใช้ ฟังก์ชันการสูญเสียแบบเอนโทรปีไขว้

 ซอฟต์แวร์ที่เกี่ยวข้อง 
ซอฟต์แวร์ที่ใช้เทคนิคเดียวกันนี้ ได้แก่ OpenNMT (Torch), Neural Monkey (TensorFlow) และ NEMATUS (Theano) 

 อ้างอิง 

หมวดหมู่:ซอฟต์แวร์ของกูเกิล
หมวดหมู่:การประมวลภาษาธรรมชาติ
หมวดหมู่:โครงข่ายประสาทเทียม