Machine learning คืออะไร?
ก่อนพูดถึง Machine learning
อย่างว่าแหละ ยุคนี้เป็นยุคของเทคโนโลยี มันก็เลยมีอะไรใหม่ ๆ เข้ามาให้เราศึกษาตลอด ซึ่งเรื่อง Machine Learning ก็เป็นหนึ่งในนั้นด้วย ในประเทศไทยก็พูดถึงกันมาสักระยะแล้ว แต่ถึงอย่างนั้นก็เถอะ มีคนมากมายที่อยากรู้ว่าเจ้า Machine Learning มันคืออะไรกันแน่ แต่บทความที่อ่านมาในเว็บเหมือนเขียนให้ Geek สาย IT อ่านโดยเฉพาะ เชื่อว่าต้องมีคนที่พูดในใจว่า “ขอเวอร์ชั่นคนธรรมดาอ่านแล้วเข้าใจได้บ้างได้ไหม? พลีสสส!”
ในเมื่อเป็นแบบนี้ (ซึ่งเราอาจมโนไปเอง) บอสอัพ โซลูชั่น เรายินดีจัดให้ แต่ต้องเข้าใจตรงกันก่อนว่า บทความนี้อาจจะลดทอดรายละเอียดบางอย่างออกไปเพื่อให้คนทั่วไปเข้าใจได้ง่ายขึ้น แต่ทั้งนี้เราจะแนบลิงก์ข้อมูลที่มีรายละเอียดแบบจัดเต็มให้ทุกคนไปอ่านต่อได้เองหากสนใจนะครับ
เข้าเรื่อง… Machine learning คืออิหยังหว่า?
Machine learning คือการทำให้คอมพิวเตอร์สามารถเรียนรู้ได้ด้วยตัวเองจากข้อมูลที่มีอยู่ ถ้าให้เปรียบเทียบแบบเห็นภาพชัดเจน คือ เราเป็นครู คอมพิวเตอร์เป็นนักเรียน และความรู้เป็นข้อมูล แต่เดิมเราอยากสอนอะไรนักเรียน เราก็กางหนังสือแล้วถ่ายทอดความรู้ให้กับเด็ก ๆ ซึ่งนักเรียนก็จะเข้าใจความรู้นั้นเป็นก้อน ๆ ไป แต่ Machine learning คือการทำให้นักเรียนสามารถใช้ความรู้ (ข้อมูลที่ตัวเองมี) ในการวิเคราะห์ เชื่อมโยง คาดการณ์และประมวลผลได้ด้วยตัวเอง โดยไม่ต้องรอให้เราสอน นี่เป็นนิยามของ Machine learning แบบคร่าว ๆ
แล้ว Machine learning มันเรียนรู้ด้วยตัวเองได้ยังไง?
ตรงนี้อาจจะมีศัพท์เฉพาะบ้างนิดหน่อย แต่ค่อย ๆ ทำความเข้าใจกันดูนะ มันไม่ยากเกินไปหรอก สู้ ๆ
Machine learning มีรูปแบบการเรียนรู้ที่หลากหลายมาก แต่ในที่นี้เราจะพูดถึงรูปแบบหลัก ๆ 3 รูปแบบ ดังนี้
-
การเรียนรู้แบบได้รับคำแนะนำ (Supervised learning)
เวลาเราป้อนข้อมูลให้กับคอมพิวเตอร์ (Input) เช่น รูปเสือ แต่คอมพิวเตอร์มันยังไม่รู้หรอกว่าเนี่ยคือรูปเสือ เราก็ต้องบอกมันก่อน แล้วคอมพิวเตอร์มันก็จะไปวิเคราะห์ (Feature Extraction) ว่า เสือเป็นสัตว์ 4 ขา มี 2 หู 1 หาง เป็นต้น จากนั้นคอมพิวเตอร์ก็นำข้อมูลดังกล่าวไปประมวล/จัดหมวดหมู่ (Classification) เพื่อให้หลังจากนี้มันสามารถแยกออกได้ว่าอะไรคือเสือ อะไรไม่ใช่เสือ
-
การเรียนรู้แบบไม่ได้รับคำแนะนำ (Unsupervised learning)
รูปแบบนี้เรียกได้ว่าตรงกันข้ามกับรูปแบบแรกเลย มันคือการที่เราป้อนข้อมูล (Input) รูปเสือเข้าไป แต่ไม่ได้บอกมันว่ารูปที่ป้อนเข้าไปเป็นรูปเสือ ทีนี้พอคอมพิวเตอร์มันเอาไปวิเคราะห์ (Feature Extraction) มันก็วิเคราะห์ได้นะว่ารูปที่ใส่เข้าไปมีลักษณะยังไง แต่คราวนี้มันไม่สามารถเอาไปประมวล/จัดหมวดหมู่ (Classification) ได้แล้ว มันจะใช้วิธีการแบ่งกลุ่มแทน (Clustering) ซึ่งคอมพิวเตอร์มันก็จะเอารูปเสือไปอยู่กับแมว สุนัข หรือสัตว์อื่น ๆ ที่มี 4 ขา มี 2 หู 1 หาง เหมือนกัน
-
การเรียนรู้แปบเสริมกำลัง (Reinforcement learning)
รูปแบบนี้ถ้าจะให้พูดจริง ๆ ทั้งวันก็คงไม่จบ แต่ก็สามารถอธิบายคร่าว ๆ ได้ว่า มันคือการที่เรากำหนดเงื่อนไขบางอย่างให้กับคอมพิวเตอร์ แล้วทำให้คอมพิวเตอร์เอาชนะหรือทำตามเงื่อนไขนั้นให้ได้ ยกตัวอย่างเช่น Alpha Go เงื่อนไขของการหมากล้อมคือ ใช้หมากของตนล้อมพื้นที่บนกระดาน เพื่อให้ได้ดินแดนมากกว่าคู่ต่อสู้ ทีนี้ Alpha Go ก็จะเรียนรู้ด้วยตัวมันเองผ่านการจำลองการแข่งขันเป็นแสน ๆ ล้าน ๆ รอบ เพื่อให้รู้ว่า ถ้าหากคู่ต่อสู้เดินหมากนี้ ตัวมันเองจะเดินหมากไหนเพื่อให้บรรลุเงื่อนไขที่กำหนดไว้ให้ นั่นคือการยึดพื้นที่บนกระดานให้ได้มากที่สุด
ลองยกตัวอย่างการทำงานของ Machine learning แบบใกล้ตัวให้ดูหน่อยสิ
เพื่อให้ใกล้ตัวทุกคนที่สุด ผมจะยกตัวอย่างจาก Google แล้วกัน สมมติว่าคุณต้องการค้นหาเสื้อผ้าผู้หญิง แต่คุณพิมพ์ว่า “เสื้อผ้าผุหยิง” Google ไม่ได้ปฏิเสธคำค้นหานี้ แต่แสดงหน้าค้นหาของคำว่า “เสื้อผ้าผู้หญิง” มาให้แทน ซึ่ง Google รู้นะว่า เสื้อผ้าผุหยิง ≠ เสื้อผ้าผู้หญิง
แต่ด้วยองค์ประกอบของคำว่า “เสื้อผ้าผุหยิง” ใกล้เคียงกับคำว่า “เสื้อผ้าผู้หญิง” มาก มันจึงใช้ระบบ Machine learning ในการเดาใจ/ทำนายความต้องการของผู้ใช้งานว่าน่าจะค้นหาคำนี้ และเสนอคำว่า “เสื้อผ้าผู้หญิง” ให้คุณใช้
พูดง่าย ๆ ก็คือ Machine learning ของ Google สามารถเรียนรู้จากการใช้คำค้นหาแบบผิด ๆ ถูก ๆ ของผู้ใช้งานได้ จากนั้นคำนวณใหม่เพื่อให้ได้คำค้นหาที่ถูกต้องหรือใกล้เคียงกับความต้องการของผู้ใช้งานมากที่สุดแทน
เอ้า! แถมให้อีกตัวอย่างหนึ่งแบบใกล้ตั๊ว ใกล้ตัวสุด ๆ นั่นคือการ Tag เพื่อนของเราในรูปที่เราโพสต์บน Facebook แต่ก่อนนู้น เราต้องพิมพ์ชื่อเองใช่ไหมว่าคนนี้คือใคร แต่เดี๋ยวนี้มันแทบจะบอกได้เลยว่าหน้าของคน ๆ นี้คือใครได้เลย สุดยอดมาก (หรือรู้มากก็ไม่ทราบ)
นั่นเป็นเพราะ Facebook มี Machine learning ที่สามารถวิเคราะห์ใบหน้าได้โดยใช้ข้อมูลของผู้ใช้งานนั่นแหละ เวลาเราจิ้มไปที่หน้าของคนนี้ มันก็จะวิเคราะห์แล้วว่า เอาล่ะ! หน้าตาแบบนี้ คิ้วห่างกันเท่านี้ สีผิวเป็นนี้ ปากเป็นแบบนี้ใช่มั้ย และปัจจัยอื่น ๆ อีก แล้วมันก็จะบอกเราว่าใบหน้านี้ (น่าจะ) เป็นของนายคนนี้นะ จบปึ้ง!
สรุปเกี่ยวกับ Machine learning
หัวใจของ Machine learning มันก็คือการทำให้คอมพิวเตอร์สามารถเรียนรู้ได้เอง วิเคราะห์ข้อมูลได้เองนั่นแหละ แล้วประมวลผลให้เราทราบ แต่การทำงานของมันซับซ้อนกว่านี้มากและมันเอาไปทำอะไรได้มากกว่าที่ผมกล่าวถึงในบทความนี้ และนี่ก็เป็นบทความ Machine learning ฉบับให้ชาวบ้าน ๆ อ่าน หวังว่าทุกคนจะเข้าใจเรื่อง Machine learning มากขึ้นนะครับ
หากคุณต้องการอ่านแบบละเอียด อ่านได้ที่ลิงก์นี้ได้เลยครับ