XYZNOT

งานวิจัย · arXiv 1406.2661

Generative Adversarial Networks

เผยแพร่ stat.MLcs.LG arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 โมเดล deep generative แบบดั้งเดิมเผชิญปัญหาการคำนวณความน่าจะเป็นที่หาคำตอบโดยตรงไม่ได้ (intractable), ฟังก์ชันพาร์ทิชันที่ไม่ได้ปรับมาตรฐาน, และการพึ่งพา Markov chains
  2. 🔧 กำหนดนิยาม generative modeling ในรูปแบบเกมมินิแมกซ์สองผู้เล่นระหว่างตัวกำเนิด และตัวแยกแยะ ซึ่งฝึกฝนได้ผ่าน backpropagation
  3. 📈 บรรลุจุดเหมาะสมที่สุดระดับสากลที่ และได้ค่า Gaussian Parzen window log-likelihood อยู่ที่ บน MNIST และ บน TFD

บทคัดย่อ

เราขอนำเสนอเฟรมเวิร์กใหม่สำหรับการประมาณ generative models ผ่านกระบวนการแข่งขัน (adversarial process) ซึ่งเราจะฝึกโมเดลสองตัวไปพร้อมกัน ได้แก่ generative model G ที่เรียนรู้การแจกแจงของข้อมูล และ discriminative model D ที่ประมาณความน่าจะเป็นที่ตัวอย่างข้อมูลจะมาจากข้อมูลฝึกอบรมแทนที่จะมาจาก G กระบวนการฝึกสำหรับ G คือการเพิ่มความน่าจะเป็นที่ D จะตัดสินใจผิดพลาดให้มากที่สุด เฟรมเวิร์กนี้สอดคล้องกับเกมมินิแมกซ์แบบผู้เล่นสองคน ในปริภูมิของฟังก์ชัน G และ D ทั่วไป จะมีคำตอบที่เหมาะสมที่สุดเพียงหนึ่งเดียว โดยที่ G สามารถจำลองการแจกแจงของข้อมูลฝึกอบรมได้อย่างสมบูรณ์ และ D มีค่าเท่ากับ 1/2 ในทุกตำแหน่ง ในกรณีที่ G และ D ถูกนิยามด้วย multilayer perceptrons ระบบทั้งหมดจะสามารถฝึกได้ด้วย backpropagation โดยไม่จำเป็นต้องใช้ Markov chains หรือ unrolled approximate inference networks ทั้งในระหว่างการฝึกหรือการสร้างตัวอย่างข้อมูล การทดลองแสดงให้เห็นถึงศักยภาพของเฟรมเวิร์กนี้ผ่านการประเมินเชิงคุณภาพและเชิงปริมาณของตัวอย่างที่สร้างขึ้น

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G that captures the data distribution, and a discriminative model D that estimates the probability that a sample came from the training data rather than G. The training procedure for G is to maximize the probability of D making a mistake. This framework corresponds to a minimax two-player game. In the space of arbitrary functions G and D, a unique solution exists, with G recovering the training data distribution and D equal to 1/2 everywhere. In the case where G and D are defined by multilayer perceptrons, the entire system can be trained with backpropagation. There is no need for any Markov chains or unrolled approximate inference networks during either training or generation of samples. Experiments demonstrate the potential of the framework through qualitative and quantitative evaluation of the generated samples.

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

การเรียนรู้เชิงลึก (Deep learning) ประสบความสำเร็จอย่างโดดเด่นในงานด้านการจำแนกประเภท (discriminative tasks) โดยอาศัยประโยชน์จาก backpropagation, dropout, และ piecewise linear units ในทางกลับกัน โมเดล deep generative กลับมีผลกระทบต่อวงการน้อยกว่ามากเนื่องจากคอขวดด้านการคำนวณที่รุนแรง ไม่ว่าจะเป็นฟังก์ชันพาร์ทิชันที่ไม่สามารถคำนวณได้โดยตรง, การประมาณการอนุมาน (approximate inference) ที่ทำได้ยาก, และความจำเป็นที่ต้องพึ่งพาวิธี Markov Chain Monte Carlo (MCMC) ทั้งในระหว่างการฝึกและการสร้างตัวอย่าง โดยอัลกอริทึม MCMC มักประสบปัญหาการถ่ายโอนระหว่างโหมด (mixing between modes) ที่เชื่องช้า ผู้เขียนจึงมุ่งหวังที่จะออกแบบเฟรมเวิร์กเชิงกำเนิดที่ตัดความจำเป็นในการใช้ Markov chains หรือโครงข่ายประมาณการอนุมานออกไปอย่างสิ้นเชิง ทั้งในการฝึกฝนและการสร้างข้อมูลตัวอย่าง

