ข้ามไปยังเนื้อหาหลัก

การเรียนรู้แบบกำกับตนเอง: โมเดลเรียนรู้อย่างไรโดยไม่ต้องมีป้ายกำกับ

การเรียนรู้แบบกำกับตนเองฝึกโมเดลให้ดึงการกำกับออกมาจากข้อความ ภาพ เสียง และวิดีโอที่ไม่มีป้ายกำกับ โดยใช้เทคนิคอย่าง contrastive learning, masked modeling และ autoregressive prediction เพื่อสร้างการแทนที่อยู่เบื้องหลังโมเดลภาษา ภาพ และมัลติโมดัลในปัจจุบัน
อัปเดตแล้ว 9 ก.ย. 2569  · 14 นาที อ่าน

สำรวจด้วย AI

ChatGPTClaudePerplexity

ทุกโครงการแมชชีนเลิร์นนิงท้ายที่สุดจะมาถึงจุดที่ต้องใช้ข้อมูลที่มีป้ายกำกับ และการทำป้ายกำกับต้องใช้ทั้งเวลาและงบประมาณมากกว่าที่หลายทีมจะรับได้

การจ้างทีมมาแท็กภาพหนึ่งล้านภาพหรือถอดเสียงคลิปเสียงหนึ่งล้านคลิปอาจมีค่าใช้จ่ายแตะหลักหกตัวเลข ในขณะเดียวกัน อินเทอร์เน็ตเต็มไปด้วยข้อความ รูปภาพ เสียง และวิดีโอที่ไม่มีป้ายกำกับ ทีม ML มีข้อมูลดิบมากมายเกินกว่าจะใช้ได้หมด แต่แทบไม่มีข้อมูลใดมาพร้อมป้ายกำกับที่จำเป็นต่อการฝึกโมเดล

การเรียนรู้แบบกำกับตนเองไม่ต้องการขั้นตอนการทำป้ายกำกับ มันเปลี่ยนโครงสร้างของข้อมูลเองให้กลายเป็นข้อมูลสำหรับการฝึก แทนที่จะจ่ายให้มนุษย์บอกว่ามีอะไรอยู่ในภาพหรือประโยคหมายความว่าอะไร ให้ตั้งค่าโจทย์ที่ข้อมูลตอบได้เองอยู่แล้ว เช่น ซ่อนคำหนึ่งคำแล้วให้โมเดลเดาจากคำรอบข้าง

ในบทความนี้ จะอธิบายการทำงานของการเรียนรู้แบบกำกับตนเอง เดินผ่านเทคนิคหลัก ๆ และแสดงให้เห็นว่ามันเปรียบเทียบกับการเรียนรู้แบบ มีผู้กำกับ แบบ ไม่มีผู้กำกับ และแบบ กึ่งมีผู้กำกับ อย่างไร

การเรียนรู้แบบกำกับตนเองคืออะไร?

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

แทนที่จะให้คนมาแท็กตัวอย่างแต่ละรายการ ข้อมูลจะมีเฉลยของตัวเอง โมเดลมองบางส่วนของอินพุต ซ่อนอีกบางส่วน แล้วเรียนรู้ด้วยการพยายามเติมสิ่งที่หายไป โดยไม่ต้องมีมนุษย์เข้ามายุ่งเกี่ยว

ตัวอย่างเช่น สามารถนำประโยคหนึ่งมาซ่อนคำหนึ่งคำ แล้วให้โมเดลเดาจากคำรอบ ๆ "The engineer pushed the ___ to the main branch" ให้บริบทมากพอที่โมเดลจะเดา "code" หรือ "changes" ได้โดยไม่มีใครบอกคำตอบที่ถูก ประโยคนี้เองทำหน้าที่เป็นป้ายกำกับ

การเรียนรู้แบบกำกับตนเองอยู่ในจุดก้ำกึ่งระหว่างสองหมวดหมู่ วัตถุประสงค์ในการฝึกมีลักษณะเหมือน การเรียนรู้แบบมีผู้กำกับ - มีอินพุตชัดเจน มีเป้าหมายชัดเจน และมีฟังก์ชัน loss วัดว่าคำทายผิดไปเท่าไร แต่เพราะไม่มีมนุษย์สร้างเป้าหมายเหล่านั้น ผู้คนจึงมักจัดมันไว้กับ การเรียนรู้แบบไม่มีผู้กำกับ ซึ่งทำงานกับข้อมูลดิบที่ไม่มีป้ายกำกับเช่นกัน การเรียนรู้แบบกำกับตนเองยืมกลไกของอย่างหนึ่งและแหล่งข้อมูลของอีกอย่างหนึ่ง

การเรียนรู้แบบกำกับตนเองทำงานอย่างไร?

