본문 바로가기

카테고리 없음

[논문 리뷰] Auto-Encoding Variational Bayes (VAE, 2013)

논문 리뷰 / Generative Model / Variational Inference / Latent Variable Model / VAE

https://arxiv.org/abs/1312.6114

Diederik P. Kingma, Max Welling · Machine Learning Group, Universiteit van Amsterdam

 

Auto-Encoding Variational Bayes

How can we perform efficient inference and learning in directed probabilistic models, in the presence of continuous latent variables with intractable posterior distributions, and large datasets? We introduce a stochastic variational inference and learning

arxiv.org

 

연속 latent variable을 가진 복잡한 확률 생성모델에서 intractable posterior를 효율적으로 근사하기 위해, encoder가 approximate posterior를 예측하고 reparameterization trick으로 ELBO를 미분 가능하게 만든 변분 추론 기반 생성모델 논문이다.

1. 이 논문이 중요한 이유

Auto-Encoding Variational Bayes는 오늘날 VAE, 즉 Variational Autoencoder라고 불리는 모델의 원논문이다. 이 논문은 단순히 autoencoder 구조를 probabilistic하게 바꾼 논문이 아니다. 더 정확히 말하면, 복잡한 latent variable generative model에서 posterior inference와 parameter learning을 효율적으로 동시에 수행하는 방법을 제안한 논문이다.

생성모델을 생각해보자. 우리는 관측 데이터 x가 어떤 숨겨진 latent variable z로부터 생성되었다고 가정한다. 예를 들어 손글씨 숫자 이미지는 “숫자의 형태, 굵기, 기울기, 스타일” 같은 보이지 않는 요인 z에서 생성되었다고 볼 수 있다. 이때 좋은 생성모델은 두 가지를 해야 한다. 첫째, latent variable z에서 현실적인 데이터 x를 생성할 수 있어야 한다. 둘째, 이미 관측된 데이터 x가 주어졌을 때 그 x를 설명하는 latent variable z가 무엇인지 추론할 수 있어야 한다.

문제는 posterior pθ(z|x)가 대부분의 흥미로운 모델에서 계산하기 어렵다는 점이다. pθ(z|x)를 정확히 구하려면 marginal likelihood pθ(x)=∫pθ(z)pθ(x|z)dz가 필요하다. 하지만 decoder가 neural network처럼 nonlinear한 함수이면 이 적분은 닫힌 형태로 계산되지 않는다. 기존의 EM, MCMC, mean-field variational inference는 이 문제를 해결할 수는 있지만, 복잡한 모델과 대규모 데이터에서는 계산 비용이 너무 크거나 gradient 기반 학습과 잘 맞지 않는다.

VAE 논문은 이 난점을 두 가지 아이디어로 해결한다. 첫째, true posterior pθ(z|x)를 직접 구하는 대신 encoder qφ(z|x)를 학습하여 근사한다. 둘째, z를 qφ(z|x)에서 직접 샘플링하는 대신, z = μφ(x) + σφ(x) ⊙ ε, ε ∼ N(0, I)처럼 noise ε와 differentiable transformation으로 표현한다. 이 두 번째 아이디어가 바로 reparameterization trick이다.

이 논문에서 다루는 directed graphical model. 실선은 generative model pθ(z)pθ(x❘z)를 의미하고, 점선은 intractable posterior pθ(z❘x)를 근사하는 variational approximation qφ(z❘x)를 의미한다. Variational parameter φ는 generative model parameter θ와 함께 학습된다.

 

복잡한 latent variable model에서는 posterior pθ(z|x)가 intractable하고, 데이터셋이 크면 per-datapoint iterative inference도 비현실적이다. VAE는 encoder qφ(z|x)와 reparameterization trick을 이용해 posterior inference와 generative model learning을 하나의 stochastic gradient objective로 통합한다.

2. latent variable generative model

논문은 i.i.d. 데이터셋 X = {x(i)}i=1N을 가정한다. 각 데이터 x는 관측되지 않는 연속 latent variable z를 통해 생성된다. 생성 과정은 두 단계로 표현된다. 먼저 latent variable z가 prior pθ(z)에서 샘플링되고, 그 다음 관측 데이터 x가 likelihood pθ(x|z)에서 생성된다.

