"AI ไม่ชอบคน!!!" งานที่น่าสนใจจาก ICCV 2019 แบบย่อตอนที่ 4.
สวัสดีครับเพื่อนๆ วันนี้ขอเล่าอีกงานที่เรียกเสียงฮือฮาในงานประชุมวิชาการ Computer Vision ที่ใหญ่ที่สุดในโลก ICCV 2019 อีกครั้งนะครับ งานนี้เป็นงานจากแล็บของ MIT ร่วมกับมหาวิทยาลัยฮ่องกงที่นำเสนอมุมมองที่น่าสนใจมากๆ ว่า "AI ไม่ชอบคน" ครับ
โมเดล AI ที่กล่าวถึงนี้จริงๆ แล้วจำเพาะเจาะจงถึงโมเดล "GANs" (Generative Adversarial Networks) ที่สามารถสร้างรูปเสมือนจริง รวมทั้งรูปภาพปลอมต่างๆ ที่ปรากฏตามข่าวต่างๆ อย่างแพร่หลาย จากพลังของ GANs ที่ปรากฏตามข่าวต่างๆ (ดูรูปแนบแสดงภาพที่สร้างโดย BigGAN ซึ่งเป็นภาพที่ไม่มีอยู่จริง)
อย่างไรก็ตามนักวิจัยจาก MIT ในงานนี้ตั้งคำถามที่แตกต่างไปจากงานก่อนหน้าที่พยายามทำความเข้าใจ "ภาพที่ GANs สามารถสร้างได้" มาเป็น "วัตถุอะไรที่ GANs ไม่ชอบวาด" แทน
อะไรคือความหมายของ "วัตถุที่ GANs ไม่ชอบวาด"
นักวิจัยทีมนี้มีกระบวนการในการวิเคราะห์สิ่งที่ GANs ไม่ชอบวาดดังนี้ครับ
- นำ Datasets ชุดที่มี Objects หลากหลายชนิดมาสอน GANs จนเก่ง (โดย Dataset ที่เลือกมาคือ LSUN และโมเดล GANs ที่เลือกล้วนเป็นโมเดลชั้นนำเช่น ProgressiveGANs หรือ StyleGANs เป็นต้น)
- ให้ GANs ที่ฝึกสอนจนเก่งเหล่านี้มา Generate รูปภาพจำนวนมาก (ดังเช่นรูปแนบรูปแรก)
- นำ Segmentation models มา Detect Objects ที่ปรากฏใน Datasets ต้นฉบับและ Detect Objects ที่ปรากฏในภาพปลอมที่ GANs สร้างขึ้นมา และเก็บสถิติ Object Distribution ของทั้งสองเซ็ต
- เปรียบเทียบ Object Distributions ของ Dataset จริงและ Object Distribution ของภาพทั้งหลาย ซึ่งได้ผลตามรูปแนบที่สองครับ
ซึ่งจากรูปจะเห็นว่า GANs นั้นมีพฤติกรรมที่จะวาดรูป ตึกและอาคาร (Building) มากผิดปกติ และมีแนวโน้มที่จะวาดรูปของ "คน" (และวัตถุเช่นรถยนต์) “น้อย” ผิดปกติ ซึ่งทางทีมวิจัยยังไม่หยุดแค่นี้ ในขั้นตอนไปทีมวิจัยอยากจะเห็นชัดๆ ว่า "ภาพวาดที่ควรมี Object เช่น คน แต่ GANs ไม่ยอมวาด" เป็นภาพวาดอย่างไรกันแน่
และนีเป็นที่มาของสไลด์ทีเรียกเสียงฮือฮา "GANs ไม่ชอบคน" ครับ ? ดูรูปแนบที่่ 3
สิ่งที่ทีมวิจัยทำคือสร้างกระบวนการ “Reverse Drawing” (รูปแบบที่ 4) โดยการเข้าใจกระบวนการนี้ต้องขอทวนพื้นฐานของ GANs ก่อนว่า โดยปกติ GANs จะรับ input เป็น (random) vector z แล้ววาดภาพ (ปลอม) ขึ้นมา ดั่งที่แสดงในครึ่งซ้ายของ Step 1, รูปภาพที่ 4.
จากนั้นทีมวิจัยสร้างกระบวนการ “Reverse Drawing” (รูปที่ 4) ดังนี้
- สร้าง Auto Encoder จาก GANs (Step1 ฝั่งขวาในรูปที่ 4) นั่นคือสร้าง Networks ที่เปลี่ยนภาพปลอมกับไปเป็น Vector z’ (ที่พยายามให้คล้าย input vector z มากที่สุด)
- เลือกภาพจริงใน Dataset LSUN (ต้นฉบับ) ที่มี "คน" อยู่ด้วยและเข้า Auto Encoder ใน step 1 เพื่อให้ได้ vector z’ และนำ vector z’ ไปเข้า GANs เพื่อให้พยายามวาดเลียนแบบภาพจริง (step 2 ในภาพที่ 4)
- Optimize GANs ให้พยายามวาดให้เหมือนภาพต้นฉบับมากที่สุด (step 3 ในภาพที่ 4)
เมื่อผ่านกระบวนการทั้ง 3 steps แล้วเราก็จะสามารถสั่งให้ "Reverse Drawing" GANs พยายามวาดภาพเลียนแบบภาพต้นฉบับให้ได้มากที่สุดนั่นเอง (ไดอะแกรมเดียวกันกับ Step 2 ในภาพที่ 4)
สั่งให้ GANs วาดภาพที่ ‘’ต้องมีคน” แต่ ”GANs ไม่ยอมวาดคน”
และเมื่อเราสั่งให้ Reverse Drawing GANs วาดภาพเลียนแบบต้นฉบับที่มีคนหลายๆ ภาพ ผลปรากฏที่ได้ก็เป็นดั่งเช่นในรูปที่ 3 ครับ นั่นคือ คนหายไปจากภาพ!!!! นั่นคือ GANs ไม่ยอมวาดรูป "คน"
ในความจริงแล้ว Dataset LSUN ที่ใช้ฝึกสอนในงานวิจัยนี้เน้นอาคารก่อสร้าง หรือห้องต่างๆ เป็นหลัก และวัตถุอื่นๆ เป็นเพียงองค์ประกอบ ซึ่งสมมติฐานของทีมวิจัยคือ GANs อาจจะเรียนรู้ได้ด้วยตัวเองว่าต้องเน้นวาดรูปอาคารก่อสร้าง (ดั่งแสดงในรูปที่ 2 ว่ามีอาคารก่อสร้างมากกว่าที่ควรจะเป็น) และนอกจาก "คน" แล้ว วัตถุอื่นๆ เช่น รถยนต์ หรือพวกป้ายต่างๆ ก็หายไปด้วยครับ เพื่อนๆ สามารถเข้าไปดูรายละเอียดเพิ่มเติมรวมทั้งลองอัพโหลดรูปของตัวเองให้ GANs วาดใหม่ได้ใน Blog ของทีมวิจัยตามลิงก์อ้างอิงด้านล่างเลยครับผม 😀
อ้างอิง
- Blog ของเปเปอร์นี้ : http://ganseeing.csail.mit.edu/
- LSUN dataset : https://www.yf.io/p/lsun
- ดูสรุปย่อ ICCV 2019 papersอื่นๆ ที่นี่ครับ : https://thaikeras.com/community/main-forum/%e0%b8%a3%e0%b8%a7%e0%b8%a1%e0%b8%87%e0%b8%b2%e0%b8%99-ai-%e0%b8%a3%e0%b8%b0%e0%b8%94%e0%b8%b1%e0%b8%9a-%e0%b8%a1%e0%b8%ab%e0%b8%b1%e0%b8%a8%e0%b8%88%e0%b8%a3%e0%b8%a3%e0%b8%a2%e0%b9%8c/#post-225
AutoEncoder with Highest GAN Quality https://github.com/podgorskiy/ALAE
GFPGAN aims at developing Practical Algorithm for Real-world Face Restoration. It leverages rich and diverse priors encapsulated in a pretrained face GAN (e.g., StyleGAN2) for blind face restoration.
https://github.com/TencentARC/GFPGAN
(CVPR 2021)
Example
Thitirat the Sensei : ได้สรุปหลากหลาย Image Generative Models สามารถอ่านได้ที่นี่ครับ
https://lexica.art/ แหล่งรวมภาพที่สร้างจาก stable diffusion มากกว่า 5 ล้านรูป ให้เราเลือกหารูปตาม keywords ไม่ต้องเสียเวลา generate เอง และสามารถเรียนรู้ prompt ที่ใช้สร้างรูปเจ๋งๆ เหล่านี้ได้ด้วย ว่าเค้าต้องเขียนกันอย่างไร
--- ChatGPT for StableDiffusion prompt https://web.facebook.com/thaikeras/posts/pfbid0M1zkkM1mvVX21FBHqQZ5ZycsDiWoyh6YNLwghfkGTVYGcuhnUTDmx9DRfiTLUw22l
---
รวมทุกลิงก์สำหรับ stabble diffusion ขอบคุณผู้รวบรวมครับ