ข้ามไปเนื้อหา

Seq2seq

จากวิกิพีเดีย สารานุกรมเสรี

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

ประวัติศาสตร์

[แก้]

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

ก่อนหน้านี้มีการการศึกษาที่คล้ายกันเช่นวิทยานิพนธ์ปริญญาเอกปี 2012 ของโตมาช มิโคโลฟ[3] ในปี 2019 Facebook ได้ประกาศนำใช้ในงานสำหรับการหาปริพันธ์เชิงสัญลักษณ์ และ การแก้สมการเชิงอนุพันธ์

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

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

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

วิธีการ

[แก้]

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

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

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

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

ซอฟต์แวร์ที่เกี่ยวข้อง

[แก้]

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

อ้างอิง

[แก้]
  1. Sutskever, Ilya; Vinyals, Oriol. "Sequence to sequence learning with neural networks". arXiv:1409.3215 [cs.CL].
  2. 1 2 3 4 Wadhwa, Mani (2018-12-05). "seq2seq model in Machine Learning". GeeksforGeeks (ภาษาอังกฤษแบบอเมริกัน). สืบค้นเมื่อ 2019-12-17.{{cite web}}: CS1 maint: url-status (ลิงก์)
  3. 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
  4. "Facebook has a neural network that can do advanced math". MIT Technology Review (ภาษาอังกฤษแบบอเมริกัน). December 17, 2019. สืบค้นเมื่อ 2019-12-17.{{cite web}}: CS1 maint: url-status (ลิงก์)
  5. Mehta, Ivan (2020-01-29). "Google claims its new chatbot Meena is the best in the world". The Next Web (ภาษาอังกฤษแบบอเมริกัน). สืบค้นเมื่อ 2020-02-03.
  6. Rodriguez, Jesus. "🤘Edge#224: AlexaTM 20B is Amazon's New Language Super Model Also Capable of Few-Shot Learning". thesequence.substack.com (ภาษาอังกฤษ). สืบค้นเมื่อ 2022-09-08.
  7. 1 2 3 Hewitt, John; Kriz, Reno (2018). "Sequence 2 sequence Models" (PDF). スタンフォード大学. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2019-12-17. สืบค้นเมื่อ 2023-05-20.
  8. "Overview - seq2seq". google.github.io. สืบค้นเมื่อ 2019-12-17.