Variational Autoencoder

신현수·2025년 11월 29일

1. 생성 모델 이란 ?

분류 모델 vs 생성 모델

  • 분류 모델
    - 입력 xx 가 주어졌을때 yy 가 나올 Posterior probability p(y∣x)p(y|x) 를 estimate 함.
  • 생성 모델
    - 입력 xx 의 data probability distribution p(x)p(x) or p(x,z)p(x,z) 를 pθ(x)p_{θ}(x) or pθ(x,z)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)p_{θ}(x) -> data distribuion 을 학습.
  • 가정: Latent structure z 가 존재 한다.
    pθ(x)p_{θ}(x)= ∫pθ(z,x)dz∫p_{θ}(z,x)dz =∫pθ(z)pθ(x∣z)dz∫p_{θ}(z)p_{θ}(x|z)dz -> Data (marginal) likelihood
  • 학습 데이터의 likelihood 를 최대화하는 모델의 파라미터를 학습.

Intractability

  • Data likelihood: pθ(x)p_{θ}(x) = ∫pθ(z)pθ(x∣z)dz∫p_{θ}(z)p_{θ}(x|z)dz
    - pθ(z)p_{θ}(z)= Simple Gaussian prior N(z;0,I)N(z;0,I)
    - pθ(x∣z)p_{θ}(x|z) = Likelihood: complicated non-linear function
    - 모든 z 에 대한 integral 을 compute 하는 것은 Intractable 함.
  • 그럼 신경망을 쓰자..
    • maximum likelihood estimation 을 직접 안 쓰는 이유
      • Monte Carlo MLE
        pθ(x)≈1N∑i=1Npθ(x∣z)p_{\theta}(x) \approx \frac{1}{N} \sum_{i=1}^{N} p_{\theta}(x|z)
      • 1 픽셀이 shift 되어도 픽셀 간 오차 (MSE) 는 매우 커져 모델은 이를 나쁜 것으로 인식하고, 반대로 반이 짤려나가도 남은 픽셀이 일치하면 오차 (MSE) 가 작아서 모델은 이를 좋은 것으로 착각하게됨.
  • Solution: Sampling zz~pθ(z∣x)p_{θ}(z|x) instead of pθ(z)p_{θ}(z)
    - 그러나 이 또한 intractable 함..
    pθ(z∣x)=pθ(x∣z)pθ(z)/pθ(x)p_{θ}(z|x)=p_{θ}(x|z)p_{θ}(z)/p_{θ}(x) (여기서 pθ(x)p_{θ}(x) 가 intractable)
  • Solution: Sampling zz~qΦ(z∣x)q_{Φ}(z|x) approximates pθ(z∣x)p_{θ}(z|x)
    • True posterior pθ(z∣x)p_{θ}(z|x) 는 unkonwn 임.
    • qΦ(z∣x)q_{Φ}(z|x): True posterior pθ(z∣x)p_{θ}(z|x) 를 approximate 하는 다루기 쉬운 형태(Ex: Gaussian)로 가정한 분포
      -> 그럼 qΦ(z∣x)q_{Φ}(z|x) 에서 z 를 샘플링 할 수 있다 !!
      -> encoder qΦ(z∣x)q_{Φ}(z|x) 를 신경망으로 만들자 !!