กระบวนการมีรูปแบบที่ทำซ้ำได้ ไม่ว่ากำลังทำงานกับข้อมูลประเภทใด ต่อไปนี้คือขั้นตอน:

  1. เริ่มจากข้อมูลที่ไม่มีป้ายกำกับ: ข้อความ รูปภาพ เสียง วิดีโอ - ประเภทไม่สำคัญ ตราบใดที่มีจำนวนมากพอ
  2. สร้างโจทย์การเรียนรู้จากตัวข้อมูลเอง: สิ่งนี้เรียกว่า pretext task ไม่ใช่โจทย์ที่ต้องการจริง ๆ แต่เป็นปัญหาที่ตั้งขึ้นเพื่อบังคับให้โมเดลเรียนรู้อะไรบางอย่างที่เป็นประโยชน์ การซ่อนคำแล้วให้ทายคือหนึ่งในตัวอย่าง
  3. ฝึกโมเดลให้แก้โจทย์นั้น: โมเดลเดาคำตอบ ตรวจสอบกับค่าจริง แล้วปรับพารามิเตอร์
  4. เรียนรู้ตัวแทนเชิงนามธรรมที่มีประโยชน์: ระหว่างแก้ pretext task โมเดลจะสร้างความเข้าใจภายในเกี่ยวกับโครงสร้างของข้อมูล เช่น ไวยากรณ์ บริบท รูปร่าง และแพตเทิร์น
  5. ปรับใช้ตัวแทนเหล่านั้นกับงานปลายน้ำ: เมื่อโมเดลเรียนรู้ตัวแทนที่แข็งแรงแล้ว จึงนำไปใช้กับงานที่ต้องการจริง ๆ ซึ่งเรียกว่า downstream task.

Pretext task เป็นเพียงแบบฝึกหัดการฝึก ไม่มีใครนำโมเดลที่ทายคำที่ถูกซ่อนไปใช้งานจริง ค่าอยู่ที่ตัวแทนที่มันเรียนรู้ระหว่างทาง ซึ่งถ่ายทอดไปยังปัญหาจริงได้

การเรียนรู้แบบกำกับตนเองเทียบกับวิธีการเรียนรู้อื่น

วิธีที่ง่ายที่สุดในการเข้าใจการเรียนรู้แบบกำกับตนเองคือดูว่ามันทับซ้อนและต่างจากแนวทางการฝึกอื่นตรงไหน

กำกับตนเอง vs. มีผู้กำกับ

การเรียนรู้แบบมีผู้กำกับต้องมีตัวอย่างที่มีป้ายกำกับสำหรับทุกอินพุต เช่น ภาพที่แท็กว่า "dog" หรือรีวิวที่แท็กว่า "negative" ใครบางคนต้องสร้างป้ายกำกับเหล่านั้นด้วยมือ ซึ่งหมายถึงค่าใช้จ่าย เวลา และเพดานปริมาณข้อมูลที่ใช้ได้จริง

กับการเรียนรู้แบบกำกับตนเอง โมเดลยังคงมีเป้าหมายให้ทำนาย แต่เป้าหมายมาจากตัวข้อมูลเอง เช่น คำที่ถูกซ่อนหรือโทเคนถัดไปในลำดับ โดยไม่ต้องมีการอธิบายด้วยมนุษย์เพื่อสร้างสัญญาณการฝึก

กำกับตนเอง vs. ไม่มีผู้กำกับ

ทั้งสองทำงานกับข้อมูลที่ไม่มีป้ายกำกับ จึงมักถูกสับสนกัน ความต่างอยู่ที่วัตถุประสงค์

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

กำกับตนเอง vs. กึ่งมีผู้กำกับ

การเรียนรู้แบบกึ่งมีผู้กำกับผสมชุดข้อมูลที่มีป้ายกำกับขนาดเล็กกับชุดข้อมูลที่ไม่มีป้ายกำกับขนาดใหญ่ โดยใช้ทั้งสองอย่างพร้อมกันเพื่อปรับปรุงโมเดล

การพรีเทรนแบบกำกับตนเองไม่ต้องใช้ป้ายกำกับเลยเพื่อเริ่มต้น ไสามารถพรีเทรนบนข้อมูลที่ไม่มีป้ายกำกับล้วน ๆ แล้วค่อยส่งต่อไปยังชุดข้อมูลที่มีป้ายกำกับภายหลังสำหรับการปรับจูนแบบละเอียด ป้ายกำกับถ้าจะมี ก็จะมาหลังจากการพรีเทรน

  ต้องใช้ป้ายกำกับหรือไม่ แหล่งที่มาของสัญญาณการเรียนรู้ การใช้งานทั่วไป
