분류 모델
- 입력 x 가 주어졌을때 y 가 나올 Posterior probability p(y∣x) 를 estimate 함.
생성 모델
- 입력 x 의 data probability distribution p(x) or p(x,z) 를 pθ(x) or pθ(x,z) 로 estimated 함.
2. Latent distribuion 이란 ?
high-dimensional 인 data 를 더 manageable 한 latent space 로 Mapping 하여 generation 이 쉽게 함.
3. VAE 란 ?
AE vs VAE
AE
Goal: Dimension reduction
Ex) Face image (64x64) -> 5 latent variables (skin, gender, hair color ... )
Latent space
Latent variable
Latent variables with scalar values (vector)
VAE
Goal: Data generator
Latent distribution 에서 모든 샘플에 대해 정확한 reconstruction 을 기대
Latent variables with probability distirbution
4. VAE
Approach
Aim to model pθ(x) -> data distribuion 을 학습.
가정: Latent structure z 가 존재 한다. pθ(x)= ∫pθ(z,x)dz =∫pθ(z)pθ(x∣z)dz -> Data (marginal) likelihood
학습 데이터의 likelihood 를 최대화하는 모델의 파라미터를 학습.
Intractability
Data likelihood: pθ(x) = ∫pθ(z)pθ(x∣z)dz
- pθ(z)= Simple Gaussian prior N(z;0,I)
- pθ(x∣z) = Likelihood: complicated non-linear function
- 모든 z 에 대한 integral 을 compute 하는 것은 Intractable 함.
그럼 신경망을 쓰자..
maximum likelihood estimation 을 직접 안 쓰는 이유
Monte Carlo MLE pθ(x)≈N1∑i=1Npθ(x∣z)
1 픽셀이 shift 되어도 픽셀 간 오차 (MSE) 는 매우 커져 모델은 이를 나쁜 것으로 인식하고, 반대로 반이 짤려나가도 남은 픽셀이 일치하면 오차 (MSE) 가 작아서 모델은 이를 좋은 것으로 착각하게됨.
Solution: Sampling z~pθ(z∣x) instead of pθ(z)
- 그러나 이 또한 intractable 함.. pθ(z∣x)=pθ(x∣z)pθ(z)/pθ(x) (여기서 pθ(x) 가 intractable)
qΦ(z∣x): True posterior pθ(z∣x) 를 approximate 하는 다루기 쉬운 형태(Ex: Gaussian)로 가정한 분포
-> 그럼 qΦ(z∣x) 에서 z 를 샘플링 할 수 있다 !!
-> encoder qΦ(z∣x) 를 신경망으로 만들자 !!
Variational inference
qΦ∗(z∣x) = argminKLD(qΦ(z∣x)∣∣pθ(z∣x))
단, pθ(z∣x) 는 여전히 intractable 함.
-> Special Technique (ELBO) 이 필요함.
ELBO: Evidence LowerBOund
-> pθ(x),pθ(z∣x),qΦ(z∣x) 간의 관계를 만들고 intractable 한 term 들을 지우는 것이 목표. log(pθ(x)) = ∫log(pθ(x))qΦ(z∣x)dz (Ez∼qΦ(z∣x)[log(pθ(x)]) =∫log(pθ(z∣x)pθ(x,z))qΦ(z∣x)dz (Bayes's Rule) =∫log(qΦ(z∣x)pθ(x,z)⋅pθ(z∣x)qΦ(z∣x))qΦ(z∣x)dz (qq technique) =∫log(qΦ(z∣x)pθ(x,z))qΦ(z∣x)dz+∫log(pθ(x,z)qΦ(z∣x))qΦ(z∣x)dz =ELBO(θ,Φ) + KL(qΦ(z∣x)∣∣pθ(z∣x))
이때, KL 텀은 항상 양수이며 관측된 데이터 x에 대해 좌변 logpθ(x)는 고정된 값임.
따라서 좌변을 10이라고 예를 들어 본다면 10=1(ELBO)+9(KL) 라고 할 때, 전체 합(10)이 고정되어 있으므로 KL(Gap)을 줄이는 것은 곧 ELBO(Lower Bound)를 키우는 것과 수학적으로 동치임.
따라서 log(pθ(x)) = ELBO(θ,Φ) + KL(qΦ(z∣x)∣∣pθ(z∣x)) 가 됨. ELBO(θ,Φ) = ∫log(qΦ(z∣x)pθ(x,z))qΦ(z∣x)dz