Deeper Learning

CGAN: Conditional Generative Adversarial Nets 본문

AI/Deep Learning

CGAN: Conditional Generative Adversarial Nets

Dlaiml 2022. 2. 9. 09:01

Mehdi Mirza, Simon Osindero.(2014.11)

 

Abstract

Generative Adversarial Nets(이하 GAN)은 최근(2014.06) 생성 모델을 학습하기 위한 새로운 방식으로 제시되었음. $y$ label을 generator와 discriminator에게 주어 GAN이 conditional 생성을 가능하게 함. MNIST를 class label에 따라 생성, multi-modal model로 training label이 없는 image에 대해 tagging 결과를 수록


1. Introduction

GAN은 다루기 힘든 여러 확률적 계산을 근사하기 위한 생성모델 학습 프레임워크로 최근에 제시되었음. Markov chain을 사용하지 않고 역전파로만 gradient를 발생시키며 학습 도중 inference가 불필요하며 여러 요인과 상호작용을 모델에 쉽게 내포할 수 있음.

GAN은 SOTA log-likelihood 추정, 실제같은 이미지 생성을 달성하였지만 생성되는 data에 대한 class를 control할 수 없음. class 정보를 모델에 추가하여 data 생성 프로세스를 조정


2. Related Work

매우 많은 output category에 대한 supervised 학습은 아직까지 어려움이 존재. 실제 데이터에 존재하는 one-to-many mapping에 대한 문제도 존재(사람은 같은 이미지에 대해 의미적으로 같으나 다른 tag를 붙일 수 있음, 동의어나 비슷한 어휘). one-to-many 문제는 conditional probabilistic generative model로 접근할 수 있는데, input은 conditioning variable이 되고 one-to-many mapping은 conditional predictive distribution으로 여길 수 있게 됨. (one-to-many mapping에 존재하는 모호함을 input condition하에 예측 가능한 분포 문제로 instance화)


3. Conditional Adversarial Nets

3.1. Generative Adversarial Nets

GAN은 두 적대적 모델로 구성되어있다. generator $G$ 는 데이터의 분포를 capture, discriminator $D$ 는 sample이 training data에서 왔는지, $G$ 로 생성된 것인지 판별. $G, D$ 는 모두 MLP와 같은 비선형 mapping function이다.

data $x$ 에 대한 generator distribution $p_g$ 를 학습하기 위해 $G$ 는 prior noise distribution $p_z(z)$ 에서 data space로 매핑 함수 $G(z;\theta_g$) 를 build. $D$ 는 $x$ 가 $p_g$ 가 아닌 training data에서 왔을 확률 single scalar representing을 output으로 한다.

$G,D$ 는 동시에 학습되는데 $\log(1-D(G(z)))$ 를 minimize 하고 $\log D(X)$ 는 maxmize하는 식으로 two-player min-max game으로 학습된다. ($X$ 는 data 분포)

 

3.2. Conditional Adversarial Nets

generator, discriminator에 extra information $y$ 가 주어진다면 conditional model로 GAN은 확장된다. $y$ 는 class label 뿐만 아니라 어떤 modalities도 가능한 auxiliary information. input layer를 따로 추가하여 $y$ 를 generator와 discriminator에 피딩한다.

generator에서 prior input noise $p_z(z)$ 는 $y$ 와 결합되어 joint hidden representation을 만든다.

condition을 포함한 objective function과 모델 스트럭쳐 illustration


4. Experimental Results

4.1. Unimodal

prior noise $z$ 는 unit hypercube에서 uniform distribution sampling

 

4.2. Multimodal

image representation를 condition으로 하여 tag를 생성


5. Future Work

논문의 결과는 초기버전의 결과이지만 conditional GAN의 잠재력과 응용에 대한 가능성을 보여주었음. 워크숍 이전에 더 정교한 모델, 성능과 특징에 대한 연구 결과를 제시할 예정.

tag를 독립적으로 생성하였으나 이를 하나의 set으로 set generation task를 수행하면 더 좋은 결과를 보일 것이라고 첨언, 또한 언어 모델을 함께 학습시키는 scheme을 설계하는 것을 future work으로 제시


후기 & 정리

  • GAN이 소개되고 5달 만에 나온 논문
  • auxiliary information을 generator와 decoder에 feed 하여 conditional 생성을 성공
  • 고도화된 아키텍처나 학습 방법론이 아닌 conditional 생성 자체를 성공하였다는 것을 소개하는 논문

 

Reference

[0] Mehdi Mirza, Simon Osindero. (2014.11). "Conditional Generative Adversarial Nets". https://arxiv.org/abs/1411.1784.cs.LG

 

Comments