มีผู้กำกับ ต้องใช้ สำหรับทุกตัวอย่าง ป้ายกำกับที่มนุษย์สร้าง ฝึกโมเดลบนงานเป้าหมายโดยตรง
ไม่มีผู้กำกับ ไม่ต้องใช้ โครงสร้างในข้อมูล (คลัสเตอร์ แพตเทิร์น) การจัดกลุ่ม การลดมิติ
กึ่งมีผู้กำกับ บางส่วน ผสมกับข้อมูลที่ไม่มีป้ายกำกับ ตัวอย่างที่มีป้ายกำกับบวกกับแพตเทิร์นในข้อมูลที่ไม่มีป้ายกำกับ เพิ่มความแม่นยำเมื่อมีข้อมูลที่มีป้ายกำกับไม่มาก
กำกับตนเอง ไม่ต้องใช้ สำหรับการพรีเทรน pretext task ที่สร้างจากตัวข้อมูลเอง พรีเทรนก่อนปรับจูนบนงานปลายน้ำ

การเรียนรู้แบบกำกับตนเองเทียบกับวิธีอื่น

ประเภทของการเรียนรู้แบบกำกับตนเอง

วิธีการกำกับตนเองแบ่งได้เป็นกลุ่มกว้าง ๆ โดยแต่ละกลุ่มจะยึดกับ pretext task คนละแบบ

Contrastive learning

Contrastive learningฝึกโมเดลให้แยกแยะตัวอย่างที่เกี่ยวข้องออกจากที่ไม่เกี่ยวข้อง โดยดึงตัวแทนของตัวอย่างที่คล้ายกันให้เข้าใกล้กัน และผลักตัวอย่างที่ไม่คล้ายให้ออกห่าง โดยไม่ใช้ป้ายกำกับจากมือมนุษย์เพื่อกำหนดว่าอะไรคือ "คล้าย"

เวอร์ชันที่ผ่านการเพิ่มข้อมูลสองเวอร์ชันของภาพเดียวกันถือว่าเกี่ยวข้องกัน ภาพกับคำบรรยายที่ตรงกันก็ถือว่าเกี่ยวข้องเช่นกัน SimCLR ใช้แนวคิดนี้ภายในโมดาลิตีเดียวกัน โดยเปรียบเทียบครอปหรือทรานส์ฟอร์มต่าง ๆ ของภาพเดียวกัน CLIP ใช้ข้ามโมดาลิตี โดยจัดแนวภาพกับข้อความที่อธิบายภาพนั้น

Masked modeling

Masked modeling ซ่อนบางส่วนของอินพุตและฝึกโมเดลให้กู้คืนส่วนที่หายไป แนวคิดเดียวกับตัวอย่างเติมคำในช่องว่างก่อนหน้า เพียงแต่นำไปใช้กว้างขึ้น

ในภาษา ปรากฏเป็น masked language modeling โดยซ่อนคำบางคำในประโยคและทำนายจากบริบทที่เหลือ ในงานภาพ ปรากฏเป็น masked image modeling โดยซ่อนแพตช์ของภาพและให้โมเดลกู้คืนพิกเซลที่ขาดหายไปหรือการแทนเชิงนามธรรมของมัน

Autoregressive learning

Autoregressive learning ทำนายองค์ประกอบถัดไปในลำดับโดยใช้อะไรที่มาก่อนหน้า ให้ต้นประโยคมา โมเดลจะทำนายคำถัดไป แล้วจากคำนั้นก็ทำนายคำต่อ ๆ ไป

นี่คือวัตถุประสงค์เบื้องหลังการพรีเทรนของโมเดลภาษาสมัยใหม่ส่วนใหญ่ เหมาะอย่างยิ่งกับข้อความเพราะภาษาเป็นลำดับซ้ายไปขวาอยู่แล้ว และสเกลได้ดีไปยังคลังข้อความขนาดมหึมาโดยไม่ต้องตั้งค่าเพิ่มเติม

Self-distillation

Self-distillation ฝึกโมเดลโดยใช้การทำนายของตัวมันเองเป็นเป้าหมาย แทนที่จะเป็นคำตอบตายตัวที่ซ่อนอยู่ในข้อมูล

การตั้งค่าที่พบบ่อยคือรันเครือข่ายเดียวกันสองเวอร์ชัน - "นักเรียน" และ "ครู" - บนมุมมองที่ต่างกันของอินพุตเดียวกัน นักเรียนเรียนรู้ให้เหมือนผลลัพธ์ของครู และครูจะอัปเดตเป็นค่าเฉลี่ยที่เคลื่อนช้า ๆ ของนักเรียน DINO และ BYOL เป็นวิธีการตัวแทนที่นี่ ไม่ต้องใช้ตัวอย่างเชิงลบหรืออินพุตที่ถูกมาสก์ เพราะโมเดลสร้างการกำกับของตัวเองจากความสอดคล้องระหว่างมุมมอง

การเรียนรู้แบบกำกับตนเองในโมเดลภาษาขนาดใหญ่

การกำกับตนเองคือทั้งสเตจการพรีเทรนสำหรับโมเดลภาษาขนาดใหญ่ ทุก LLM ที่ใช้งานอยู่ได้เรียนรู้โครงสร้างภาษา ข้อเท็จจริง และรูปแบบการให้เหตุผลโดยไม่มีป้ายกำกับที่มนุษย์เขียนแม้แต่ชิ้นเดียว ล้วนเกิดจากการแก้ pretext task แบบกำกับตนเองบนข้อความดิบ

การทำนายโทเคนถัดไป

LLM สมัยใหม่ส่วนใหญ่พรีเทรนด้วยการทำนายโทเคนถัดไป: เมื่อให้ลำดับของโทเคน จงทำนายโทเคนที่ตามมา โมเดลอ่านทุกอย่างก่อนตำแหน่งหนึ่งแล้วเดาว่าอะไรตามมา ตรวจสอบกับโทเคนจริงถัดไป แล้วปรับตัว

หากรันสิ่งนี้กับโทเคนระดับล้านล้านจากเว็บไซต์และที่เก็บโค้ด โมเดลจะสร้างความเข้าใจการทำงานของไวยากรณ์ ข้อเท็จจริง และแม้แต่รูปแบบการให้เหตุผลระหว่างทาง วัตถุประสงค์นี้คือแบบ autoregressive เดียวกับที่กล่าวไป เพียงแต่นำไปใช้ในสเกลใหญ่

Masked language modeling

ก่อนที่การพรีเทรนแบบ autoregressive จะกลายเป็นหลัก โมเดลอย่าง BERT ใช้ pretext task ที่ต่างออกไป แทนที่จะทำนายสิ่งที่ตามมา BERT จะซ่อนโทเคนแบบสุ่มทั่วทั้งประโยคและทำนายโดยใช้บริบทจากทั้งสองด้าน

บริบทสองทิศทางทำให้โมเดลภาษาที่ถูกมาสก์เก่งในงานทำความเข้าใจ เช่น การจัดประเภทและการถามตอบ แม้ว่าจะไม่สร้างข้อความเหมือนโมเดลที่ทำนายโทเคนถัดไป

การเรียนรู้จากคลังข้อความขนาดใหญ่

ทั้งหมดนี้จะไม่ได้ผลหากไม่มีปริมาณข้อมูล การพรีเทรนได้ข้อมูลมาจากเว็บเพจ หนังสือ ที่เก็บโค้ด และฟอรัม ผ่านการกรองและลบข้อมูลซ้ำเป็นคอร์ปัสที่มีโทเคนระดับพันล้านหรือล้านล้าน ยิ่งคอร์ปัสใหญ่และหลากหลาย การแทนเชิงนามธรรมที่ได้ก็ยิ่งทั่วไปมากขึ้น

การพรีเทรนคือตอนที่การกำกับตนเองทำงานของมัน แต่ไม่ใช่สเตจสุดท้าย การปรับจูนแบบละเอียดด้วยตัวอย่างคำสั่งที่มนุษย์เขียนจะสอนให้มันทำตามคำสั่ง และวิธีปรับให้สอดคล้องกับความชอบ เช่น RLHF หรือ DPO ใช้การจัดอันดับความชอบของมนุษย์เพื่อกำหนดรูปแบบคำตอบ ทั้งสองสเตจหลังต้องใช้ข้อมูลที่มีป้ายกำกับ ส่วนการพรีเทรนแบบกำกับตนเองเป็นสเตจเดียวที่ไม่ต้องใช้

การเรียนรู้แบบกำกับตนเองในคอมพิวเตอร์วิทัศน์

คอมพิวเตอร์วิทัศน์เป็นพื้นที่ที่เหมาะเจาะซึ่งมักขาดข้อมูลที่มีป้ายกำกับ กล่องล้อมกรอบและมาสก์การแบ่งส่วนใช้เวลาทำนานกว่าการใส่แท็กชิ้นเดียวลงบนข้อความ ทำให้วิธีการกำกับตนเองมีคุณค่าเป็นพิเศษที่นี่

การเรียนรู้ภาพแบบ contrastive ใช้แนวคิดดึงเข้าดันออกเดียวกัน โดยนำเวอร์ชันที่ผ่านการเพิ่มข้อมูลสองเวอร์ชันของภาพเดียวกัน (เช่น ครอปหรือพลิก) มาฝึกให้โมเดลรู้จักว่าเกี่ยวข้องกัน ขณะเดียวกันก็ถือว่าภาพอื่นในแบตช์ไม่เกี่ยวข้อง SimCLR เป็นตัวอย่างที่รู้จักกันดีของแนวทางนี้ที่ใช้กับภาพ

Masked image modeling นำแนวคิดเติมคำในช่องว่างจากภาษาไปใช้กับพิกเซล โดยซ่อนแพตช์ของภาพและฝึกโมเดลให้กู้คืนเนื้อหาที่หายไป ทั้งในรูปพิกเซลดิบหรือการแทนเชิงคุณลักษณะที่เรียนรู้มา นี่คือวัตถุประสงค์เบื้องหลัง MAE (Masked Autoencoders)