Generative Process
z ∼ pθ(z),    x ∼ pθ(x|z)

여기서 prior pθ(z)는 보통 표준정규분포 N(0, I)로 둔다. Decoder pθ(x|z)는 z가 주어졌을 때 데이터를 생성하는 분포다. 이미지 데이터라면 Bernoulli decoder나 Gaussian decoder를 사용할 수 있고, decoder의 parameter는 neural network로 표현할 수 있다.

우리가 하고 싶은 것은 θ를 학습해 데이터의 marginal likelihood log pθ(x)를 크게 만드는 것이다. 하지만 pθ(x)는 다음과 같은 적분을 포함한다.

Marginal Likelihood
pθ(x) = ∫ pθ(z)pθ(x|z) dz

이 적분은 decoder가 복잡하면 계산하기 어렵다. 또한 posterior pθ(z|x) = pθ(x|z)pθ(z) / pθ(x)도 intractable해진다. 따라서 정확한 maximum likelihood learning이나 EM을 직접 적용하기 어렵다.

3. VAE의 핵심: posterior를 encoder로 근사한다

VAE는 true posterior pθ(z|x)를 직접 계산하지 않는다. 대신 qφ(z|x)라는 approximate posterior를 도입한다. 이 qφ(z|x)는 논문에서 recognition model이라고도 부른다. 오늘날 딥러닝 관점에서는 encoder라고 부르는 것이 자연스럽다.

Encoder는 입력 x를 받아 latent variable z의 분포를 출력한다. 예를 들어 Gaussian posterior를 가정하면 encoder neural network는 μφ(x)와 σφ(x)를 출력한다. 이때 qφ(z|x)는 다음과 같이 표현할 수 있다.

Approximate Posterior
qφ(z|x) = N(z; μφ(x), diag(σφ2(x)))

이 접근은 기존 variational inference와 다르게 매우 효율적이다. 전통적인 방식에서는 각 데이터 포인트마다 variational parameter를 별도로 최적화해야 하는 경우가 많았다. 반면 VAE에서는 encoder qφ(z|x)를 하나 학습하면, 새로운 x가 들어왔을 때 forward pass 한 번으로 posterior approximation을 얻을 수 있다. 이를 amortized inference라고 볼 수 있다.

  역할 VAE에서의 표현 딥러닝 관점
pθ(z) latent prior 보통 N(0, I) latent space의 기준 분포
pθ(x|z) likelihood / generator z에서 x를 생성하는 확률분포 decoder
qφ(z|x) approximate posterior x가 주어졌을 때 z의 근사분포 encoder / recognition model

4. ELBO: marginal likelihood 대신 최적화하는 목적함수

VAE는 직접 log pθ(x)를 최적화하지 않는다. 대신 그 하한인 ELBO, 즉 Evidence Lower Bound를 최적화한다. 논문에서는 variational lower bound L(θ, φ; x)로 표현한다.

Variational Decomposition
log pθ(x) = DKL(qφ(z|x) || pθ(z|x)) + L(θ, φ; x)

KL divergence는 항상 0 이상이므로, L(θ, φ; x)는 log pθ(x)의 lower bound가 된다. 우리가 ELBO를 최대화하면 두 가지 일이 동시에 일어난다. 첫째, generative model pθ(x|z)가 데이터를 잘 재구성하거나 생성하도록 학습된다. 둘째, approximate posterior qφ(z|x)가 true posterior pθ(z|x)에 가까워진다.

흔히 사용하는 형태의 ELBO는 다음과 같다.

ELBO
L(θ, φ; x) = −DKL(qφ(z|x) || pθ(z)) + Eqφ(z|x)[log pθ(x|z)]

이 식은 VAE를 이해하는 핵심이다. 오른쪽 첫 번째 항은 approximate posterior가 prior와 너무 멀어지지 않도록 하는 regularization이다. 두 번째 항은 latent z에서 x를 잘 복원하도록 하는 reconstruction likelihood다. 그래서 VAE의 loss는 보통 다음처럼 설명된다.

VAE Objective의 직관
VAE Loss = Reconstruction Error + KL Regularization

