เรียบเรียงโดย นพพณ เลิศชูวงศา
รูปที่ 1 กระบวนการฝึกอบรม GAN
GANs ทำงานผ่านความสมดุลที่ละเอียดอ่อนระหว่างเครือข่ายการสร้าง generator และเครือข่ายการแยกแยะ discriminator กระบวนการฝึกอบรมสามารถสรุปได้ดังขั้นตอนต่อไปนี้:
- การเริ่มต้น (Initialization): เครือข่าย generatorและเครือข่าย discriminatorเริ่มต้นด้วยค่าน้ำหนักแบบสุ่ม เครือข่าย generatorได้รับสัญญาณรบกวนแบบสุ่มเป็นอินพุตและเริ่มสร้างตัวอย่างเริ่มต้น
- การสร้างข้อมูล (Data Generation): เครือข่าย generatorแปลงสัญญาณรบกวนเป็นตัวอย่างข้อมูล เช่น รูปภาพ ตัวอย่างเหล่านี้จะถูกป้อนเข้าสู่เครือข่าย discriminator ซึ่งจะประเมินความถูกต้อง
- การฝึกอบรมเครือข่าย discriminator (Discriminator Training): เครือข่าย discriminatorได้รับการฝึกฝนเกี่ยวกับทั้งข้อมูลจริง (จากชุดข้อมูล) และข้อมูลปลอม (จากเครือข่าย generator) จะคำนวณความน่าจะเป็นที่อินพุตที่กำหนดเป็นจริงหรือปลอม และปรับค่าน้ำหนักตามนั้นเพื่อปรับปรุงความแม่นยำในการจำแนกประเภท
- การฝึกอบรมเครือข่าย generator (Generator Training): ด้วยการใช้ผลป้อนกลับของเครือข่าย discriminator เครือข่าย generatorจะอัปเดตค่าน้ำหนักเพื่อสร้างข้อมูลที่สมจริงยิ่งขึ้น โดยมีเป้าหมายเพื่อเพิ่มความน่าจะเป็นของเครือข่าย discriminatorในการจำแนกผลลัพธ์เป็นจริง
- การคำนวณการสูญเสีย (Loss Calculation): มีการใช้ฟังก์ชันการสูญเสียสองฟังก์ชัน: หนึ่งสำหรับเครือข่าย generator (ทำได้ดีเพียงใดในการหลอกเครือข่าย discriminator) และอีกหนึ่งสำหรับเครือข่าย discriminator (จำแนกข้อมูลจริงจากข้อมูลปลอมได้อย่างแม่นยำเพียงใด) ค่าการสูญเสียเหล่านี้เป็นแนวทางในการเพิ่มประสิทธิภาพของทั้งสองเครือข่าย
- การฝึกอบรมแบบวนซ้ำ (Iterative Training): กระบวนการปฏิปักษ์นี้จะทำซ้ำ โดยเครือข่าย generatorและเครือข่าย discriminatorจะพัฒนาขึ้นอย่างต่อเนื่องในงานของตน การฝึกอบรมจะสิ้นสุดลงเมื่อเครือข่าย generatorสร้างผลลัพธ์ที่ไม่สามารถแยกแยะได้จากข้อมูลจริง ตามที่เครือข่าย discriminatorตัดสิน
กระบวนการนี้สามารถมองเห็นได้ว่าเป็นการแข่งขันระหว่าง 2 เครือข่าย โดยนักปลอมแปลง (เครือข่าย generator) และตำรวจ (เครือข่าย discriminator) นักปลอมแปลงพัฒนาทักษะเพื่อผลิตเงินปลอมที่ไม่สามารถแยกแยะได้ ในขณะที่ตำรวจปรับปรุงวิธีการตรวจจับ ในรูปที่ 1การแข่งขันแบบปฏิปักษ์นี้ส่งเสริมการปรับปรุงร่วมกัน นำไปสู่ผลลัพธ์ที่สมจริงจากพารามิเตอร์ในเครือข่าย generator(สีม่วง) และการตรวจสอบที่แม่นยำจากเครือข่าย discriminator (สีส้ม)
GAN Architectures (สถาปัตยกรรมของ GANs)
- Fully Connected GANs (GANs แบบเชื่อมต่อเต็ม):
- Description (คำอธิบาย): สถาปัตยกรรม GAN ยุคแรกใช้เครือข่ายประสาทเทียมแบบเชื่อมต่อเต็มสำหรับตัวสร้างและตัวแยกแยะ พวกเขาเหมาะสมที่สุดสำหรับชุดข้อมูลอย่างง่าย
- Applications (การใช้งาน): MNIST handwritten digits – ตัวเลขเขียนด้วยมือ CIFAR-10 natural images – ภาพธรรมชาติ.
- Convolutional GANs (CGANs) (GANs แบบคอนโวลูชัน):
- Description (คำอธิบาย): คอนโวลูชันเลเยอร์เพื่อเพิ่มขีดความสามารถในการสร้างลักษณะเด่นของภาพ เก็บข้อมูลคุณลักษณะเฉพาะของภาพ
- Key Features (คุณสมบัติหลัก): (DCGANs) ใช้คอนโวลูชันแบบก้าวข้ามรวม (stride) ไปถึงการก้าวข้ามแบบเศษส่วนสำหรับการเพิ่มขนาดและลดขนาดภาพ)
- Laplacian Pyramid GANs (LAPGANs) (GANs แบบพีระมิดลาปลาเซียน):
- Description (คำอธิบาย): ใช้การสร้างภาพ (generation) แบบลำดับชั้น โดยปรับปรุงภาพในหลายระดับด้วยการใช้พีระมิดลาปลาเซียน
- Conditional GANs (cGANs) (GANs แบบมีเงื่อนไข):
- Description (คำอธิบาย): กำหนดเงื่อนไขทั้งตัวสร้าง (Generator)และตัวแยกแยะ (discriminator) จากข้อมูลเสริม เช่น ป้ายกำกับคลาส)
- CycleGANs (CycleGANs):
- Description (คำอธิบาย): ออกแบบมาสำหรับงานการแปลงภาพต่อภาพที่ไม่เป็นคู่โดยบังคับใช้ความสอดคล้องของวงจร (enforcing cycle consistency)
- Adversarially Learned Inference GANs (ALI) and BiGANs (ALI และ BiGANs):
- Description (คำอธิบาย): แนะนำแบบจำลองการอนุมาน (inference model) เพื่อแปลงการสังเกต(observations) กลับไปยังช่องว่างแฝง(latent space)
- Adversarial Autoencoders (AAEs) (Adversarial Autoencoders):
- Description (คำอธิบาย): รวมการฝึกอบรมแบบปฏิปักษ์ (adversarial training) กับ Autoencoders เพื่อควบคุมช่องว่างแฝง (latent space)