Lesson 07 · คาบบ่าย 28 ต.ค. (วิดีโอ 0:25–0:58) · ~25 นาที

ตระกูล DL และงานภาพ: classify, detect, segment

โยงกับสไลด์ DL 68–73, 77–103

เป้าหมายบทนี้: จับคู่ข้อมูลกับตระกูล DL (CNN / RNN / Transformer) และจับคู่งานภาพกับโมเดล (ResNet·EfficientNet·MobileNet / YOLO·DETR / U-Net)

1ตระกูลของ Deep Learning

สไลด์ DL 68: Deep Learning application: Speech, Vision, NLP → CNN, RNN (LSTM)
สไลด์ 68ดูว่าแต่ละงานมีตระกูลของตัวเอง

convolution ถูกออกแบบมาสำหรับข้อมูลแบบไหน? ภาพ ส่วนข้อมูลแบบอื่นจึงมีตระกูล DL อื่น แต่ ทุกตระกูลผลลัพธ์สำคัญคือ embedding vector

ตระกูลเหมาะกับหมายเหตุ
CNNภาพconv + pooling (บท 5)
RNN / LSTMข้อมูลเรียงลำดับ: time series (10, 20, 30 → ?), เสียง, NLP รุ่นก่อนไม่ลงรายละเอียด ไม่มี conv
Transformer (2017)ทุกงาน (แปลภาษา, text, ภาพ, ...)โครงสร้างหลักของ LLM

Transformer เกิดปี 2017 ทำให้ RNN โดนตบคว่ำ มันมี attention (เข้าใจความสัมพันธ์ของข้อมูลทั้งชุด) และออกแบบมาให้ทำได้ทุกงาน

Transformer: Encoder และ Decoder

สไลด์ DL 72: Transformer: encoder (N=6) และ decoder
สไลด์ 72ดูว่ามีสองฝั่ง

Transformer ออกแบบมาแปลภาษา: ฝั่ง Encoder แปลงข้อความต้นทางเป็นเวกเตอร์ (embedding) ฝั่ง Decoder เอาเวกเตอร์ไป decode/generate เป็นคำตอบ (เช่น คำแปล)

Full transformer ใหญ่จัด จึงแตกเป็นสองสาย: Google หยิบเฉพาะ Encoder ทำ BERT (2018) ส่วน OpenAI หยิบฝั่ง Decoder (generator) ทำ GPT

สไลด์ DL 73: GPT เป็น decoder-based, BERT เป็น encoder-based
สไลด์ 73ดูป้ายใต้สองโมเดล

Transformer ใหญ่กว่า CNN มาก (0:36:14) ถ้าโจทย์เรียบง่ายอย่าเลือก Transformer เพียงเพราะมันทันสมัย

2งานภาพ 3 ประเภท

งานภาพมี 3 ประเภท: (1) Classify บอกว่าทั้งภาพคือภาพอะไร (2) Object detection ตีกรอบ (3) Semantic segmentation ไฮไลต์เป็นพื้นที่

ภาพเดียวกัน สามงานให้ output ต่างกัน สลับดูได้

1) Image classification

สไลด์ DL 77: Common Image Classification Models: ResNet 2015, MobileNet 2017, EfficientNet 2019, ViT 2020, Swin 2021, ConvNeXt 2022
สไลด์ 77ดูปีและบริษัท

อาจารย์เทียบตระกูล CNN 3 ตัว: EfficientNet เก่งสุดแต่ใหญ่กว่า (เหมือน random forest) ResNet ง่าย/เล็กกว่า (เหมือน decision tree) MobileNet เบามาก ติดตั้งบนมือถือได้

2) Object detection

สไลด์ DL 83: Object detection: bounding box (x, y, w, h) และ class
สไลด์ 83ดูรูปแบบของกรอบ

output (label) คือ x, y, w, h ของกรอบ พร้อมบอกว่า คลาส ของกรอบ ต้องสอนด้วยข้อมูลที่มีกรอบและคลาส

YOLO pretrain ด้วย COCO ถ้าโจทย์ไม่ต่างมาก (คนข้ามถนน ฯลฯ) ไม่ต้อง fine-tune backbone แค่เทรนหัว แต่ถ้าเป็นวัตถุที่ COCO ไม่มี ต้อง fine-tune ลึกถึง backbone

3) Semantic segmentation

สไลด์ DL 94: Semantic segmentation = pixel-wise classification
สไลด์ 94ดูว่าแต่ละพิกเซลได้ label
สไลด์ DL 95: U-Net: encoder, decoder, skip connections
สไลด์ 95ดูรูปตัว U

ถ้าไม่อยากใช้ U-Net ก็ใช้ YOLO รุ่น segmentation (modify หัวนิดหน่อยให้เหมาะกับ segmentation) ก็ได้

อาจารย์ย้ำเรื่องโปรเจกต์: จะ ประกาศวันอังคารหลังสอบ เกี่ยวข้องกับ object detection ที่เหลือเป็นความคิดสร้างสรรค์ ไม่ได้จำกัดว่าต้องใช้โมเดลไหน

3ลองทำ

อ่านเพิ่ม / ที่มา

ติดตรงไหน ถาม Claude ได้เลย บอกเลขบทกับเลขข้อมาด้วย