Variational Autoencoder

신현수·2025년 11월 29일

1. 생성 모델 이란 ?

분류 모델 vs 생성 모델

  • 분류 모델
    - 입력 xx 가 주어졌을때 yy 가 나올 Posterior probability p(yx)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θ(xz)dz∫p_{θ}(z)p_{θ}(x|z)dz -> Data (marginal) likelihood
  • 학습 데이터의 likelihood 를 최대화하는 모델의 파라미터를 학습.

Intractability

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

Variational inference

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

  • ELBO: Evidence LowerBOund
    -> pθ(x)p_{θ}(x),pθ(zx)p_{θ}(z|x),qΦ(zx)q_{Φ}(z|x) 간의 관계를 만들고 intractable 한 term 들을 지우는 것이 목표.
    log(pθ(x))log(p_{θ}(x)) = log(pθ(x))qΦ(zx)dz∫log(p_{θ}(x))q_{Φ}(z|x)dz (EzqΦ(zx)E_{z \sim q_{Φ}(z|x)}[log(pθ(x)][log(p_{θ}(x)])
      =log(pθ(x,z)pθ(zx))qΦ(zx)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Φ(zx)qΦ(zx)pθ(zx))qΦ(zx)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Φ(zx))qΦ(zx)dz+log(qΦ(zx)pθ(x,z))qΦ(zx)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Φ(zx)pθ(zx))KL(q_{Φ}(z|x)||p_{θ}(z|x))

    이때, KL 텀은 항상 양수이며 관측된 데이터 xx에 대해 좌변 logpθ(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Φ(zx)pθ(zx))\cancel{KL(q_{Φ}(z|x)||p_{θ}(z|x))} 가 됨.
ELBO(θ,Φ)ELBO(θ,Φ) = log(pθ(x,z)qΦ(zx))qΦ(zx)dz∫log(\frac{p_{θ}(x,z)}{q_{Φ}(z|x)})q_{Φ}(z|x)dz

=log(pθ(xz)pθ(z)qΦ(zx))qΦ(zx)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θ(xz)pθ(z))\quad (p_{θ}(x,z)=p_{θ}(x|z)p_{θ}(z))

=log(pθ(xz)qΦ(zx)dzlog(qΦ(zx)pθ(z))qΦ(zx)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

=EzqΦ(zx)[log(pθ(xz)]KL(qΦ(zx)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개의 댓글