Generative vs Discriminative Models: เมื่อ AI ต้องสร้าง กับ ต้องตัดสิน

Generative vs Discriminative Models: เมื่อ AI ต้องสร้าง กับ ต้องตัดสิน

เปรียบเทียบระหว่าง Generative Models และ Discriminative Models

1. แนวคิด

Generative Models

  • เรียนรู้ distribution joint ของข้อมูล P(x, y) = P(x|y)P(y)
  • พยายามเข้าใจว่า “ข้อมูลถูกสร้างขึ้นอย่างไร”
  • สามารถ generate ตัวอย่างใหม่ได้ เช่น ภาพ, ข้อความ, เสียง

ตัวอย่างโมเดล

  • Naive Bayes
  • Gaussian Mixture Models (GMM)
  • Hidden Markov Models (HMM)
  • Variational Autoencoder (VAE)
  • GANs
  • Diffusion Models (Stable Diffusion, DALL·E)

Discriminative Models

  • เรียนรู้ boundary หรือความสัมพันธ์เชิงเงื่อนไข P(y|x)
  • สนใจเฉพาะ “ให้ข้อมูลนี้ ควร classify เป็นอะไร?”
  • มักให้ accuracy สูงกว่า generative สำหรับ classification

ตัวอย่างโมเดล

  • Logistic Regression
  • Support Vector Machines (SVM)
  • Random Forest / XGBoost
  • Neural Networks / Transformers สำหรับ classification

2. ความสามารถหลัก

เรื่อง

Generative

Discriminative

สร้างข้อมูลใหม่ได้

ใช้กับ semi-supervised learningได้ดี

ปานกลาง

Classification accuracy สูงในงานทั่วไป

ปานกลาง

ต้องการข้อมูลเยอะหรือไม่

มักต้องการเยอะกว่า

น้อยกว่า

Complexity

สูง

ต่ำกว่า generative

3. ตัวอย่างความแตกต่าง (โดยสัญชาตญาณ)

ถ้ามีรูปหมา/แมว

  • Generative จะเรียนรู้ “หน้าตาของหมาเป็นอย่างไร? แมวเป็นอย่างไร?”แล้วค่อยตัดสินว่าอันนี้น่าจะเป็นหมาหรือแมว
  • Discriminative จะเรียนรู้ “ขอบเขตระหว่างหมา/แมว”โดยไม่สนใจว่าแมวมีลักษณะทั้งหมดอะไรบ้าง

4. ข้อดี–ข้อเสีย

Generative Model

ข้อดี

  • ใช้ทำ data augmentation
  • ใช้ inpainting, denoising, anomaly detection
  • ใช้ทำ recommendation (เช่น generative ranking model)

ข้อเสีย

  • Training ยากกว่า (เช่น GAN/Diffusion)
  • มักต้องการ data จำนวนมาก
  • สำหรับ classification ประสิทธิภาพจะน้อยกว่า discriminative

Discriminative Model

ข้อดี

  • Training เร็วกว่า
  • Performance ดีในงาน supervised
  • ใช้กับ tabular data ได้ดี (Tree-based models)

ข้อเสีย

  • ทำ generative tasks ไม่ได้
  • ไม่สามารถ modeling ข้อมูล x โดยตรง 

5. ใช้เมื่อไหร่ดีกว่าอะไร?

สถานการณ์

ควรใช้

งาน classification ทั่วไป

Discriminative

ต้อง generate content (ภาพ/ข้อความ)

Generative

ข้อมูล labeled น้อย (semi-supervised)

Generative

anomaly detection

Generative

ต้องการ boundary ที่แยกระหว่าง class

Discriminative

6. สรุป

  • Generative = เข้าใจรูปแบบการสร้างข้อมูล + สร้างข้อมูลใหม่ได้
  • Discriminative = สนใจแค่ตัดสินใจว่า input → class อะไร