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를 예측한다.
VAE의 입력, encoder, 평균과 분산, latent, decoder 구조
학습 가능한 parameter와 무작위 sampling의 위치를 나눠 그렸다.

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를 함께 그리는 실험을 다음에 추가할 예정이다.

사용한 자료

논문 첫 페이지 미리보기