ai - paper

[논문 리뷰] GAN 논문리뷰

10011001101 2023. 8. 9. 19:55

Generative Adversarial Nets

Ian J. Goodfellow, Jean Pouget-Abadie , Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair† , Aaron Courville, Yoshua Bengio

https://arxiv.org/pdf/1406.2661.pdf

 

Abstract

 

본 논문에서는 두 가지 모델을 동시에 훈련시키는 adversarial process(적대적 과정)를 통해 생성 모델을 추정하는 새로운 프레임워크를 제안한다: 생성 모델 G는 데이터 분포를 파악하고 분별 모델 D는 훈련 데이터에서 온 샘플의 확률을 추정한다. G를 훈련시키는 과정은 D가 틀릴 확률을 최대화하는 것이다. GD 각각에게는 고유한 해가 존재한다. 만약 GD가 다층 퍼셉트론에서 정의되었다면 전체 시스템은 역전파를 통해 훈련될 수 있다. Markov chainsunrolled approximate inference network는 필요하지 않다.

 

 

1. Introduction

 

딥러닝은 자연 이미지, 오디오 등과 같은 여러 데이터에 대해 확률 분포를 나타내는 풍부하고 계층적인 모델을 발견하는 것이다. 딥러닝에서의 유의미한 성공은 고차원의, 방대한 센싱 데이터를 클래스 레이블에 매핑하는 분별 모델을 사용했다. 이는 well-behaved gradient를 가지고 있는 선형 유닛을 사용한 역전파와 dropout 알고리즘에 기반해 있다. 그렇지만 Maximum likelihood estimation과 관련된 전략에서 확률 연산을 근사하는 데에 발생하는 어려움이 있었다. 이전 연구에서 선형 유닛을 사용하여 발생한 이점을 가져 오는 데에도 마찬가지였다. 그래서 본 논문에서는 이러한 어려움을 극복한 generative model을 제안한다.

 

본 논문에서 소개하는 adversarial nets에서는 두 모델이 적대적인 관계를 취한다. 분별 모델은 데이터가 모델 분포에서 온 것인지 데이터 분포에서 온 것인지 판단하는 방법을 배운다. 생성 모델은 분별 모델이 경찰이라고 했을 때, 경찰에게 들키지 않도록 위조지폐를 생성해내는 위조범과 같다. 두 모델의 경쟁은 생성모델이 진짜 데이터와 구분이 불가능해질 때까지 서로의 method를 향상시킨다.

이러한 framework는 다양한 종류의 모델 및 최적화 알고리즘에 대한 특정 훈련 알고리즘을 산출할 수 있다. 본 고에서는 오직 forward propagation/back propagation/dropout 으로 학습이 가능한 multi-layer perceptron을 사용하여 학습했다. Approximate inferenceMarkov chains는 필요하지 않았다.

 

 

2. Adversarial Nets

 

적대적 신경망 framework는 두 모델이 모두 multilayer perceptron일 때 적용하기 쉽다. data x하에서 생성자의 분포인 Pg를 배우기 위해, 본 고는 input noise variables Pz(z)를 정의했고, 데이터 공간에 대한 매핑을 G(z;θg)로 나타내었다. 또한, 출력이 single scalar인 두 번째 다층 퍼셉트론을 D(x;θd)로 정의하였다. D를 훈련 데이터와 G의 샘플 모두에 올바르게 레이블링 할 확률을 최대화하도록 D를 훈련시켰다. 동시에 log(1-D(G(z))를 최소화하는 방향으로 G를 훈련시켰다. 다른 말로, value function V(G, D)에서 DG에게 two-player minimax gameplay시켰다고 할 수 있다.

Non-parametric limit에서 Training criteriron을 사용하면 GD가 주어졌을 때 데이터 생성 분포를 복구할 수 있다. (실제로는 반복적이고 수치적으로 접근해야 한다.) 학습 내부 루프에서 D를 완벽하게 최적화하는 것은 금지되어 있고, 유한한 데이터셋에서 과적합이 발생할 수 있다. 대신 우리는 D를 최적화하는 k개의 단계와 G를 최적화하는 한 단계를 번갈아 수행하였다. 그 결과 G가 충분히 느리게 변하는 한 D는 최적의 솔루션 근처에서 유지될 수 있었다.

 

실제로 방정식 1G가 잘 학습할 수 있는 충분한 기울기를 제공하지 않을 수 있다. 학습 초기에 G가 좋지 않을 때에는 훈련 데이터와의 차이가 크기 때문에 D가 높은 신뢰도를 가지고 샘플을 거부할 수 있다. 이 경우 log(1-D(G(z))는 포화된다. 그러므로 G를 최소화하기보다 log(1-D(G(z))를 최대화하도록 G를 훈련시킨다. 이 목적함수는 동적인 GD에게 same fixed point를 생성하지만 학습 초기에 더 강한 기울기를 제공한다.

 

 

Generative adversarial net은 분별 분포(파란색 점선)를 동시에 업데이트하며 학습된다. 생성 분포 Pg(G)(녹색 실선)의 샘플에서 데이터 생성 분포(검은색 점선)를 분별해낸다. 아래 수평선은 z가 샘플링되는 domain이다. 위의 수평선은 x 도메인의 일부이다. 위를 향하는 화살표는 매핑 x = G(z)가 변환된 샘플에 대해 분균일한 분포 Pg를 부과하는 모습을 보여준다.

 

 

3. Theoreical Results

 

생성자 G는 확률 분포 Pg z~pz일 때 얻은 샘플 G(z)의 분포로 정의한다. 따라서 충분한 용량과 시간만 주어진다면 우리는 알고리즘 1 p data에 대한 좋은 추정기로 수렴되기를 기대할 수 있다. 이 섹션의 결과는 비모수 설정에서 수행되, 우리는 확률 밀도 함수 공간에서 수렴을 연구하여 무한 용량을 가진 모델을 나타낼 것이다.

 

우리는 이 minimax 게임이 pg = pdata에 대한 전역 최적임을 섹션 3.1에서 보일 것이다. 3.2에서는 알고리즘 1Eq1을 최적화하고, 원하는 결과를 얻어내는 과정을 보일 것이다.

 

 

3.1 Global Oprimality of Pg = Pdata

 

3.2 Convergence of Algorithm 1

 

4. Adventages and disadvantages

 

단점으로는 Pg(x)가 명시적으로 존재하지 않는다는 점이 있다. , DG의 성능이 균형적으로 향상되어야 한다. (특히 D를 업데이트하는 과정 없이 G만 많이 많이 훈련된다면 Gz 데이터를 붕괴시킬 수 있다.) 장점으로는 Markov chains가 필요하지 않고 back-propagation만이 사용된다는 점이 있다. , 학습 과정에서의 inference가 필요하지 않으며 다양한 함수가 모델에 적용될 수 있다는 점이 있다.

 

적대적 모델은 생성 모델이 데이터로부터 직접적으로 업데이트되지 않고, 분별 모델을 통한 기울기로만 업데이트되는 통계적인 장점 또한 가진다. 이는 생성모델의 파라미터에 입력값이 그대로 복사되지 않는다는 것을 의미한다. , Markov chains에 기반한 method에 비해 선명한 분포를 나타낼 수 있다.

 

TBA