토리의 데굴데굴 공부일기

[ 논문 리뷰 ] Generative Adversarial Networks(GAN) 본문

ML DL/2023 KHU AI Track

[ 논문 리뷰 ] Generative Adversarial Networks(GAN)

도토오오리 2023. 8. 9. 23:17

2주차: GAN - 2014

Generative Adversarial Networks(GAN)

논문 원문: https://arxiv.org/pdf/1406.2661.pdf

0. Abstract

  • ‘경쟁’하는 과정을 통해 generative model을 추정하는 새로운 프레임워크 제안
  • 2개의 모델 학습
  1. Generative Model(생성 모델), G : training data의 분포를 모사함 → discriminative model이 구별하지 못하도록
  2. Discriminative model(판별 모델), D : sample 데이터가 G로부터 나온 데이터가 아닌 실제 training data로부터 나온 데이터일 확률을 추정
  • G를 학습하는 과정은 D가 sample 데이터가 G로부터 나온 가짜 데이터와 실제 training 데이터를 판별하는데 실수할 확률을 최대화하는 것
  • 이 논문에서는 이와 같은 프레임워크를 minimax two-player game으로 표현하고 있다. → 논문의 방정식으로 확인가능
  • 임의의 함수 G,D의 공간에서, G가 training 데이터 분포를 모사하게 되면서, D가 실제 training 데이터인지 G가 생성해낸 가짜 데이터인지 판별하는 확률은 1/2가 된다. (즉, 실제 데이터와 G가 생성해내는 데이터의 판별이 어려워짐)
  • G,D가 multi-layer perceptrons으로 정의된 경우, 전체 시스템은 back-propagation을 통해 학습된다.

⇒ 이 논문에서는 GAN이라는 새로운 프레임워크를 제안하고 있으며, 이는 생성 모델과 판별 모델, G,D 두가지 모델을 학습하며 G는 실제 training data의 분포를 모사하며 그와 비슷한 데이터를 생성하려하고, D는 실제 데이터와 G가 생성해낸 데이터를 구별하려하는 경쟁적인 과정으로 이루어져 있음.

1. Introduction

  • 딥러닝이 작동하는 방식은 인공지능 영역에서 마주하는 데이터의 종류에 대해서 모집단에 근사하는 확률 분포를 나타내는 계층 모델을 발견하는 것 지금까지는, 고차원의 방대한 센싱 데이터를 클래스 레이블에 mapping해서 구분하는 모델 사용 → well-behaved gradient를 갖는 선형 활성화 함수들을 사용한 back propagation, dropout 알고리즘 기반
  • Deep generative model들은 maximum likelihood estimation과 관련된 전략들에서 발생하는 많은 확률 연산들을 근사하는 데 발생하는 어려움과 generative context에서는, 앞서 모델 사용의 큰 성공을 이끌었던 선형 활성화 함수들의 이점들을 가져오는 것의 어려움이 있기 때문에 크게 임팩트 있지 않았음.

⇒ 이 논문에서 소개될 새로운 generative model은 이러한 어려움들을 회피한다.

 

GAN의 경쟁하는 과정을 경찰과 위조지폐범 사이의 경쟁으로 비유하면, 위조지폐범은 최대한 진짜같은 화폐를 만들어 경찰을 속이기 위해 노력하고, 경찰은 진짜 화폐와 가짜 화폐를 완벽히 판별하여 위조지폐범을 검거하는 것을 목표로 한다. 이러한 경쟁하는 과정의 반복은 어느순간 위조지폐범이 진짜와 다를 바 없는 위조지폐를 만들 수 있고, 경찰이 위조지폐를 구별할 수 없는 상태에 이르도록 한다.

⇒ 결국 GAN의 핵심 컨셉은 각각의 역할을 가진 두 모델을 통해 적대적 학습을 하면서 ‘진짜같은 가짜’를 생성해내는 능력을 키워주는 것

GAN Architecture

ㅇㅇ이런식으로 G랑 D가 있고 적대적으로 학습해서 수렴시키는 느낌

2. Related work

3. Adversarial nets

적대신경망은 모델이 모두 다층 퍼셉트론일때 가장 적용하기 쉽다.

