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

[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 : pg
  • input noise variables : pz(z)
  • 매개변수 θ_g를 가진 다층 퍼셉트론으로 표현되는 data space으로의 mapping : G(z;θ_g)
  • 단일 스칼라를 출력하는 두번째 다층 퍼셉트론 : D(x;θ_d)
  • xp_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를 어떻게 부여하는 지 보여준다. Gp_g의 높은 밀도 영역에서는 수축하고 낮은 밀도 영역에서 확장한다.
    • D를 최적화하는 k steps(k는 hyper parameter)& G를 최적화하는 one step → 이는 G가 천천히 변하는 한 D는 최적의 솔루션 근처에서 유지되게 함

(a) 수렴에 가까운 adversarial pair을 고려한다 : p_gp_{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. GD의 용량이 충분하고, 알고리즘1의 각 단계에서 판별자가 주어진 G의 최적값에 도달할 수 있도록 허락되고, 생성 분포 p_g가 (1)기준을 개선하도록 업데이트 된다면 → p_gp_{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