Zero-Shot Learning มีประโยชน์อย่างไร?

การเรียนรู้แบบ Zero-Shot ช่วยให้ AI สามารถตอบตอบคำถามได้หลากหลายมากยิ่งขึ้น ยกตัวอย่างเช่น งานจำแนกประเภทข้อความรีวิวสินค้าว่าเป็นสินค้ากลุ่มคอมพิวเตอร์ เครื่องใช้สำนักงาน เครื่องจักร หากเป็น ML หรือ โมเดล Text Classification ปกติก็จะจำกัดอยู่แค่ 3 หมวดหมู่นี้เท่านั้นถ้าต้องการจะจำแนกให้ได้มากกว่าจำเป็นจะต้องฝึกสอนด้วยข้อมูลรีวิวสินค้าที่มี Label กำกับให้มากขึ้นโมเดลจึงจะจำแนกได้ แต่ถ้าเป็นโมเดลที่เรียนรู้ด้วยวิธี Zero Shot นั้นเราสามารถออกแบบโมเดลให้ครอบคลุมการจำแนกหลายหมวดหมู่ได้ตั้งแต่แรกโดยที่ข้อมูลเหล่านั้นไม่ต้อง Label ไว้ก่อน ซึ่งจะทำให้โมเดลของเราสามารถจำแนกการรีวิวสินค้าในหมวดหมู่่อื่น ๆ ได้ด้วยนั่นเอง (และประหยัดเวลากับต้นทุนที่จะต้องมาทำ Label ให้ชุดข้อมูลด้วย)

Zero-Shot Learning คืออะไร

เป็นเทคนิคการเรียนรู้ที่ใช้กับ Deep Learning โดยกำหนดปัญหาให้โมเดลพยายามแก้ในขั้นตอนการวัดผลโมเดล โมเดลจะต้องทำนายคลาสของข้อมูลที่ไม่เคยเห็นในขณะที่เทรน โดยทั่วไปแล้ววิธีการเรียนรู้แบบนี้จะต้องมีข้อมูลมาช่วยโมเดลในการเชื่อมโยงระหว่างข้อมูลที่โมเดลได้เรียนรู้แล้วโดยมี Label กำกับ และข้อมูลที่โมเดลยังไม่ได้เรียนรู้และไม่มี Label กำกับ สิ่งนี้เรียกว่า Auxiliary Information หรือก็คือข้อมูลบางส่วนที่สังเกตได้จากข้อมูลที่มี Label กำกับโดยผ่านการ Encoding (แปลงจากข้อมูลที่มนุษย์เข้าใจให้อยู่ในรูปแบบที่โมเดลเข้าใจ) แล้ว ยกตัวอย่างเช่น มีชุดรูปภาพของสัตว์ที่จะต้องจำแนกประเภทอยู่หนึ่งชุด โดยมาพร้อมกับข้อมูลเสริม (Auxiliary Information) คือคำอธิบายว่าสัตว์นั้น ๆ มีลักษณะอย่างไร ทีนี้พอโมเดลเรียนรู้ภาพม้า (Labeled Data) โมเดลก็จะรู้จักม้าตามปกติ และเมื่อเจอม้าลายโมเดลก็จะยังสามารถเชื่อมโยงได้ว่านี้คือม้าแต่มีลายเป็นต้น ส่วนใหญ่วิธีการนี้จะใช้ในงานด้าน Natural Language Processing, Computer Vision เพราะว่าข้อมูลที่ใช้กับงานพวกนี้ส่วนใหญ่แล้วต้องการข้อมูลจำนวนมหาศาล และการทำ Label ให้กับชุดข้อมูลอย่างถูกต้องนั้นจริง ๆ เป็นเรื่องยากมากต้องมีผู้เชี่ยวชาญเฉพาะทางเกี่ยวกับเรื่องนั้น ๆ จึงจะสามารถทำได้ แต่ถึงอย่างนั้นก็ยังต้องใช้เวลามากและยังอาจเกิดความผิดผลาดหรือ Bias ได้อีกอยู่ดี วิธีการ Zero Shot นี้จึงช่วยลดภาระงานในส่วนนี้ได้เป็นอย่างมาก

