พื้นฐาน AI
Few-Shot Learning คืออะไร?
Few-Shot Learning หมายถึงชุดของอัลกอริทึมและเทคนิคที่ใช้ในการพัฒนาโมเดล AI โดยใช้ข้อมูลการฝึกอบรมเพียงเล็กน้อย Few-Shot Learning มีเป้าหมายที่จะให้โมเดล AI สามารถรับรู้และจำแนกข้อมูลใหม่หลังจากได้รับการฝึกอบรมจากตัวอย่างการฝึกอบรมเพียงไม่กี่ตัวอย่าง การฝึกอบรมแบบ Few-Shot ต่างจากวิธีการฝึกอบรมแบบดั้งเดิมที่ใช้ข้อมูลการฝึกอบรมจำนวนมาก Few-Shot Learning ใช้หลักๆ ในด้านการมองเห็นของคอมพิวเตอร์
เพื่อให้เข้าใจ Few-Shot Learning ได้ดีขึ้น มาทำความเข้าใจแนวคิดนี้อย่างละเอียด เราจะสำรวจแรงจูงใจและแนวคิดเบื้องหลัง Few-Shot Learning และสำรวจประเภทต่างๆ ของ Few-Shot Learning และแบบจำลองที่ใช้ใน Few-Shot Learning ในระดับสูง สุดท้ายเราจะสำรวจการประยุกต์ใช้ Few-Shot Learning
Few-Shot Learning คืออะไร?
“Few-Shot Learning” หมายถึงการฝึกอบรมโมเดลการเรียนรู้ของเครื่องโดยใช้ข้อมูลการฝึกอบรมเพียงเล็กน้อย โดยทั่วไปแล้ว โมเดลการเรียนรู้ของเครื่องจะถูกฝึกอบรมโดยใช้ข้อมูลการฝึกอบรมจำนวนมาก แต่ Few-Shot Learning เป็นแนวคิดที่สำคัญในด้านการเรียนรู้ของเครื่องเพราะเหตุผลหลายประการ
เหตุผลหนึ่งที่ใช้ Few-Shot Learning คือสามารถลดปริมาณข้อมูลที่ต้องการในการฝึกอบรมโมเดลการเรียนรู้ของเครื่อง ซึ่งจะช่วยลดเวลาในการทำเครื่องหมายข้อมูลการฝึกอบรมจำนวนมาก นอกจากนี้ Few-Shot Learning ยังลดความจำเป็นในการเพิ่มคุณลักษณะเฉพาะสำหรับงานต่างๆ เมื่อใช้ข้อมูลการฝึกอบรมร่วมกันเพื่อสร้างตัวอย่างที่แตกต่างกัน Few-Shot Learning สามารถทำให้โมเดลมีความทนทานและสามารถรับรู้วัตถุได้จากข้อมูลน้อย ทำให้ได้โมเดลที่มีความทั่วไปมากกว่าโมเดลที่มีความเชี่ยวชาญสูง
Few-Shot Learning ใช้มากที่สุดในด้านการมองเห็นของคอมพิวเตอร์ เนื่องจากปัญหาการมองเห็นของคอมพิวเตอร์ต้องการข้อมูลจำนวนมากหรือโมเดลที่มีความยืดหยุ่น
หมวดหมู่ย่อย
คำว่า “Few-Shot” Learning เป็นเพียงหนึ่งในหลายประเภทของการเรียนรู้ที่ใช้ตัวอย่างการฝึกอบรมเพียงเล็กน้อย เนื่องจากใช้ตัวอย่างการฝึกอบรมเพียงไม่กี่ตัวอย่าง จึงมีหมวดหมู่ย่อยของ Few-Shot Learning ที่เกี่ยวข้องกับการฝึกอบรมด้วยข้อมูลน้อย “One-Shot” Learning เป็นอีกประเภทหนึ่งของการฝึกอบรมโมเดลที่สอนให้โมเดลรับรู้วัตถุหลังจากเห็นตัวอย่างเพียงหนึ่งครั้ง กลยุทธ์ทั่วไปที่ใช้ใน One-Shot Learning และ Few-Shot Learning นั้นเหมือนกัน ควรทราบว่าคำว่า “Few-Shot” Learning อาจใช้เพื่ออธิบายสถานการณ์ที่โมเดลถูกฝึกอบรมด้วยข้อมูลน้อย
แนวทางในการเรียนรู้แบบ Few-Shot
โดยทั่วไปแล้ว แนวทางในการเรียนรู้แบบ Few-Shot สามารถแบ่งออกเป็นสามประเภท: แนวทางระดับข้อมูล แนวทางระดับพารามิเตอร์ และแนวทางที่ใช้เมตริก
แนวทางระดับข้อมูล
แนวทางระดับข้อมูลในการเรียนรู้แบบ Few-Shot นั้นง่ายมาก เพื่อให้สามารถฝึกอบรมโมเดลได้เมื่อไม่มีข้อมูลการฝึกอบรมเพียงพอ คุณสามารถเพิ่มข้อมูลการฝึกอบรมได้ มีเทคนิคต่างๆ ที่นักวิทยาศาสตร์ข้อมูลสามารถใช้เพิ่มปริมาณข้อมูลการฝึกอบรมที่มี
ข้อมูลการฝึกอบรมที่คล้ายกันสามารถใช้เพื่อสนับสนุนข้อมูลการฝึกอบรมที่คุณกำลังฝึกอบรมแบบจำลองให้ระบุได้ ตัวอย่างเช่น หากคุณกำลังฝึกอบรมแบบจำลองเพื่อระบุชนิดของสุนัข แต่ไม่มีรูปภาพของชนิดที่คุณพยายามจะระบุ คุณสามารถใช้รูปภาพของสุนัขหลายชนิดเพื่อช่วยให้แบบจำลองระบุได้ว่าสุนัขมีลักษณะเด่นอะไรบ้าง
การเพิ่มข้อมูลการฝึกอบรมสามารถสร้างข้อมูลการฝึกอบรมเพิ่มเติมสำหรับแบบจำลองได้ โดยทั่วไปจะเกี่ยวข้องกับการใช้การแปลงข้อมูลการฝึกอบรมที่มีอยู่ เช่น การหมุนรูปภาพที่มีอยู่เพื่อให้แบบจำลองสามารถมองเห็นมุมต่างๆ ของรูปภาพได้ GANs สามารถใช้เพื่อสร้างตัวอย่างการฝึกอบรมใหม่ตามที่ได้เรียนรู้จากตัวอย่างการฝึกอบรมที่แท้จริงที่คุณมี
แนวทางระดับพารามิเตอร์
การเรียนรู้แบบเมต้า
แนวทางระดับพารามิเตอร์หนึ่งในการเรียนรู้แบบ Few-Shot คือการใช้เทคนิคที่เรียกว่า “การเรียนรู้แบบเมต้า” การเรียนรู้แบบเมต้าเกี่ยวข้องกับการสอนแบบจำลองวิธีการเรียนรู้ ซึ่งสามารถทำได้โดยการสร้างวิธีการควบคุมการสำรวจพื้นที่พารามิเตอร์ของแบบจำลอง
การเรียนรู้แบบเมต้าใช้แบบจำลองสองแบบ: แบบจำลองครูและแบบจำลองนักเรียน แบบจำลองครูเรียนรู้วิธีการห่อพื้นที่พารามิเตอร์ของแบบจำลอง ในขณะที่แบบจำลองนักเรียนเรียนรู้วิธีการระบุและจำแนกสิ่งของจริงในเซตข้อมูล ในทางกลับกัน แบบจำลองครูเรียนรู้วิธีการเพิ่มประสิทธิภาพแบบจำลอง ในขณะที่แบบจำลองนักเรียนเรียนรู้วิธีการจำแนก แบบจำลองครูใช้ผลลัพธ์ในการฝึกอบรมแบบจำลองนักเรียน โดยแสดงให้แบบจำลองนักเรียนเห็นวิธีการเดินผ่านพื้นที่พารามิเตอร์ที่กว้างใหญ่ซึ่งเป็นผลมาจากข้อมูลการฝึกอบรมที่ไม่เพียงพอ ดังนั้นจึงเป็น “เมต้า” ในการเรียนรู้แบบเมต้า
ปัญหาหลักหนึ่งของแบบจำลอง Few-Shot คือสามารถ overfit กับข้อมูลการฝึกอบรมได้ง่าย เนื่องจากมีพื้นที่พารามิเตอร์ที่มีมิติสูง การจำกัดพื้นที่พารามิเตอร์ของแบบจำลองสามารถแก้ปัญหานี้ได้ และแม้ว่าจะสามารถทำได้โดยการประยุกต์ใช้เทคนิคการปรับให้เหมาะสมและการเลือกฟังก์ชันการเสียหายที่เหมาะสม การใช้แบบจำลองครูสามารถปรับปรุงประสิทธิภาพของแบบจำลอง Few-Shot ได้อย่างมาก
แบบจำลอง Few-Shot (แบบจำลองนักเรียน) จะพยายามที่จะสรุปผลจากข้อมูลการฝึกอบรมที่ให้มา และความแม่นยำสามารถปรับปรุงได้ด้วยแบบจำลองครูที่ชี้นำผ่านพื้นที่พารามิเตอร์ที่มีมิติสูง แบบจำลองทั่วไปนี้เรียกว่า “การเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์”
กระบวนการฝึกอบรมแบบจำลองการเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์เต็มรูปแบบคือ:
- สร้างแบบจำลองฐาน (ครู)
- ฝึกอบรมแบบจำลองฐานบนเซตสนับสนุน
- ให้แบบจำลองฐานคืนค่า预测สำหรับเซตคำถาม
- ฝึกอบรมแบบจำลองเมต้า (นักเรียน) บนการเสียหายที่ได้รับจากข้อผิดพลาดในการจำแนก
รูปแบบการเรียนรู้แบบเมต้า
การเรียนรู้แบบเมต้าแบบไม่ขึ้นกับโมเดล เป็นวิธีการที่ใช้เพิ่มเทคนิคการเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์ที่กล่าวถึงข้างต้น
ตามที่กล่าวไว้ข้างต้น การเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์ใช้ประสบการณ์ก่อนหน้าที่ได้รับจากแบบจำลองครูเพื่อปรับให้เหมาะสมและให้ผลลัพธ์ที่แม่นยำยิ่งขึ้นสำหรับข้อมูลการฝึกอบรมที่น้อย แต่การเริ่มต้นด้วยพารามิเตอร์ที่ถูกกำหนดแบบสุ่มทำให้แบบจำลองยังคงสามารถ overfit กับข้อมูลได้ เพื่อหลีกเลี่ยงสิ่งนี้ แบบจำลองเมต้าแบบไม่ขึ้นกับโมเดลจะถูกสร้างขึ้นโดยการจำกัดอิทธิพลของแบบจำลองครู/แบบจำลองฐานแทนการฝึกอบรมแบบจำลองนักเรียนโดยตรงบนการเสียหายของการ预测ที่ทำโดยแบบจำลองครู แบบจำลองนักเรียนจะถูกฝึกอบรมบนการเสียหายของการ预测ของตนเอง
สำหรับการฝึกอบรมแบบจำลองเมต้าแบบไม่ขึ้นกับโมเดลในแต่ละรอบ:
- สร้างสำเนาของแบบจำลองเมต้าปัจจุบัน
- ฝึกอบรมสำเนาด้วยความช่วยเหลือจากแบบจำลองครู/แบบจำลองฐาน
- ให้สำเนาคืนค่า预测สำหรับข้อมูลการฝึกอบรม
- ใช้การเสียหายที่คำนวณเพื่อปรับปรุงแบบจำลองเมต้า
การเรียนรู้แบบเมตริก
แนวทางการเรียนรู้แบบเมตริกในการออกแบบแบบจำลอง Few-Shot โดยทั่วไปจะเกี่ยวข้องกับการใช้เมตริกพื้นฐานเพื่อเปรียบเทียบตัวอย่างในเซตข้อมูล อัลกอริทึมการเรียนรู้แบบเมตริก เช่น ระยะทางโคไซน์ จะถูกใช้ในการจำแนกตัวอย่างคำถามตามความคล้ายคลึงกับตัวอย่างสนับสนุน สำหรับแบบจำลองการจำแนกภาพ จะหมายถึงการจำแนกภาพตามลักษณะพื้นผิว หลังจากเลือกเซตสนับสนุนและแปลงเป็นเวกเตอร์เชิงการแสดงแล้ว จะทำเช่นเดียวกันกับเซตคำถาม จากนั้นจึงเปรียบเทียบค่าเวกเตอร์ทั้งสอง โดยให้แบบจำลองเลือกคลาสที่มีค่าใกล้เคียงที่สุดกับเวกเตอร์คำถาม
วิธีแก้ปัญหาที่ซับซ้อนกว่าคือ “เครือข่ายโพรโทไทป์” เครือข่ายโพรโทไทป์จะรวมการคลัสเตอร์ข้อมูลเข้ากับการจำแนกตามเมตริกที่อธิบายไว้ข้างต้น เช่นเดียวกับการคลัสเตอร์กับ K-means เซ็นทรอยด์ของคลัสเตอร์สำหรับคลาสในเซตสนับสนุนและเซตคำถามจะถูกคำนวณ ระยะทางยูคลิดจะถูกใช้เพื่อกำหนดความแตกต่างระหว่างเซตคำถามและเซ็นทรอยด์ของเซตสนับสนุน โดยมอบหมายเซตคำถามให้กับคลาสของเซตสนับสนุนที่ใกล้ที่สุด
แนวทางอื่นๆ ส่วนใหญ่ในการเรียนรู้แบบ Few-Shot เป็นเพียงรูปแบบที่หลากหลายของเทคนิคพื้นฐานที่กล่าวถึงข้างต้น
การประยุกต์ใช้ Few-Shot Learning
Few-Shot Learning มีการประยุกต์ใช้ในหลายๆ สาขาของวิทยาศาสตร์ข้อมูล เช่น การมองเห็นของคอมพิวเตอร์ การประมวลผลภาษาแบบธรรมชาติ โรบอติกส์ การดูแลสุขภาพ และการประมวลผลสัญญาณ
การประยุกต์ใช้ Few-Shot Learning ในพื้นที่การมองเห็นของคอมพิวเตอร์รวมถึงการรู้จำอักขระที่มีประสิทธิภาพ การจำแนกภาพ การรู้จำวัตถุ การติดตามวัตถุ การคาดการณ์การเคลื่อนไหว และการระบุตำแหน่งการกระทำ การประยุกต์ใช้ Few-Shot Learning ในการประมวลผลภาษาแบบธรรมชาติ包括การแปล การเติมประโยค การจำแนกความตั้งใจของผู้ใช้ การวิเคราะห์ความรู้สึก และการจำแนกข้อความหลายป้ายกำกับ Few-Shot Learning สามารถใช้ในสาขาโรบอติกส์เพื่อช่วยให้โรบอตเรียนรู้เกี่ยวกับงานจากการสาธิตเพียงไม่กี่ครั้ง ทำให้โรบอตสามารถเรียนรู้วิธีการกระทำ การเคลื่อนไหว และการนำทางโลกที่อยู่รอบๆ ตัว Few-Shot Learning ยังใช้ในการค้นพบยาใหม่ ซึ่งเป็นสาขาใหม่ของ AI ในด้านการดูแลสุขภาพ สุดท้าย Few-Shot Learning มีการประยุกต์ใช้ในด้านการประมวลผลสัญญาณเสียง ซึ่งเป็นกระบวนการวิเคราะห์ข้อมูลเสียง ทำให้ระบบ AI สามารถเลียนเสียงได้จากตัวอย่างของผู้ใช้เพียงไม่กี่ตัวอย่าง หรือการแปลงเสียงจากผู้ใช้หนึ่งไปเป็นอีกผู้หนึ่ง












