TechNOTE

[논문리뷰] CGANS with Projection Discriminator 본문

딥러닝, 연구

[논문리뷰] CGANS with Projection Discriminator

JU1234 2020. 11. 23. 21:19

요약

  • conditional information을 GAN의 discriminator에 합치는 것을 projection based 로 하는 것을 제안했다.
  • 기존에 input conditional information을 concat 하는 방식과는 다르고,
  • 이 방법으로 class conditional image generation task에서 SOTA 달성했다고 한다.
  • https://github.com/pfnet-research/sngan_projection
 

pfnet-research/sngan_projection

GANs with spectral normalization and projection discriminator - pfnet-research/sngan_projection

github.com

1. Introduction

GAN은 target distribution을 모방할 수 있도록 모델을 학습시키는 framework의 일종이다. 이미지 도메인에서 맹활햑중이다.

Conditional GAN은 discriminator(구별자)와 generator(생성자) 사이에 conditional information을 사용하는 type의 GAN이다. 기존의 GAN과는 다르게, cGAN의 discriminator는 생성 분포와 목표 분포를 generated sample x와 조건 변수 y를 기준으로 분류해 낸다.

지금까지는 y를 embedding 해서 feature vector에 concat 하는 방식으로 했지만, 여기서는 생성 분포와 목표 분포 사이의 information theoretic distance를 측정하는 방법을 기반으로 discriminator를 모델링 하여 conditional probabilistic model을 짰다고 한다.

2. Model

input vector를 x로 두고, conditional information을 y라고 한다면. cGAN discriminator를 다음과 같이 지정할 수 있다.

f는 x와 y에 대한 function이고 theta는 파라미터, A는 사용자의 편의에 따른 활성 함수이다.

q를 실제 분포, p는 generative model의 분포라고 한다면, 일반적인 discriminator의 adversarial losss는 다음과 같이 구성할 수 있다.

이 경우 loss function에 GAN의 optimal한 형태의 solution을 고려한다면, 다음과 같이 두 개의 log likelihood ratio로 쪼개질 수 있다.

맞는지는 모르겠지만, 내가 이해한 바를 덧붙이자면 결국에는 p(x,y) 와 q(x,y)가 비슷해 져야 하는건데 이걸 log likelihood ratio 로 표현 한다면

D = -2*log(likelihood for null model | likelihood for alternative model) 이 되므로 상수 없애서 (null model 을 q, alternative model을 p로 표현) 다음과 같이 표현한 게 아닐까 싶다.

지금, 우리는 r(y|x) 나 r(x) 같은 log likelihood ratio를 f1, f2의 parametric function으로 표현할 수 있는데

만약,, p(x|y) 나 q(x|y)가 Gaussian이나 discrete log linear on feature space에서 왔다고 가정한다면, 다음과 같은 parametrization이 가능해진다.

V는 y에 대한 embedding matrix이고, φ(·, θΦ) 는 x에 대한 vector ouput. ψ(·, θΨ) 는 scalar function이다.

다음 그림을 참고하여 타 모델들과의 차이점을 이해하도록 하자.

3. Proof

자 categorical variable의 경우를 고려해 보자. y는 {1,...,C} 까지의 값을 가지는 categorical variable이다.

p(y|x) 를 모델링 하는 모델은 대표적으로 다음과 같은 log linear 모델이 있다.

target distribution q도 이 형태도 parameterization될 수 있다고 생각하면, 같은 φ 를 골라준다면 log likelihood ratio는 다음과 같이 표현이 가능하다. (빼준거니까..)

로 두고, 우변 끝의 normalization constant 를 ψ(φ(x)) 라고 한다면, 다음 equation을,,

이렇게 나타낼 수 있다.

label information을 inner product로 표현하게 되었는데, 이것은 위에 제시한 형태와 동일하다.

unimodal 한 continuous distribution p(y|x) 를 생각해 봐도 똑같은 point에 도달할 수 있는데,

y를 d dimensional한 continuous variable이라고 생각하고, conditional q(y|x) 와 p(y|x) 가 가우시안이라면,

로 표현가능하다. 그리고 또 log likelihood ratio는

다은과 같이 표현이 가능하고, Λq = Λp := Λ 로 가정했을 때, 왼쪽의 quadratic term은 무시할 수 있다. 또, 가운데 항을 V라고 해 주면 위의 형태와 같은 부분에 도달이 가능하다.

이 경우의 다음 regularization effect가 G에 영향을 미치는 부분은 unclear 하지만 p(y|x) 와 q(y|x)가 simple하다는 가정 하에 학습시킨다면 높은 가능성으로 안정적으로 GAN Training 이 가능함을 보일 수 있었다.

4.  Code

구현은 간단하게 마무리할 수 있다. 

다음처럼 마지막 linear layer 들어가기 전에 condition을 한 embedding 한 값과 곱해주면 된다.

반응형
Comments