CNN: จากพิกเซลสู่ความเข้าใจ

CNN: จากพิกเซลสู่ความเข้าใจ

CNN (Convolutional Neural Network) คือโมเดล Deep Learning ที่ออกแบบมาเพื่อ เข้าใจข้อมูลที่เป็นภาพ (Image) โดยเฉพาะ แต่ปัจจุบันยังนำไปใช้กับเสียง วิดีโอ และข้อมูลเชิงพื้นที่อื่น ๆ ได้ด้วย

“สมองที่ค่อย ๆ มองภาพจากรายละเอียดเล็ก ไป ใหญ่”

  • มองเส้น (edge)
  • มองรูปทรง (shape)
  • มองวัตถุ (object)

แทนที่จะดูภาพทั้งภาพพร้อมกันเหมือนมนุษย์

โครงสร้างของ CNN

1) Convolution Layer (แกนหลักของ CNN)

  • ใช้ Filter / Kernel (เช่น 3×3)
  • เลื่อนสแกนภาพเพื่อจับ pattern
  • ตรวจจับ:
    • เส้น
    • มุม
    • ลวดลาย

ผลลัพธ์เรียกว่า Feature Map

2) Activation Function (เช่น ReLU)

  • เพิ่มความไม่เป็นเชิงเส้น (Non-linearity)
  • ทำให้โมเดลเรียนรู้สิ่งซับซ้อนได้
  • ReLU = ติดลบเป็น 0 ติดบวกผ่าน

3) Pooling Layer

  • ลดขนาดภาพ
  • เก็บข้อมูลสำคัญ
  • ทำให้โมเดลทนต่อการขยับเล็กน้อยของภาพ

ตัวอย่างเช่น การทำ Max Pooling

4) Fully Connected Layer

  • รวม feature ทั้งหมด
  • ใช้ตัดสินใจผลลัพธ์สุดท้ายเช่น “นี่คือแมว หรือ สุนัข”

การทำงาน

ภาพแมว

  • CNN ตรวจจับเส้นขอบ
  • เรียนรู้รูปหน้า หู ตา
  • รวมเป็น “แมว”
CNN ไม่รู้จักคำว่าแมว แต่รู้ว่า pattern แบบนี้ คือ แมว

ทำไม CNN ถึงเก่งเรื่องภาพ

  • ใช้ Parameter น้อยกว่า Neural Network ทั่วไป
  • เรียนรู้โครงสร้างเชิงพื้นที่ (Spatial)
  • ทนต่อ noise และการเปลี่ยนตำแหน่งเล็กน้อย

ตัวอย่างงานที่ใช้ CNN

  • Face Recognition
  • รถยนต์ไร้คนขับ
  • Medical Imaging (X-ray, MRI)
  • OCR อ่านลายมือ
  • ตรวจจับวัตถุ (Object Detection)

ข้อจำกัด

  • ต้องใช้ข้อมูลเยอะ
  • ใช้พลังประมวลผลสูง
  • อธิบายเหตุผลในการตัดสินใจยาก (Black box)

สรุป

CNN คือ โมเดลที่สอนให้คอมพิวเตอร์ “มองภาพเป็น”