แนวคิดหลัก

  • Adversarial Framework: วางกรอบ generative modeling ให้เป็นเกมมินิแมกซ์ระหว่าง multilayer perceptrons สองตัว ได้แก่ ตัวกำเนิด (เปรียบเสมือนผู้ปลอมแปลงธนบัตร) และตัวแยกแยะ (เปรียบเสมือนตำรวจ)
  • Sampling via Forward Propagation: ตัวกำเนิด แปลงสัญญาณรบกวนแบบสุ่ม ให้กลายเป็นตัวอย่างข้อมูลสังเคราะห์ได้โดยตรงผ่านการคำนวณแบบ feedforward มาตรฐาน
  • Direct Gradient Flow: ตัวกำเนิดได้รับการอัปเดตผ่านเกรเดียนต์ที่แพร่ย้อนกลับ (backpropagated) ผ่านตัวแยกแยะเท่านั้น แทนที่จะเป็นการปรับให้เข้ากับตัวอย่างข้อมูลฝึกอบรมแต่ละตัวโดยตรง
  • Theoretical Connection to Divergences: ในขอบเขตแบบนอนพารามิเมตริกที่ และ มีความจุฟังก์ชันไม่จำกัด การปรับค่ามินิแมกซ์ให้เหมาะสมที่สุดจะเทียบเท่ากับการลด Jensen–Shannon divergence ระหว่างการแจกแจงของข้อมูลจริง และการแจกแจงของโมเดล

ระเบียบวิธี (พร้อมสมการสำคัญ)

ระบบประกอบด้วยตัวกำเนิด ซึ่งทำหน้าที่แปลง latent prior ไปยังปริภูมิของข้อมูล และตัวแยกแยะ ซึ่งทำนายความน่าจะเป็นที่ จะมาจาก มากกว่ามาจาก

ฟังก์ชันค่ามินิแมกซ์ (minimax value function) คือ:

สำหรับตัวกำเนิด ใดๆ ที่คงที่ ตัวแยกแยะที่เหมาะสมที่สุดสามารถหาได้จากการวิเคราะห์ทางคณิตศาสตร์คือ:

เมื่อแทนค่า กลับลงใน จะได้เกณฑ์การฝึกเสมือน (virtual training criterion) ซึ่งลดทอนลงเหลือ: ค่าต่ำสุดระดับสากลจะเกิดขึ้นเพียงกรณีเดียวเมื่อ ซึ่งจะให้ผลลัพธ์เป็น และทำให้ ในทุกตำแหน่ง

อัลกอริทึมการฝึก (Training Algorithm):

  1. การเพิ่มประสิทธิภาพแบบสลับขั้นตอน: ฝึก เป็นจำนวน สเต็ป (ในการทดลองใช้ ) โดยใช้ gradient ascent บนมินิแบตช์ขนาด :
  2. อัปเดต ด้วย gradient descent หนึ่งสเต็ป เนื่องจากพจน์ อาจเกิดการอิ่มตัว (saturate) ในช่วงแรกของการฝึกเมื่อ สามารถปฏิเสธตัวอย่างคุณภาพต่ำจากตัวกำเนิดได้อย่างง่ายดาย ในทางปฏิบัติจึงอัปเดต โดยการเพิ่มค่า ให้สูงสุดแทน

ผลลัพธ์ (พร้อมตัวเลขที่สำคัญที่สุด)

คณะผู้วิจัยได้ประเมิน adversarial nets บน MNIST, Toronto Face Database (TFD) และ CIFAR-10 เนื่องจาก GANs ไม่มี closed-form likelihood ประสิทธิภาพจึงถูกประเมินเชิงปริมาณโดยการฟิต Gaussian Parzen window เข้ากับตัวอย่างที่สร้างขึ้น แล้วคำนวณค่า log-likelihood บนชุดข้อมูลทดสอบ:

  • MNIST: Adversarial nets ทำค่าเฉลี่ย log-likelihood ได้ที่ ซึ่งเอาชนะ Deep Belief Networks (), Stacked Contractive Autoencoders () และ Deep Generative Stochastic Networks ()
  • TFD: Adversarial nets ทำได้ ซึ่งใกล้เคียงกับ Stacked CAEs () และเหนือกว่า DBNs () รวมทั้ง Deep GSNs ()
  • การสร้างภาพเชิงคุณภาพ: การตรวจสอบตัวอย่างแบบสุ่มด้วยสายตายืนยันถึงคุณภาพที่สูงโดยไม่มีการจดจำข้อมูลเดิม (ตรวจสอบโดยการแสดงตัวอย่างข้อมูลฝึกที่ใกล้เคียงที่สุด) และแสดงให้เห็นถึงการประมาณค่าในช่วง (interpolation) ที่ราบรื่นในปริภูมิแฝง

