상세 컨텐츠

본문 제목

[6주차 / 임정준 / 논문리뷰] Conditional Generative Adversarial Nets

방학 세션/CV

by Imjjun 2023. 2. 21. 21:22

본문

#0 Abstract

 

 GAN에 기반한 논문이기에, GAN에 대한 이해가 먼저 선행되고 읽는 것이 권장되는 논문입니다. 단순한 1:1 mapping 모델에서 벗어나, 확률적으로, 그리고 이것을 조건부적으로 원하는 class label이나 정보를 담고 있는 output sample을 만들어낼 수 있는 cGAN에 대하여 알아보자.

 

 널리 알려진 GAN 모델의 특징은 Unconditional(무조건적) 학습이 진행되는 생성 모델 중 하나였다. 허나, cGAN은 단순히 y라는 데이터를 넣어주는 것만으로도, GAN과 유사하면서도 conditional(조건적) GAN 모델을 학습시킬 수 있다. 본 cGAN이 비단 class label에 맞는 MNIST dataset 이미지 생성과 더불어, multi-modal 및 이미지 태깅에서의 적용도 알아볼 수 있다.

 

 

#1 Introduction

 

  GAN은 intractable(처치 곤란한) 확률적 연산을 근사시키는 어려움으로 인해 제안된 모델이었다. AN(Adversarial network)은 Markov chain 없이 오직 back-propagation만으로 학습이 가능하며 별도의 추론 과정이 존재하지 않는다. 더불어, log-likelihood 추정을 통하여 실제같은 샘플들을 만들어낼 수 있다.

 

 Unconditional GAN에서는 생성 데이터의 모드를 제어할 수단이 없었으나, 추가적인 정보를 통해 모델에 조건을 걸어주면서 데이터 생성 프로세스를 제어할 수 있게 된다. 이러한 Conditioning은 class label에 근거하거나, 다른 modality에서 온 데이터 등으로 설정할 수 있다. 

 

#2 Related Work

 ##2-1 Multi-modal Learning For Image Labeling

 

    최근 신경망의 발전에도 불구하고 첫째, 많은 Class label을 가지고 있는 모델의 경우 이를 스케일링하는 것에 어려움이 있을 수 있다. 둘째, 대부분의 모델들이 input과 output의 1:1 mapping에만 집중하는 경향이 있었다. 이를 다루기 위해 첫째, 다른 modality로부터 추가적은 정보를 다루는 것으로 일부 해결할 수 있다. 예를 들어 NLP에서 corpora를 활용하여 기하적 관계에서 연속적으로 유의한 것을 찾는 방식으로 단어를 vector representation으로 변형하는 것에 해당한다. 그리고 두번째 문제에 해당하는 것의 해결 방법으로는 1:1 mapping 대신 조건적 확률 생성 모델을(cGAN)을 활용하면서 해결 할 수 있다.

 

 

#3 Conditional Adversarial Nets

 

 ##3-1 Generative Adversarial Nets

