Skip to content

Latest commit

 

History

History
47 lines (41 loc) · 4.02 KB

gans.md

File metadata and controls

47 lines (41 loc) · 4.02 KB

1. Introduction

  • 제안된 Adversarial nets framework에서 Generative model은 Discriminative model과 적대합니다. Discriminative model은 각 Sample이 Model distribution에서 나온 것인지 아니면 Data distribution에서 나온 것인지 결정합니다. 이는 Model distribution이 Data distribution과 구별될 수 없을 때까지 두 모델의 성능을 향상시킵니다.
  • Generative model은 Random noise를 Input으로 받아 Forward propogation만을 사용해서 Sample을 생성합니다.

2. Related Work

  • 생략합니다.

3. Adversarial Nets

  • Data $x$
  • Generative model with parameters $\theta_{g}$ $G$
  • Discriminative model that outputs single scalar $\theta_{d}$ $D$
  • Input noise의 분포 $p_z(z)$
  • $G$에 의한 Mapping from input noise to data space $G(z; \theta_{g})$
  • Data distribution $p_{\text{data}}(x)$
  • Generative model distribution $p_{g}(x)$
  • Eq. (1): $$\min_{G}\max_{D}V(D, G) = \mathbb{E}{x \sim p{\text{data}}(x)}[\log D(x)] + \mathbb{E}{z \sim p{z}(z)}[\log(1 - D(G(z)))]$$
    • $D$는 Real data distribution $p_{\text{data}}(x)$에서 샘플링된 Data $x$에 대해서는 output이 최대값 1에 가까워지도록 (첫 번째 term이 0에 가까워지도록) 그리고 $p_{z}(z)$에서 샘플링된 Input noise $z$를 가지고 $G$가 생성한 Data에 대해서는 Output이 최소값 0에 가까워지도록 (두 번째 Term이 0에 가까워지도록) 학습됩니다.
    • $G$$p_{z}(z)$에서 샘플링된 Input noise $z$에 대한 Output이 $D$에 Input으로 들어갔을 때의 Output($D(G(z))$)이 1에 가까워지도록 (두 번째 Term이 $-\infty$에 가까워지도록) 학습됩니다.

4. Theroretical Results

  • $G$를 한 번 학습시킬 동안 $D$를 학습시킬 횟수 $k$는 Hyperparameter인데 이 논문에서는 $k = 1$을 사용합니다.
  • $k$번의 스텝 동안 $p_{z}(z)$에서 $m$개의 Noise를 샘플링하여 Minibatch를 구성하고 $p_{\text{data}}(x)$에서 마찬가지로 $m$개의 Noise를 샘플링하여 Minibatch를 구성합니다. SGD를 사용해 $D$를 업데이트합니다.
  • 위 과정이 끝나면 $p_{z}(z)$에서 $m$개의 Noise를 샘플링하여 Minibatch를 구성하고 SGD를 사용해 $G$를 업데이트합니다.

4.1) Global Optimiality of $p_{g} = p_{\text{data}}$

  • $G$가 고정되어 있을 때, Optimal $D$는 다음과 같음을 증명합니다. $$D^{\ast}{G}(x) = \frac{p{\text{data}}(x)}{p_{\text{data}}(x) + p_{g}(x)}$$ $$V(G, D) = \int_{x}p_{\text{data}}(x)log(D(x))dx + \int_{z}p_{z}(z)log(1 - D(G(z))dz$$
  • 그런데 $z \sim p_{z}(z)$$z$에 대해 $x \sim p_{g}(G(z))$이므로 $$V(G, D) = \int_{x}\big(p_{\text{data}}(x)log(D(x)) + p_{g}(x)log(1 - D(x)\big)dx$$
  • $G$$D$가 충분한 Capacity를 갖추고 있고 $G$가 고정되어 있을 때 $V(D, G)$를 최대화하는 $D$$p_{g} = p_{\text{data}}$일 때 가능합니다. 즉 'Algorithm 1'에서 매 스텝마다 $D$를 학습시킬 때 $G$를 고정한다면 $k$번의 스텝 동안 $D$를 학습시키면서 $p_{g}$$p_{\text{data}}$로 수렴합니다.(?)

4.2) Convergence of Algorithm 1

  • 내용을 잘 이해하지 못했습니다.

5. Experiments

  • Datasets: MNIST, the Toronto Face Database (TFD), CIFAR-10
  • Gaussian Parzen window와 log-likelihood에 대한 내용은 이해하지 못했습니다.

6. Adavantages and Disadvantages

  • No explicit representation of $p_{g}(x)$(?)
  • 학습 시 $D$$G$의 학습이 적절한 속도로 싱크가 맞아야 합니다. $D$보다 $G$가 너무 빠르게 학습되면 많은 노이즈 값들이 $G$를 통해 같은 이미지로서 생성되는 'The Helvetica scenario' 현상이 발생합니다.
  • Advantages에 대한 내용은 이해하지 못했습니다.

7. Conclusions and Future Work

  • Conditional generative model은 $G$$D$의 입력에 조건을 추가하는 것으로 만들 수 있습니다.
  • $G$$D$가 협력하는 방법을 새롭게 고안하거나 $z$의 분포를 더 잘 모델링함으로써 학습 속도가 개선될 수 있습니다.
  • 나머지 내용은 이해하지 못했습니다.