적대신경망은 모델이 모두 다층퍼셉트론일때 가장 적용하기 쉽다. 원본 x에 대해 생성된 p_g를 학습하기 위해 입력에서 더해질 noise 변수를 p_z(z)라 정의하고 데이터 공간에 대한 매핑을 G(z; theta_d)로 표현하는데, 여기서 G는 매개 변수를 가진 다층 퍼셉트론에 의해 표현되는 미분 가능한 함수이다. 또한 단일 스칼라를 출력하는 두 번째 다층 퍼셉트론을 D(x;theta_d)라고 정의한다. D(x)는 x가

p_g가 아닌 원본일 확률을 나타낸다. 우리는 D가 훈련 샘플과 G의 샘플 모두 올바르게 구별하도록 훈련시킨다. 동시에 log(1 − D(G(z)))를 최소화하도록 G를 훈련시킨다. 즉, D와 G는 가치 함수 V(G, D)를 가진 다음과 같은 2인용 미니맥스 게임을 한다.

다음은 G와 D에 충분한 용량이 주어짐에 따라 훈련 criterion이 데이터 생성 분포를 복구할 수 있음을 본질적으로 보여주는 적대신경망의 이론적 분석을 제시한다.

실제로 우리는 반복적이고 수학적인 방법으로 게임에 접근해야 한다. 훈련의 내부 루프에서 종료까지 D를 최적화하는 것은 계산상으로는 불가능하며, 유한한 데이터셋에서는 과적합이 발생한다. 대신에, 우리는 K번마다 D를 최적화 하고 한번의 G를 최적화하는 것을 번갈아 시행하였다. 따라서 G의 변화가 충분히 느리면 D 또한 최적의 수치 근처에서 유지된다. 이 전략은 SML/PCD 훈련이 학습의 내부 루프의 일부로서 마르코프 사슬에서 연소되는 것을 피하기 위해 한 학습 단계에서 다음 단계로 마르코프 사슬의 샘플을 유지하는 방식과 유사하다. 이 방식은 Algorithm 1에 명시되어있다.

실제로, 방정식 1은 G가 잘 학습하기에 충분한 기울기를 제공하지 않을 수 있다. 학습 초기에 G가 미흡할 때, D 는 샘플이 높은 확률로 원본데이터와 다르다는 것을 출력할 수 있다. 이 경우 log(1 - D(G(z)))는 0에 수렴한다. 이 경우 log(1 - D(G(z)))를 최소화하도록 G를 훈련하는 대신 log D(G(z)를 최대화하도록 G를 훈련시킬 수 있다. 이 목적 함수는 동일한 지점에서 G와 D가 요동치지만 학습 초기에 훨씬 더 강한 기울기를 제공한다.

4. Theoretical Results

4.1 Global Optimality of p_g = p_data

Proposition 1. G가 고정되어 있을 때 최적의 D는 다음과 같다.

증명: 주어진 어떤 G에 대해 D의 훈련법은 V(G,D)의 양을 최대화시키는 것이다.

4.2 Covergence of Algorithm 1

5. Experiments

MNIST, the Toronto Face Database (TFD), and CIFAR-10 데이터셋을 이용하여 적대신경망을 훈련시켰다. G는 ractifier linear, sigmoid 활성화 함수를 섞어서, D는 maxout 을 사용하였다. D에는 Dropout이 적용되었다. 이론상으로는 G의 중간 계층에서 드롭아웃 및 기타 노이즈를 사용할 수 있지만, 우리는 노이즈를 G의 맨 아래 계층에에서 입력으로만 사용했다.

G로 생성된 샘플에 Gaussian Parzen window를 맞추고 이 분포에서 로그 우도를 보고하여 p_g 테스트 세트 데이터의 확률을 추정한다.

가우시안의 σ 파라미터는 validation set에서 교차검증을 통해 얻어졌다. 이 과정은 Breuleux et al.에서 소개되었고 다루기 어려운 여러 생성모델에서 쓰였다. 결과는 Table1에 보고되어있다. 확률을 추정하는 이 방법은 다소 높은 편차를 가지며 고차원 공간에서는 잘 수행되지 않지만 우리가 알 수 있는 최선의 방법이다. 표본을 생성할 수 있지만 확률을 추정할 수 없는 생성 모델의 발전은 그러한 모델을 평가하는 방법에 대한 추가 연구에 직접적인 동기를 부여한다.

그림 2와 3에는 교육 후 G에서 추출한 샘플이 나와 있다. 우리는 이 샘플이 기존 방법에 의해 생성된 샘플보다 낫다고 주장하지 않지만, 우리는 이러한 샘플이 적어도 문헌의 더 나은 생성 모델과 경쟁하고 있으며 적대신경망의 가능성을 강조한다.

→ 생성된 샘플을 시각화 한 것. 가장 우측의 열은 모델이 훈련 세트를 기억하지 않는 다는 것을 나타내기 위해 생성된 샘플과 가장 비슷한 훈련 샘플을 나타낸 것이다. 샘플들은 cherry-pick이 아닌 무작위로 뽑았다. 대부분의 다른 심층 생성모델 시각화와 달리 이러한 이미지는 은닉층의 조건부 평균이 아니라 모델이 생성한 실제 샘플을 표시한다. 게다가 샘플링 과정은 마르코프 연쇄 혼합에 의존하지 않기 때문에 이들 샘플은 상관관계가 없다.

a) MNIST, b) TFD, c) CIFAR-10(fully connected model), d) CIFAR-10(convolutional discriminator and “deconvolutional” generator)

