1.2 อะไรคือจักรกลเรียนรู้
จักรกลเรียนรู้เป็นชุดเครื่องมือที่คอมพิวเตอร์สามารถใช้สร้างหรือปรับปรุงวิธีการตัดสินใจและพฤติกรรม โดยอ้างอิงจากข้อมูล
ยกตัวอย่างเช่น เมื่อต้องการคาดเดาราคาขายของบ้านหลังหนึ่ง ระบบจักรกลเรียนรู้จะทำหน้าที่เรียนรู้รูปแบบของบ้านและราคาขายของบ้านจากการขายบ้านครั้งที่ผ่านๆ มา หนังสือเล่มนี้จะกล่าวถึงจักรกลเรียนรู้แบบถูกกำกับ (supervised machine learning) เป็นหลัก กล่าวคือเมื่อเรามีผลลัพธ์ของการตัดสินใจที่เราต้องการ (ในที่นี้คือราคาบ้านที่ผ่านๆ มา) เราจะให้จักรกลทำการตัดสินใจราคาบ้านหลังใหม่ที่เราไม่เคยเห็น โดยใช้ราคาบ้านที่เรามีอยู่ก่อนหน้านี้มาเป็นข้อมูลประกอบการคัดสินใจราคาบ้านหลังอื่นๆ ต่อไป
ปัญหาของจักรกลเรียนรู้ที่ไม่อยู่ในกลุ่มจักรกลเรียนรู้แบบถูกกำกับ อาจยกตัวอย่างการเรียนรู้แบบไม่กำกับ (unsupervised learning) เช่นการพยายามจัดกลุ่มของข้อมูลเข้าด้วยกันโดยดูจากความเหมือนกัน ซึ่งเรียกว่าการคลัสเตอร์ (clustering) หรือการเรียนรู้แบบเสริมแรง (reinforcement learning) ที่ระบบจะเรียนรู้ผ่านการทดลองว่าการตอบสนองแบบใดจะให้ผลลัพธ์ดีที่สุด (เช่นการทดลองเล่น Tetris ไปเรื่อยๆ จนได้คะแนนมากที่สุด)
เป้าหมายของระบบจักรกลเรียนรู้แบบถูกกำกับคือ เพื่อสร้างแบบจำลองสำหรับคาดเดา (predictive model) ที่เมื่อรับข้อมูลนำเข้า (เช่นพื้นที่บ้าน ที่ตั้งของบ้าน วิธีการปูพื้นบ้าน ฯลฯ) จะส่งออกคำตอบที่ต้องการได้ (ในที่นี้คือราคาบ้าน) โดยเราเรียกแบบจำลองที่ให้คำตอบออกมาเป็นหมวดหมู่ [เช่นการแปะป้ายว่าบ้านหลังนี้ดี หรือไม่ดี หรือการแปะป้ายว่าบ้านหลังนี้สำหรับตลาดกลุ่มลูกค้าเกรดเอ บี ซี หรืออื่นๆ: ผู้แปล] ว่าแบบจำลองชนิดทำนายประเภท (classification) และเรียกแบบจำลองที่ให้คำตอบออกมาเป็นตัวเลขต่อ [เช่นราคาบ้าน: ผู้แปล] ว่าเป็นแบบจำลองชนิดถดถอย (regression)
ในการสร้างแบบจำลองจักรกลเรียนรู้ (machine learning model) นั้น ขั้นตอนวิธีจักรกลเรียนรู้ (machine learning algorithm) จะเรียนรู้ข้อมูลและจำลองความรู้ที่ได้ออกมาเป็นพารามิเตอร์เช่นค่าน้ำหนัก (weights) หรือโครงสร้างการเรียนรู้เช่นต้นไม้ (tree) จะยกตัวอย่างกรณีการทำนายราคาบ่าน เมื่อต้องการทำนายราคาบ้านหลังหนึ่ง ระบบจักรกลเรียนรู้จะพยายามทำให้ราคาที่ทำนายออกมากับราคาจริงของบ้านหลังนั้นใกล้เคียงกันมากที่สุด โดยระบบจักรกลเรียนรู้ที่ถูกฝึกสอนอย่างสมบูรณ์ควรจะสามารถทำนายคำตอบของปัญหาที่เราต้องการบนชุดของข้อมูลที่ไม่เคยเห็นมาก่อน [ในปัญหาของการทำนายราคาบ้าน ระบบจักรกลเรียนรู้ควรสามารถทำนายราคาบ้านหลังอื่นๆ นอกเหนือจากหลังที่ระบบเคยถูกสอนให้ทำนายได้: ผู้แปล]
ทั้งการทำนายราคาบ้าน การแนะนำสินค้าที่ลูกค้าอาจสนใจ การตรวจหาป้ายจราจรบนท้องถนน การคาดเดาความตรงต่อเวลาในการชำระหนี้ และการตรวจสอบธุรกรรมที่ผิดปกติ ล้วนเป็นปัญหาที่สามารถแก้ได้ด้วยจักรกลเรียนรู้ทั้งสิ้น โดยขั้นตอนโดยคร่าวในการสร้างระบบจักรกลเรียนรู้มีดังนี้:
ขั้นที่ 1: การเก็บข้อมูล--เนื่องจากจักรกลเรียนรู้ใช้ข้อมูลในการสร้างการตัดสินใจ ดังนั้นยิ่งมีข้อมูลมากยิ่งดี โดยข้อมูลควรจะมีทั้งคุณลักษณะที่เราต้องการใช้เป็นคำตอบ และคุณลักษณะที่เกี่ยวข้องกับคำตอบนั้นๆ ยกตัวอย่างเช่นในการจำแนกว่ารูปภาพรูปหนึ่งเป็นป้ายจราจรหรือไม่ การเก็บข้อมูลคือการรวบรวมภาพบนท้องถนนและกำกับข้อมูลว่าในภาพภาพนั้นมีป้ายจราจรอยู่หรือไม่ ในการจำแนกข้อมูลความตรงต่อเวลาในการชำระหนี้ การเก็บข้อมูลคือการรวบรวมข้อมูลประวัติการชำระหนี้ ข้อมูลการกู้เงิน และรายละเอียดอื่นๆ อย่างรายได้ผู้กู้ ประวัติการผิดนัดชำระหนี้ และอื่นๆ
ขั้นที่ 2: ป้อนข้อมูลเหล่านี้เข้าสู่ขั้นตอนวิธีจักรกลเรียนรู้ เพื่อให้ได้แบบจำลองที่ต้องการ ในตัวอย่างของเราคือแบบจำลองสำหรับตรวจจับป้ายจราจร สำหรับคาดเดาการผิดนัดชำระหนี้ หรือแบบจำลองสำหรับคาดเดาราคาบ้าน
ขั้นที่ 3: ใช้แบบจำลองกับข้อมูลชุดที่อยู่นอกเหนือจากข้อมูลที่ป้อนให้ระบบจักรกลได้เรียนก่อนหน้านี้ กล่าวคือนำแบบจำลองไปใช้กับสถานการณ์ที่เราต้องการ เช่นใช้แบบจำลองตรวจจับป้ายในรถยนต์ไร้คนขับ ใช้แบบจำลองคาดเดาการผิดหนี้ในระบบประเมินความเสี่ยงการปล่อยกู้ หรือใช้แบบจำลองคาดเดาราคาบ้านในระบบนายหน้าอสังหาริมทรัพย์
จักรกลเรียนรู้มีประสิทธิภาพมากกว่ามนุษย์ในงานหลายอย่าง เช่นการเล่นหมากรุก (และไม่นานมานี้วงการปัญญาประดิษฐ์สนใจการเล่นหมากโกะเป็นพิเศษ) หรือการพยากรณ์อากาศ และแม้ว่าคุณภาพการตัดสินใจของจักรกลเรียนรู้จะดีแค่ในระดับเทียบเท่ามนุษย์ หรือแย่กว่าเล็กน้อย แต่จักรกลเรียนรู้ก็ยังเหนือกว่ามนุษย์ในด้านความเร็ว ความคงเส้นคงวาในการตัดสินใจ และการขยายขนาดระบบตัดสินใจให้สามารถรองรับการตัดสินใจจำนวนมาก
แบบจำลองจักรกลเรียนรู้สามารถคิดคำนวณให้ได้ผลการตัดสินใจในเวลาที่สั้นกว่ามนุษย์ สามารถตัดสินใจได้อย่างคงเส้นคงวาและไม่แปรปรวน รวมถึงยังสามารถถูกคัดลอกไปใช้งานในที่ต่างๆ ได้นับครั้งไม่ถ้วน การคัดลอกแบบจำลองไปทำงานบนชิปหรือคอมพิวเตอร์อื่นนั้นสามารถทำได้เร็วและทำได้ในราคาไม่แพง ในขณะที่การสอนมนุษย์คนหนึ่งให้ทำงานรูปแบบใดรูปแบบหนึ่งอาจจะใช้เวลานับสิบปี (ยิ่งฝึกสอนตอนอายุน้อย ยิ่งต้องฝึกสอนนาน) และมีราคาสูงมาก
อย่างไรก็ตาม หนึ่งในข้อเสียของการใช้ระบบจักรกลเรียนรู้คือคำอธิบายและความเข้าใจเชิงลึกที่ระบบมีต่อข้อมูลนั้นถูกซ่อนไว้ภายใต้กลไกการทำงานที่ซับซ้อนและไม่เอื้อต่อการทำความเข้าใจ แบบจำลองการเรียนรู้อย่างเช่นโครงข่ายประสาทเทียม (deep neural network) สร้างขึ้นจากตัวเลขนับล้านชุด และมนุษย์ไม่สามารถที่จะอธิบายได้โดยง่ายว่าตัวเลขที่ประกอบกันภายในแบบจำลองเหล่านี้ทำให้พฤติกรรมของแบบจำลองเป็นอย่างไรบ้าง นอกจากนี้ยังมีแบบจำลองอื่นๆ เช่นแรนดอมฟอเรสต์ (random forest) ที่ประกอบไปด้วยต้นไม้ตัดสินใจ (decision tree) นับร้อย คอยทำหน้าที่ "ลงคะแนนเสีบง" เพื่อเลือกผลลัพธ์ที่จะมาเป็นคำตอบของแบบจำลอง หากต้องการเข้าใจผลลัพธ์ที่ได้จากแรนดอมฟอเรสต์ นั่นหมายถึงเราต้องพิจารณาดูคำตอบและเหตุผลในการตัดสินใจในต้นไม้ตัดสินใจย่อยๆ นับร้อยเหล่านั้น และแน่นอนว่านั่นฟังดูแทบจะเป็นไปไม่ได้เลย
ขั้นตอนวิธีแรนดอมฟอเรสต์จัดอยู่ในการเรียนรู้แบบออนเซิมเบิล (ensemble learning) ซึ่งให้ผลลัพธ์ออกมาเป็นแบบจำลองที่มีความแม่นยำสูง โดยหลักการทำงานคือภายในแบบจำลองออนเซิมเบิลประกอบด้วยแบบจำลองขนาดเล็กหลายๆ ตัว คอยช่วยกันทำหน้าที่ในการตัดสินใจ ปัญหาในการทำความเข้าใจแบบจำลองออนเซิมเบิลคือ ถึงแม้เราจะเข้าใจแบบจำลองเล็กๆ ข้างใน แต่การทำความเข้าใจว่าแบบจำลองแต่ละตัวทำงานร่วมกันอย่างไรนั้นเป็นไปไม่ได้
กล่าวโดยสรุปย่อคือหากเราสร้างแบบจำลองโดยมุ่งเน้นความแม่นยำในการให้คำตอบของแบบจำลองเพียงอย่างเดียว เราจะได้แบบจำลองที่จะไม่สามารถอธิบายพฤติกรรมอะไรใดๆ ข้างในตัวมันได้เลย
ในการแข่งขันสร้างแบบจำลองจักรกลเรียนรู้ เราจะพบว่าทีมผู้ชนะมักจะเลือกสร้างแบบจำลองออนเซิมเบิลที่มีความซับซ้อนสูง เช่น boosted trees หรือโครงข่ายประสาทเทียม