다만 엄밀하게는 논문이 ELBO를 최대화하는 형태로 쓰고, 구현에서는 음수 ELBO를 최소화하는 형태로 자주 사용한다. 따라서 reconstruction loss와 KL loss의 합을 최소화한다고 설명하는 것이 실무적으로 익숙하다.

5. 왜 reparameterization trick이 필요한가

VAE 논문의 가장 유명한 기여는 reparameterization trick이다. 문제는 qφ(z|x)에서 z를 샘플링하면, 샘플링 연산 때문에 φ에 대한 gradient를 직접 계산하기 어렵다는 점이다. Encoder parameter φ가 z의 분포를 결정하는데, z를 random sampling으로 뽑아버리면 backpropagation 경로가 끊긴 것처럼 보인다.

Reparameterization trick은 이 문제를 해결한다. z를 qφ(z|x)에서 직접 샘플링하는 대신, φ와 무관한 noise ε를 먼저 샘플링하고, z를 deterministic differentiable function으로 만든다.

Reparameterization Trick
z = μφ(x) + σφ(x) ⊙ ε,    ε ∼ N(0, I)

이렇게 하면 randomness는 ε에만 들어가고, μφ(x)와 σφ(x)는 neural network의 출력으로 남는다. 따라서 reconstruction term log pθ(x|z)에 대해 θ뿐 아니라 φ까지 backpropagation으로 학습할 수 있다. 이 간단한 변환이 VAE를 stochastic gradient descent로 학습 가능하게 만든 핵심이다.

논문에서는 더 일반적인 형태로 z = gφ(ε, x)라고 쓴다. 여기서 ε는 parameter-free noise distribution p(ε)에서 샘플링되고, gφ는 differentiable transformation이다. Gaussian posterior의 경우 gφ가 μ + σ ⊙ ε가 된다.

6. SGVB estimator와 AEVB algorithm

논문은 reparameterization trick을 이용해 ELBO의 Monte Carlo estimator를 만든다. 이를 SGVB, 즉 Stochastic Gradient Variational Bayes estimator라고 부른다. SGVB estimator는 lower bound를 stochastic하게 추정하지만, reparameterization 덕분에 standard backpropagation으로 미분할 수 있다.

i.i.d. 데이터셋에서 각 데이터 포인트마다 latent variable z가 있는 경우, 논문은 AEVB, 즉 Auto-Encoding Variational Bayes algorithm을 제안한다. AEVB는 minibatch를 뽑고, noise ε를 샘플링하고, encoder와 decoder를 거쳐 ELBO estimator의 gradient를 계산한 뒤, θ와 φ를 업데이트한다.

Auto-Encoding VB(AEVB) algorithm의 minibatch version. Minibatch X^M을 뽑고 noise ε를 샘플링한 뒤, SGVB estimator의 gradient를 계산해 generative parameter θ와 variational parameter φ를 반복적으로 업데이트한다. 실험에서는 M=100, L=1 설정을 사용한다.

 

여기서 L은 데이터 포인트 하나당 Monte Carlo sample 수다. 논문은 minibatch size M이 충분히 크면 L=1만으로도 잘 작동한다고 설명한다. 이는 매우 중요한 실용적 장점이다. 각 데이터마다 많은 z sample을 뽑지 않아도, minibatch 전체에서 gradient 추정이 안정화되기 때문이다.

  의미 VAE에서의 역할
SGVB estimator ELBO의 stochastic differentiable estimator ELBO를 SGD/Adagrad 등으로 최적화 가능하게 함
AEVB algorithm SGVB estimator를 i.i.d. latent variable model에 적용한 학습 절차 encoder와 decoder를 end-to-end로 함께 학습
Recognition model qφ(z|x) posterior inference를 amortize함

 

7. Autoencoder와 VAE는 무엇이 다른가

VAE는 이름에 autoencoder가 들어가지만, 일반적인 deterministic autoencoder와는 다르다. 일반 autoencoder는 encoder가 x를 latent vector z로 압축하고, decoder가 z에서 x를 복원한다. 주로 reconstruction error를 최소화하는 방식으로 학습된다.

VAE에서는 encoder가 하나의 z 값을 출력하는 것이 아니라 z의 확률분포 qφ(z|x)를 출력한다. Decoder도 단순히 x̂를 출력하는 것이 아니라 pθ(x|z)라는 likelihood distribution을 정의한다. 또한 objective에 KL regularization이 들어가므로 latent space가 prior p(z)에 맞춰 정리된다.

  일반 Autoencoder Variational Autoencoder
Encoder output 고정된 latent vector z latent distribution qφ(z|x)
Decoder output 재구성값 x̂ likelihood pθ(x|z)
Objective reconstruction error 중심 reconstruction term + KL regularization
Latent space 구조가 불규칙할 수 있음 prior에 맞춰 연속적이고 sampling 가능하게 정리됨

이 차이 때문에 VAE는 단순 representation learning 모델이 아니라 generative model이다. 학습 후에는 prior p(z)에서 z를 샘플링하고 decoder pθ(x|z)를 통해 새로운 데이터를 생성할 수 있다. 이것이 일반 autoencoder와 VAE의 가장 큰 차이다.

8. KL term의 의미: latent space를 정리하는 힘

VAE의 ELBO에서 KL term은 qφ(z|x)가 prior p(z)에서 너무 멀어지지 않도록 만든다. 이 항이 없다면 모델은 일반 autoencoder처럼 각 데이터를 임의의 latent 위치에 흩뿌릴 수 있다. 그러면 reconstruction은 잘 될 수 있지만, prior에서 z를 샘플링했을 때 의미 있는 데이터를 생성하기 어렵다.

KL term은 latent space를 prior와 맞추는 역할을 한다. 보통 p(z)=N(0,I)를 사용하므로, encoder가 만든 posterior qφ(z|x)는 전체적으로 표준정규분포 주변에 놓이도록 압력을 받는다. 이 덕분에 latent space가 연속적이고 smooth해지며, 새로운 z를 샘플링했을 때 decoder가 의미 있는 x를 생성할 가능성이 커진다.

다만 이 KL regularization은 trade-off를 만든다. KL term이 너무 강하면 latent z가 x의 정보를 충분히 담지 못해 reconstruction이 흐려질 수 있다. 반대로 reconstruction term만 강하면 latent space가 prior와 어긋나 generative sampling이 불안정해질 수 있다. 이 균형 문제는 이후 β-VAE, KL annealing, posterior collapse 연구로 이어진다.

Reconstruction term은 “입력을 잘 복원하라”는 신호이고, KL term은 “latent space를 prior와 맞춰 sampling 가능하게 정리하라”는 신호다. VAE는 이 두 힘 사이의 균형으로 학습된다.

9. Gaussian case의 KL term

VAE에서 가장 자주 쓰이는 설정은 prior p(z)=N(0,I), approximate posterior qφ(z|x)=N(μ, diag(σ2))인 경우다. 이때 KL divergence는 analytic하게 계산할 수 있다. 논문 Appendix B는 Gaussian case에서 KL term의 closed-form solution을 제시한다.

Gaussian Posterior vs Standard Normal Prior
−DKL(qφ(z|x) || p(z)) = 1/2 ∑j=1J [1 + log(σj2) − μj2 − σj2]

이 식은 VAE 구현에서 매우 중요하다. Reconstruction term은 decoder likelihood에 따라 binary cross entropy나 MSE 형태로 계산하고, KL term은 위 closed-form으로 계산한다. 그래서 VAE는 sampling을 포함하는 확률모델임에도 불구하고, 실제 구현은 비교적 간단한 neural network loss처럼 보인다.

10. 실험 설정: MNIST와 Frey Face

논문은 MNIST와 Frey Face dataset에서 AEVB를 wake-sleep algorithm, Monte Carlo EM과 비교한다. MNIST는 손글씨 숫자 이미지 데이터셋이고, Frey Face는 얼굴 이미지 데이터셋이다. Encoder와 decoder는 비교적 단순한 MLP로 구성된다. MNIST에서는 500 hidden units, Frey Face에서는 200 hidden units를 사용한다.

실험의 핵심은 AEVB가 lower bound를 얼마나 빠르게 최적화하는지, 그리고 marginal likelihood 측면에서 기존 방법보다 효율적인지 확인하는 것이다. 논문은 여러 latent dimension Nz에서 AEVB와 wake-sleep을 비교하고, low-dimensional latent space에서는 MCEM과도 비교한다.

  실험 목적 비교 대상 핵심 관찰
Lower bound optimization ELBO가 얼마나 빠르게 좋아지는지 확인 AEVB vs Wake-Sleep AEVB가 더 빠르게 수렴하고 더 좋은 lower bound에 도달
Marginal likelihood 생성모델의 likelihood 품질 비교 AEVB vs Wake-Sleep vs MCEM AEVB는 online하게 학습 가능하고 full MNIST에 효율적
Latent visualization 학습된 latent manifold 확인 MNIST, Frey Face 2D latent space에서 smooth한 data manifold 관찰

11. 실험 결과 1: AEVB는 wake-sleep보다 빠르게 lower bound를 최적화한다

원논문 Figure 2는 AEVB와 wake-sleep algorithm을 variational lower bound 최적화 관점에서 비교한다. MNIST와 Frey Face dataset에서 다양한 latent dimensionality Nz를 사용해 실험한다. 결과적으로 AEVB는 모든 실험에서 wake-sleep보다 훨씬 빠르게 수렴하고 더 좋은 lower bound에 도달한다.

흥미로운 점은 latent variable 수가 늘어나도 overfitting이 크게 증가하지 않았다는 점이다. 논문은 이를 lower bound의 regularizing effect로 설명한다. 즉, KL term이 posterior를 prior와 가깝게 유지하도록 압력을 주기 때문에, latent dimension이 커져도 모델이 단순히 training data를 외우는 방향으로 쉽게 가지 않는다.

AEVB와 wake-sleep algorithm을 lower bound 최적화 관점에서 비교한 결과. MNIST와 Frey Face에서 서로 다른 latent dimensionality N_z를 사용했으며, AEVB는 모든 실험에서 더 빠르게 수렴하고 더 좋은 lower bound에 도달한다. Vertical axis는 datapoint당 estimated average variational lower bound이고, horizontal axis는 평가된 training sample 수다.

12. 실험 결과 2: marginal likelihood 비교

원논문 Figure 3은 AEVB, wake-sleep, Monte Carlo EM을 estimated marginal likelihood 관점에서 비교한다. 실험은 MNIST에서 수행되며, training set size가 작은 경우와 큰 경우를 나누어 본다.

Monte Carlo EM은 low-dimensional latent space에서는 사용할 수 있지만, online algorithm이 아니고 full MNIST dataset에는 효율적으로 적용하기 어렵다. 반면 AEVB는 stochastic gradient 기반으로 minibatch 학습이 가능하므로 대규모 데이터에 훨씬 적합하다. 논문은 AEVB가 wake-sleep과 MCEM 대비 효율적이고 실용적인 inference-learning 절차임을 실험적으로 보여준다.

AEVB, wake-sleep algorithm, Monte Carlo EM을 estimated marginal likelihood 관점에서 비교한 결과. 서로 다른 training set size에서 비교하며, Monte Carlo EM은 online algorithm이 아니고 AEVB와 wake-sleep과 달리 full MNIST dataset에 효율적으로 적용하기 어렵다.

 

13. 실험 결과 3: 학습된 latent manifold

원논문 Appendix A의 Figure 4는 2차원 latent space에서 학습된 data manifold를 시각화한다. Prior가 Gaussian이므로, latent space의 unit square 상의 linearly spaced coordinate를 Gaussian inverse CDF로 변환해 z 값을 만들고, 각 z에 대해 decoder pθ(x|z)가 생성하는 이미지를 배열로 보여준다.

이 그림은 VAE가 단순히 개별 이미지를 복원하는 것이 아니라, latent space에서 연속적인 data manifold를 학습한다는 점을 직관적으로 보여준다. MNIST의 경우 latent space를 이동하면 숫자의 형태가 부드럽게 변하고, Frey Face에서도 얼굴 이미지가 연속적으로 변화한다.

2차원 latent space를 가진 generative model에서 학습된 data manifold 시각화. Frey Face와 MNIST에 대해, Gaussian prior의 inverse CDF로 얻은 latent variable z를 decoder에 넣고 해당 generative distribution pθ(x❘z)를 시각화한다.

 

 

이 결과는 VAE의 중요한 장점을 보여준다. Latent space가 prior와 정렬되어 있기 때문에, 임의의 z를 샘플링하거나 z 공간을 연속적으로 이동할 때 decoder 출력도 비교적 자연스럽게 변한다. 이것이 VAE가 generative model로서 의미를 갖는 핵심이다.

