Few-Shot and Zero-Shot Learning — การเรียนรู้แบบมีตัวอย่างน้อยและไม่มีตัวอย่าง

From Systems analysis wiki
Jump to navigation Jump to search

การเรียนรู้ด้วยตัวอย่างจำนวนน้อย (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 - โมเดลภาษาขนาดใหญ่