AI 부캠

[부캠]Genreative model

리하이 2021. 2. 13. 10:38
  • Generative  model
  • Auto regression model
  • Variation Auto Encoder
  • GAN

Generative model

문제 정의

우도(likelihood)나 사후 확률(posterior probability)를 사용하여 분류 경계선(decision boundary)를 만드는 모델

예를들어,

이미지에서 강아지 class의 분포를 가르키는 P(x)가 있다면, 이 분포 P(x)를 추측하는 방법이다.

 

한계

분포를 구성하는 feature는 서로 의존적이기 때문에 parameter 수가 기하급수적으로 늘어난다.

ex>

Bernouli distribution --> 필요한 params 수  : 1

Categorical distribution --> 필요한 params 수 : n-1 (class가 n개)

이미지 생성 --> 255*255*255*N (각각 R,G,B당, 픽셀수)

 

해결방법

1. thinkg Naiively 

모든 feature가 독립적이라 가정한다.

- X1,X2...Xn이 상호 의존적일 때 --> params 수 : 2^n

* chain rule로 이해하면 쉬움

P(x1) --> parmas 수 : 1개

P(x1,x2) = P(x1)P(x2|x1) --> params 수 : 2개

P(x1,x2,x3) = P(x1)P(x2|x1)P(x3|x1,x2) --> params 수 : 4개

- X1,X2...Xn이 독립적이라면  --> n

 

2. Conditional independance

부분적으로만 independant하다고 가정하는 방법.

Auto Regression의 기반이 됨.

- Markov assumption

i 번째 feature는 i-1에만 independant

 


Auto Regression Model

NADE (Neural Autoregressive Density Estimator)

i번째 feature는 1~i-1에만 independant라고 가정함.

인풋에 따라 weight가 점점 커짐. (이전의 feature에 대한 weight 계속 추가해야 함)

혼합 가우시안 분포가 이용이됨.

Pixel RNN

RNN을 이용해서 Auto regressive model을 build.

 


Variation Auto-Encoder

문제정의

posterior distribution에 가장 맞는 variational distribution을 구하는것

posterior distribution : observation이 주어졌을 때, 내가 관심있어하는 random variable의 확률분포.

 

posterior distribution 와 variational distribution의 KL divergence distance를 줄이는 방향으로 optimize한다.

Variation Auto Encoder

 

데이터 generate 방법

1. Encoder를 통해 Variational distribution을 구한다.

2. Prior distribution를 근사한다. (latent space)

3. latent space에서 smapling을 통해 추출한다.

4. Decoder를 통해 데이터를 (생성)한다.

 

ELBO ( Evidence lower Bound)

어떻게 posterior distribution 와 variational distribution의 KL divergence distance를 줄이는 방향으로 optimize 할 수 있을까?

 posterior distribution를 알지도 못하는데..?

ELBO를 높임으로써 KL distance를 줄이는 방향으로 유도할 수 있다.