การฝึกอบรม GAN

เนื่องจาก GAN มีเครือข่ายที่ผ่านการฝึกแยกกัน 2 เครือข่าย อัลกอริทึมการฝึกจึงต้องจัดการกับความซับซ้อน 2 อย่างต่อไปนี้

  • GAN ต้องจัดการกับการฝึก 2 ประเภทที่แตกต่างกัน (Generator และ Discriminator)
  • การบรรจบของ GAN นั้นระบุได้ยาก

การฝึกแบบสลับ

ตัวแปรสร้างและตัวแยกแยะมีกระบวนการฝึกที่แตกต่างกัน แล้วเราจะฝึก GAN โดยรวมได้อย่างไร

การฝึก GAN จะดำเนินไปแบบสลับกันดังนี้

  1. ดิสคริมิเนเตอร์จะฝึกเป็นเวลาอย่างน้อย 1 ยุค
  2. เครื่องมือสร้างจะฝึกเป็นเวลาอย่างน้อย 1 ยุค
  3. ทำขั้นตอนที่ 1 และ 2 ซ้ำเพื่อฝึกเครือข่าย Generative และ Discriminator ต่อ

เราจะคงตัวสร้างไว้ในช่วงระยะการฝึกตัวแยกแยะ เนื่องจากการฝึกตัวแยกแยะพยายามหาวิธีแยกแยะข้อมูลจริงจากข้อมูลปลอม จึงต้องเรียนรู้วิธีจดจำข้อบกพร่องของเครื่องมือสร้าง ปัญหานี้แตกต่างออกไปสำหรับเครื่องมือสร้างที่ได้รับการฝึกฝนมาอย่างละเอียดกับเครื่องมือสร้างที่ไม่ได้ผ่านการฝึกฝนซึ่งสร้างเอาต์พุตแบบสุ่ม

ในทำนองเดียวกัน เราจะคงตัวแยกแยะไว้ในช่วงระยะการฝึกของตัวแปรสร้าง ไม่เช่นนั้น เครื่องมือสร้างจะพยายามโจมตีเป้าหมายที่เคลื่อนไหวและอาจไม่บรรลุเป้าหมาย

ขั้นตอนนี้ช่วยให้ GAN แก้ปัญหาการสร้างที่แก้ยากได้ เราเริ่มต้นแก้ปัญหาการสร้างที่ยากด้วยปัญหาการจัดประเภทที่ง่ายกว่ามาก ในทางกลับกัน หากไม่สามารถฝึกตัวแยกประเภทให้แยกความแตกต่างระหว่างข้อมูลจริงกับข้อมูลที่สร้างขึ้นได้ แม้แต่สำหรับเอาต์พุตจากเครื่องมือสร้างแบบสุ่มเริ่มต้น คุณก็ไม่สามารถเริ่มการฝึก GAN ได้

การบรรจบ

เมื่อตัวสร้างดีขึ้นด้วยการฝึก ประสิทธิภาพของตัวแยกแยะจะแย่ลงเนื่องจากตัวแยกแยะแยกความแตกต่างระหว่างภาพจริงและภาพปลอมได้ยาก หากเครื่องกำเนิดรหัสทำงานได้อย่างสมบูรณ์ ดิสคริมิเนเตอร์จะมีความแม่นยำ 50% ผลที่ได้คือตัวแบ่งจะโยนหัวก้อยเพื่อคาดคะเน

ความก้าวหน้านี้ก่อให้เกิดปัญหาในการบรรจบของ GAN โดยรวม เนื่องจากความคิดเห็นของตัวแยกแยะจะมีความเกี่ยวข้องน้อยลงเมื่อเวลาผ่านไป หาก GAN ยังคงฝึกต่อไปหลังจากที่ตัวแยกแยะให้ความคิดเห็นแบบสุ่มทั้งหมด ตัวแกนจะเริ่มฝึกกับความคิดเห็นที่ไม่เกี่ยวข้อง และคุณภาพของตัวแกนเองอาจลดลง

สำหรับ GAN การบรรจบมักเป็นสถานะที่เปลี่ยนแปลงไปอย่างรวดเร็ว ไม่ใช่สถานะที่คงที่