การจัดแนวภาพ-ข้อความฝึกโมเดลให้จับคู่ภาพกับคำบรรยายที่อธิบายภาพนั้น โดยดึงคู่ที่ตรงกันให้เข้าใกล้กันในพื้นที่ embedding ร่วม และแยกคู่ที่ไม่ตรงกันออก CLIP เป็นตัวอย่างที่โด่งดัง และเป็นเหตุผลส่วนหนึ่งที่โมเดลที่ฝึกแบบนี้รองรับ การจัดประเภทแบบ zero-shotได้ — สามารถรู้จำหมวดหมู่ที่ไม่เคยถูกฝึกอย่างชัดเจน เพียงเปรียบเทียบภาพกับคำบรรยายข้อความ

การเรียนรู้แบบกำกับตนเองนอกเหนือจากข้อความและภาพ

Pretext task จะเดินตามรูปแบบของข้อมูลเสมอ ดังนั้นที่ใดก็ตามที่มีข้อมูลที่ไม่มีป้ายกำกับจำนวนมาก โดยทั่วไปสามารถออกแบบงานกำกับตนเองรอบ ๆ ข้อมูลนั้นได้

ในเสียงพูดและออดิโอ โมเดลจะทำนายส่วนเสียงที่ถูกมาสก์หรือเปรียบต่างคลิปต่าง ๆ แบบเดียวกับที่โมเดลภาพเปรียบต่างครอปของภาพ เพื่อเรียนรู้การแทนที่มีประโยชน์สำหรับงานอย่างรู้จำคำพูด โดยไม่ต้องการข้อมูลฝึกที่ถอดเสียงไว้ล่วงหน้า

ในวิดีโอ pretext task อาจเกี่ยวกับการทำนายเฟรมในอนาคตหรือจับคู่คลิปที่มาจากวิดีโอต้นฉบับเดียวกัน ทำให้โมเดลเข้าใจการเคลื่อนไหวและโครงสร้างตามเวลา ซึ่งภาพนิ่งให้ไม่ได้

โมเดลแบบมัลติโมดัลผสานแนวคิดเหล่านี้ตั้งแต่สองโมดาลิตีขึ้นไป โดยจัดแนว ข้อความ รูปภาพ เสียง และวิดีโอให้อยู่ในพื้นที่การแทนร่วม คล้ายกับที่ CLIP จัดแนวภาพและข้อความ เพียงขยายไปยังชนิดข้อมูลอื่น ๆ มากขึ้น

การกำกับตนเองยังปรากฏในข้อมูลวิทยาศาสตร์และข้อมูลจากเซนเซอร์ — เช่น ลำดับจีโนมิกส์หรือข้อมูลอนุกรมเวลา — ที่การมาสก์หรือการทำนายส่วนของสัญญาณช่วยให้โมเดลเรียนรู้โครงสร้างจากการวัดค่าที่ไม่เคยตั้งใจให้มี "ป้ายกำกับ" ตั้งแต่แรก

วิธีใช้งานโมเดลแบบกำกับตนเองในขั้นปลายน้ำ

การพรีเทรนจะได้โมเดลที่เก่งในการแก้ pretext task ซึ่งไม่มีใครสนใจจริง สิ่งสำคัญคือสิ่งที่จะทำต่อจากนั้น

การปรับจูนแบบละเอียด (Fine-tuning)

การปรับจูนแบบละเอียดนำโมเดลที่พรีเทรนแล้วมาฝึกต่อโดยปรับน้ำหนักทั้งหมด คราวนี้ใช้ข้อมูลที่มีป้ายกำกับสำหรับงานที่ต้องการจริง ๆ เนื่องจากโมเดลเข้าใจโครงสร้างของโดเมนอยู่แล้ว การปรับจูนจึงต้องใช้ข้อมูลที่มีป้ายกำกับน้อยกว่าการฝึกจากศูนย์มาก

Linear probing

Linear probing จะแช่แข็งโมเดลที่พรีเทรนไว้ทั้งหมดและฝึกเฉพาะเลเยอร์เชิงเส้นชั้นเดียวบนเอาต์พุตของมัน หากตัวจัดประเภทเชิงเส้นธรรมดาสามารถแยกคลาสได้ด้วยคุณลักษณะที่แช่แข็งเหล่านั้น แปลว่าการแทนที่พรีเทรนไว้จับโครงสร้างจริงไว้ได้ ทำให้ linear probing เป็นวิธีทดสอบคุณภาพการแทนที่พบบ่อย แยกจากความสามารถในการปรับจูนทั้งโมเดล

การสกัดคุณลักษณะ (Feature extraction)

