AI · Deep Learning · Computer Vision · 생성형 AI
VAE의 ELBO와 Reparameterization
2026-08-01 · 수정 2026-08-01 · Hyeongrok Ryu
Encoder가 평균과 분산을 예측하는 이유와 reconstruction·KL loss를 코드 흐름으로 정리한 기록.
- Series
- 2025 생성모델 집중과정 · 3
- 유형 / 난이도
- study-note · intermediate
- Tools
- Python, PyTorch
01하나의 좌표에서 분포로
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
02Reparameterization
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
03두 loss
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
04코드 Shape
이 글에서 순서대로 다시 확인하는 학습 포인트입니다.
하나의 좌표에서 분포로
| VAE Encoder는 (z) 하나를 내지 않고 (q_\phi(z | x))의 평균과 log variance를 예측한다. |
Reparameterization
처음에는 z = mu + std * eps가 sampling을 없앤다고 혼동했다. 실제로는 ε을 parameter 밖으로 분리해 μ와 σ까지 gradient가 흐르게 한다.
두 loss
Reconstruction은 입력 정보를 유지하고 KL divergence는 posterior가 prior에서 지나치게 멀어지지 않게 한다. 둘의 비율이 맞지 않으면 흐릿한 복원이나 posterior collapse가 생길 수 있다.
코드 Shape
mu, logvar, eps, z의 Shape가 모두 (batch, latent_dim)인지 출력했다. KL은 batch와 latent 축을 어디까지 합할지 명시해야 loss scale을 비교할 수 있었다.
다시 돌릴 실험
당시 latent interpolation 그림은 남아 있지 않았다. β 값을 바꾸고 reconstruction과 latent continuity를 함께 그리는 실험을 다음에 추가할 예정이다.
사용한 자료
- Auto-Encoding Variational Bayes — paper; ELBO and reparameterization