รูปปกบทความ คำศัพท์พื้นฐาน Deep Learning

1. 🎯 ตอนที่ 4: คำศัพท์พื้นฐานที่ต้องรู้ก่อนลุย Deep Learning

สวัสดีครับน้องๆ สาย Automation และว่าที่วิศวกร AI ทุกคน! ชงกาแฟแก้วโปรดแล้วมานั่งล้อมวงกันตรงนี้ครับ

ก่อนที่เราจะไปเขียนโค้ดสร้าง Convolutional Neural Network (CNN) หรือเทรนโมเดล Object Detection ล้ำๆ อย่าง YOLO พี่พบว่าปัญหาคลาสสิกของมือใหม่คือ “งงคำศัพท์” ครับ เวลาไปอ่านเปเปอร์วิจัยหรือคู่มือของ TensorFlow มักจะเจอคำประหลาดๆ เต็มไปหมด

วันนี้พี่เลยขอสวมบทวิศวกรรุ่นพี่ มาสรุป “คู่มือคำศัพท์ (Cheat Sheet)” อธิบายภาษาเอเลี่ยนพวกนี้ให้กลายเป็นภาษาคน โดยเปรียบเทียบให้เห็นภาพที่สุด รับรองว่าอ่านจบแล้วน้องๆ จะเอาไปคุยกับทีม AI รู้เรื่องแน่นอนครับ!

2. 📖 เปิดฉาก (The Hook)

ลองจินตนาการว่าการสอน AI ให้ตรวจจับ “รอยร้าวบนชิ้นงาน” ก็เหมือนกับ “การให้นักเรียน (AI) อ่านหนังสือเตรียมสอบ” ครับ

ถ้าน้องโยนหนังสือให้เด็กอ่านโดยไม่บอกว่าหน้าไหนสำคัญ เด็กก็คงสอบตก การเทรนโมเดล Deep Learning ก็เช่นกัน เราต้องมี “หนังสือเรียน (Dataset)” ต้องให้เด็ก “อ่านทบทวนซ้ำๆ หลายรอบ (Epoch)” และเด็กจะต้องค่อยๆ ปรับ “ความเข้าใจและจุดโฟกัสเนื้อหา (Weights และ Biases)” จนกว่าจะทำข้อสอบได้คะแนนเต็ม

คำศัพท์เหล่านี้คือฟันเฟืองที่ขับเคลื่อนให้ปัญญาประดิษฐ์ทำงานได้จริง เรามาเจาะลึกกันทีละคำเลยครับ!

3. 🧠 แก่นวิชา (Core Concepts)