การสกัดคุณลักษณะทำงานคล้ายกับ linear probing แต่ไม่มีส่วนเชิงเส้น นำการแทนที่แช่แข็งไปป้อนให้กับอัลกอริทึมปลายน้ำใด ๆ ก็ได้ งานของโมเดลที่พรีเทรนมีเพียงการสร้าง embedding ที่ดี ส่วนปลายน้ำจะทำอะไรต่อเป็นดุลยพินิจของผู้ใช้

การใช้งานแบบ zero-shot และ few-shot

การแทนบางแบบดีพอที่จะใช้งานได้โดยไม่ต้องฝึกปลายน้ำเลย CLIP ทำเช่นนี้โดยฝังภาพและชุดป้ายกำกับข้อความผู้ท้าชิงลงในพื้นที่เดียวกัน แล้วเลือกป้ายที่อยู่ใกล้ภาพที่สุด Few-shot learningใช้แนวคิดเดียวกันแต่เพิ่มตัวอย่างที่มีป้ายกำกับจำนวนน้อย ซึ่งก็มักพอแล้วเพราะการแทนได้บรรทุกโครงสร้างส่วนใหญ่ที่โมเดลต้องการไว้แล้ว

ด้วยการเรียนรู้แบบกำกับตนเอง จะได้การแทนที่นำกลับมาใช้ใหม่ได้ พรีเทรนครั้งเดียว จากนั้นจะปรับจูน ทดลองเชิงเส้น สกัดคุณลักษณะ หรือสอบถามแกนหลักเดียวกันนั้นกับงานปลายน้ำกี่งานก็ได้ งานที่แพงส่วนใหญ่เกิดขึ้นครั้งเดียวระหว่างการพรีเทรน ไม่ใช่เกิดซ้ำต่อหนึ่งงาน

การเรียนรู้แบบกำกับตนเองในภาษา Python

ต่อไปนี้คือตัวอย่างเบา ๆ ที่ใช้โมเดลที่พรีเทรนแล้ว ไม่ได้สร้างระบบกำกับตนเองตั้งแต่ศูนย์ — เพื่อให้เห็นภาพเวิร์กโฟลว์

all-MiniLM-L6-v2 ซึ่งใช้งานได้ผ่านแพ็กเกจ sentence-transformers ได้รับการพรีเทรนด้วยวัตถุประสงค์แบบ masked language modeling และถูกฝึกต่อด้วยวัตถุประสงค์แบบ contrastive บนคู่ประโยค นั่นคือส่วนกำกับตนเองที่ทำไว้ให้แล้ว — หน้าที่คือการนำการแทนที่ที่ได้ไปใช้งาน

เริ่มต้น ให้ติดตั้งไลบรารีที่ต้องใช้ก่อน:

pip install sentence-transformers scikit-learn

ต่อไปเป็นโค้ด:

from sentence_transformers import SentenceTransformer
from sklearn.linear_model import LogisticRegression

# Create unlabeled data
support_tickets = [
    "My order arrived damaged and I need a replacement.",
    "The app crashes every time I try to upload a photo.",
    "I love how fast the checkout process is now.",
    "Can you tell me when my refund will be processed?",
    "The new dashboard layout is so much easier to use.",
    "I can't log in, it keeps saying my password is wrong.",
]

# Load a model pretrained with a self-supervised objective
model = SentenceTransformer("all-MiniLM-L6-v2")

# Obtain learned representations
embeddings = model.encode(support_tickets)
print(embeddings.shape)

ขนาดของ embeddings

ขนาดของ embeddings

เมธอด .encode() จะรันแต่ละทิกเก็ตผ่านโมเดลที่พรีเทรนแล้วและคืนเวกเตอร์หนาแน่นที่แทนความหมายของมัน จากนั้น งานปลายน้ำต้องใช้ตัวอย่างที่มีป้ายกำกับเพียงเล็กน้อย เพราะ embedding ได้บรรทุกโครงสร้างส่วนใหญ่ไว้แล้ว:

# Use the representations for a downstream task, 1 = complaint, 0 = positive feedback
labels = [1, 1, 0, 1, 0, 1]

clf = LogisticRegression()
clf.fit(embeddings, labels)

new_ticket = ["The delivery was late and no one responded to my email."]
new_embedding = model.encode(new_ticket)
print(clf.predict(new_embedding))

คำทำนายของลอจิสติกรีเกรสชัน

คำทำนายของลอจิสติกรีเกรสชัน

ทิกเก็ตที่มีป้ายกำกับหกรายการและตัวจัดประเภท LogisticRegression ก็เพียงพอแล้วในที่นี้ เพราะตัวแทนที่เรียนรู้ ไม่ใช่ตัวจัดประเภท กำลังทำงานส่วนใหญ่

ข้อดีและข้อจำกัดของการเรียนรู้แบบกำกับตนเอง

ต่อไปนี้คือข้อดีข้อเสียของการเรียนรู้แบบกำกับตนเอง

