Machine Learning

เมื่ออาทิตย์ที่ผ่านมาได้มีโอกาสได้ดู ซีรี่เกาหลีอยู่เรื่องนึงใน Netflix พระเอกหล่อมว๊ากกกก พระรองก็เท่ มัดสองคนรวมกันมันคือแอดดีดีนี่เอง ฮ่าๆๆๆ เนื้อหาเป็นพล็อตเรื่องที่ทันสมัยแปลกใหม่ของวงการสตาร์ทอัพ แฝงอารมณ์รักๆใคร่ ใสๆฮาๆ ดราม่าๆ ตามสไตล์ซีรี่เกาหลี นี่ไม่ได้จะมารีวิวหนังนะครับ เดี๋ยวจะเข้าใจผิด แต่แอดให้เรื่องนี้ 9/10 ไปเลยฮ่าๆๆๆ เรามาเข้าเรื่องกันเลยดีกว่า มันจะมีอยู่ช่วงนึงที่ตัวละครถามถึงเรื่อง Machine Learning คืออะไร หลายๆคนที่ไม่ได้ศึกษาข้อมูล หรืออยู่ในด้านสายงานของ IT หลายๆคนคงจะไม่รู้จักนิยามของคำๆนี้ ซึ่งนางเอกของเรื่องเองก็ไม่รู้จักดีนัก ตัวเอกของเรื่อง (พระเอกรึป่าวไม่รู้) เลยอธิบายฉบับให้คนที่ไม่เข้าใจฟังและยกตัวอย่างมาว่า

โดซาน(ตัวเอก): สมมุติว่ามีคอมพิวเตอร์ชื่อ Tarzan เขาเติบโตในป่าและไม่เคยรู้จักสิ่งมีชีวิตที่เรียกว่าผู้หญิงเลยสักครั้ง แต่วันหนึ่ง Jane ได้หลงเข้ามาในป่า เริ่มแรกเขามอบก้อนหินให้เธอ แต่ดูเหมือนจะไม่ชอบ แต่เมื่อเขามอบดอกไม้ให้เธอ…เธอดูมีความสุข

ดัลมี(นางเอก): รู้และ…ก็เพราะเขาไม่เคยพบผู้หญิงมาก่อน เขาจึงไม่รู้ว่าผู้หญิงนั้นชอบอะไร

โดซาน(ตัวเอก): ถูกต้อง…ดังนั้น Tarzan จึงพยายามต่อ โดยเริ่มแรกไปจับงูมาให้ Jane แต่เธอเกลียดมัน เขาจึงไปไปจับกระต่ายน่ารักมาให้เธอ ซึ่งดูเหมือนเธอจะชอบมัน…และเธอดูเหมือนไม่ชอบใจเวลาที่เขาตะโกน แต่ชอบมากเวลาที่เขายิ้ม

ในขณะที่สร้างประสบการณ์ต่างๆ เขาก็เริ่มเรียนรู้วิธีที่จะเอาชนะใจเธอ (ดอกไม้, กระต่ายน่ารัก, รอยยิ้ม) คือ Personalize สำหรับคนที่ชื่อว่า Jane

ดัลมี(นางเอก): อืม…นี่สิน่ะ Machine Learning

ซึ่งถ้าใครได้ดูตอนนี้ คือโครตดัลร๊ากกกอ่ะ อธิบายฉบับบ้านๆได้ดีมากๆ วันนี้แอดเลยจะมาเสริมคำนิยามของคำว่า Machine Learning ฉบับบ้านๆยิ่งกว่ามาให้พอเข้าใจกันมากยิ่งขึ้น

จริงๆแล้ว Machine Learning มันอยู่กับเรามานานแสนนานแล้ว เพราะมันมีมาตั้งแต่สมัยปี 1959 แล้ว ซึ่งหากใครดูเรื่อง The Imitation Game ซึ่งเป็นเรื่องราวของการถอดรหัสลับของนาซี ในสงครามโลกที่พลิกฝั่งให้พันธมิตรกลับมาเป็นฝ่ายชนะสงคราม ในเรื่องจะเห็นเครื่อง ENIGMA ที่ถูกสร้างโดย Alan Turing บิดาแห่ง Computer Science ในปัจจุบัน โดยเจ้าเครื่องนี้ มันจะคำนวนมั่วๆไปเรื่อยตามกลไกที่ตั้งและการจูนค่าจต่างๆ เพื่อหาความสัมพันธ์ของรหัสลับที่ได้รับจากคลื่น บ้างก็ว่านี่คือ Super Computer เครื่องแรกที่ทำ Machine Learning ซึ่ง หลายๆคนที่อ่านมา อาจจะยังมองไม่เห็นภาพเลยว่า Machine Learning มันคืออิหยังวะ มามามา มาเข้าประเด็นแบบให้พอมองเห็นภาพกัน