Variational inference

  • qΦ∗(z∣x)q_{Φ}^{*}(z|x) = argminKLD(qΦ(z∣x)∣∣pθ(z∣x))arg min KLD(q_{Φ}(z|x)||p_{θ}(z|x))
    단, pθ(z∣x)p_{θ}(z|x) 는 여전히 intractable 함.
    -> Special Technique (ELBO) 이 필요함.

  • ELBO: Evidence LowerBOund
    -> pθ(x)p_{θ}(x),pθ(z∣x)p_{θ}(z|x),qΦ(z∣x)q_{Φ}(z|x) 간의 관계를 만들고 intractable 한 term 들을 지우는 것이 목표.
    log(pθ(x))log(p_{θ}(x)) = ∫log(pθ(x))qΦ(z∣x)dz∫log(p_{θ}(x))q_{Φ}(z|x)dz (Ez∼qΦ(z∣x)E_{z \sim q_{Φ}(z|x)}[log(pθ(x)][log(p_{θ}(x)])
      =∫log(pθ(x,z)pθ(z∣x))qΦ(z∣x)dz\quad\quad\quad\quad\;=∫log(\frac{p_{θ}(x,z)}{p_{θ}(z|x)})q_{Φ}(z|x)dz (Bayes's Rule)
      =∫log(pθ(x,z)qΦ(z∣x)⋅qΦ(z∣x)pθ(z∣x))qΦ(z∣x)dz\quad\quad\quad\quad\;=∫log(\frac{p_{θ}(x,z)}{q_{Φ}(z|x)}\cdot\frac{q_{Φ}(z|x)}{p_{θ}(z|x)})q_{Φ}(z|x)dz (qq\frac{q}{q} technique)
      =∫log(pθ(x,z)qΦ(z∣x))qΦ(z∣x)dz+∫log(qΦ(z∣x)pθ(x,z))qΦ(z∣x)dz\quad\quad\quad\quad\;=∫log(\frac{p_{θ}(x,z)}{q_{Φ}(z|x)})q_{Φ}(z|x)dz+∫log(\frac{q_{Φ}(z|x)}{p_{θ}(x,z)})q_{Φ}(z|x)dz
      =ELBO(θ,Φ)\quad\quad\quad\quad\;=ELBO(θ,Φ) + KL(qΦ(z∣x)∣∣pθ(z∣x))KL(q_{Φ}(z|x)||p_{θ}(z|x))

    이때, KL 텀은 항상 양수이며 관측된 데이터 xx에 대해 좌변 log⁡pθ(x)\log p_\theta(x)는 고정된 값임.
    따라서 좌변을 10이라고 예를 들어 본다면
    10=1(ELBO)+9(KL)10 = 1(\text{ELBO}) + 9(\text{KL}) 라고 할 때, 전체 합(10)이 고정되어 있으므로 KL(Gap)을 줄이는 것은 곧 ELBO(Lower Bound)를 키우는 것과 수학적으로 동치임.

따라서 log(pθ(x))log(p_{θ}(x)) = ELBO(θ,Φ)ELBO(θ,Φ) + KL(qΦ(z∣x)∣∣pθ(z∣x))\cancel{KL(q_{Φ}(z|x)||p_{θ}(z|x))} 가 됨.
ELBO(θ,Φ)ELBO(θ,Φ) = ∫log(pθ(x,z)qΦ(z∣x))qΦ(z∣x)dz∫log(\frac{p_{θ}(x,z)}{q_{Φ}(z|x)})q_{Φ}(z|x)dz

=∫log(pθ(x∣z)pθ(z)qΦ(z∣x))qΦ(z∣x)dz\quad\quad\quad\quad\quad\quad=∫log(\frac{p_{θ}(x|z)p_{θ}(z)}{q_{Φ}(z|x)})q_{Φ}(z|x)dz (pθ(x,z)=pθ(x∣z)pθ(z))\quad (p_{θ}(x,z)=p_{θ}(x|z)p_{θ}(z))

=∫log(pθ(x∣z)qΦ(z∣x)dz−∫log(qΦ(z∣x)pθ(z))qΦ(z∣x)dz\quad\quad\quad\quad\quad\quad= ∫log({p_{θ}(x|z)}q_{Φ}(z|x)dz -∫log(\frac{q_{Φ}(z|x)}{p_{θ}(z)})q_{Φ}(z|x)dz

=Ez∼qΦ(z∣x)[log(pθ(x∣z)]−KL(qΦ(z∣x)∣∣pθ(z))\quad\quad\quad\quad\quad\quad= E_{z \sim q_{Φ}(z|x)}[log({p_{θ}(x|z)}] - KL(q_{Φ}(z|x)||p_{θ}(z))

로써 모든 텀이 tractable 해짐...

5. (studying)Reparameterization trick

Reference
Oh, Heeseok. (2025). Lec 07: Variational Autoencoder [PDF slides], Visual Intelligence Learning, Hansung Univ.

도움 준 사람..
@hyungyum

0개의 댓글