ข้อดี

  1. ลดการพึ่งพาข้อมูลที่ทำป้ายกำกับด้วยมือ: Pretext task สร้างเป้าหมายของตัวเอง งบทำป้ายกำกับจึงไม่ใช่ข้อจำกัดตายตัวต่อปริมาณข้อมูลที่ฝึกได้อีกต่อไป
  2. ใช้ประโยชน์จากชุดข้อมูลขนาดใหญ่มาก: คอลเลกชันข้อความและเสียงระดับเว็บสามารถนำมาใช้ฝึกได้ ไม่ใช่เฉพาะชุดย่อยที่มีป้ายกำกับขนาดเล็กที่ทีมมีงบทำป้ายกำกับ
  3. ผลิตการแทนที่ถ่ายทอดได้: โมเดลที่พรีเทรนหนึ่งตัวสามารถรองรับการปรับจูน การทดลองเชิงเส้น การสกัดคุณลักษณะ และการใช้งานแบบ zero-shot ได้ในงานปลายน้ำที่หลากหลาย
  4. เอื้อให้พรีเทรนสเกลใหญ่ได้: นี่เองที่ทำให้โมเดลฐานของวันนี้เกิดขึ้นได้ตั้งแต่แรก

ข้อจำกัด

  1. ต้องใช้ทรัพยากรคอมพิวต์มาก: การพรีเทรนบนข้อมูลระดับอินเทอร์เน็ตต้องใช้ฮาร์ดแวร์และเวลาอย่างจริงจัง ซึ่งเกินเอื้อมของทีมส่วนใหญ่
  2. การออกแบบ pretext task สำคัญมาก: หากเลือก pretext task ได้ไม่ดี การแทนที่ที่ได้อาจถ่ายทอดไปยังงานอื่นได้ไม่ดี ไม่ว่ามีข้อมูลมากแค่ไหนก็ตาม
  3. การแทนที่ที่เรียนรู้อาจสืบอคติ: แพตเทิร์น ช่องโหว่ หรือความลำเอียงใด ๆ ในข้อมูลฝึกจะปรากฏในการแทนที่ด้วย เพราะไม่มีตัวกรองระหว่างการพรีเทรน
  4. พรีเทรนได้ดีไม่ได้การันตีความสำเร็จปลายน้ำ: โมเดลที่แก้ pretext task ได้ดีอาจทำผลงานไม่ดีในงานปลายน้ำเฉพาะทางที่ไม่เคยถูกปรับให้เหมาะโดยตรง

เหตุใดการเรียนรู้แบบกำกับตนเองจึงสำคัญต่อ AI สมัยใหม่

การเรียนรู้แบบกำกับตนเองคือเหตุผลที่โมเดลฐานเกิดขึ้นได้เลย

การพรีเทรนในสเกลที่โมเดลสมัยใหม่ต้องการจะเป็นไปไม่ได้หากต้องพึ่งป้ายกำกับที่ทำด้วยมือ ไม่มีใครมาใส่ป้ายกำกับโทเคนข้อความระดับล้านล้านหรือภาพระดับพันล้านด้วยมือ การกำกับตนเองทำให้สามารถพรีเทรนบนคอลเลกชันระดับอินเทอร์เน็ตได้จริง แล้วนำโมเดลเดียวกันนั้นไปใช้ซ้ำกับงานปลายน้ำที่หลากหลาย แทนที่จะฝึกโมเดลแยกสำหรับแต่ละงาน

การเปลี่ยนจากโมเดลเฉพาะงานจำนวนมากไปสู่โมเดลพรีเทรนทั่วไปหนึ่งตัวที่ปรับใช้ได้หลายงาน คือทิศทางที่ AI สมัยใหม่ส่วนใหญ่กำลังมุ่งไป การเรียนรู้แบบกำกับตนเองคือกลไกที่ทำให้การเปลี่ยนแปลงนั้นเกิดขึ้น

สรุป

การเรียนรู้แบบกำกับตนเองสร้างการกำกับของตัวเองจากโครงสร้างของข้อมูลที่ไม่มีป้ายกำกับ แทนที่จะใช้ป้ายกำกับที่มนุษย์เขียน รูปแบบที่พบบ่อยคือการซ่อนคำหรือทำนายโทเคนถัดไป ข้อมูลถามตอบตัวเอง และโมเดลเรียนรู้ด้วยความพยายามตอบให้ถูก

แนวทางหลักทั้งหมดต่อยอดจากแนวคิดเดียวกันในวิธีที่ต่างกัน Contrastive learning ดึงตัวอย่างที่เกี่ยวข้องให้เข้าใกล้และผลักตัวอย่างที่ไม่เกี่ยวข้องให้ออกห่าง Masked modeling ซ่อนบางส่วนของอินพุตและฝึกให้กู้คืน Autoregressive learning ทำนายองค์ประกอบถัดไปในลำดับจากทุกอย่างก่อนหน้า กลไกต่างกัน แต่หลักการพื้นฐานที่ปล่อยให้โครงสร้างของข้อมูลจ่ายสัญญาณฝึกเหมือนกัน

