Self-Supervised Learning เทรนด์ใหม่ของ AI ที่มีความใกล้เคียงกับความฉลาดของมนุษย์?

AI แบบเคลียร์
2 min readMar 27, 2022

--

บทความนี้เขียนจากการศึกษาเรื่อง Self-Supervised Learning ซึ่ง Yann LeCun ผู้พัฒนา convolution neural network ได้มีความเชื่อว่า วิธีการนี้จะสามารถพัฒนาไปแตะในความฉลาดของมุนษย์ได้จริงๆ

ความฉลาดของมนุษย์ที่เครื่องจักรยากจะเลียนแบบ คืออะไร?

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

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

We believe that self-supervised learning (SSL) is one of the most promising ways to build such background knowledge and approximate a form of common sense in AI systems. — Yann LeCun เจ้าพ่อแห่ง Convolutional Neural Network

คำว่า such background knowledge ในที่นี้จะหมายถึงความรู้ที่มนุษย์เรียนรู้และสะสมมาตั้งแต่เด็ก และควบรวมกลายเป็น common sense ที่ช่วยให้มนุษย์สามารถนำความรู้ที่เรียนมา ไปใช้ในสถานการณ์ที่ไม่เคยเห็นหรือไม่เคยถูกสอนมาก่อนได้ นอกจากนั้นยังต้องการข้อมูลในการเทรนน้อยกว่ากันมากดังตัวอย่างข้างต้น

Self-supervised Learning คืออะไร?

Self-Supervised Learning คือการเรียนรู้ที่สร้าง label ให้กับ dataset ด้วยตัวเองโดยที่ไม่ได้ต้องการข้อมูล label จากมนุษย์ ซึ่งปกติแล้ว สิ่งที่เราต้องการได้จาก Self-Supervised Learning จะเป็น pre-trained model ที่ทำการ extract feature ที่ดี เพื่อนำไปเทรนต่อใน task อื่นๆ เช่นนำไปทำ classification, object detection, semantic segmentation และอื่นๆ ซึ่งเราจะเรียกว่า downstream task หมายถึงนำไปใช้ต่อแต่ไม่ได้ระบุว่าเป็น task อะไร และในการ train downstream task ก็สามารถที่จะลดการใช้ dataset ให้น้อยลงได้ด้วยค่ะ

Self-Supervised Learning กับ Unsupervised Leaning

หลายคนคงคุ้นเคยกับ Unsupervised Learning กันดี ซึ่งก็คือ Machine Learning แบบที่เราไม่ให้ labeled data ให้กับตัวโมเดลเช่นกัน แต่ความต่างคือ task ที่โมเดลตัวนี้ส่วนมากจะทำก็คือ clustering หรือ dimension reduction

ต่อมา ก็ได้มีการเรียนรู้แบบใหม่ที่เรียกว่า Self-Supervised Learning ซึ่งวิธีการนี้เราไม่ได้ให้ labeled data แต่เราเทรนโมเดลเพื่อนำไปใช้ต่อใน downstream task

Self-Supervised Learning กับ NLP

Self-Supervised Learning ได้ประสบความสำเร็จอย่างมากในวงการ NLP เช่นโมเดล BERT และอื่นๆมาก่อน โมเดลจะได้รับ unlabeled dataset โดยในขณะเทรน บางคำในประโยคจะถูกปิดแบบสุ่ม และโมเดลจะต้องเรียนรู้ที่จะ predict คำที่ถูกปิดไป

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

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

Self-Supervised Learning กับ Vision

อย่างไรก็ตาม การนำเอา Self-Supervised Learning มาใช้ใน task ที่ predict ส่วนที่ถูกปิดไปใน vision เช่น บางส่วนของภาพ หรือบางเฟรมของวิดีโอ เป็นเรื่องที่ยากกว่ามาก เพราะเซ็ตของค่าพิกเซลที่เป็นไปได้ในพื้นที่ส่วนหนึ่งของภาพ หรือเนื้อหาในเฟรมที่เป็นไปของวิดีโอมันมีไม่จำกัด จึงยังเป็นพื้นที่ที่ยังต้องมีการค้นคว้าต่อไป

แต่ Self-Supervised Learning ก็ถูกนำมาใช้ในการสร้าง pre-trained model ที่สามารถนำไปทำ Transfer Learning ที่ลดการใช้ dataset ในการเทรนได้อย่างมาก ซึ่งก็จะสามารถลดต้นทุนในการเก็บและสร้าง dataset ในพาร์ทที่เป็น label ที่ใช้แรงงานมนุษย์อย่างมากได้ด้วย เนื่องจาก Self-Supervised Learning ไม่ได้ต้องการ labeled data จึงมีคนพัฒนาเอาไปใช้กับ dataset ที่ไม่มีการจัดการให้เรียบร้อยได้ด้วย

ซึ่งปกติแล้ว เพื่อป้องกัน model มี bias หรือเกิด overfit นั้น dataset จะถูกจัดระเบียบให้ดีก่อนนำไปเทรน เช่น พยายามเฉลี่ยให้มีรูปในแต่ละ class เท่ากัน และอื่นๆ แต่ Self-Supervised Learning ถูกพัฒนามาให้ใช้กับ dataset ดิบๆที่ไม่ผ่านการจัดการใดๆเลย ตรงนี้ก็จะช่วยลดต้นทุนไปได้อีก

เนื่องจาก dataset ค่อนข้างดิบ จึงต้องมีจำนวนมากๆ และโมเดลของ Self-Supervised Learning ส่วนมากก็มีขนาดใหญ่มาก เพื่อที่จะสามารถเทรนเข้ากับ dataset มหาศาลนั้นได้ค่ะ

หลักการโดยทั่วไปของ Self-Supervised Learning

ปกติแล้วโมเดลจะมีการใช้ contrastive loss ซึ่งจุดประสงค์คือจะพยายามให้โมเดลเรียนที่จะจัดกลุ่ม output feature ที่ได้จาก ConvNet โดยที่ถ้าเป็นภาพใกล้เคียงกันก็จะมีค่าใกล้เคียงกัน แต่หากเป็นภาพที่ต่างกัน ก็จะพยายามแยกให้อยู่ไกลกันออกไป และภาพที่ใกล้เคียงกันเกิดจากการนำเอาภาพต้นฉบับมาผ่าน transformation บางอย่างทำให้มีความต่างออกไป หรืออาจจะ crop ภาพคนละมุมมอง ซึ่งเราต้องการให้โมเดลของเราเรียนรู้ที่จะ extract feature ที่จะยังคงให้ผลลัพธ์เป็นกลุ่มเดียวกันแม้จะเป็นคนละมุมมอง

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

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

ตอนถัดไปจะมาพูดถึงไอเดียของ Self-Supervised Learning หลายๆโมเดล รอติดตามได้นะคะ

สำหรับตอนนี้ก็จบเพียงเท่านี้ ถ้ายังไม่เคลียร์ก็คอมเม้นถามกันเข้ามาได้

แล้วพบกันตอนหน้าค่ะ

สามารถติดตามกันได้ที่

Facebook: AI แบบเคลียร์ ตีแผ่ทุกไอเดียเบื้องหลังสมการ

Tiktok: ai.beeying

Youtube: AI แบบเคลียร์ๆ

References:

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

AI แบบเคลียร์
AI แบบเคลียร์

Written by AI แบบเคลียร์

จากไอเดียสู่สมการ จากสมการสู่โค้ด จากโค้ดสู่โซลูชั่นการใช้งานจริง

No responses yet

Write a response