[Week6 & Day 3] Conditional Generative Model

2021. 9. 16. 23:42AI 부스트캠프

Generative model vs Conditional generative model

Generative model은 이미지나 샘플을 생성할 수 있지만, 조작이 불가하다.

반면에 Conditional generative model은 내가 원하는데로 응용 할 수 있다는 장점이있다.

 

  • GAN

기본적인 GAN은 Generator와 Discriminator가 서로 상호작용을 하면서 성능을 높이는 방법이다.

 

  • GAN vs Conditional GAN

G : Generator / D : Discriminator

 

  • Conditional GAN and Example

우측에서 LR image를 넣어주는데 이는 낮은 픽셀의 이미지를 뜻한다.

 

  • Comparison of MAE, MSE and GAN losses

 

 

 

Input Image를 검은색 or 흰색 두개만 준다면?

 

>>> input image에 L1 loss를 이용하면 아웃풋이 회색으로 나온다

>>> GAN loss를 이용하면 output이 검은색이나 흰색으로 나온다

 

Image translation GANs

Pix2Pix

Total Loss를 이용한다!

why?

>>> 만약 GAN loss만을 이용한다면, 입력된 두개의 pair(x and y)를 직접 비교하는 것이 아닌 independent적으로 Discriminator 해서 real or fake 를 판별한다.

즉, 입력이 어떤 값이 들어오더라도 y와 직접 비교하지 않기 때문에 y와 밀접한 결과를 만들 수 없다.

 

>>> 그렇다면 L1 loss를 추가한다면, y와 거의 비슷한 이미지를 output 할 수 있고, GAN loss를 이용해서 현실감있는 이미지를 출력해 줄 수 있다.

 

Cycle GAN

def. Pix2Pix 기법은 supervised learning 기법이므로 x대한 y의 정답이 필요하다.

하지만 unsupervised learning에 대해서도 x와 y의 어떤 관계가 없이 dataset으로만 주어졌을때 활용이 가능한 기법이다.

GAN loss : X <=> Y 동시에 학습하여 모델링을 한다

>>>문제점 : input에 상관없이 하나의 output만을 출력하게 된다

 

Cycle loss : X-> Y 이후 Y->X로 갈때 돌아가는 경우에 이미지는 원본으로 돌려야된다.

 

Perceptual loss

GAN loss vs perceptual loss

  • GAN loss : 코딩, trian 하기 힘들다 / pre-trained model을 요구하지 않는다 / 튜닝을 해야되고, 생성모델과 분류모델의 반복학습이 요구된다.
  • Perceptual loss : 코딩, train하기 쉽다 / loss를 측정하는데 pre-trained 된 모델이 필요하다

 

++ 이부분은 매우 어렵고 수식적으로 복잡하므로 정확한 분석과 정의가 필요하다 (주말을 이용하여 추가 정리 )