พี่ได้สกัดคำศัพท์ระดับแก่นกลาง (Core vocabulary) ที่อ้างอิงจากตำรา Deep Learning ระดับโลกมาให้น้องๆ ทำความเข้าใจตามนี้ครับ:

  • 1. Dataset (ชุดข้อมูล): นี่คือ “หนังสือเรียนและข้อสอบ” ของ AI ครับ ชุดข้อมูลคือแหล่งรวมตัวอย่างทั้งหมดที่เราจะให้ AI เรียนรู้ (Data points) ซึ่งมักจะประกอบด้วย “รูปภาพ” และ “เฉลย (Labels)” ในการทำงานจริง เราจะต้องแบ่ง Dataset ออกเป็น Training Set (สำหรับให้ AI ฝึกเรียนรู้) และ Test Set / Validation Set (สำหรับเอาไว้สอบวัดผลว่า AI ไม่ได้แค่ท่องจำหนังสือ แต่เข้าใจมันจริงๆ)
  • 2. Tensor (เทนเซอร์): คอมพิวเตอร์ไม่มีดวงตา มันมองรูปภาพเป็น “ตารางตัวเลข” ครับ! ในทางคณิตศาสตร์ ข้อมูล 1 มิติเรียกว่า Vector, 2 มิติเรียกว่า Matrix แต่ถ้ามันซ้อนกันหลายๆ มิติ (N-dimensional array) เราจะเรียกมันเหมารวมว่า Tensor เช่น รูปภาพสี RGB 1 รูป จะเป็น Tensor 3 มิติ (ความกว้าง, ความสูง, และช่องสีแดง-เขียว-น้ำเงิน) นี่จึงเป็นที่มาของชื่อไลบรารีระดับโลกอย่าง TensorFlow นั่นเองครับ!
  • 3. Weights (ค่าน้ำหนัก) & Biases (ค่าความเอนเอียง): นี่คือ “เส้นประสาท” ในสมองของ AI ครับ
    • Weights (W): เปรียบเสมือน “ความสำคัญ” หรือความชัน (Slope) ที่ AI ให้ความสนใจกับพิกเซลนั้นๆ
    • Biases (b): เปรียบเสมือน “จุดตัด (Intercept)” หรือความเอนเอียงพื้นฐาน ในตอนเริ่มต้น ค่าเหล่านี้จะถูกสุ่มขึ้นมามั่วๆ (Randomly initialized) แต่เมื่อ AI เริ่มเรียนรู้ผ่านอัลกอริทึม Optimization (เช่น Gradient Descent) ค่า Weights และ Biases จะถูกปรับแก้ไปเรื่อยๆ เพื่อให้ผลทายแม่นยำที่สุด
  • 4. Epoch (เอป็อค / รอบการฝึกฝน): คำนี้เจอบ่อยมากเวลาเขียนโค้ด! Epoch หมายถึงการที่ AI “อ่านหนังสือจบครบทุกหน้าใน Dataset ไปแล้ว 1 รอบ” (The full cycle over all the training data) ถ้าน้องตั้งค่า Epoch=50 แปลว่าน้องสั่งให้ AI อ่านหนังสือทบทวนซ้ำๆ 50 รอบนั่นเองครับ
  • 5. Batch Size (ขนาดมินิแบตช์): การให้ AI อ่านรูปภาพ 1 ล้านรูปพร้อมกันในรวดเดียว คอมพิวเตอร์จะแรมเต็มและระเบิด (Out of Memory) แน่นอนครับ! เราจึงต้องแบ่งรูปภาพออกเป็น “กลุ่มย่อยๆ” (Mini-batch) เช่น กลุ่มละ 32 รูป หรือ 64 รูป เพื่อป้อนให้การ์ดจอ (GPU) คำนวณทีละนิด
รูปประกอบ การไหลของ Tensors เข้าสู่ชั้น Neural Network พร้อมการปรับ Weights และ Biases ตลอดหลาย Epochs

4. 💻 ร่ายมนต์โค้ด (Show me the Code)

เพื่อไม่ให้เป็นทฤษฎีจนเกินไป พี่จะพามาดูว่าคำศัพท์พวกนี้ เวลาไปอยู่ในโค้ด Python (ใช้ TensorFlow/Keras) หน้าตามันจะเป็นอย่างไรครับ:

import tensorflow as tf
from tensorflow.keras import layers, models

# 1. Dataset: โหลดชุดข้อมูล (เปรียบเหมือนการซื้อหนังสือเรียนมาเตรียมไว้)
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()

# 2. Tensor: แปลงรูปภาพให้เป็น Tensor และปรับสเกลตัวเลข
# รูปภาพ 28x28 จะถูกมองเป็นตารางตัวเลข
X_train = X_train / 255.0