Zero-Shot Learning ข้อมูลที่ต้องใช้
และขั้นตอนการทำเบื้องต้น

ข้อมูลที่ต้องใช้มีดังนี้

  1. ชุดข้อมูลสำหรับเทรนโมเดลตามปกติที่มี Label กำกับ
  2. ชุดข้อมูลที่โมเดลยังไม่เคยเจอตอนเทรน
  3. ข้อมูลเสริมเพิ่มเติมสำหรับเชื่อมโยงระหว่างข้อมูลในข้อ 1 และ 2 (Auxiliary Information) ใช้เพื่อดูความสัมพันธ์และความเชื่อมโยงกันระหว่างคุณสมบัติของข้อมูล มักจะอยู่ในรูปแบบ Embeddings Vector

ขั้นตอนการเรียนรู้

  1. ฝึกสอนโมเดลแบบ Supervised Learning ตามปกติ ให้โมเดลเรียนรู้กับข้อมูลที่มี Label และสกัดเอาความรู้มาให้ได้มากที่สุด
  2. ขั้นตอนประเมินผลโมเดล (Inference Stage) องค์ความรู้ที่ได้ทั้งหมดจากตอนเทรนโมเดลจะถูกนำมาใช้เพื่อจำแนกข้อมูลตัวอย่างออกเป็นชุดคลาสใหม่ โดยส่งผ่านไปยังข้อมูลที่ไม่เคยเจอตอนเทรนบน High Dimensional Vector Space และคำนวณหาจุดรวมหรือค่าความคล้ายระหว่างข้อมูล

Conclusion

ประโยชน์ของการเรียนรู้แบบ Zero-Shot คือช่วยให้โมเดลสามารถแก้ปัญหาได้ครอบคลุมมากยิ่งขึ้น โดยอาศัยข้อมูลที่มีการทำ Label น้อยลง (ลดต้นทุนการทำชุดข้อมูล) เพราะว่า Auxiliary Information เป็นเพียงการอธิบายเพิ่มเติมเพื่อควบคุมการเรียนรู้ของโมเดลเท่านั้นไม่ใช่สิ่งที่ชี้ถูกชี้ผิดในการเรียนรู้ให้กับโมเดล

อ่านเพิ่มเติมเพื่อความเข้าใจโดยละเอียดได้ที่นี่

  • https://www.v7labs.com/blog/zero-shot-learning-guide
  • https://en.wikipedia.org/wiki/Zero-shot_learning
  • https://www.kdnuggets.com/2022/12/zeroshot-learning-explained.html
  • https://huggingface.co/tasks/zero-shot-classification
nuro-product-r2-01

Nuro – Deliveries

Nuro ได้รับอนุญาตให้ทำการขนส่งของแบบไร้คนขับใน California แล้ว ซึ่งรวมถึงขั้นตอนการเก็บเงินนิวโรก็ได้รับอนุญาตแล้วเช่นกัน
AInb-Post-13-Pic6

Llama 3 – AI

Llama 3.1 คือ Large Language Model แบบ Open Source ที่ถูกพัฒนาโดย Meta และปล่อยให้นักพัฒนานำไปใช้งานได้แบบฟรี มีเวอร์ชั่นตั้งแต่ 2, 3, 3.1
python_logo

Python Operator Introduction

ไพทอน เป็นภาษาโปรแกรมมิ่งที่มีความนิยมอย่างมากในปัจจุบัน จัดอยู่ในระดับ 4GL(4 Generation Language) ภาษานี้เหมาะสำหรับผู้เริ่มต้นศึกษาการเขียนโค้ด และยังเหมาะกับการทำงานหลาย ๆ อย่างในยุคปัจจุบันอีกด้วย โดยในบทความนี้จะมาแนะนำให้รู้จักกับตัวปฏิบัติการต่าง ๆ ในไพทอน

ติดตาม SUBBRAIN ได้ที่นี่

Categories: Data&IT