Supervised Learning คืออะไร? ทำงานยังไง?
Supervised Learning หรือการเรียนรู้แบบมีผู้สอน เป็นศาสตร์แขนงหนึ่งใน AI หรือปัญญาประดิษฐ์ ภายใต้หัวข้อ Machine Learning ที่กำลังเป็นที่นิยมในการศึกษาและวิจัยกันในปัจจุบัน เนื่องจากทำได้ง่าย ต้นทุนต่ำ เพียงใช้คอมพิวเตอร์เครื่องเดียวก็สามารถศึกษาและทำงานจนเห็นผลได้เลย
จริงๆ แล้วศาสตร์แขนงนี้มีมานานมากแล้วตั้งแต่ปี 1959 ถูกเสนอโดย Arthur Samuel แต่ด้วยเทคโนโลยีหรือระบบประมวลผลในตอนนั้นยังล้าสมัยอยู่ ทำให้ยังไม่เป็นที่นิยม ผิดกับในปัจจุบัน
Machine Learning หรือการเรียนรู้ของเครื่องจักร (ซึ่งก็คือคอมพิวเตอร์) นั้นแบ่งออกเป็นประเภทใหญ่ๆ ได้ 3 ประเภท นั่นก็คือ
- Supervised Learning ที่เราจะพูดถึงกันในบทความนี้ครับ
- Unsupervised Learning หรือการเรียนรู้โดยไม่มีผู้สอน
- Reinforcement Learning หรือการเรียนรู้ผ่านการให้รางวัล
Supervised Learning หรือการเรียนรู้แบบมีผู้สอนนั้น คือการทำให้คอมพิวเตอร์สามารถหาคำตอบของปัญหาได้ด้วยตัวเอง หลังจากเรียนรู้จากชุดข้อมูลตัวอย่างไปแล้วระยะหนึ่ง
หากจะให้เปรียบเทียบก็เหมือนกับการสอนเด็ก ลองนึกภาพว่าเราชี้ภาพสัตว์ให้เด็กที่ไม่เคยเห็นดู แล้วบอกว่าสัตว์ตัวไหนคือแมว ตัวไหนไม่ใช่แมว ชี้ไป 2–3 วัน ให้เด็กได้เจอสัตว์หลายๆ ประเภท จนเด็กเริ่มเข้าใจ วันที่ 4–5 เราอาจจะลองเอาแมวตัวที่เด็กไม่เคยเห็นมาให้ดูสัก 10 ตัว รวมกับสัตว์อื่นๆ อีกจำนวนหนึ่ง โดยคราวนี้เราไม่บอกว่าสัตว์ตัวไหนคือแมว ตัวไหนไม่ใช่แมว ถ้าเด็กตอบถูกก็แปลว่าการสอนของเรามีประสิทธิภาพ
ในทำนองเดียวกัน หากเราสอนเด็กไปเลยว่า สัตว์ที่เด็กเห็นนั้นเป็น แมว หมา หรือหมู เด็กก็อาจจะตอบได้มากกว่าแค่ แมว หรือไม่ใช่แมว วิธีนี้อาจจะต้องใช้กระบวนการสอนที่มีความซับซ้อนมากขึ้นไปอีก เราเรียกวิธีการสอนเด็กทั้ง 2 แบบนี้ว่า Classification ซึ่งจะได้ผลลัพธ์ตามภาพด้านล่างครับ
วันถัดมา เราเรียกเด็กอีกคนมาสอนเรื่องราคาเพชร (diamond) เราหยิบเพชรอันนึง ขนาด 2 กะรัต สีเหลือง ระดับความสะอาด VS2 แล้วบอกเด็กว่า เนี่ยราคา 2 ล้านบาท หยิบอีกเม็ดขนาด 3 กะรัต สีฟ้า ระดับความสะอาด VS1 แล้วบอกเด็ก 3 ล้านบาท ทำแบบนี้ไปหลายๆ เม็ดจนเด็กเกิด model หรือ logic ในการคาดเดาราคาของเพชรขึ้นในหัว จนวันนึงสุ่มหยิบเพชรเม็ดใหม่ขึ้นมา ก็อาจให้เด็กคาดเดาราคาได้เลย เราเรียกกระบวนการสอนเด็กแบบนี้ว่า Regression
หากเราจะโปรแกรมให้คอมพิวเตอร์บอกเราบ้างล่ะ ว่าภาพสัตว์นั้นๆ เป็นสัตว์ชนิดอะไร
การเขียนโปรแกรมแบบดั้งเดิม
เราจะนำ logic หรือ model ที่เราคิดขึ้นมา ใช้เขียนโปรแกรมเพื่อให้ได้ output จาก input ที่รับเข้ามา
หากนำไปเปรียบเทียบกับตัวอย่างการสอนเด็กข้างต้น input ของเราก็คือภาพสัตว์ชนิดต่างๆ ส่วน output ก็คือคำตอบว่าภาพที่รับเข้าไปเป็นภาพสัตว์ชนิดอะไร
การเขียนโปรแกรมแบบนี้ยากและแทบเป็นไปไม่ได้เลย เนื่องจากความซับซ้อนของ model หรือ logic ที่เราต้องเป็นคนคิดขึ้นมาใช้ในโปรแกรม เพื่อแยกแยะภาพสัตว์ชนิดต่างๆ (ลองจินตนาการว่าภาพหลังจะเป็นอะไรก็ได้ มีสิ่งของอะไรในภาพก็ได้)
การใช้ Supervised Learning
มีรูปแบบการเขียนโปรแกรมที่แตกต่างออกไป ในช่วงแรก เราเขียนโปรแกรมให้คอมพิวเตอร์สร้าง model หรือ logic ของโปรแกรมขึ้นมาเองจาก input (ภาพสัตว์) และ output (คำตอบ) ที่เราต้องการเช่นเดียวกับการสอนเด็ก
จากนั้นเราจึงนำ model มาใช้ ดังนั้นยิ่งเรามี input และ output ที่มีความหลากหลายและจำนวนมากเท่าไร เราก็มี“โอกาส”ได้ model ที่มีความแม่นยำมากขึ้นเท่านั้นครับ
กระบวนการสร้าง model แบบนี้เราเรียกว่าการ “เทรน” ซึ่งสามารถกินเวลาได้ตั้งแต่หลักวินาทีจนถึงหลายๆ วัน แล้วแต่ความซับซ้อนของโจทย์ที่เราต้องการแก้ และพลังในการประมวลผลของเครื่องคอมพิวเตอร์ที่เราใช้เทรน
จะเห็นว่ากระบวนการทำ Supervised Learning นั้นมีความซับซ้อนมากกว่าการเขียนโปรแกรมแบบดั้งเดิม แต่ข้อดีของมันก็คือสามารถทำสิ่งที่เป็นไปไม่ได้ให้เป็นไปได้
หากว่าเรานึกย้อนกลับไปเมื่อ 10–20 ปีก่อน การให้คอมพิวเตอร์มีความฉลาดพอที่จะแยกแยะสิ่งของได้ยังเป็นเหมือนแค่ความฝัน แต่ปัจจุบันนี้เราสามารถสร้าง model แบบที่ว่านี้ขึ้นมาได้เองบนโต๊ะคอมพิวเตอร์ที่บ้าน เนื่องด้วยเทคโนโลยีต่างๆ มีความทันสมัยมากขึ้น ปัญหาที่เคยยากและไม่เคยแก้ได้ ก็สามารถถูกแก้ด้วยการใช้ทรัพยากรที่สมเหตุสมผลมากขึ้น
ในปัจจุบันมีการนำ AI model แบบ Supervised Learning นี้ไปประยุกต์ใช้แก้ปัญหาหลากหลายรูปแบบมากๆ เช่น
Speech Recognition — ใน application ผู้ช่วยส่วนตัวในมือถือต่างๆ เช่น Siri มีการนำ AI ไปใช้ในการรับรู้คำพูดของเรา
Style Transfer — บางคนอาจเคยได้ลองใช้ใน application เกี่ยวกับภาพถ่ายมาแบบไม่รู้ตัว
Style Tranfer คือการนำเอาเทคนิคในการวาดภาพ หรือคุณลักษณะเด่นในภาพๆ นึง ไปใช้กับภาพอื่นๆ ที่เราต้องการ เช่น นำเอาเทคนิคการใช้สีน้ำมัน ในภาพ Mona Lisa มาใช้กับภาพอื่นๆ ทำให้เหมือนกับ Leonardo Da Vinci มาเป็นคนวาดเองเลยทีเดียว

