AI (Artificial Intelligence) หรือ ปัญญาประดิษฐ์ คือศาสตร์และเทคโนโลยีที่มีเป้าหมายให้คอมพิวเตอร์สามารถ “คิด” หรือ “ทำงาน” ได้เหมือนกับมนุษย์ เช่น การเรียนรู้(Machine Learning),การแก้ปัญหา(Problem Solving), การเข้าใจภาษา(Natural Language Processing: NLP) หรือ Computer Vision
ตัวอย่างของ AI:
ในปัจจุบันมี AI อยู่ในชิวิตประจำวันอยู่เยอะมากๆ ซึ่งตัวอย่างที่เราน่าจะได้ยินชื่อกันอยู่เป็นประจำมีดังนี้
- ChatGPT
- Gemini
- Copilot
- Siri และ Google Assistant
- ระบบแนะนำสินค้าในแอปช้อปปิ้ง(Recommendation System)
- ระบบตรวจจับใบหน้า(Face Recognition)
Machine Learning (ML) คืออะไร?
Machine Learning เป็นส่วนหนึ่งของ AI ที่มีจุดประสงค์ให้คอมพิวเตอร์ “เรียนรู้” จากข้อมูล โดยไม่ต้องระบุขั้นตอนการทำงานไว้ในโปรแกรม
แทนที่จะเขียน Rules ทั้งหมดเอง(Rule-Based) Developer จะใช้ข้อมูลจำนวนมาก Train ให้โปรแกรมสามารถแยกแยะหรือค้นหา Patterns ของความสัมพันธ์ของข้อมูลที่เราได้ Train เข้าไปนั่นเอง ยกตัวอย่างเช่น
- ให้ระบบดูรูปแมว และรูปที่ไม่ใช่แมว หลังจากนั้นให้ระบบสามารถเรียนรู้และแยกแยะรูปแมวได้
- ฝึกโมเดลแยกอีเมลสแปม/ไม่สแปมจากอีเมลเก่า
ขั้นตอนของ Machine Learning มีดังนี้
- ทำการแยก Data ออกเป็น 2 ประเภทคือ
- Training data ใช้สำหรับสอน Machine ว่าก่อนหน้านี้มีความเป็นมาอย่างไร
- Testing data ใช้สำหรับการทดสอบ หลังจากที่ได้ Model ออกมาแล้วเราก็จะนำ Model นี้ไปทดสอบด้วย Testing Data ดูว่า Model นั้นมีประสิทธิภาพดีหรือแย่อย่างไร
- กำหนด Features ที่ต้องการ ดูความหายของ Features ด้านล่าง
- สร้าง Model จาก Training data โดยเลือก Algorithm ต่างๆ ซึ่งมีอยู่เยอะมากๆ
- นำ Model ที่ได้ไปใช้งาน โดยทดสอบผลการทำงานด้วย Testing data(เวลาเรานำ Machine Learning ไปใช้งานจริงเราจะใช้แค่ Model ที่ได้ออกมาจากขั้นตอนที่ 2 เท่านั้น)
Feature คือคุณลักษณะหรือข้อมูลเชิงปริมาณและคุณภาพ ที่ใช้เป็น Input ให้กับ Algorithm ในการเรียนรู้และทำการทำนายผลพูดง่ายๆก็คือ “ตัวแปร” หรือ “ข้อมูล” ที่ใช้ในการตัดสินใจของโมเดล
ตัวอย่างของ Features
ยกตัวอย่างถ้าเราต้องการทำนายราคาบ้าน จะมี Features ที่เป็นไปได้ ดังต่อไปนี้
- ขนาดของบ้านหรือที่ดิน(ตารางเมตร หรือตารางวา)
- จำนวนห้องนอน(Numerical)
- จำนวนห้องน้ำ(Numberical)
- อายุของบ้าน(Numberical)
- ทำเลที่ตั้ง(Categorical)
- ใกล้สถานีรถไฟฟ้าหรือไม่(Boolean)
ซึ่งแต่ละข้อจะเป็น Input ที่ส่งเข้าไปให้ AI สร้างเป็น Model
ประเภทของ Features
เราสามารถแบ่งแยก Feature ออกเป็นประเภทต่างๆ ดังนี้
ประเภท | ตัวอย่าง |
---|---|
Numerical | อายุ, ราคา, ความเร็ว |
Categorical | เพศ (ชาย/หญิง), ประเทศ, ประเภทสินค้า |
Boolean | ใช่/ไม่ใช่, จริง/เท็จ |
Text | คำอธิบายสินค้า, รีวิว |
ความสำคัญของ Features
Feature จะมีความสำคัญมากๆในการทำ Machine Learning เยื่องจากถ้าเราสามารถกำหนด Feature ที่สามารถบ่งชี้ถึงความแตกต่างหรือผลลัพธ์ได้อบ่างชัดเจน Model ที่ได้ออกมาก็จะมีความแม่นยำสูง
ประเภทของ Machine Learning
เราสามารถแยกวิธีการเรียนรู้ของ Machine Learning ออกได้เป็น 3 ประเภทใหญ่ๆ ดังนี้
1. Supervised Learning
Supervised Learning เป็นรูปแบบการเรียนรู้ที่พบเห็นได้บ่อยที่สุดเนื่องเป็นการเรียนรู้เหมือนกับมนุษย์ ซึ่งเราต้องบอกว่าผลลัพธ์ที่ถูกต้องว่าจริงๆแล้วคำตอบคืออะไร เช่นเมื่อเรา Train ว่านี่คือรูปแมว เราต้องแปะ Label ไปด้วยว่านี่คือแมว หรือไม่ใช่แมว ดังนั้นเมื่อ Machine เรียนรู้เรียบร้อยก็จะสามารถแยกรูปแมวออกจากรูปอื่นๆได้
Supervised Learning จะเป็นการเรียนรู้ของมนุษย์ ที่เราต้องมีคนคอยสอนว่าสิ่งนี้คืออะไร
ตัวอย่าง Algorithms
Algorithms | ใช้ทำอะไร |
---|---|
Linear Regression | ค้นหาแน้วโน้ม ที่มีการเปลี่ยนแปลงเป็นเส้นตรง |
Logistic Regression | จำแนกประเภท เช่น E-mail นี้เป็น Spam หรือไม่ |
Decision Tree | ตัดสินใจโดยสร้างทางเลือกที่สามารถเป็นไปได้ เป็นแผนภูมิต้นไม้ |
Random Forest | ใช้หลาย decision tree ร่วมกันเพื่อเพิ่มความแม่นยำ |
K-Nearest Neighbors (KNN) | ค้นหาข้อมูลที่มีรูปแบบที่ใกล้เคียงมากที่สุด |
Naive Bayes | แยกประเภทโดยการใช้ Probability |
2. UnSupervised Learning
Unsupervised Learning เป็นรูปแบบการเรียนรู้ที่ไม่ได้มีการเตรียม Label หรือคำตอบที่ถูกต้องไว้ให้ ซึ่ง Machine จะต้องจัดกลุ่มของข้อมูลเอาเอง(Clustering) ตัวอย่างของการเรียนรู้ประเภทนี้คือการทำ Anomaly Detection เพื่อตรวจสอบความผิดปกติ เช่นมี Transaction ออกไปต่างประเทศ ทั้งๆ ที่เจ้าของบัญชีนี้ไม่เคยทำมาก่อน หรือการมี Activity Log ที่เกิดขึ้นนอกเวลางานซึ่งไม่น่าจะมีใครเข้ามาใช้งานระบบ
Unsupervised Learning จะเป็นการหา Patterns และจัดกลุ่มของข้อมูล
ตัวอย่าง Algorithms
Algorithms | ใช้ทำอะไร |
---|---|
K-Means Clustering | แบ่งกลุ่มข้อมูลโดยไม่รู้คำตอบล่วงหน้า |
Hierarchical Clustering | แบ่งกลุ่มแบบมีลำดับขั้น |
Principal Component Analysis (PCA) | ลดมิติเพื่อให้เข้าใจข้อมูลง่ายขึ้น |
DBSCAN | แบ่งกลุ่มข้อมูลที่มีความซับซ้อน (รูปทรงไม่เป็นวงกลม) |
3. Reinforcement Learning
Reinforcement Learning เป็นรูปแบบการเรียนรู้ที่เราไม่ต้องใส่ข้อมูลเริ่มต้นเข้าไป เราเพียงแค่บอกกติกาหรือเป้าหมายที่ Machine นั้นต้องทำให้สำเร็จ หลังจากนั้นให้ AI ทำการจับผิดกันเองไปเรื่อยๆจนกระทั่งได้ผลลัพธ์ที่ AI คิดว่าน่าจะถูกต้องออกมา
ตัวอย่างที่ประสบความสำเร็จมากๆของ Reinforcement Learning คือ AlphaGo Zero ซึ่งจะไม่ได้ใส่เกมของมนุษย์เข้าไป(ไม่มี Training data) เพียงแค่กำหนดกติกาและวิธีนับคะแนน หลังจากนั้นจะให้ AI แข่งกันเองไปเรื่อยๆจนกระทั่ง AI เก่งขึ้นเรื่อยๆ สุดท้าย Alpha Go Zero สามารถเอาชนะ Alpha Go ซึ่งมี Training data(ใส่เกมของทั้ง Pro และมือสมัครเล่นเข้าไป)ได้
แต่ข้อเสียของ Reinforcement Learning คือจะใช้ GPU หรือ TPU ในการคำนวนค่อนข้างเยอะมากๆ และใช้เวลาในการ Train ค่อนข้างนาน เพราะต้องเริ่มต้นใหม่ตั้งแต่ศูนย์
ตัวอย่าง Algorithms
Algorithms | ใช้ทำอะไร |
---|---|
Q-Learning | ระบบเรียนรู้การตัดสินใจโดยคำนวณผลตอบแทน |
Deep Q-Network (DQN) | ใช้ Neural Network มาช่วย Q-Learning |
Policy Gradient / Actor-Critic | ใช้ในงานที่ซับซ้อน เช่น เล่นเกม, ควบคุมหุ่นยนต์ |