14. 실험 결과 4: latent dimensionality별 random samples

원논문 Figure 5는 MNIST generative model에서 latent dimensionality를 2, 5, 10, 20으로 바꾸었을 때 생성된 random sample을 보여준다. 이 그림은 latent dimension이 달라져도 VAE가 MNIST-like sample을 생성할 수 있음을 보여준다.

다만 오늘날 diffusion model이나 GAN의 샘플 품질과 비교하면 VAE 샘플은 상대적으로 흐릿해 보일 수 있다. 이는 VAE가 likelihood 기반 objective와 Gaussian/Bernoulli decoder를 사용하면서 평균적인 reconstruction을 선호하는 경향이 있기 때문이다. 그럼에도 이 논문 당시에는 neural network 기반 확률 생성모델을 end-to-end로 안정적으로 학습하고, latent space에서 샘플을 생성할 수 있다는 점 자체가 매우 중요했다.

MNIST에서 서로 다른 latent dimensionality를 가진 learned generative model로부터 생성한 random samples. 2-D, 5-D, 10-D, 20-D latent space 설정에서 생성된 샘플을 비교한다.

15. Appendix의 Algorithm 2는 무엇인가

Appendix F는 global parameter까지 variational inference 대상으로 확장하는 경우를 다룬다. 본문에서는 주로 θ를 point estimate로 학습하고 z에 대해 variational inference를 수행하지만, Appendix에서는 θ 자체에도 approximate posterior qφ(θ)를 둘 수 있는 더 일반적인 설정을 설명한다.

원논문 Algorithm 2는 이 확장된 설정에서 stochastic gradient를 계산하는 pseudocode다. θ와 z를 모두 reparameterization할 수 있도록 noise ε와 ζ를 샘플링하고, fφ, gφ, hφ를 통해 stochastic objective의 gradient를 계산한다. 실제 VAE 구현에서 가장 자주 쓰이는 부분은 Algorithm 1이지만, Algorithm 2는 이 방법이 latent variable뿐 아니라 global parameter의 variational inference에도 확장 가능하다는 점을 보여준다.

Appendix F에 제시된 stochastic gradient 계산 pseudocode. Global parameter와 latent variable 모두에 대해 variational posterior를 두는 확장된 설정에서, noise ε와 ζ를 샘플링하고 reparameterized functions f_φ, g_φ, h_φ를 이용해 gradient를 계산한다.

16. 논문을 읽으면서 생겼던 의문과 해소 과정

이 논문을 읽으면서 가장 먼저 생기는 의문은 “왜 굳이 posterior를 근사해야 하는가?”이다. 생성모델 pθ(x|z)를 학습하고 싶다면, 그냥 z를 샘플링해서 x를 만들면 되는 것처럼 보일 수 있다. 하지만 학습 데이터 x가 주어졌을 때 그 x를 설명하는 z가 무엇인지 알아야 decoder를 효과적으로 학습할 수 있다. True posterior pθ(z|x)는 intractable하므로 qφ(z|x)를 학습해 이를 근사한다.

두 번째 의문은 “ELBO를 최대화하면 정말 log likelihood도 좋아지는가?”이다. ELBO는 log pθ(x)의 lower bound다. 정확히는 log pθ(x)와 ELBO 사이의 차이가 DKL(qφ(z|x)||pθ(z|x))다. 따라서 ELBO를 높이면 log likelihood의 하한을 높이는 동시에 approximate posterior가 true posterior에 가까워지도록 학습된다.

세 번째 의문은 “sampling이 있는데 어떻게 backpropagation이 가능한가?”이다. 이 질문에 대한 답이 reparameterization trick이다. z를 직접 샘플링하지 않고, ε ∼ N(0,I)를 샘플링한 뒤 z = μ + σ ⊙ ε로 표현한다. 그러면 randomness는 ε에 있고, μ와 σ는 encoder network의 differentiable output이므로 gradient가 φ까지 전달된다.