“Facebook รู้ได้อย่างไรว่า เป็นหน้าของเรา และของใคร”
“Apple ID ตรวจจับหน้าเราว่าเป็นเจ้าของได้อย่างไร”
“รถไร้คนขับ tesla วิ่งได้อย่างไร”
คำถามเหล่านี้ คำตอบอยู่ที่ Machine Learning ทั้งสิ้น

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

Machine Learning มีรูปแบบการเรียนรู้หลากหลายรูปแบบ แต่มันจะมีอยู่ 3 รูปแบบใหญ่ๆคือ 

1. การเรียนรู้แบบได้รับคำแนะนำ (Supervised learning)

2. การเรียนรู้แบบไม่ได้รับคำแนะนำ (Unsupervised learning)

3. การเรียนรู้แปบเสริมกำลัง (Reinforcement learning)

การเรียนรู้แบบได้รับคำแนะนำ (Supervised learning)

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

การเรียนรู้แบบไม่ได้รับคำแนะนำ (Unsupervised learning)

Unsupervised Learning นั้นตรงกันข้ามกับ Supervised Learning เลย คือไม่มี Data มาสอน ถ้าให้เทียบก็คือ ไม่บอกเด็กหญิงแล้วว่า นี่คือน้อหมาหรือน้องแมวแล้ว แต่ให้เด็กหญิงแยกแยะได้เอง แยกแยะเองได้อย่างไรนะหรือ? เด็กหญิงก็จะต้องสังเกตรูปร่างหน้าตาของแมวได้ รูปร่างหน้าตาของหมาได้ ว่ามันไม่เหมือนกัน เช่น แยกแยะจากขนาด น้ำหนัก ส่วนสูง เรื่องนี้ถ้าให้อธิบายน่าจะยาก และเยอะเพราะในด้านของโปรแกรมมันซับซ้อนมาก เอาเป็นว่ามันเป็นรูปแบบที่ตรงกันข้ามกับอย่างแรกนั่นแหละ เดี๋ยวยังไงมาเจาะลึกอีกที

การเรียนรู้แปบเสริมกำลัง (Reinforcement learning)

ในบรรดา Machine Learning ทั้งหมด Reinforcement Learning คือสิ่งที่ดูเป็น Artificial Intelligence (AI) ที่แท้ทรู มากที่สุดแล้ว เพราะจะเรียนรู้และเปลี่ยนไปตามสิ่งแวดล้อม เข้าใจง่ายที่สุด ให้นึกถึงเวลา เด็กหญิง ฝึกเดิน ในการเดินแต่ละครั้ง มีหลายปัจจัยที่ต้องคิด ที่เด็กหญิงจะต้องทำให้ได้คือ ยืนอย่างไร พื้นเสมอหรือไม่ ทิ้งน้ำหนักตัวตรงไหน กางแขนกี่องศา ก้าวเท้าระยะเท่าไหร่ ยกขาสูงแค่ไหน ทดลองทำถูกๆ ผิดๆไปเรื่อยๆ ล้มลุกคลุกคลาน จนพัฒนาก้าวย่างเดินได้ด้วยตัวของเด็กหญิงเอง

ทั้งหมดทั้งมวลที่กล่าวมา มันคือ Machine Learning แบบย่อๆ และพอที่จะเข้าใจได้ง่ายๆ ซึ่งตามหลักการแล้วมันซับซ้อนกว่านี้มากมาย แต่มันก็เป็นเทคโนโลยีที่ในอนาคตมันจะคือชีวิตจิตใจของเราเหมือนกับโทรศัพท์มือถือ ณ ปัจจุบัน 

กว่าจะเรียบเรียง และจบได้ ยาวยืดกันเลยทีเดียว จริงๆมันยาวกว่านี้มาก แต่เอาที่พอเข้าใจพอก่อน วันหน้าค่อยมาเจาะจงลงลึกกันอีกที เดี๋ยวผู้อ่านจะเบื่อ ยังไงก็ฝากบอร์ด ฝากผลงาน ไว้ ณ ที่นี้ด้วย จ้างเราได้ เราอยากทำ