본문 바로가기

논문 정리

Generative Adversarial Nets

Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. In Advances in neural information processing systems (pp. 2672-2680).

1. Introduction

GAN 개념적 이해

  • 경찰과 지폐 위조범 비유
    • Discriminator은 경찰로서 진짜와 가짜를 잘 구분하도록 학습한다
    • Generator는 지폐 위조범으로서 Discriminator 경찰이 잘 구분하지 못할 정도록 진짜와 비슷한 가짜를 생성한다

2. Related work

GAN 이전의 생성 모델을 위한 시도

  • 확률 분포의 파라미터를 예측하려는 시도 (Boltzman Machine)
    • Approximation이 너무 많이 필요
  • Generative Machine
    • 사전에 정의한 단순한 확률 분포를 제공하면 데이터를 생성하는 모델
    • 생성 모델을 위한 General Stochastic Backpropagation 사용. 이를 VAE와 연결,
  • Discriminative Criterion 사용 (NCE, Noise Contrastive Estimation)
  • 모델 2개 사용 (Predictability Minimization)
    • Generator와 Discriminator를 사용하는 GAN처럼 모델을 2개 정의해서 사용하지만 동작 구조에는 차이가 있음

Adversarial Examples ≠ Generative Adversarial Network

3. Adversarial nets

GAN의 Value Function (Loss Function)

  • $ min_{G}max_{D}⁡V(D,G) = E_{x\sim p_{data}(x)}[log⁡D(x) ] + E_{z\sim p_{z}(z)}[1-log⁡D(G(z))] $
    • Discriminator의 관점에서는 실제 데이터로부터 추출된 $ x\sim p_{data} $에 대해서는 $D(x)$ 가 최대가 되어야 하며($D(x)$를 1로 예측),
      가짜로 생성된 $z\sim p_{z}$에 대해서는 $log⁡D(G(z))$가 최소가 되어야한다.($D(G(z))$를 0으로 예측)
    • Generator의 관점에서는 가짜로 생성된 $z\sim p_{z}$에 대해서는 $log⁡D(G(z))$가 최대가 되어야한다.($D(G(z))$를 1로 예측)

4. Theretical Results

증명 1: 최적의 상태가 존재

  • $V(D, G)$에 대해서 최적의 상태는 $ p_{data} $와  $ p_{g} $ 가 동일할 때, Discriminator는 1/2로 예측하는 경우이다.
    • $ p_{data} $와  $ p_{g} $ 가 동일 → 실제 데이터 분포와 Generator가 생성한 데이터 분포가 동일
    • Discriminator는 1/2로 예측 → Discriminator가 실제 데이터와 가짜 데이터를 구분하지 못함

증명 2: GAN으로 최적의 상태 도달 가능

  • $V(D, G)$가 Convex Function이므로 Gradient Descent로 최적의 해를 도달할 수 있다

5. Experiments

6. Advantages and disadvantages

장점: 간편한 계산

  • Gradient Descent Algorithm으로 계산하는 것이 Markov 기반의 연산보다 효율적

단점: 생성 결과가 별로인 경우

  • Generator가 실제 데이터에 있는 여러 개의 범주 중 하나의 범주만을 생성하는 문제 발생 가능
  • Discriminator의 파라미터를 갱신하지 않고 Generator를 학습하면 생기는 문제

7. Conclusion and future work