네 번째 의문은 “VAE는 왜 autoencoder처럼 보이지만 생성모델인가?”이다. 일반 autoencoder는 reconstruction을 잘하는 것이 목표지만, VAE는 prior p(z), likelihood pθ(x|z), posterior approximation qφ(z|x)를 가진 확률모델이다. KL term은 latent space를 prior와 맞추고, decoder는 prior에서 샘플링한 z로부터 새로운 x를 생성할 수 있다. 이 점이 VAE를 진짜 generative model로 만든다.

다섯 번째 의문은 “왜 VAE 샘플은 GAN이나 diffusion보다 흐릿해 보이는가?”이다. VAE는 likelihood 기반 objective를 사용하며, 특히 Gaussian decoder나 Bernoulli decoder의 단순한 likelihood 가정에서는 평균적인 reconstruction을 선호하는 경향이 있다. 이 때문에 복잡한 이미지에서는 sharpness가 부족할 수 있다. 하지만 VAE의 강점은 명확한 probabilistic objective와 inference model, structured latent space에 있다.

17. VAE의 강점

  • 확률적 생성모델과 neural network를 자연스럽게 결합했다. Encoder와 decoder를 neural network로 두면서도 ELBO라는 명확한 probabilistic objective를 사용한다.
  • Reparameterization trick으로 stochastic latent variable을 backpropagation 가능하게 만들었다. 이는 이후 수많은 differentiable stochastic model의 기반이 되었다.
  • Amortized inference를 가능하게 했다. 각 데이터마다 iterative inference를 수행하지 않고, encoder forward pass 한 번으로 approximate posterior를 얻는다.
  • Latent space가 구조화된다. KL regularization 덕분에 prior에서 샘플링하고 decoder를 통해 새로운 데이터를 생성할 수 있다.
  • 확장성이 좋다. Hierarchical VAE, Conditional VAE, β-VAE, VQ-VAE, diffusion-VAE hybrid 등 다양한 후속 연구로 이어졌다.

18. VAE의 한계

첫 번째 한계는 sample quality다. 기본 VAE는 likelihood 기반 objective와 단순 decoder distribution 때문에 이미지 샘플이 흐릿해지는 경향이 있다. 특히 pixel-wise Gaussian likelihood를 쓰면 모델이 여러 가능한 출력을 평균내는 방향으로 학습될 수 있다.

두 번째 한계는 posterior collapse다. 강한 decoder를 사용하면 decoder가 z를 거의 사용하지 않고도 x를 잘 모델링할 수 있다. 이 경우 qφ(z|x)가 prior p(z)에 가까워지고, latent variable이 의미 있는 정보를 담지 못하게 된다. 이는 이후 KL annealing, free bits, β-VAE, hierarchical latent variable model 등으로 연구되었다.

세 번째 한계는 approximate posterior family의 제약이다. 원논문에서 자주 쓰는 diagonal Gaussian qφ(z|x)는 계산이 쉽지만, 복잡한 true posterior를 충분히 표현하지 못할 수 있다. 이후 normalizing flow, importance weighted autoencoder, richer posterior family 연구가 등장한 이유다.

네 번째 한계는 ELBO와 실제 sample quality 사이의 괴리다. ELBO는 likelihood의 lower bound로서 이론적으로 명확하지만, perceptual quality나 semantic consistency를 직접 최적화하는 objective는 아니다. 이 점에서 GAN, diffusion model, autoregressive model과 다른 trade-off를 가진다.

19. 후속 연구 관점에서의 의미

VAE는 이후 generative modeling 연구에 매우 큰 영향을 주었다. β-VAE는 KL term의 weight를 조절해 disentangled representation learning을 유도했다. Conditional VAE는 label이나 condition을 추가해 조건부 생성모델로 확장했다. VQ-VAE는 continuous latent 대신 discrete codebook을 사용해 high-quality generative modeling과 neural audio/image generation에 영향을 주었다.

또한 reparameterization trick은 VAE를 넘어 다양한 stochastic neural network와 Bayesian deep learning 연구에서 핵심 도구가 되었다. Continuous latent variable을 가진 모델을 gradient-based optimization으로 학습하려면, randomness를 differentiable transformation 밖으로 분리하는 이 아이디어가 매우 중요하다.