Table 2 : 생성 모델에서의 도전 : 모델을 포함하는 각 주요 작업에 대해 심층 생성 모델링에 대한 다양한 접근법이 직면하는 어려움을 요약했다.

6. Advantages and disadvantages

새로운 프레임워크는 이전과 비교하여 장단점이 존재한다.단점은 일차적으로 p_g(x))의 명시적 표현이 없고 훈련 중에 D를 G와 잘 동기화해야 한다는 것이다(특히 G가 너무 많은 z 값을 x의 동일한 값으로 분해하여 다양성 갖추지 못하는 "헬베티카 시나리오"를 피하기 위해 D를 업데이트하지 않고 G를 너무 많이 훈련해서는 안 된다. 장점은 마르코프 체인이 필요하지 않고, 기울기 조정을 위해 역전파만 사용되며, 학습 중에 inference가 필요하지 않으며, 다양한 기능이 모델에 통합될 수 있다는 것이다. Table2에서 적대신경망과 생성 모델의 다양한 접근을 보여주고 있다.

앞서 언급한 장점은 주로 계산적인 측면이다. 또한 적대신경망은 데이터 예시로 직접 업데이트되지 않고 D의 기울기 조정만으로 G에서 통계적 이점을 얻을 수 있다. 즉, 입력의 일부가 G의 매개 변수로 직접 복사되지 않는다. 적대 네트워크의 또 다른 장점은 그들이 매우 날카롭고 심지어 퇴화된 분포를 나타낼 수 있다는 것이다. 반면 마르코프 체인에 기초한 방법은 체인이 모드 간에 혼합될 수 있도록 분포가 다소 흐릿할 것을 요구한다.

Advantages

  1. Markov chains 필요 없이 gradients를 얻기 위해 back-propagation만이 사용됨 - Markov Chain과 달리 single step sampling
  2. 학습 중 어떠한 Inference가 필요 없음 -학습시간 감소
  3. 다양한 함수들이 모델에 접목 가능 -확장성 향상
  4. 간접적인 학습 -뚜렷한 경계를 가진 이미지 - Overfitting으로부터 자유로움

7. Conclusions and future work

이 프레임워크는 많은 간단한 확장을 허용합니다.

  1. G, D 양쪽에 입력으로서 c를 더하면 조건부 생성 모델 p(x | c)를 얻을 수 있다.
  2. 학습된 근사 추론은 주어진 x를 예측하기 위해 보조 네트워크를 훈련함으로써 수행될 수 있다. 이것은 wake-sleep 알고리즘에 의해 훈련되는 inference net과 유사하지만, G가 훈련을 마친 후 고정된 G에 대해 inference net이 훈련될 수 있다는 장점이 있다.
  3. S가 x 지수의 부분 집합인 모든 조건부 \(p(x_S | not x_S)를 파라미터를 공유하는 조건부 모델군을 훈련시킴으로써 대략적으로 모델링할 수 있다. 본질적으로, 결정론적 MP-DBM의 확률적 확장을 구현하기 위해 적대신경망을 사용할 수 있다.
  4. 준지도 학습: D 또는 inference net 의 feature는 제한된 레이블 데이터를 사용할 수 있을 때 분류기의 성능을 향상시킬 수 있다.
  5. 효율성 향상: 훈련 중에 G와 D를 조정하는 더 나은 방법을 찾거나 z 표본을 추출하는 더 나은 분포를 결정함으로써 훈련을 크게 가속화할 수 있다.

본 논문은 적대신경망의 실행 가능성을 입증하여 이러한 연구 방향이 유용할 수 있음을 시사한다.

생성모델 논문 참..어렵군