[Paper] Generative Adversarial Networks

5C

  1. Category
    1. semi-supervised learning을 필두로 기존의 뉴럴 네트워크 학습과는 다른 방향성을 제시함
    2. Adversarial Net이라는 개념에 대한 새로운 소개와 기술 제시
  2. Context :
    1. Wake-sleep Algorithm : 신경망을 이용한 기존의 inference 방식과 유사한 장점을 가짐.
    2. 논문 제출 당시의 Generative model은 MLE에 의존했으나 복잡한 probability distribution을 근사하는 데 어려움이 있었음
    3. Markov chain 없이도 샘플 생성이 가능한 효율적 방식이 필요했음.
  3. Correctness
    1. Generator와 Discriminator간의 minimax 게임이 global optimum인 $p_g=p_{data}$ 에서 유일한 해를 가짐을 수학적으로 증명
    2. Non-parametric 설정에서 G, D가 충분한 용량을 가지고 있다면 최적의 평형점에 도달할 수 있다고 가정
    3. 실제 학습시에는 stability와 optimization과정에서 divergence 가능성 존재
  4. Contributions
    1. Adversarial Framework : G, D가 서로 경쟁하며 학습하는 zero-sum game 프레임워크 제안
    2. 복잡한 적분이나 markov chain 없이 backpropagation만으로 생성모델 학습
  5. Clarity : 논문이 올바르게 작성되었는지?

Adversarial nets

데이터 $x$에서 추출한 generator의 분포$p_g$를 학습하기 위해서 input noise variables의 선험확률 $p_z(z)$ 정의. data space로의 맵핑은 $G(z;\theta_g)$로 표현.

$G$는 $\theta_g$를 파라미터로 가지는 mulilayer perceptron으로 표현되는 미분가능함수. 마찬가지로 $D(x;\theta_d)$ 정의, output은 스칼라.

$D(x)$는 $p_g$가 아닌 곳에서 나오는 데이터 $x$의 확률을 표현. 이때 D는 G에서 나오는 샘플과 훈련 데이터 모두에서 올바른 레이블을 할당할 확률을 높이도록 훈련하고, 동시에 G는 $\log(1-D(G(z)))$를 최소화 하도록 훈련.

\[\min_G\max_D V(D,G) = \mathbb{E}_{x\sim p_{data}(x)}[\log D(x)] + \mathbb{E}_{z\sim p_z(z)}[\log(1-D(G(z)))]\]

D(iscriminator)의 입장 : Maximize

첫 번째 항 : 진짜 데이터 $x$를 넣었을 때 $D(x)$가 1에 가깝게 나오길 원함.

두 번째 항 : 가짜 데이터 $G(z)$를 넣었을 때 $D(G(z))$가 0에 가깝게 나오길 원함

결론적으로 전체 $V(D,G)$ 값을 키우는게 목표

G(enerator)의 입장 : Minimize

두 번째 항 : $D(G(z))$가 1에 가깝게 만들어지길 원함.그러면 $\log(1-1) = -\infty$




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • [Paper] Auto-Encoding Variational Bayes
  • [Algorithm] Union-Find
  • [CS231n]Exercise1.5 - Features
  • [CS231n]Exercise1.4 - Two Layer Net