# สร้างโมเดล Neural Network โครงสร้างสมองกล
model = models.Sequential([
    layers.Flatten(input_shape=(28, 28)),
    # 3. Weights & Biases: แอบซ่อนอยู่ในชั้น Dense 
    # Keras จะสุ่มค่า W และ b ให้เราอัตโนมัติในตอนแรก
    layers.Dense(128, activation='relu'), 
    layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# 4. Epoch & Batch Size: เริ่มร่ายมนต์สั่งสอน AI!
# สั่งให้ AI อ่านข้อมูลทีละ 32 รูป (batch_size)
# และให้อ่านทบทวนจนจบเล่มซ้ำๆ จำนวน 10 รอบ (epochs)
model.fit(X_train, y_train, batch_size=32, epochs=10)

คอมเมนต์อธิบายสไตล์คุยกัน: เห็นบรรทัด model.fit ไหมครับ? นั่นแหละคือจุดที่เวทมนตร์เกิดขึ้น AI จะดึง Tensor ทีละ 32 ภาพ (Batch) เข้าไปคำนวณ หาข้อผิดพลาด แล้วย้อนกลับมาปรับ Weights และ Biases ทำแบบนี้วนไปเรื่อยๆ จนกว่าจะครบ 10 Epochs ครับ!

5. 🛡️ เคล็ดลับจากคัมภีร์ลับ (Under the Hood / Pro-Tips)

ในฐานะคนทำ AI ลงหน้างานจริง พี่มีจุดดักควาย (Pitfalls) ที่มือใหม่มักจะพลาดมาเตือนครับ:

  • อย่าสับสนระหว่าง Epoch กับ Batch: จำไว้เสมอว่า Epoch คือการประมวลผลข้อมูล “ทั้งหมด” 1 รอบ ส่วน Batch คือข้อมูล “กลุ่มย่อย” ใน 1 Epoch สมมติมีรูป 1,000 รูป ตั้ง Batch=100 หมายความว่าใน 1 Epoch AI จะต้องเดินหอบหนังสือไปปรับ Weights ทั้งหมด 10 รอบ (1,000/100) ครับ
  • ระวังอาการ “เด็กเรียนท่องจำ” (Overfitting): หลายคนคิดว่ายิ่งตั้ง Epoch เยอะๆ (เช่น 1,000 รอบ) AI จะยิ่งเก่ง… ผิดครับ! การให้ AI ทบทวนข้อสอบชุดเดิมซ้ำมากเกินไป มันจะเกิดอาการท่องจำ (Overfitting) คือจำคำตอบใน Training Set ได้แม่นเป๊ะ แต่พอไปเจอภาพหน้างานจริง (Test Set) กลับทายผิดหมดเลย! เราต้องใช้เทคนิคอย่าง “Early Stopping” มาหยุดการเทรนเมื่อมันเริ่มจะท่องจำครับ
  • Weights สำคัญกว่าที่คุณคิด: เวลาเราทำระบบ Machine Vision เรามักจะขี้เกียจเทรน Weights ใหม่ตั้งแต่ศูนย์ เราเลยใช้เทคนิค Transfer Learning คือการไปโหลด Weights ของโมเดลระดับโลกที่ฉลาดอยู่แล้วมาใช้ต่อได้เลย ประหยัดเวลาไปได้มหาศาลครับ!

6. 🏁 บทสรุป (To be continued…)

สรุปสั้นๆ ให้ขึ้นใจเลยนะครับ: เราใช้ Dataset แปลงเป็น Tensor เพื่อป้อนให้สมองกล ปรับปรุง Weights และ Biases ทีละ Batch จนครบจำนวน Epoch ที่เรากำหนด!

เมื่อน้องๆ เข้าใจคำศัพท์ Cheat Sheet ชุดนี้แล้ว ต่อไปนี้เวลาเราไปอ่านโค้ดของสถาปัตยกรรมลึกๆ เราจะไม่หลงทางอีกต่อไปครับ ในตอนต่อไป พี่จะพาน้องๆ เริ่มลงมือฝึกฝนโมเดลให้รู้จักการแยกแยะรูปภาพ (Image Classification) แบบฉบับจับมือทำ เตรียมเปิด Jupyter Notebook รอไว้ได้เลยครับ สนุกแน่นอน!


ต้องการที่ปรึกษาด้านการพัฒนาระบบ AI Camera หรือ Machine Vision ให้กับโรงงานของคุณ? ทีมงาน WP Solution พร้อมให้บริการออกแบบและติดตั้งระบบแบบครบวงจร ดูรายละเอียดบริการของเราได้ที่: www.wpsolution2017.com หรือพูดคุยปรึกษาเบื้องต้นได้ที่ Line: wisit.p