ข้อจำกัดและประเด็นที่ยังเปิดกว้าง

  • ไม่มีฟังก์ชันความหนาแน่นที่ชัดเจน (No Explicit Density Function): โมเดลสร้างตัวอย่างจาก โดยนัย ทำให้การประเมินความหนาแน่นที่แน่นอนทำไม่ได้โดยตรง และต้องอาศัยการประเมินแบบฮิวริสติก เช่น การประมาณด้วย Parzen window
  • Mode Collapse ("The Helvetica Scenario"): หาก ได้รับการฝึกมากเกินไปโดยไม่มีการอัปเดตตัวแยกแยะอย่างเพียงพอ อาจยุบรวมค่า ที่แตกต่างกันจำนวนมากให้กลายเป็นผลลัพธ์ เดียวกัน ส่งผลให้ล้มเหลวในการจับความหลากหลายทั้งหมดของ
  • ความไม่เสถียรในการฝึก: และ ต้องรักษาสมดุลอย่างระมัดระวังตลอดการฝึก เพื่อป้องกันพฤติกรรมเสื่อมถอย (degenerate dynamics) หรือปัญหาเกรเดียนต์หาย (gradient vanishing)

คำศัพท์สำคัญ

Generative Adversarial Nets
เฟรมเวิร์กสำหรับการฝึกโมเดลเชิงกำเนิด โดยมีโครงข่ายตัวกำเนิดและโครงข่ายตัวแยกแยะแข่งขันกันในเกมมินิแมกซ์แบบผู้เล่นสองคน
Generator ($G$)
โครงข่ายประสาทเทียมที่หาอนุพันธ์ได้ ทำหน้าที่แปลงสัญญาณรบกวนก่อนหน้าในปริภูมิแฝง เข้าสู่ปริภูมิของข้อมูลเพื่อประมาณการแจกแจงของข้อมูลจริง
Discriminator ($D$)
โครงข่ายประสาทเทียมสำหรับการจำแนกประเภท ได้รับการฝึกเพื่อประมาณความน่าจะเป็นที่ตัวอย่างข้อมูลนำเข้าจะมาจากชุดข้อมูลจริงมากกว่ามาจากตัวกำเนิด
Jensen–Shannon Divergence (JSD)
มาตรวัดระยะห่างแบบสมมาตรและมีขอบเขตจำกัดระหว่างการแจกแจงความน่าจะเป็นสองชุด โดยเป้าหมายมินิแมกซ์ของ GAN จะมีค่าต่ำสุดเมื่อ JSD ระหว่าง และ มีค่าเป็นศูนย์
Helvetica Scenario
รูปแบบความล้มเหลว (ปัจจุบันรู้จักกันทั่วไปในชื่อ mode collapse) ที่ตัวกำเนิดแปลงเวกเตอร์สัญญาณรบกวนแฝง ที่แตกต่างกันจำนวนมากไปยังจุดข้อมูล เดียวกันอย่างแม่นยำเนื่องจากขาดความหลากหลาย
Gaussian Parzen Window
วิธีประมาณความหนาแน่นของเคอร์เนลแบบนอนพารามิเมตริก ซึ่งผู้เขียนใช้เพื่อประมาณค่า log-likelihood ของชุดข้อมูลทดสอบจากตัวอย่างที่สร้างโดยตัวกำเนิด
Non-saturating game
ฟังก์ชันเป้าหมายทางเลือกเชิงปฏิบัติของตัวกำเนิดที่เปลี่ยนไปเพิ่มค่า ให้สูงสุด แทนการลดค่า เพื่อป้องกันปัญหาเกรเดียนต์หายในช่วงแรกของการฝึก

คำถามที่พบบ่อย

เหตุใดจึงต้องเปลี่ยนฟังก์ชันการสูญเสียมินิแมกซ์ดั้งเดิม $\log(1 - D(G(\bm{z})))$ ของตัวกำเนิด?

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

ค่าที่เหมาะสมที่สุดในทางทฤษฎีของเกมนี้คือเท่าใด?

เมื่อ บรรลุจุดเหมาะสมที่สุดระดับสากล () ตัวแยกแยะที่เหมาะสมที่สุดจะทำนายค่าเป็น ในทุกตำแหน่ง และฟังก์ชันค่า (value function) จะมีค่าเท่ากับ

เหตุใด GANs จึงได้เปรียบกว่าโมเดลเชิงกำเนิดร่วมสมัยอย่าง RBMs หรือ GSNs?

เนื่องจาก GANs ไม่จำเป็นต้องใช้ Markov chains สำหรับการสุ่มตัวอย่าง ไม่ต้องพึ่งพาการประมาณฟังก์ชันพาร์ทิชันที่คำนวณไม่ได้ เลี่ยงขั้นตอนการอนุมานที่ซับซ้อนในระหว่างการฝึก และสามารถฝึกได้โดยใช้เพียง backpropagation ร่วมกับฟังก์ชันกระตุ้นสมัยใหม่อย่าง ReLUs และ maxout

ไฮเปอร์พารามิเตอร์ของจำนวนสเต็ปตัวแยกแยะ $k$ ในบทความถูกตั้งค่าไว้อย่างไร?

ผู้เขียนใช้การอัปเดตตัวแยกแยะ ครั้งต่อการอัปเดตตัวกำเนิดหนึ่งครั้งในการทดลอง เนื่องจากเป็นตัวเลือกที่ใช้ต้นทุนการคำนวณน้อยที่สุด

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI