Few-Shot and Zero-Shot Learning — การเรียนรู้แบบมีตัวอย่างน้อยและไม่มีตัวอย่าง
การเรียนรู้ด้วยตัวอย่างจำนวนน้อย (Few-shot Learning, FSL) และ การเรียนรู้โดยไม่มีตัวอย่าง (Zero-shot Learning, ZSL) คือกระบวนทัศน์ของ Machine Learning ที่มุ่งแก้ปัญหาการขาดแคลนข้อมูลที่มีป้ายกำกับ โดยช่วยให้โมเดลสามารถเรียนรู้และสรุปความรู้จากข้อมูลที่มีอยู่อย่างจำกัดมาก ซึ่งถือเป็นสิ่งสำคัญสำหรับการนำ AI ไปใช้ในสถานการณ์จริงที่การรวบรวมชุดข้อมูลขนาดใหญ่เป็นไปไม่ได้หรือไม่คุ้มค่า
ปัญหาการขาดแคลนข้อมูลที่พบได้ทั่วไป
โมเดล Deep Learning สมัยใหม่แสดงผลลัพธ์ที่น่าประทับใจ แต่ประสิทธิภาพของโมเดลเหล่านี้มักขึ้นอยู่กับข้อมูลที่มีป้ายกำกับจำนวนมหาศาล การรวบรวมและจัดทำคำอธิบายประกอบข้อมูลดังกล่าวเป็นกระบวนการที่มีค่าใช้จ่ายสูง ใช้แรงงานมาก และมักเป็นไปไม่ได้ ปัญหานี้ซึ่งเรียกกันว่า "ความหิวโหยข้อมูล" เป็นปัญหาเร่งด่วนโดยเฉพาะในด้านต่างๆ เช่น:
- การวินิจฉัยโรคหายาก
- การผลิตอุตสาหกรรมเฉพาะทาง
- หุ่นยนต์และการโต้ตอบกับวัตถุใหม่
- การจัดหมวดหมู่ผลิตภัณฑ์หรือหัวข้อใหม่ที่ปรากฏขึ้นอยู่เสมอ
FSL และ ZSL นำเสนอแนวทางแก้ไขโดยเปลี่ยนจุดเน้นจาก "ข้อมูลขนาดใหญ่" ไปสู่ "ข้อมูลที่ชาญฉลาด" โดยมุ่งเน้นที่การถ่ายทอดและสรุปความรู้อย่างมีประสิทธิภาพ
Few-shot Learning - การเรียนรู้ด้วยตัวอย่างจำนวนน้อย
Few-shot Learning (FSL) คือกระบวนทัศน์ที่โมเดลเรียนรู้ที่จะจดจำคลาสใหม่จากตัวอย่างที่มีป้ายกำกับจำนวนน้อยมาก (โดยทั่วไป 1 ถึง 5 ตัวอย่าง) ซึ่งเรียกว่า ชุดอ้างอิง (support set)
แนวคิดหลัก
แนวคิดพื้นฐานของ FSL ไม่ใช่แค่การเรียนรู้คุณลักษณะของคลาสเฉพาะ แต่คือการเรียนรู้ กระบวนการเรียนรู้ (learning to learn) โมเดลต้องสามารถปรับตัวได้อย่างรวดเร็วกับงานใหม่ที่ไม่เคยพบมาก่อนโดยใช้ตัวอย่างจำนวนน้อยที่สุด ซึ่งทำได้โดยอาศัยความรู้ที่ได้รับมาก่อนหน้าและกลยุทธ์การปรับตัว
แนวทางหลักใน FSL
- Meta-Learning («การเรียนรู้วิธีเรียนรู้»): นี่คือกระบวนทัศน์ที่โดดเด่นใน FSL โมเดลได้รับการฝึกบนงานที่หลากหลายเพื่อเรียนรู้การปรับตัวกับงานใหม่ได้อย่างมีประสิทธิภาพ
- แนวทางบนพื้นฐาน Metric: โมเดล (เช่น Siamese Networks หรือ Prototypical Networks) เรียนรู้การสร้างปริภูมิ embedding ที่ระยะห่างระหว่างเวกเตอร์สะท้อนความใกล้เคียงทางความหมาย การจำแนกตัวอย่างใหม่ทำได้โดยเปรียบเทียบ embedding ของตัวอย่างนั้นกับ embedding จากชุดอ้างอิง
- แนวทางบนพื้นฐาน Optimization: โมเดล (เช่น MAML) เรียนรู้การหาการตั้งค่าพารามิเตอร์เริ่มต้นที่ช่วยให้ fine-tuning สำหรับงานใหม่ได้อย่างรวดเร็ว (ด้วย Gradient Descent เพียงไม่กี่ขั้นตอน)
- In-Context Learning: เมื่อ Large Language Models (LLM) แพร่หลายขึ้น แนวทางที่นิยมคือการนำตัวอย่างจากชุดอ้างอิงมาใส่ใน prompt โดยตรง โมเดลจะทำ "Meta-Learning โดยปริยาย" ระหว่าง inference โดยปรับตัวกับงานโดยไม่ต้องอัปเดตน้ำหนัก
แนวทางขั้นสูงใน FSL
- One-shot Learning: นี่คือกรณีเฉพาะของ FSL ที่จำนวนตัวอย่างต่อคลาสเท่ากับหนึ่ง (K=1 ในสัญกรณ์ "N-way K-shot") สถาปัตยกรรมคลาสสิกได้แก่ Matching Networks และ Siamese Networks
- วิธีการเชิง Generative และการเพิ่มข้อมูล: FSL ใช้ Generative Models (GAN, VAE, Diffusion Models) อย่างแข็งขันเพื่อสังเคราะห์ตัวอย่างข้อมูลเพิ่มเติม วิธีนี้ช่วยขยายชุดอ้างอิงอย่างเทียมและปรับปรุงคุณภาพการจำแนก โดยเฉพาะสำหรับคลาสที่หายากหรือผิดปกติ
- Transductive FSL: ต่างจากแนวทางมาตรฐาน (Inductive) โดยในแนวทางนี้โมเดลจะพิจารณาไม่เพียงแค่ชุดอ้างอิงที่มีป้ายกำกับ แต่ยังรวมตัวอย่างทดสอบที่ไม่มีป้ายกำกับทั้งหมด (queries) ในระหว่างการปรับตัวด้วย ซึ่งช่วยให้สามารถจับโครงสร้างของข้อมูลใน queries ได้ เช่น ด้วยเทคนิค label propagation และเพิ่มความทนทานของการจำแนก
Zero-shot Learning - การเรียนรู้โดยไม่มีตัวอย่าง
Zero-shot Learning (ZSL) คือกระบวนทัศน์ที่โมเดลสามารถจดจำคลาสที่ ไม่เคยเห็นตัวอย่างใดเลย ในระหว่างการฝึกอบรม
แนวคิดหลัก
สิ่งนี้ทำได้โดยอาศัย ข้อมูลความหมายเสริม ที่อธิบายทั้งคลาสที่เคยเห็นและไม่เคยเห็น โมเดลเรียนรู้การแมปจากปริภูมิคุณลักษณะนำเข้า (เช่น รูปภาพ) ไปยังปริภูมิความหมายร่วม
กลไกของข้อมูลความหมาย
- คุณสมบัติเชิงความหมาย (Semantic Attributes): คลาสต่างๆ อธิบายด้วยชุดคุณสมบัติที่มนุษย์กำหนด (เช่น สำหรับคลาส "ม้าลาย": [มี_ลาย, มี_กีบ, เป็น_สัตว์เลี้ยงลูกด้วยนม])
- การแทนเวกเตอร์คำ (Word Embeddings): ชื่อคลาสหรือคำอธิบายข้อความถูกแปลงเป็น embedding ด้วย Language Models ที่ฝึกมาก่อน (เช่น Word2Vec, BERT)
- Prompting ใน LLM: เมื่อมีโมเดล Multimodal เช่น CLIP, ZSL สามารถทำได้โดยการเปรียบเทียบ embedding ของรูปภาพกับ embedding ของคำอธิบายข้อความของคลาส (เช่น "ภาพถ่ายของสุนัข", "ภาพถ่ายของแมว")
ประเภทของ ZSL: แบบดั้งเดิม, ทั่วไป, Inductive และ Transductive
- ZSL แบบดั้งเดิม: ในระหว่างการทดสอบ โมเดลต้องจำแนกตัวอย่างจากคลาสที่ไม่เคยเห็นเท่านั้น
- Generalized ZSL (GZSL): สถานการณ์ที่สมจริงและซับซ้อนกว่า โดยโมเดลต้องจำแนกตัวอย่างจากทั้งคลาสที่เคยเห็นและไม่เคยเห็น ซึ่งต้องการให้โมเดลไม่เพียงแค่จดจำสิ่งใหม่ แต่ยังต้องแยกแยะออกจากสิ่งที่คุ้นเคยได้ด้วย โดยต่อสู้กับอคติที่มีต่อคลาสที่เคยเห็น
- Inductive ZSL: การตั้งค่ามาตรฐานที่โมเดลฝึกบนข้อมูลและคำอธิบายความหมายของคลาสที่เคยเห็นเท่านั้น โดยไม่มีการเข้าถึงข้อมูลเกี่ยวกับคลาสที่ไม่เคยเห็นใดๆ
- Transductive ZSL: รูปแบบขั้นสูงกว่าที่โมเดลสามารถใช้ตัวอย่างที่ไม่มีป้ายกำกับจากคลาสที่ไม่เคยเห็นระหว่างการฝึก วิธีนี้ช่วยให้สามารถปรับปริภูมิความหมายล่วงหน้าและปรับปรุงคุณภาพสุดท้าย
แนวทาง Generative ใน ZSL
- การสร้างคุณลักษณะของคลาสที่ไม่เคยเห็น: เพื่อแก้ปัญหาอคติใน GZSL มีการใช้ Generative Models (VAE, GAN) อย่างกว้างขวาง โมเดลเหล่านี้สังเคราะห์ไม่ใช่ตัวรูปภาพ แต่เป็นเวกเตอร์คุณลักษณะ (embeddings) ของคลาสที่ไม่เคยเห็นจากคำอธิบายความหมายของคลาสเหล่านั้น วิธีนี้ช่วยสร้างความสมดุลของชุดข้อมูลสำหรับการฝึก Classifier สุดท้าย
การวิเคราะห์เปรียบเทียบและการทำงานร่วมกัน
| ด้าน | Few-shot Learning (FSL) | Zero-shot Learning (ZSL) |
|---|---|---|
| แนวคิดหลัก | เรียนรู้การปรับตัวอย่างรวดเร็วกับคลาสใหม่จากตัวอย่างไม่กี่ตัวอย่าง | เรียนรู้การจดจำคลาสใหม่จากคำอธิบายความหมาย |
| ความต้องการข้อมูลสำหรับงาน/คลาสใหม่ | ตัวอย่างที่มีป้ายกำกับไม่กี่ตัวอย่าง (1-5) สำหรับแต่ละคลาสใหม่ | ตัวอย่างที่มีป้ายกำกับเป็นศูนย์; ต้องการคำอธิบายความหมาย |
| การถ่ายทอดความรู้ | การเรียนรู้ความรู้เชิงกระบวนการ («วิธีการปรับตัว») หรือปริภูมิคุณลักษณะที่ดี | การเรียนรู้ความสัมพันธ์เชิงความหมายและคุณสมบัติ การถ่ายทอดความรู้ผ่านปริภูมิความหมายร่วม |
| กรณีการใช้งานทั่วไป | การสร้างต้นแบบอย่างรวดเร็ว, การปรับให้เป็นส่วนตัว, การจดจำวัตถุหายาก, หุ่นยนต์ | การค้นพบสายพันธุ์ใหม่, การจัดหมวดหมู่หัวข้อที่เกิดขึ้นใหม่, การจัดการกับประเภทผลิตภัณฑ์ใหม่ทั้งหมด |
ความแตกต่างสำคัญและแนวโน้มสมัยใหม่
- ความแตกต่างระหว่าง Zero-shot Learning และ Zero-shot Prompting: สิ่งสำคัญคือต้องแยกแยะแนวคิดเหล่านี้ออกจากกัน ZSL คือกระบวนทัศน์สถาปัตยกรรมของ Machine Learning ที่ต้องการโมเดลเฉพาะและข้อมูลความหมาย ส่วน Zero-shot Prompting คือเทคนิค Prompt Engineering เชิงประยุกต์ ที่ Large Language Model (เช่น GPT-4) แก้งานโดยไม่มีตัวอย่างใน prompt โดยอาศัยความรู้ภายในของโมเดลเองทั้งหมด
- บทบาทของการฝึกล่วงหน้าในวงกว้าง: ความสำเร็จสมัยใหม่ของ FSL และ ZSL ส่วนใหญ่มาจากโมเดลพื้นฐานที่ทรงพลัง (BERT, CLIP, GPT-4) การฝึกล่วงหน้าบนข้อมูลจำนวนมหาศาลสร้าง embedding frontend ที่เป็นสากลและอุดมด้วยความหมาย ซึ่งทำหน้าที่เป็นรากฐานที่ดีเยี่ยมสำหรับการปรับตัวอย่างรวดเร็วและการอนุมานเชิงความหมายในสภาวะขาดแคลนข้อมูล
FSL และ ZSL แทนจุดต่างๆ บน Spectrum ของประสิทธิภาพการใช้ข้อมูลและมักใช้ร่วมกัน ตัวอย่างเช่น ZSL สามารถใช้เพื่อเริ่มต้นการแทนค่า ซึ่งจากนั้นจะถูก fine-tune ด้วย FSL เมื่อตัวอย่างแรกของคลาสใหม่ปรากฏขึ้น
สถาบันวิจัยหลักและผู้มีส่วนร่วม
การวิจัยในด้าน FSL และ ZSL ดำเนินการอย่างแข็งขันทั้งในแวดวงวิชาการและห้องปฏิบัติการอุตสาหกรรม
- มหาวิทยาลัย: มหาวิทยาลัยสแตนฟอร์ด, มหาวิทยาลัยปักกิ่ง, มหาวิทยาลัยแห่งชาติสิงคโปร์
- ห้องปฏิบัติการอุตสาหกรรม: Google AI, Meta AI, OpenAI
เมื่อโมเดลพื้นฐานที่ทรงพลังแพร่หลายขึ้น โฟกัสของการวิจัยได้เปลี่ยนจากการพัฒนาสถาปัตยกรรมเฉพาะทางสำหรับ FSL/ZSL ไปสู่วิธีการปรับตัวโมเดลเหล่านั้นอย่างมีประสิทธิภาพ
เอกสารอ้างอิง
- Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
- Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
- Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
- Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
- Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
- Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
- Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
- Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
- Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
- Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
- Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
- Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.
ดูเพิ่มเติม
- Large Language Models - โมเดลภาษาขนาดใหญ่