오늘날 diffusion model이나 autoregressive LLM이 생성모델의 중심에 있지만, VAE는 여전히 중요한 위치를 가진다. 특히 representation learning, structured latent variable modeling, probabilistic inference, uncertainty modeling, generative compression, multimodal latent representation 등에서는 VAE 계열 아이디어가 계속 사용된다.

  핵심 아이디어 VAE와의 연결
β-VAE KL term에 β weight 적용 disentangled representation 유도
Conditional VAE 조건 y를 encoder/decoder에 추가 조건부 생성과 semi-supervised learning으로 확장
VQ-VAE discrete latent codebook 사용 고품질 discrete representation learning으로 확장
Normalizing Flow VAE posterior family를 더 유연하게 만듦 diagonal Gaussian posterior의 표현력 한계 보완

20. 구현 관점

VAE를 구현할 때 가장 중요한 부분은 encoder가 μ와 log σ2를 출력한다는 점이다. 보통 σ를 직접 출력하기보다 log variance를 출력한다. 수치적으로 더 안정적이고, σ가 양수가 되도록 exp 또는 softplus를 적용할 수 있기 때문이다.

학습 과정은 다음과 같다. 입력 x를 encoder에 넣어 μ와 log σ2를 얻는다. ε ∼ N(0,I)를 샘플링한다. z = μ + σ ⊙ ε로 reparameterization한다. z를 decoder에 넣어 reconstruction distribution을 얻는다. 마지막으로 reconstruction loss와 KL loss를 계산해 전체 loss를 최소화한다.

VAE 학습 흐름
x → encoder → μ, log σ2 → z = μ + σ ⊙ ε → decoder → reconstruction + KL loss
  구현 포인트 주의할 점
Encoder output μ와 log σ2 출력 σ는 양수여야 하므로 log variance를 자주 사용
Sampling ε ∼ N(0,I) randomness는 ε에 두고 z는 differentiable하게 표현
Reconstruction loss −log pθ(x|z) Bernoulli decoder면 BCE, Gaussian decoder면 MSE 계열 사용 가능
KL loss DKL(qφ(z|x)||p(z)) posterior가 prior와 너무 멀어지지 않도록 regularization

21. 최종 정리

Auto-Encoding Variational Bayes는 VAE라는 이름으로 널리 알려진 변분 추론 기반 생성모델의 핵심 논문이다. 이 논문은 intractable posterior를 가진 continuous latent variable model에서 posterior inference와 generative model learning을 효율적으로 수행하는 방법을 제안한다.

논문을 읽기 전에는 “왜 posterior를 근사해야 하는가?”, “ELBO는 왜 log likelihood의 lower bound인가?”, “sampling이 있는데 어떻게 backpropagation이 가능한가?”, “VAE는 autoencoder인가 generative model인가?” 같은 의문이 생긴다. 논문은 qφ(z|x)라는 recognition model, ELBO, SGVB estimator, reparameterization trick을 통해 이 질문들에 답한다.

개인적으로 이 논문의 가장 중요한 가치는 생성모델 학습을 “확률모델의 이론”과 “neural network의 gradient-based optimization” 사이에서 매우 깔끔하게 연결했다는 점에 있다고 본다. VAE는 prior, likelihood, posterior approximation이라는 Bayesian modeling 언어를 유지하면서도, 실제 학습은 encoder-decoder neural network와 backpropagation으로 수행한다.

물론 기본 VAE는 sample quality가 흐릿할 수 있고, posterior collapse나 approximate posterior의 표현력 부족 같은 한계가 있다. 하지만 VAE가 제시한 ELBO 기반 학습, amortized inference, reparameterization trick, structured latent space는 이후 generative modeling과 representation learning 전반에 큰 영향을 주었다. 그런 점에서 이 논문은 현대 딥러닝 생성모델을 이해하기 위해 반드시 짚고 넘어가야 할 핵심 논문이다.

VAE는 intractable posterior를 encoder qφ(z|x)로 근사하고, reparameterization trick을 통해 ELBO를 backpropagation으로 최적화함으로써, 확률적 latent variable generative model을 neural network로 효율적으로 학습할 수 있게 만든 대표 논문이다.

참고 논문: Diederik P. Kingma, Max Welling, “Auto-Encoding Variational Bayes”, arXiv:1312.6114.
원문 링크: https://arxiv.org/abs/1312.6114