วันนี้ เวลา 05:00 • วิทยาศาสตร์ & เทคโนโลยี

รู้จัก Machine Learning (ปรับปรุง 2024/11)

ผู้เขียน: อวยชัย โชติจรัสวาณิช
หากชอบบทความนี้ ช่วยกด Like กด Follow และ กด Share และหากต้องการให้เขียนเรื่องไหน สามารถบอกได้ทางคอมเมนท์หรืออินบ๊อกซ์ ขอบคุณมากครับ
หัวข้อหลักในบทความ
1. ความแตกต่างระหว่าง AI กับ Machine Learning
2. Machine Learning ทำงานอย่างไร
3. ประเภทของ Machine Learning
4. กลุ่มของอัลกอริทึมของ Machine Learning ที่น่าสนใจ
1. ความแตกต่างระหว่าง AI กับ Machine Learning
คำว่า AI และ Machine Learning มักถูกใช้อย่างสับสน ในตอนแรกผมก็ไม่ได้งงกับสองคำนี้ แต่พอ AI ได้รับความนิยมมากขึ้น เส้นแบ่งและความหมายของสองคำนี้ก็ดูเหมือนจะบางลงไปทุกที ในส่วนนี้จะขออธิบายคำสองคำในทางวิชาการและที่ใช้กันโดยทั่วไปในปัจจุบันต่างกันอย่างไร
ไอบีเอ็มได้ให้ความหมายของปัญญาประดิษฐ์ (Artificial Intelligence) หรือ เอไอ (AI) ว่า "เทคโนโลยีที่ช่วยให้คอมพิวเตอร์และเครื่องจักรสามารถจำลองการเรียนรู้ ความเข้าใจ การแก้ปัญหา การตัดสินใจ ความคิดสร้างสรรค์ และความเป็นอิสระของมนุษย์" [1] ในขณะที่ได้ให้ความหมายของ Machine Learning ว่า "สาขาหนึ่งของวิทยาการคอมพิวเตอร์ที่เน้นการใช้ข้อมูลและอัลกอริธึมเพื่อทำให้ปัญญาประดิษฐ์ (AI) สามารถเลียนแบบวิธีการเรียนรู้ของมนุษย์ และปรับปรุงความแม่นยำให้ดียิ่งขึ้นอย่างต่อเนื่อง" [2]
ตามความหมายนี้ คำว่า AI จะมีความหมายที่กว้างกว่า Machine Learning เน้นไปที่เทคโนโลยี "อะไรก็ได้" ที่ทำให้คอมพิวเตอร์หรือเครื่องจักรตัดสินใจได้เหมือนมนุษย์ ในขณะที่ Machine Learning จะเป็นกระบวนวิธีที่จะทำให้คอมพิวเตอร์หรือเครื่องจักรตัดสินใจได้เหมือนมนุษย์โดยอาศัยข้อมูลและอัลกอรธึมที่จะพาให้คอมพิวเตอร์หรือเครื่องจักรไปถึงจุดนั้น อาจจะเรียกได้ว่า Machine Learning เป็นสาขาย่อยหรือซับเซตของ AI อีกทีหนึ่ง
ทางไอบีเอ็มได้ทำภาพสรุปที่ทำให้เข้าใจความหมายและความแตกต่างของ AI กับ Machine Learning ตามภาพด้านล่าง
ภาพสรุปความแตกต่างระหว่าง AI, Machine Learning, Deep Learning และ Generative AI [1]
แต่ในปัจจุบัน ความหมายที่ใช้ในโลกทั่วไปที่ไม่ใช่ในวงวิชาการหรือทางเทคนิค อาจมีการเปลี่ยนแปลงไปเล็กน้อย ในทางเทคนิค ผลผลิตที่ได้จาก Machine Learning จะถูกเรียกว่า "โมเดล" (Model) เช่น โมเดลในการจำแนกใบหน้าคนในบริษัท โมเดลในการคัดแยกขนาดของผลไม้ เป็นต้น แต่คำว่าโมเดลเป็นคำที่คนทั่วไปไม่เข้าใจและไม่ได้รับความนิยม ฉะนั้นจึงเปลี่ยนว่าโมเดลเป็นเอไอแทน เช่น เอไอในการจำแนกใบหน้าคนในบริษัท เอไอในการคัดแยกขนาดของผลไม้ เป็นต้น หรืออาจจะเรียกได้ว่า Machine Learning คือสิ่งที่ใช้สร้าง AI นั้นเอง
2. Machine Learning ทำงานอย่างไร
หากต้องการให้เด็กเข้าใจในหัวข้ออะไรสักอย่าง จะต้องทำให้เด็กเรียนรู้จากจากตัวอย่าง โดยอาจมีหรือไม่มีครูเป็นผู้ชี้แนะ และจะต้องมีการทดสอบว่าเด็กเข้าใจในหัวข้อนั้นจริงๆ การทำงานของ Machine Learning ก็ทำเช่นนั้น สมมติว่าต้องการให้โมเดลสามารถแยกภาพ มะละกอ กล้วย ส้มได้ โมเดลที่เราต้องการคือเด็ก และเราคือครู ขั้นตอนจะต้องเป็นไปดังนี้
1. เตรียมข้อมูลตัวอย่าง: ครูจะต้องเตรียมตัวอย่างที่มีความหลากหลายและมากพอที่จะใช้เป็นตัวแทนในโลกแห่งความเป็นจริง เพื่อให้เด็กได้เห็นความแตกต่างและ/หรือความเหมือนกัน ในที่นี้คือภาพของมะละกอ กล้วย ส้ม ในมุม และ เฉดสี ที่หลากหลายและมากพอที่จะใช้แทน มะละกอ กล้วย ส้ม ในโลกแห่งความเป็นจริง
2. แบ่งข้อมูลตัวอย่าง: เมื่อได้ข้อมูลตัวอย่างมาแล้ว ในที่นี้คือภาพผลไม้หลายภาพ สิ่งที่จะทำถัดมาคือแบ่งผลไม้ออกเป็นสองกลุ่ม กลุ่มหนึ่งเอาไว้ให้เด็กเรียนรู้ อีกกลุ่มเอาไว้ทดสอบเด็ก กลุ่มที่เอาไว้สอนเรียนรู้ควรมีจำนวนมากกว่าเอาไว้ทดสอบเด็ก
3. ให้เด็กเรียนรู้: นำตัวอย่างที่เอาไว้ให้เด็กเรียนรู้ส่งให้เด็ก เด็กอาจจะเรียนรู้ได้ด้วยตัวเองหรือ อาจต้องมีการชี้แนะจากครู
4. ทดสอบเด็ก: เหมือนเด็กเรียนรู้แล้ว ก็ต้องนำเอาตัวอย่างที่เอาไว้ทดสอบแบบทดสอบเด็ก เพื่อให้แน่ใจว่าเด็กเข้าใจได้อย่างถูกต้อง แต่ถ้าทดสอบเด็กแล้ว คะแนนไม่เป็นที่น่าพอใจ ก็ต้องส่งกลับไปเรียนรู้และทดสอบใหม่อีกครั้ง
5. เด็กนำความรู้ไปใช้ในโลกแห่งความเป็นจริง: เด็กสามารถแยกแยะมะละกอ กล้วย ส้ม ได้
6. ปรับปรุงอย่างต่อเนื่อง: เมื่อเด็กเจอภาพ มะละกอ กล้วย ส้ม ในโลกแห่งความเป็นจริง ครูอาจจะต้องตรวจสอบให้แน่ใจว่าอีกครั้ง สิ่งที่แยกแยะนั้นถูกต้องหรือไม่ ถ้าไม่ ภาพที่ไม่ถูกต้องเหล่านั้นจะต้องถูกนำมาใช้เป็นตัวอย่าง แล้วกระบวนการเรียนรู้จะต้องเริ่มใหม่ในข้อ 1 อีกครั้ง
3. ประเภทของ Machine Learning
ก่อนที่จะไปดูประเภทของ Machine Learning มาทำความเข้าใจเกี่ยวกับข้อมูลที่ต้องใช้ในการสร้างโมเดลผ่าน Machine Learning กันก่อน ในข้อมูล 1 ชุดจะถูกแบ่งออกเป็นสองส่วน อินพุตกับเอาต์พุต
เอาต์พุตคือส่วนของข้อมูลที่ต้องการให้โมเดลที่สร้างเสร็จแล้วทำนายได้
อินพุตคือส่วนของข้อมูลที่คาดว่าจะมีผลต่อผลลัพธ์ของเอาต์พุต
ตัวอย่างเช่น ต้องการสร้างโมเดลแยกภาพ มะละกอ กล้วย ส้ม ตัวภาพคืออินพุทซึ่งภาพหนึ่งภาพมีข้อมูลมากมายอยู่ในนั้น เช่น สี รูปร่าง รูปทรง ฯลฯ ส่วนเอาท์พุทคือผลลัพท์ที่จะออกจากโมเดล ในที่นี้คือ ข้อความที่จะบอกว่าภาพที่ส่งมานั้นเป็นผลไม้ชนิดใด
Machine Learning อาจแบ่งได้เป็น 4 ประเภทแบ่งตามรูปแบบการเรียนรู้ ได้แก่ Supervised machine learning, Unsupervised machine learning, Semi-supervised learning, Reinforcement machine learning
3.1 Supervised machine learning
Supervised แปลว่า ดูแล ในที่นี้หมายถึงโมเดลต้องได้รับการชี้แนะ เสมือนต้องมีครูคอยให้คำแนะนำในเรียนรู้ ความหมายในทางเทคนิคคือตัวอย่างที่ใช้ในการเรียนรู้ จะต้องมีทั้งข้อมูลอินพุตและเอาต์พุต การระบุเอาต์พุตประกบกับอินพุตเรียกว่าการระบุฉลาก (Labeling)
ตัวอย่างเช่น ต้องการสร้างโมเดลแยกแยะภาพ มะละกอ กล้วย ส้ม ผู้สร้างโมเดลจะต้องเตรียมภาพตัวอย่างของมะละกอ กล้วย ส้ม พร้อมทั้งบอกโมเดลด้วยว่า ภาพที่เห็นนั้น ภาพไหนเป็นผลไม้ชนิดใด โมเดลที่ได้จะสามารถบอกได้ว่าภาพที่ส่งเข้าโมเดลนั้นเป็นผลไม้ชนิดใด
3.2 Unsupervised machine learning
Unsupervised แปลว่า ไม่ต้องการดูแล ในที่นี้หมายถึงโมเดลไม่ต้องการคำชี้แนะ ไม่ต้องการให้ครูมาให้คำแนะนำใดๆทั้งสิ้น ความหมายในทางเทคนิคคือตัวอย่างที่ใช้ในการเรียนรู้ จะมีแค่ข้อมูลอินพุตเพียงอย่างเดียว ไม่ต้องมีข้อมูลเอาต์พุต หรือ ไม่มีการระบุฉลาก
ตัวอย่างเช่น ต้องการสร้างโมเดลแยกแยะภาพ มะละกอ กล้วย ส้ม ผู้สร้างโมเดลจะต้องเตรียมภาพตัวอย่างของมะละกอ กล้วย ส้ม โดยไม่ต้องบอกว่าแต่ละภาพนั้นคือผลไม้ชนิดใด โมเดลที่ได้จะไม่สามารถบอกได้ว่าภาพที่ส่งเข้าโมเดลนั้นเป็นผลไม้ชนิดใด แต่สามารถบอกได้ว่าภาพนั้นอยู่ในกลุ่มภาพใด
3.3 Semi-supervised learning
จัดเป็น Supervised machine learning ที่ต้องการคำชี้แนะบางส่วน ความหมายในทางเทคนเทคนิคคือตัวอย่างที่ใช้ในการเรียนรู้ มีทั้งข้อมูลอินพุตและเอาต์พุต แต่จะมีข้อมูลเอาต์พุตแค่บางตัวอย่างเท่านั้น
ตัวอย่างเช่น ต้องการสร้างโมเดลแยกแยะภาพ มะละกอ กล้วย ส้ม ผู้สร้างโมเดลจะต้องเตรียมภาพตัวอย่างของมะละกอ กล้วย ส้ม โดยระบุว่าภาพใดเป็น มะละกอ กล้วย ส้ม แค่บางตัวอย่างเท่านั้น โมเดลที่ได้จะสามารถบอกได้ว่าภาพที่ส่งเข้าโมเดลนั้นเป็นผลไม้ชนิดใด
3.4 Reinforcement machine learning
Reinforcement แปลว่า สนับสนุน เป็นกระบวนการให้โมเดลลองผิดลองถูก จนกว่าจะได้ผลลัพธ์ที่ถูกต้อง
ตัวอย่างเช่น ต้องการสร้างโมเดลแยกแยะภาพ มะละกอ กล้วย ส้ม ผู้สร้างโมเดลจะโชว์ภาพให้โมเดลแล้วท้ายว่าภาพนั้นคืออะไร ถ้าตอบผิด จะต้องตอบใหม่จนกว่าจะถูก จากนั้นก็ขึ้นภาพถัดไป ทำซ้ำเช่นนี้จนกระทั่งมั่นใจว่าโมเดลเข้าใจภาพผลไม้เหล่านั้นแล้ว
4. กลุ่มของอัลกอริทึมของ Machine Learning ที่น่าสนใจ
อัลกอริทึมที่ใช้ในการสร้างโมเดลมีอยู่มากมายหลายวิธี แต่วิธีที่ใช้กันและได้ยินกันบ่อย มักจะได้แก่ Regression, Classification, Clustering, Decision Tree, ANN
4.1 Regression
Regression คือความพยายามที่จะสร้างสูตรทางคณิตศาสตร์ที่ใกล้เคียงกับข้อมูลอินพุตและเอาต์พุตให้ได้มากที่สุด เมื่อได้สูตรแล้วก็จะสามารถใช้สูตรในการหาค่าเอาต์พุตจากอินพุตที่ใส่เข้าไปได้ ยกตัวอย่างเช่นดังภาพด้านล่าง
ภาพจาก Wikipedia [1]
จากภาพ ให้ข้อมูลแกน x คือ อินพุต และ ข้อมูล y คือ เอาต์พุต ความสัมพันธ์ระหว่างอินพุตและเอาต์พุต 1 ตัว แทนด้วย จุดสีแดงหนึ่งจุด โมเดลที่ได้จากวิธี Regression คือจะต้องหาสูตรที่ใกล้จุดเหล่านี้ให้ได้ ในที่นี้คือ เส้นสีน้ำเงิน ซึ่งได้มาจากสูตร y=1.5x+2 โดย x คือ อินพุตและ y คือเอาต์พุต โดยสูตรนี้หาได้โดยใช้อัลกอริทึม Linear Regression
โมเดลที่ใช้อัลกอลิทึมนี้ในการเรียนรู้จะจัดเป็น Supervised machine learning เพราะตัวอย่างที่ใช้ในการเรียนรู้ต้องใส่ข้อมูลเอาต์พุตเข้ามาด้วย โมเดลแบบนี้มักจะเหมาะที่จะนำไปใช้กับเอาต์พุตที่เป็นข้อมูลตัวเลขต่อเนื่อง (Continuous Number) แต่ปัจจุบันก็มีการคิดค้นรูปแบบที่สามารถนำไปใช้กับข้อมูลเอาต์พุตที่เป็นข้อความหรือตัวเลขจำกัด
อัลกอรึทีมที่จัดอยู่ในกลุ่มนี้ ได้แก่ Linear Regression, Simple Regression, Polynomial Regression, ฯลฯ
4.2 Classification
Classification เป็นอัลกอริทึมที่ใช้การจำแนกเอาต์พุตโดยอ้างอิงจากอินพุต ใช้สำหรับเอาต์พุตที่เป็นข้อความ (มะละกอ กล้วย ส้ม) หรือตัวเลขจำกัด (1, 2, 3) หรือจะเรียกว่าข้อมูลเป็นตัวก็น่าจะได้ ยกตัวอย่างดังภาพข้างล่าง
ภาพจาก IBM [2]
โมเดลนี้เป็นโมเดลที่ได้มาจากอัลกอริทึม Decision Tree ซึ่งจัดเป็น Classification โดยเป็นแผนผังว่าควรเล่นเสิร์ฟหรือไม่ (เอาต์พุต) ในอิงจากสภาพอากาศ ณ ขณะนั้น (อินพุต)
ในการเรียนรู้แบบ Classification จะต้องส่งข้อมูลตัวอย่างทั้งอินพุตและเอาต์พุต ด้วยเหตุนี้ Classification จึงเป็น Supervised machine learning
อัลกอริทึมที่จัดอยู่ในกลุ่มนี้จะมีหลายตัว เช่น Decision Tree, Naive Bayes, K-Nearest Neighbor (KNN), ฯลฯ
4.3 Clustering
Clustering เป็นอัลกอริทึมที่ทำการจัดกลุ่มข้อมูลโดยอ้างอิงข้อมูลอินพุตแต่เพียงอย่างเดียว อาศัยระยะห่างและการเกาะกลุ่มข้อมูลในการตัดสินใจว่า ข้อมูลใดควรอยู่ในกลุ่มใด ยกตัวอย่างดังภาพด้านล่าง
ภาพจาก Wikipedia [3]
ให้แกน x และ y เป็นข้อมูลอินพุต โดยจุดแต่ละจุดแทนข้อมูลอินพุตหนึ่งตัว แล้วใช้อัลกอริทึม Gaussian เพื่อดูว่าสามารถจัดได้เป็นกี่กลุ่มและแต่ละกลุ่มมีจุดข้อมูลใดบ้าง
Clustering อาศัยแต่เพียงข้อมูลอินพุตในเรียนรู้เท่านั้น ด้วยเหตุนี้จึงจัดเป็น Unsupervised machine learning
อัลกอริทึมนที่จัดอยู่ในกลุ่มนี้ได้แก่ K-means++, Gaussian Mixture Model, Mean Shift Clustering Algorithm, ฯลฯ
4.4 Artificial Neural Networks (ANN)
ANN คืออัลกอริทึมที่จำลองการทำงานของสมองมนุษย์ ในสมองมนุษย์จะมีนิวรัล (Neural) หลายตัว แต่ละตัวจะเชื่อมต่อถึงกัน นิวรัลแต่ละตัวจะรับสัญญาณไฟฟ้าจากนิวรัลตัวอื่นหลายตัว ก่อนจะส่งสัญญาณไฟฟ้าออกไปยังนิวรัลตัวอื่น เป็นเช่นนี้ต่อเนื่องไป ซึ่งจากหลักการนี้ก็ได้นำมาประยุกต์เป็นระบบตามรูปด้านล่าง
ภาพจาก Wikipedia [4]
วงกลมแต่ละวงซึ่งถูกเรียกว่าโนด (Node) โดนโนดในชั้น Hidden อาจจะมีมากกว่าหนึ่งชั้นและภายในโนดจะมีสูตรฟังก์ชันซึ่งจะรับอินพุตจากโนดในชั้นก่อนหน้าแล้วส่งผลลัพธ์ไปยังโนดอื่นในชั้นถัดไป ทำเช่นนี้อย่างต่อเนื่องจนกระทั่งในชั้นสุดท้ายคือชั้นเอาต์พุต
โมเดลที่ได้จะมีประสิทธิภาพและแม่นยำแค่ไหนขึ้นอยู่กับ จำนวนโนดในแต่ละชั้นจำนวนชั้นภายในโมเดล และสูตรฟังก์ชันที่ใช้ในโนด
ปัจจุบันโมเดลที่ได้จากอัลกอริทึมนี้ได้รับการพิสูจน์ว่าสามารถใช้กับข้อมูลได้หลากหลาย และถูกใช้ในงานหลากหลายประเภทจนเกิดสาขาใหม่ขึ้นใหม่คือ "Deep Learning" เป็นการนำเอา ANN มาใช้ในการสร้างปัญญาประดิษฐ์ขั้นสูง
ANN อาศัยข้อมูลอินพุตและเอาต์พุตในการเรียนรู้ จึงจัดเป็น Supervised machine learning แต่ปัจจุบันก็มีความพยายามที่จะนำไปประยุกต์ใช้ในรูปแบบ Unsupervised machine learning ด้วย
โฆษณา