GAN ทำงานอย่างไร [2]

เรียบเรียงโดย นพพณ เลิศชูวงศา

รูปที่ 1 กระบวนการฝึกอบรม GAN

GANs ทำงานผ่านความสมดุลที่ละเอียดอ่อนระหว่างเครือข่ายการสร้าง generator และเครือข่ายการแยกแยะ discriminator   กระบวนการฝึกอบรมสามารถสรุปได้ดังขั้นตอนต่อไปนี้:

  1. การเริ่มต้น (Initialization): เครือข่าย generatorและเครือข่าย discriminatorเริ่มต้นด้วยค่าน้ำหนักแบบสุ่ม เครือข่าย generatorได้รับสัญญาณรบกวนแบบสุ่มเป็นอินพุตและเริ่มสร้างตัวอย่างเริ่มต้น
  2. การสร้างข้อมูล (Data Generation): เครือข่าย generatorแปลงสัญญาณรบกวนเป็นตัวอย่างข้อมูล เช่น รูปภาพ ตัวอย่างเหล่านี้จะถูกป้อนเข้าสู่เครือข่าย discriminator ซึ่งจะประเมินความถูกต้อง
  3. การฝึกอบรมเครือข่าย discriminator (Discriminator Training): เครือข่าย discriminatorได้รับการฝึกฝนเกี่ยวกับทั้งข้อมูลจริง (จากชุดข้อมูล) และข้อมูลปลอม (จากเครือข่าย generator) จะคำนวณความน่าจะเป็นที่อินพุตที่กำหนดเป็นจริงหรือปลอม และปรับค่าน้ำหนักตามนั้นเพื่อปรับปรุงความแม่นยำในการจำแนกประเภท
  4. การฝึกอบรมเครือข่าย generator (Generator Training): ด้วยการใช้ผลป้อนกลับของเครือข่าย discriminator  เครือข่าย generatorจะอัปเดตค่าน้ำหนักเพื่อสร้างข้อมูลที่สมจริงยิ่งขึ้น โดยมีเป้าหมายเพื่อเพิ่มความน่าจะเป็นของเครือข่าย discriminatorในการจำแนกผลลัพธ์เป็นจริง
  5. การคำนวณการสูญเสีย (Loss Calculation): มีการใช้ฟังก์ชันการสูญเสียสองฟังก์ชัน: หนึ่งสำหรับเครือข่าย generator (ทำได้ดีเพียงใดในการหลอกเครือข่าย discriminator) และอีกหนึ่งสำหรับเครือข่าย discriminator (จำแนกข้อมูลจริงจากข้อมูลปลอมได้อย่างแม่นยำเพียงใด) ค่าการสูญเสียเหล่านี้เป็นแนวทางในการเพิ่มประสิทธิภาพของทั้งสองเครือข่าย
  6. การฝึกอบรมแบบวนซ้ำ (Iterative Training): กระบวนการปฏิปักษ์นี้จะทำซ้ำ โดยเครือข่าย generatorและเครือข่าย discriminatorจะพัฒนาขึ้นอย่างต่อเนื่องในงานของตน การฝึกอบรมจะสิ้นสุดลงเมื่อเครือข่าย generatorสร้างผลลัพธ์ที่ไม่สามารถแยกแยะได้จากข้อมูลจริง ตามที่เครือข่าย discriminatorตัดสิน

กระบวนการนี้สามารถมองเห็นได้ว่าเป็นการแข่งขันระหว่าง 2 เครือข่าย   โดยนักปลอมแปลง (เครือข่าย generator) และตำรวจ (เครือข่าย discriminator) นักปลอมแปลงพัฒนาทักษะเพื่อผลิตเงินปลอมที่ไม่สามารถแยกแยะได้ ในขณะที่ตำรวจปรับปรุงวิธีการตรวจจับ  ในรูปที่ 1การแข่งขันแบบปฏิปักษ์นี้ส่งเสริมการปรับปรุงร่วมกัน นำไปสู่ผลลัพธ์ที่สมจริงจากพารามิเตอร์ในเครือข่าย generator(สีม่วง) และการตรวจสอบที่แม่นยำจากเครือข่าย discriminator (สีส้ม)

GAN Architectures (สถาปัตยกรรมของ GANs)

  1. Fully Connected GANs (GANs แบบเชื่อมต่อเต็ม):
    1. Description (คำอธิบาย): สถาปัตยกรรม GAN ยุคแรกใช้เครือข่ายประสาทเทียมแบบเชื่อมต่อเต็มสำหรับตัวสร้างและตัวแยกแยะ พวกเขาเหมาะสมที่สุดสำหรับชุดข้อมูลอย่างง่าย
    1. Applications (การใช้งาน): MNIST handwritten digits – ตัวเลขเขียนด้วยมือ  CIFAR-10 natural images – ภาพธรรมชาติ.
  2. Convolutional GANs (CGANs) (GANs แบบคอนโวลูชัน):
    1. Description (คำอธิบาย): คอนโวลูชันเลเยอร์เพื่อเพิ่มขีดความสามารถในการสร้างลักษณะเด่นของภาพ  เก็บข้อมูลคุณลักษณะเฉพาะของภาพ
    1. Key Features (คุณสมบัติหลัก): (DCGANs) ใช้คอนโวลูชันแบบก้าวข้ามรวม (stride) ไปถึงการก้าวข้ามแบบเศษส่วนสำหรับการเพิ่มขนาดและลดขนาดภาพ)
  3. Laplacian Pyramid GANs (LAPGANs) (GANs แบบพีระมิดลาปลาเซียน):
    1. Description (คำอธิบาย):  ใช้การสร้างภาพ (generation) แบบลำดับชั้น โดยปรับปรุงภาพในหลายระดับด้วยการใช้พีระมิดลาปลาเซียน
  4. Conditional GANs (cGANs) (GANs แบบมีเงื่อนไข):
    1. Description (คำอธิบาย): กำหนดเงื่อนไขทั้งตัวสร้าง (Generator)และตัวแยกแยะ (discriminator) จากข้อมูลเสริม เช่น ป้ายกำกับคลาส)
  5. CycleGANs (CycleGANs):
    1. Description (คำอธิบาย): ออกแบบมาสำหรับงานการแปลงภาพต่อภาพที่ไม่เป็นคู่โดยบังคับใช้ความสอดคล้องของวงจร (enforcing cycle consistency)
  6. Adversarially Learned Inference GANs (ALI) and BiGANs (ALI และ BiGANs):
    1. Description (คำอธิบาย): แนะนำแบบจำลองการอนุมาน (inference model) เพื่อแปลงการสังเกต(observations) กลับไปยังช่องว่างแฝง(latent space)
  7. Adversarial Autoencoders (AAEs) (Adversarial Autoencoders):
    1. Description (คำอธิบาย): รวมการฝึกอบรมแบบปฏิปักษ์ (adversarial training) กับ Autoencoders เพื่อควบคุมช่องว่างแฝง (latent space)
This entry was posted in Blog 101. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *