พื้นฐาน AI

Few-Shot Learning คืออะไร?

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

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 (แบบจำลองนักเรียน) จะพยายามที่จะสรุปผลจากข้อมูลการฝึกอบรมที่ให้มา และความแม่นยำสามารถปรับปรุงได้ด้วยแบบจำลองครูที่ชี้นำผ่านพื้นที่พารามิเตอร์ที่มีมิติสูง แบบจำลองทั่วไปนี้เรียกว่า “การเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์”

กระบวนการฝึกอบรมแบบจำลองการเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์เต็มรูปแบบคือ:

  1. สร้างแบบจำลองฐาน (ครู)
  2. ฝึกอบรมแบบจำลองฐานบนเซตสนับสนุน
  3. ให้แบบจำลองฐานคืนค่า预测สำหรับเซตคำถาม
  4. ฝึกอบรมแบบจำลองเมต้า (นักเรียน) บนการเสียหายที่ได้รับจากข้อผิดพลาดในการจำแนก

รูปแบบการเรียนรู้แบบเมต้า

การเรียนรู้แบบเมต้าแบบไม่ขึ้นกับโมเดล เป็นวิธีการที่ใช้เพิ่มเทคนิคการเรียนรู้แบบเมต้าโดยอาศัยการเรียนรู้แบบเกรเดียนต์ที่กล่าวถึงข้างต้น

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

สำหรับการฝึกอบรมแบบจำลองเมต้าแบบไม่ขึ้นกับโมเดลในแต่ละรอบ:

  1. สร้างสำเนาของแบบจำลองเมต้าปัจจุบัน
  2. ฝึกอบรมสำเนาด้วยความช่วยเหลือจากแบบจำลองครู/แบบจำลองฐาน
  3. ให้สำเนาคืนค่า预测สำหรับข้อมูลการฝึกอบรม
  4. ใช้การเสียหายที่คำนวณเพื่อปรับปรุงแบบจำลองเมต้า

การเรียนรู้แบบเมตริก

แนวทางการเรียนรู้แบบเมตริกในการออกแบบแบบจำลอง 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 สามารถเลียนเสียงได้จากตัวอย่างของผู้ใช้เพียงไม่กี่ตัวอย่าง หรือการแปลงเสียงจากผู้ใช้หนึ่งไปเป็นอีกผู้หนึ่ง

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