Reference: Mehdi Mirza, Simon Osindero, "Conditional Generative Adversarial Nets", 2014,arXiv:1411.1784

   GAN은 두 'Adversarial(적대적)' 모델로 이루어져 있는데,

     - 데이터 분포를 입력받아 realistic(but fake) data를 생성해내는 생성 모델 G

     - 훈련 데이터가 진짜인지, G가 만들어낸 가짜 데이터인지를 판별하는 분류 모델 D

   그리고 두 모델은 MLP와 같은 비선형 mapping 함수일 수 있다.

 

  생성모델 이 이 분포 p_g를 학습하기 위하여, 생성 모델은 prior noise distribution p_z(z)에서 mapping function을 가져와야 한다. 그리고 D(x;theta_d), 분류 모델에서 생성 모델의 분포 p_g보다 훈련 데이터에서 나온 x에 대한 확률을 스칼라 값으로 표현한다.

 

  G와 D는 동시에 학습되며, log(1-D(G(z))를 최소화하고, logD(X)를 극대화하는 방식으로 파라미터를 적용하며, 상기 V(G,D) 함수의 min-max를 통하여 궁극적으로 D(z) 확률 값을 이론적으로 0.5로 만들어 실제와 가짜를 구분할 수 없도록 만든다.

 

 

  ##3-2 Conditional Adversarial Nets

Reference: Mehdi Mirza, Simon Osindero, "Conditional Generative Adversarial Nets", 2014,arXiv:1411.1784

   상기된 GAN의 G(생성 모델)와 D(분류 모델)에 추가 정보 y를 넣어 조건부 생성 모델로 연장될 수 있다. y는 Class label이나 다른 modality에서의 data처럼 여느 종류의 보조 정보이다. 이를 input layer에 추가로 넣으면서 conditioning을 구현할 수 있으며 이는 첫째 상기 이미지와 같다.

 

   G에서는 p_z(z)y가 joint hidden representation으로 합쳐졌으며, 이 학습 프레임워크는 해당 hidden representation의 구조에 대해 큰 유연성을 허용한다. 그리고 D에서는 xy로 표현된 input이 함꼐 들어가게 된다. 이에 대한 목적 함수는 상기 두번째 이미지와 같다.

 

 

#4 Experiemental Results

 ##4-1 Unimodel

Reference: Mehdi Mirza, Simon Osindero, "Conditional Generative Adversarial Nets", 2014, arXiv:1411.1784

   Generator Net:

    - noise prior z: uniform distribution, 100-dimensionality

    - z, y: ReLU로 매핑된 각각 200-d, 1000-d layer size

    -  1200-d hidden layer로 ReLU가 합쳐짐

    - Sigmoid Unit에서 784-d MNIST samples로 변환되어 출력

 

   Discriminator Net: 

    - x: maxout layers with 240 units & 5 pieces

    - y: maxout layer with  50 units & 5 pieces

    - joint maxout layer with 240 units & 4 pieces (Sigmoid 입력 전)

  

   Training:

    - SGD with 100 mini batches

    - Learning rate = 0.1, decay factor 1.00004로 .000001 기하급수적 감소

    - Momentum=0.5 ~ 0.7로 상승

    - Dropout=0.5 on G & D

    - Val set에서 가장 좋은 log-likelihood 추정을 보일 때 Stopping point로 함

 

    ##4-2 Multimodal

Reference: Mehdi Mirza, Simon Osindero, "Conditional Generative Adversarial Nets", 2014, arXiv:1411.1784

     생성된 태그들이 기존 데이터들에 비해 적절하다라고 말할 수는 없지만, 적어도 관련도가 있는 벡터들에 기반한 단어들을 뽑아냈다는 점에서 그 의의가 보이는 결과라고 할 수 있겠다.

 

     Multi-modal

     - Image Feature: ImageNet dataset with 21,000 labels on pre-trained convolutional model

     - Tag corpus: concatenation of user-tags, titles and descriptions from YFCC100M --> dictionary of 247465 size

                            on skip-gram model with word vector size of 200

    Generator Net:

     - Gaussian noise of size 100 as noise prior & ReLU layer with 500-d

     - 4096 image feature vector to 2000 ReLU hidden layer

     - 200-d linear layer -> 생성된 word vector의 결과를 출력

 

    Discriminator Net:

     - 500-d ReLU for word vectors & 1200-d ReLU for image features

     - maxout layer with 1000 units & 3 pieces --> 최종 output으로 single sigmoid unit으로 확률값 출력

 

    Training:

     - SGD with 100 mini batches

     - Learning rate = 0.1, decay factor 1.00004로 .000001 기하급수적 감소

     - Momentum=0.5 ~ 0.7로 상승

     - Dropout=0.5 on G & D

     - hyperparameter의 경우, Cross-validation & Random Grid Search & manual Selection으로 선정됨

 

#5 Conclusion

 

  본 결과들은 굉장히 초기 버전이지만, 그럼에도 불구하고 조건부 적대적 신경망(Conditional Adversarial Network)의 잠재성을 보여줬다고 할 수 있다. 또한 추후 연구에서 더 정교하고 철저한 분석을 통해 성능과 그 특징성을 끌어올릴 수 있는 점은 특히 고무적이라고 할 수 있다. Image Model 뿐만 아니라, 특정 분야에서의 language model에서도 그 가치를 보일 수 있음을 보여주었다고 할 수 있다.

 

 단순히 GAN model에 수학적인 '조건부확률'만 넣어서 GAN 모델을 학습시켰음에도 그 특정한 정보 y가 output들에 그 영향을 줄 수 있다는 점에서 그 의의가 크다고 할 수 있다. 그리고 이는 Pix2Pix나 CycleGAN과 같은 모델의 기반이 되었다는 점은, 이러한 '조건부'와 관련된 생성모델들에 큰 영감을 주었음을 부정할 수 없다. 이러한 하나의 작은 발상이, 때로는 새로운 연구 분야의 한 기조로 작용되는 것 그리고 큰 영감의 Motivation이 된다는 것을 배울 수 있었던 논문이었다.

 

관련글 더보기

댓글 영역