ปกติแล้ว โมเดล ปัญญาประดิษฐ์ (AI) มักจะต้องใช้ข้อมูลจำนวนมหาศาลในการเรียนรู้ และขัดเกลาให้มันแม่นยำมากขึ้น เพื่อเอามาใช้ประโยชน์หลายอย่าง ไม่ว่าจะเป็น สร้างระบบจดจำใบหน้า, การวิเคราะห์ภาพถ่าย (Image Recognition), แปลภาษา หรือ ประมวลผลข้อมูลเชิงลึก (Deep Learning) แต่ถ้าเรามีข้อมูลเพียงไม่กี่ชุด เช่นมีรูปภาพของแมวเพียง 5 รูป หรือชุดคำศัพท์ใหม่เพียงไม่กี่คำจะฝึก AI ให้แม่นยำได้หรือไม่ ? Few-Shot Learning เป็นเทคนิคที่จะมาช่วยปัญหานี้นั่นเอง
Few-Shot Learning ก็คือเทคนิคการเรียนรู้ที่ช่วยให้ AI สามารถเข้าใจ และประมวลผลข้อมูลจากตัวอย่างเพียงไม่กี่ตัว แตกต่างจากโมเดลทั่วไปที่ต้องการข้อมูลจำนวนมาก เทคนิคนี้ทำให้ AI สามารถเรียนรู้ได้รวดเร็วขึ้น ใช้ทรัพยากรน้อยลง ทำให้ AI สามารถเข้าใจข้อมูลจำนวนน้อย ๆ และนำไปใช้ในการจดจำ หรือทำนายข้อมูลใหม่ได้ทันที
ในบทความนี้ จะพาทุกคนไปทำความรู้จักกับ Few-Shot Learning อย่างละเอียด ว่ามันคืออะไร ?, ทำงานอย่างไร ?, มีวิธีการใดบ้าง ?, มีความสำคัญอย่างไร ? และตัวอย่างการใช้งาน ถ้าพร้อมแล้วตามมาอ่านกันเลย !
Few-Shot Learning (FSL) เป็นอีกหนึ่งแนวคิดในวิธีของ การเรียนรู้ของเครื่องจักร (Machine Learning) ที่ช่วยให้โมเดลสามารถเรียนรู้ และจดจำข้อมูลใหม่ได้ แม้ว่าจะมีตัวอย่างฝึกเพียงไม่กี่ชุดข้อมูล ซึ่งแตกต่างจากการเรียนรู้แบบเดิม ที่ต้องใช้ข้อมูลจำนวนมากเพื่อให้โมเดลทำงานได้อย่างแม่นยำ
ภาพจาก : https://neurohive.io/en/datasets/7-sites-with-publicly-available-datasets/
โดยแนวคิดนี้อยู่ภายใต้หลักการของ "Meta-Learning" หรือ "การเรียนรู้เพื่อที่จะเรียนรู้" ซึ่งเลียนแบบการทำงานของมนุษย์ เช่น หากเราเห็นนกสายพันธุ์ใหม่เพียงไม่กี่ครั้ง เราก็สามารถจำแนกความแตกต่างของมันจากสัตว์อื่น ๆ ได้ อาศัยความรู้เดิมที่มีอยู่ Few-Shot Learning จึงพยายามเลียนแบบกระบวนการนี้โดยให้ AI เรียนรู้จากตัวอย่างเพียงไม่กี่ตัว และสามารถนำไปใช้กับข้อมูลใหม่ที่ไม่เคยเจอมาก่อนได้
ภาพจาก : https://www.youtube.com/watch?v=hE7eGew4eeg&ab_channel=ShusenWang
ในโมเดล Machine Learning แบบดั้งเดิมนั้น จำเป็นจะต้องมีข้อมูลจำนวนมากเพื่อให้โมเดลเรียนรู้ได้อย่างแม่นยำ แต่การรวบรวม และติดป้ายกำกับ (Label) ข้อมูลเหล่านี้มันเป็นกระบวนการที่ใช้เวลานาน และใช้ต้นทุนสูงมาก Few-Shot Learning จะช่วยให้โมเดลสามารถทำความเข้าใจข้อมูลใหม่ได้โดยใช้เพียงตัวอย่างไม่กี่ชุด ทำให้ลดความยุ่งยาก และต้นทุนในการจัดหาข้อมูลนั่นเอง
โมเดลทั่วไปต้องฝึกฝนบนชุดข้อมูลขนาดใหญ่ แน่นอนว่าต้องใช้พลังงานประมวลผลมหาศาล แต่ Few-Shot Learning ช่วยให้สามารถใช้ โมเดลที่ฝึกไว้ล่วงหน้า (Pre-Trained Model) นำมาประยุกต์กับหมวดหมู่ข้อมูลใหม่ได้ โดยไม่ต้องฝึกใหม่ทั้งหมด ซึ่งช่วยประหยัดทรัพยากร และทำให้ AI มีประสิทธิภาพมากขึ้น
โมเดล AI ส่วนใหญ่มักถูกฝึกด้วยข้อมูลจากแหล่งใดแหล่งหนึ่ง แต่เมื่อใช้งานจริง ข้อมูลที่เจออาจแตกต่างจากชุดข้อมูลที่ใช้ฝึก ซึ่งปัญหานี้เราจะเรียกว่า Domain Shift เช่น ภาพถ่ายจากกล้องมือถือ กับ กล้อง DSLR อาจมีคุณภาพ และสีสันที่ต่างกัน ดังนั้น Few-Shot Learning จึงช่วยให้ AI สามารถปรับตัว และทำงานได้ดีขึ้นแม้ว่าจะเจอกับข้อมูลที่แตกต่างจากชุดข้อมูลเดิม
ภาพจาก : https://www.researchgate.net/figure/Description-of-domain-shift-and-domain-adaptation_fig1_368676009
Few-Shot Learning อาศัยแนวคิดสำคัญ ๆ อย่าง 3 อย่าง ได้แก่ Transfer Learning, Meta-Learning และ Data Augmentation ซึ่งในแต่ละแนวทางก็มีบทบาทสำคัญที่ทำให้โมเดลสามารถเข้าใจ และประมวลผลข้อมูลใหม่ได้อย่างแม่นยำ แม้จะมีข้อมูลจำกัด เราลองมาดูรายละเอียดของแต่ละแนวคิดกัน
Transfer Learning เป็นเทคนิคที่ให้โมเดลที่เคยฝึกมาก่อนแล้วนำความรู้ที่มีอยู่ไปใช้กับงานใหม่ โดยไม่ต้องเริ่มต้นเรียนรู้จากศูนย์ ตัวอย่างเช่น หากมีโมเดลที่เคยฝึกให้จำแนกภาพของยานพาหนะประเภทต่าง ๆ แล้ว เราก็สามารถนำโมเดลนี้ไปเรียนรู้เกี่ยวกับรถแบบใหม่ ๆ ได้โดยใช้ตัวอย่างเพียงไม่กี่รูป เพราะโมเดลมีพื้นฐานเกี่ยวกับลักษณะทั่วไปของยานพาหนะนั้นอยู่แล้ว
ภาพจาก : https://medium.com/@zgamble30/understanding-and-implementing-transfer-learning-for-image-classification-ea42184af782
ข้อดีของวิธีนี้คือ ช่วยให้โมเดลสามารถเรียนรู้ได้เร็วขึ้น ลดความต้องการข้อมูลจำนวนมาก และลดต้นทุนการประมวลผล แต่ Transfer Learning จะมีประสิทธิภาพสูงสุด เมื่อโมเดลเดิมกับงานใหม่นั้น เกี่ยวข้องกัน หากเราพยายามใช้โมเดลที่ฝึกให้จำแนกประเภทรถ มาเรียนรู้เกี่ยวกับชนิดของสัตว์ ผลลัพธ์ก็จะไม่แม่นยำอย่างแน่นอน
Meta-Learning เป็นแนวทางที่ช่วยให้ AI สามารถปรับตัวเข้ากับข้อมูลใหม่ได้อย่างรวดเร็ว โดยไม่ต้องฝึกฝนแบบดั้งเดิม ที่เน้นจำแนกหมวดหมู่ที่แน่นอน แต่ให้ AI ฝึกตัวเองให้เก่งขึ้นด้วยการเรียนรู้สิ่งใหม่ ๆ
ภาพจาก : https://botpenguin.com/glossary/meta-learning
เพื่อให้เห็นภาพง่าย ๆ ทุกคนลองนึกถึงเด็กที่เรียนรู้การขี่จักรยาน เด็กคนแรกอาจเริ่มจากจักรยานมีล้อเล็กๆ ช่วยประคองฝึกทรงตัวไปเรื่อย ๆ และเมื่อโตขึ้นก็สามารถขี่จักรยานสองล้อได้ทั้งหมด โดยไม่ต้องไปฝึกใหม่ Meta-Learning ก็ใช้หลักการเดียวกัน โดยให้ AI ได้เรียนรู้ผ่านหลาย ๆ งานย่อย (Training Episodes) เพื่อให้เข้าใจโครงสร้างของข้อมูล และเมื่อต้องเผชิญกับข้อมูลใหม่ โมเดลจะสามารถปรับตัวและทำนายได้อย่างรวดเร็ว
ข้อดีของ Meta-Learning คือช่วยให้ AI สามารถรับมือกับข้อมูลที่เปลี่ยนแปลงบ่อย วิเคราะห์แนวโน้มใหม่ ๆ ในโซเชียลมีเดีย หรือเจอข้อมูลใหม่ ๆ ได้โดยไม่ต้องฝึกฝนใหม่ทุกครั้ง
บางครั้งปัญหาหลักของ Few-Shot Learning คือข้อมูลมีจำนวนน้อยเกินไปจนไม่สามารถฝึกโมเดลให้แม่นยำได้ Data Augmentation จึงเป็นเทคนิคที่ช่วยแก้ปัญหานี้ โดยใช้การดัดแปลงข้อมูลที่มีอยู่ให้มีความหลากหลายมากขึ้น เช่น หมุนภาพ, ปรับแสง, เพิ่ม Noise หรือแม้แต่สร้างข้อมูลใหม่ที่ใกล้เคียงกับของจริงโดยใช้ แบบจำลองเชิงสร้างสรรค์ (Generative Model) เช่น Generative Adversarial Networks (GANs) ทำให้โมเดลมีตัวอย่างมากขึ้น และลดโอกาสที่มันจะ Overfitting หรือ "จำแทนที่จะเข้าใจ"
ภาพจาก : https://medium.com/@abburi.sravya/few-shot-learning-leveraging-limited-data-for-machine-learning-cb34b54f071a
N-Way K-Shot Classification เป็นแนวคิดพื้นฐานที่ใช้ใน Few-Shot Learning โดยกำหนดกรอบการเรียนรู้ให้โมเดลสามารถฝึกฝนจากตัวอย่างจำนวนน้อยได้
ภาพจาก : https://www.researchgate.net/figure/Example-of-n-wayk-shot-setup-In-this-illustration-we-have-k-examples-for-each-of-n_fig1_344292903
"N-Way" หมายถึงจำนวนหมวดหมู่ที่โมเดลต้องจำแนก ส่วน "K-Shot" หมายถึงจำนวนตัวอย่างที่มีอยู่ในแต่ละหมวดหมู่ ตัวอย่างเช่น 3-Way 2-Shot Classification หมายถึงการที่โมเดลต้องเรียนรู้จากภาพ 3 หมวดหมู่ โดยแต่ละหมวดหมู่มีตัวอย่างให้เพียง 2 รูป
กระบวนการเรียนรู้จะใช้ สองชุดข้อมูลหลัก ได้แก่
โมเดลจะได้รับการฝึกผ่าน Training Episodes โดยแต่ละรอบของการฝึกจะปรับปรุงโมเดลให้แม่นยำขึ้นเรื่อย ๆ วิธีนี้ช่วยให้โมเดลสามารถ ปรับตัวเข้ากับข้อมูลใหม่ได้อย่างรวดเร็ว ไม่ต้องจดจำคลาสใดคลาสหนึ่งโดยเฉพาะ ทำให้สามารถนำไปใช้กับงานที่ต้องจำแนกสิ่งใหม่ ๆ ได้ดีนั่นเอง
One-Shot Learning เป็นกรณีพิเศษของ Few-Shot Learning ที่โมเดลต้องเรียนรู้จากตัวอย่างเพียง หนึ่งตัวอย่างต่อคลาส ซึ่งท้าทายมาก เพราะปกติแล้ว AI จำเป็นต้องใช้ข้อมูลจำนวนมหาศาลเพื่อให้สามารถจำแนกหมวดหมู่ได้อย่างแม่นยำ
ภาพจาก : https://bdtechtalks.com/2020/08/12/what-is-one-shot-learning/
หนึ่งในตัวอย่างที่เห็นได้ชัดของ One-Shot Learning คือ ระบบจดจำใบหน้า (Facial Recognition) บนสมาร์ทโฟน เช่น Face ID ที่สามารถเรียนรู้ และจดจำใบหน้าของผู้ใช้จากภาพถ่ายเพียงไม่กี่ภาพ แล้วนำไปใช้ระบุบุคคลได้แม้ในสภาพแสง และมุมกล้องที่แตกต่างกัน
วิธีที่ช่วยให้ One-Shot Learning ทำงานได้ดีขึ้นคือการใช้ Siamese Networks หรือ Matching Networks ซึ่งเป็นโมเดลที่ไม่เน้นการจำแนกคลาสโดยตรง แต่ใช้การวัดความคล้ายคลึงของข้อมูล (Similarity-Based Learning) เช่น คำนวณว่าภาพใบหน้าสองภาพเหมือนกันหรือไม่ ? แทนที่จะให้ AI จดจำรูปแบบของใบหน้าแต่ละแบบนั่นเอง
Few-Shot Learning ดังที่กล่าวมาแล้วข้างตน เป็นแนวทางที่ AI สามารถเรียนรู้จากตัวอย่างเพียงไม่กี่ชุด เช่น 5 ตัวอย่างต่อคลาส (5-Shot Learning) หรือ 3 ตัวอย่างต่อคลาส (3-Shot Learning) วิธีนี้ช่วยลดจำนวนข้อมูล และทำให้ AI สามารถนำไปใช้งานได้จริงในกรณีที่มีข้อจำกัดด้านข้อมูล
และเหมือนที่เราได้พูดกันไปแล้วว่า โมเดล Few-Shot Learning มักใช้หลักการ Meta-Learning (การเรียนรู้เพื่อเรียนรู้) ซึ่งช่วยให้ AI สามารถปรับตัวกับข้อมูลใหม่ได้เร็วขึ้นผ่าน Training Episodes หลาย ๆ รอบ ทำให้โมเดลเข้าใจรูปแบบของข้อมูล และสามารถนำไปใช้กับหมวดหมู่ที่ไม่เคยเจอมาก่อนได้
Zero-Shot Learning เป็นรูปแบบที่ท้าทายมากที่สุด เพราะโมเดลต้องสามารถจำแนกข้อมูลใหม่ที่ไม่เคยเจอมาก่อนได้ โดยไม่ต้องมีตัวอย่างให้เรียนรู้เลย อาศัยความรู้จากหมวดหมู่อื่น ๆ ที่เคยเรียนรู้มาก่อน และนำมาเชื่อมโยงเพื่อจำแนกข้อมูลใหม่
ตัวอย่างหากโมเดลเคยเรียนรู้เกี่ยวกับ "ตัวนาก" , "อุรังอุตัง" และ "สิงโต" มาก่อนแล้วต้องจำแนก "แมวน้ำ" หรือ "แมว" โดยไม่มีตัวอย่างให้เรียนรู้มาก่อนโดยตรง AI ก็สามารถใช้ความรู้เกี่ยวกับ ตัวนาก และสิงโต เพื่ออนุมานเช่นว่า "แมว" อาจมีลักษณะคล้าย สิงโต มากกว่าที่จะตัวนาก และอุรังอุตัง นั่นเอง
ภาพจาก : https://www.computer.org/csdl/journal/tp/2023/04/09832795/1F6Q1JoJGne
โดย Zero-Shot Learning มักใช้เทคนิค Semantic Embeddings หรือ Natural Language Processing (NLP) เพื่อเชื่อมโยงข้อมูลระหว่างหมวดหมู่ อาจใช้คำอธิบาย หรือคุณลักษณะของหมวดหมู่ที่มีอยู่ เพื่อช่วยให้ AI สามารถทำนายหมวดหมู่ใหม่ได้โดยไม่ต้องมีตัวอย่างให้เรียนรู้โดยตรง
การจำแนกภาพเป็นหนึ่งในงานที่ Few-Shot Learning ถูกนำไปใช้มากที่สุด เพราะในหลายกรณีข้อมูลที่ใช้ฝึก AI อาจมีจำนวนจำกัด
ต่างจากการจำแนกภาพที่ AI ต้องบอกว่า "นี่คืออะไร" การตรวจจับวัตถุ (Object Detection) ไม่ใช่แค่ระบุว่ามีวัตถุอะไรในภาพ แต่ยังต้องระบุตำแหน่งของวัตถุนั้นด้วย
การแบ่งส่วนภาพเชิงความหมายเป็นงานที่ต้องให้ AI แยกแต่ละพิกเซลในภาพออกเป็นหมวดหมู่ เช่น การแยกถนน, รถยนต์ และคนเดินถนนในภาพถ่ายจากกล้องหน้ารถ
ในส่วนของหุ่นยนต์ หนึ่งในความท้าทายที่สำคัญคือ การให้หุ่นยนต์เรียนรู้ทักษะใหม่ได้อย่างรวดเร็ว โดยไม่ต้องลองผิดลองถูกเป็นร้อย ๆ ครั้งเหมือนในอดีต
ภาพจาก : https://ut-austin-rpl.github.io/TRILL/src/figure/approach.png
มีงานวิจัยที่พัฒนาระบบ ให้หุ่นยนต์เรียนรู้การเคลื่อนที่โดยเลียนแบบมนุษย์ หรือที่เรียกว่า Imitation Learning วิธีนี้ช่วยให้หุ่นยนต์สามารถเรียนรู้จากตัวอย่างการเคลื่อนไหวเพียงไม่กี่ชุด และนำไปใช้ปรับตัวกับสถานการณ์ใหม่ ๆ ได้
ในงานด้านภาษาศาสตร์อย่างการทำ การประมวลผลภาษาธรรมชาติ (NLP) AI มักต้องใช้ข้อมูลมหาศาลในการเรียนรู้ เช่น การสร้าง Chatbot ที่เข้าใจภาษาได้เหมือนมนุษย์ แต่ในบางกรณี เราอาจไม่มีตัวอย่างข้อความเพียงพอ ทำให้การใช้ Few-Shot Learning เป็นทางออกที่ดี ตัวอย่างหนึ่งคือ การใช้ Metric Learning เพื่อให้ AI สามารถจัดหมวดหมู่ข้อความใหม่ได้ แม้ไม่มีตัวอย่างมากนัก วิธีนี้ช่วยให้ AI สามารถนำความรู้ที่เรียนรู้จากชุดข้อมูลหนึ่ง ไปประยุกต์ใช้กับงานอื่น ๆ ได้
ข้อดีของ Few-Shot Learning มีอยู่หลายประการ ดังที่เราได้พูดกันไปแล้ว ไม่ว่าจะเป็น ลดการใช้ข้อมูลจำนวนมาก, ลดต้นทุน และพลังงานประมวลผล และลดปัญหา Domain shift อย่างไรก็ตาม เทคโนโลยีนี้มันก็ยังมีข้อจำกัดอยู่เช่นกัน เราลองมาดูว่า Few-Shot Learning มีข้อจำกัดอะไรบ้าง ?
แม้ว่า Few-Shot Learning จะช่วยให้ AI เรียนรู้ได้จากข้อมูลจำนวนน้อย แต่โดยทั่วไปแล้วความแม่นยำมันก็อาจยังไม่เทียบเท่ากับโมเดลที่ฝึกจากข้อมูลจำนวนมาก เพราะ AI อาจยังไม่เข้าใจรูปแบบของข้อมูลได้ดีเท่ากับการฝึกแบบดั้งเดิม
Few-Shot Learning อาศัยเทคนิคขั้นสูง เช่น Meta-Learning และ Transfer Learning ซึ่งต้องการโมเดลพื้นฐานที่มีประสิทธิภาพสูง หากโมเดลพื้นฐานไม่มีคุณภาพเพียงพอ หรือข้อมูลต้นฉบับมีความแตกต่างจากข้อมูลใหม่มากเกินไป AI อาจเรียนรู้ได้ไม่ดีเท่าที่ควร
เนื่องจาก Few-Shot Learning ใช้ข้อมูลจำนวนน้อย AI อาจจำรูปแบบของข้อมูลฝึกได้มากเกินไป (Overfitting) และทำให้ไม่สามารถจำแนกข้อมูลใหม่ที่แตกต่างออกไปได้ดี ปัญหานี้ลักษณะเช่น AI ที่เรียนรู้จากภาพแมวเพียง 5 ตัว อาจเข้าใจว่า "แมวต้องมีสีส้ม" และไม่สามารถแยกแยะแมวสีดำได้ดีนั่นเอง
ในบางงาน เช่น การแพทย์ หรือความปลอดภัย ระบบ AI ต้องมี ความแม่นยำสูงมาก และไม่สามารถมีข้อผิดพลาดได้ Few-Shot Learning อาจยังไม่สามารถทดแทนโมเดลที่ใช้ข้อมูลฝึกจำนวนมากได้ทั้งหมด
Few-Shot Learning (FSL) เป็นแนวทางที่ช่วยให้โมเดลที่ผ่านการฝึกมาก่อนสามารถเรียนรู้ และจำแนกข้อมูลใหม่ได้จากตัวอย่างเพียงไม่กี่ชุด โดยไม่ต้องฝึกใหม่ทั้งหมด ทำให้ AI มีความยืดหยุ่น และสามารถนำไปใช้ในงานที่มีข้อมูลจำกัด
ด้วยความก้าวหน้าของงานวิจัยในปัจจุบัน Few-Shot Learning กำลังพัฒนาไปสู่จุดที่สามารถแข่งขัน หรือเหนือกว่าวิธีการเรียนรู้แบบ Supervised Learning ดั้งเดิมในบางกรณี และเทคนิคที่ซับซ้อนกว่า เช่น One-Shot Learning และ Zero-Shot Learning ก็กำลังถูกศึกษาอย่างจริงจังเพื่อทำให้ AI มีความสามารถใกล้เคียงกับมนุษย์มากขึ้น
ในอนาคต Few-Shot Learning จะมีบทบาทสำคัญในการทำให้ AI ฉลาดขึ้น, ปรับตัวได้ดีขึ้น และสามารถเรียนรู้ได้อย่างมีประสิทธิภาพมากขึ้น เราจะได้เห็นเทคนิคนี้ถูกนำไปใช้ฝึก AI อย่างแพร่หลาย เปลี่ยนแปลงทั้งวิธีการพัฒนาเทคโนโลยี และวิธีที่ AI โต้ตอบกับโลกใบนี้
|