ท่านใดสนใจวิธีการทำ Style Transfer แบบง่ายๆ สามารถอ่านเพิ่มเติมได้ที่นี่ครับ
Image Classification—ใน application ทางการแพทย์ มีการใช้ AI เพื่อตรวจสอบหรือสกรีนผู้ป่วย เช่น ตรวจสอบมะเร็งผิวหนังจากภาพถ่าย เป็นต้น
Optical Character Recognition (OCR) — คือการแปลงภาพเอกสารให้เป็นไฟล์เอกสารที่สามารถแก้ไขได้ หรือบางคนอาจจะเคยเห็น application บนมือถือ ที่สามารถแปล ป้ายบอกทางจากภาษานึงเป็นอีกภาษานึงได้แบบ real-time
Face Detection — เป็นสิ่งที่พบเห็นได้ทั่วไป เช่น เวลาเราโพสรูปภาพลงใน facebook เราจะเห็นกรอบสี่เหลี่ยมล้อมรอบใบหน้าของคนในภาพ เพื่อให้เรา tag
นี่เป็นตัวอย่างเพียงเล็กน้อยเท่านั้นในการนำเอาเทคนิค Supervised Learning ไปประยุกต์ใช้ จะเห็นว่าทุกๆ AI model ที่ถูกนำมาใช้ใน application ต่างๆ เหล่านี้นั้น ล้วนเกิดมาจากการเอา data ทั้ง input และ output มาเทรนทั้งสิ้น ดังนั้นสิ่งที่เราจะต้องเตรียมในการทำ Supervised Learning เป็นอย่างแรกก็คือ การที่เราต้องมี data ที่มีคุณภาพ และมากเพียงพอ กับความซับซ้อนของปัญหาครับ
โดย: ภูริ เฉลิมเกียรติสกุล