หลักการนี้เองที่อยู่เบื้องหลังโมเดลภาษา ภาพ และมัลติโมดัลส่วนใหญ่ที่ใช้อยู่ การทำนายโทเคนถัดไปพรีเทรน LLM ยุคปัจจุบัน วัตถุประสงค์แบบ contrastive และ masked พรีเทรนโมเดลภาพ และการจัดแนวภาพ-ข้อความพรีเทรนโมเดลมัลติโมดัลที่เชื่อมทั้งสองเข้าด้วยกัน

หากต้องการเรียนรู้การสร้าง LLM ตั้งแต่ศูนย์ ลงทะเบียนในหลักสูตร Developing Large Language Models เพื่อดู PyTorch, Hugging Face และเทคนิค NLP ล่าสุดในการปฏิบัติจริง

FAQs

การเรียนรู้แบบกำกับตนเองคืออะไร?

การเรียนรู้แบบกำกับตนเองเป็นวิธีฝึกโมเดลโดยไม่ต้องใช้ป้ายกำกับที่มนุษย์สร้าง โมเดลจะมองบางส่วนของอินพุต ซ่อนอีกส่วนหนึ่ง และเรียนรู้ด้วยการพยายามทำนายส่วนที่หายไป ข้อมูลทำหน้าที่จ่ายสัญญาณการฝึกเอง ซึ่งเป็นเหตุผลที่เรียกว่า "กำกับตนเอง"

การเรียนรู้แบบกำกับตนเองต่างจากแบบไม่มีผู้กำกับอย่างไร?

ทั้งสองทำงานกับข้อมูลที่ไม่มีป้ายกำกับ แต่แนวทางต่างกัน การเรียนรู้แบบไม่มีผู้กำกับมองหาโครงสร้างโดยไม่มีเป้าหมายการทำนายที่เฉพาะเจาะจง เช่น การจัดกลุ่มลูกค้าที่คล้ายกัน การเรียนรู้แบบกำกับตนเองสร้างโจทย์ทำนายที่ชัดเจนขึ้นมาจากตัวข้อมูล แล้วฝึกโมเดลให้แก้มัน

ทำไมการเรียนรู้แบบกำกับตนเองจึงสำคัญต่อ AI สมัยใหม่?

เพราะมันทำให้โมเดลฐานเกิดขึ้นได้ การพรีเทรนในสเกลปัจจุบันจะเกินเอื้อมหากต้องพึ่งป้ายกำกับที่ทำด้วยมือ เพราะไม่มีใครมาใส่ป้ายกำกับโทเคนข้อความระดับล้านล้านด้วยมือ การกำกับตนเองทำให้สามารถนำโมเดลที่พรีเทรนหนึ่งตัวไปใช้ซ้ำกับงานปลายน้ำหลายงาน แทนการฝึกหนึ่งโมเดลต่อหนึ่งงาน

ความแตกต่างระหว่าง pretext task กับ downstream task คืออะไร?

Pretext task คือปัญหาที่ตั้งขึ้นสำหรับการพรีเทรน เช่น การทำนายคำที่ถูกซ่อน ซึ่งไม่ใช่งานที่สนใจจริง ๆ — เพียงแต่บังคับให้โมเดลเรียนรู้การแทนที่ที่มีประโยชน์ ส่วนงานปลายน้ำคือปัญหาจริงที่นำการแทนเหล่านั้นไปใช้ภายหลัง เช่น การจัดประเภทหรือการค้นหา

การเรียนรู้แบบกำกับตนเองทำงานได้โดยไม่มีป้ายกำกับเลยหรือไม่?

ได้ การพรีเทรนเองไม่ต้องใช้ป้ายกำกับเลย เมื่อโมเดลเรียนรู้การแทนแล้ว บางการใช้งานปลายน้ำ เช่น การจัดประเภทแบบ zero-shot ของ CLIP ก็ยังไม่ต้องใช้ป้ายกำกับ ขณะที่งานอื่น เช่น การปรับจูนหรือ few-shot จะนำข้อมูลที่มีป้ายกำกับจำนวนเล็กน้อยมาใช้ในสเตจหลังเท่านั้น

หัวข้อ
แมชชีนเลิร์นนิง

เรียนรู้กับ DataCamp

Courses

Supervised Learning ด้วย scikit-learn

4 ชม.
300.7K
พัฒนาทักษะแมชชีนเลิร์นนิงของคุณด้วย scikit-learn ใน Python ใช้ชุดข้อมูลจริงในคอร์สแบบโต้ตอบนี้ และเรียนรู้วิธีสร้างการคาดการณ์ที่ทรงพลัง!
ดูรายละเอียดRight Arrow
เริ่มหลักสูตร
ดูเพิ่มเติมRight Arrow