본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
카테고리 없음

[2024-1] 박지연 - Generative Adversarial Nets

by yeonliyou 2024. 6. 29.

https://arxiv.org/pdf/1406.2661

* "$ $" 표시는 수식 표시

Abstract

  • 생성 모델을 adversarial process를 통해 추정하는 framework
  • 2개의 모델을 동시에 훈련
    • $G$ (generative model)
    • : 데이터 분포를 포착하는 생성 모델이다. 이 모델의 훈련 절차는 모델 D가 실수할 확률을 최대화하는 것
    • $D$ (discriminative model)
    • : 샘플이 모델 G보다는 training data에서 나왔을 확률을 추정하는 판별 모델

Introduction

  • Generative model
    • maximum likelihood estimation과 관련된 많은 부정확한 확률 계산을 근사하는 것에 대한 어려움과 linear units의 장점 활용에 어려움이 있었음 ⇒ 본 논문에서는 이러한 어려움을 개선할 수 있는 새로운 generative model 추정 절차(adversarial nets framework)를 제안
  • Adversarial nets
    • generative model은 adversary(적대자)와 맞서 싸운다.
    • discriminative model은 샘플이 모델 분포에서 왔는지 데이터 분포에서 왔는지를 판단하는 것을 배운다. 쉽게 설명하면, generative model는 위조 지폐를 만드는 위조팀이라고 할 수 있으며, discriminative model은 위조 지폐를 탐지하는 경찰팀이다. 여기서의 경쟁은 위조품이 진품과 구별되지 않을때까지 양쪽 팀이 그들의 방법을 개선하도록 한다.

Adversarial nets

  • generator’s distribution over data $x$ : $p_g$
  • input noise variables : $p_z (z)$
  • 매개변수 $θ_g$를 가진 다층 퍼셉트론으로 표현되는 data space으로의 mapping : $G(z;θ_g)$
  • 단일 스칼라를 출력하는 두번째 다층 퍼셉트론 : $D(x;θ_d)$
  • $x$가 $p_g$보다 데이터로부터 왔을 확률을 나타내는 것 : $D(x)$

⇒ $D$를 학습 데이터와 $G$에서 샘플링한 데이터 모두에 올바른 레이블을 지정하는 확률을 최대화하도록 학습시킨다. 우리는 동시에 $log(1-D(G(z)))$를 최소화하는 $G$를 학습시킨다.

D&G → minimax game player이며 이 게임값의 함수 V(G,D) 식

  •  figure1 
    • 파란색 점선 : updating the discriminative distribution($D$)
    • 검은색 점선 : data generating distribution ($p_x$)
    • 초록색 실선 : generative distribution ($p_g$)
    • 수평 선 : $x$의 영역 파트
    • 밑의 수평 선 : $z$가 샘플링된 영역 (여기서는 uniformly)
    • 위쪽 화살표 : $x = G(z)$ 매핑이 변환된 샘플에 대해 비균일 분포 $p_g$를 어떻게 부여하는 지 보여준다. $G$는 $p_g$의 높은 밀도 영역에서는 수축하고 낮은 밀도 영역에서 확장한다.
    • $D$를 최적화하는 k steps(k는 hyper parameter)& $G$를 최적화하는 one step → 이는 $G$가 천천히 변하는 한 $D$는 최적의 솔루션 근처에서 유지되게 함

(a) 수렴에 가까운 adversarial pair을 고려한다 : $p_g$는 $p_{data}$와 비슷하며 $D$는 부분적으로 정확한 분류기이다.

(b) 알고리즘 내부 루프에서 D는 데이터로부터의 샘플을 판별하도록 학습하고 $D^*(x) = p_{data}(x) / (p_{data}(x) + p_g (x))$로 수렴한다

(c) $G$를 업데이트하고 난후, $D$의 gradient는 $G(z)$가 데이터로 더욱 분류되는 쪽의 영역으로 가도록 한다

(d) 여러 단계를 학습 후 , G와 D가 충분한 용량을 가지면, 둘 다 더이상 개선할 수 없는 지점에 도달하며, 이는 $p_g = p_{data}$ 이며 판별자는 더이상 두 분포의 차이를 구별할 수 없게 된다. 즉, $D(x) = 1/2$

figure1
figure1

Theoretical Results

  • Algorithm 1

  • Global Optimality of $p_g = p_{data}$
    • Proposition 1. $G$는 고정되어 있고, optimal discriminator $D$가 다음과 같을 때

    • Theorem 1. 가상 훈련 기준 $C(G)$의 전역 최솟값은 $p_g = p_{data}$인 경우에만 달성된다. 그 시점에서 $C(G)$는 -log4 값을 달성
     
  • Convergence of Algorithm 1
    • proposition 2. $G$와 $D$의 용량이 충분하고, 알고리즘1의 각 단계에서 판별자가 주어진 $G$의 최적값에 도달할 수 있도록 허락되고, 생성 분포 $p_g$가 (1)기준을 개선하도록 업데이트 된다면 → $p_g$는 $p_{data}$에 수렴한다.
    • (1) 기준

Experiments

  • adversarial nets를 MNSIT, Toronto Face Database, CIFAR-10를 포함한 범위의 데이터셋으로 훈련시켰다.

  • 그림 2와 3 → 훈련 후 생성자 네트워크에서 생성된 샘플을 보여준다. 이 샘플들이 기존의 다른 방법으로 생성된 샘플들보다 낫다는 주장보다는, 이러한 샘플들은 최소한 문헌들에 나오는 더 나은 generative model과 경쟁할 정도임을 주장하며 adversarial framework의 잠재력을 강조한다.

Advantages and disadvantages

  • 단점
    • 명확한 $p_g(x)$의 표현이 없다는 점
    • 훈련 중에 D와 G의 동기화가 잘 이루어져야 함
  • 장점
    • 마코프 체인이 필요 없다
    • gradients를 얻는데 오직 backprop만 사용됨
    • 학습 중 별도의 추론 불필요
    • 다양한 함수들을 모델에 통합 가능

Conclusions and future work