생성 모델의 초기 형태인 Variational AutoEncoder (VAE)를 간단하게 정리해본다.
DALL-E 등의 생성 모델들에서 이산화된 VAE를 많이 쓰길래 그 기반이 되는 VAE를 복습할 겸 해서 정리한다.

VAE의 구성요소는 아래와 같다.
1. Observation, 관측된 데이터 $x$. 데이터 집합 $D$.
2. Latent variables, 잠재 변수 $z$
3. Stochastic Encoder 함수 $q_{\psi}(z | x)$는 주어진 관측 데이터로부터 latent space로 매핑하는 함수다.
이는 Inference Model이라고 한다. 이를 통해서 다루기 어려운 함수인 $p_{\theta} ( z | x)$를 근사한다.
그리고 $p_{\theta } ( z | x) = p_{\theta } ( x | z) p_{\theta } (z) / p_{\theta} (x) $의 측면에서 $p_{\theta} ( z | x)$는 베이지안 측면에서 posterior distribution이다. 이때, 일반적으로 evidence인 $p_{\theta} (x)$은 구하기 힘들기 때문에 Evidence Lower Bound (ELBO)를 사용한다. 자세한 내용은 아래에서 다룬다.
4. Stochastic Decoder 함수 $p_{\theta} (x | z)$는 주어진 잠재 변수로 부터 데이터 집합으로 매핑하는 함수다.
Joint distributon $p_{\theta} (x , z) = p_{\theta} (z) p_{\theta} (x | z)$의 식이 성립한다.
이때 $p_{\theta} (z) $는 latent space에 대한 priot distribution이다.
Evidence Lower Bound (ELBO)
Evidence인 $p_{\theta}(x)$에 대해서 다음의 식 2.5 ~ 2.8이 성립한다.

ELBO 자체는 전체 블로그 글 (링크)에서 정리한 적 있으므로 자세한 내용은 생략한다.
이때 KLD의 정의에 의해서 $D_{KL}( q_{\psi} ( z | x)$ || p_{\theta} ( z | x))$는 실제 알고자 하는 분포 $p_{\theta} ( z | x)$와 근사 분포 $q_{\psi} ( z | x)$의 차이를 의미한다.
위 2.8에 있는 ELBO 부분을 다시 정리하면 아래 2.10과 같이 표시할 수 있다.

그리고 2.8을 다시 정리하면 아래 2.11과 2.12의 식이 성립한다.

2.10 혹은 2.11로 표기할 수 있는 EBLO를 loss function으로 하여 최대화한다.
ELBO와 marginal likelihood인 log $p_{\theta}(x)$의 차이는 tightness of the bound라고 하고, 이 차이가 작을수록 true posterior와 approximate posterior의 차이가 작아진다.
Training

위 Figure 2.2에 나와있듯이 데이터를 넣고 ELBO를 구해서 최대화한다.
이때, Encoder와 Decoder는 Neural Network 구조이고, SGD로 ELBO를 최대화한다.
호랑이 이미지를 넣어서 latent variables를 만들고 이를 다시 호랑이 이미지로 만들기 때문에 VAE는 일종의 reconstruction 모델이다.
Generation
잘 학습된 인코더의 파라미터 $\psi$와 디코더의 파라미터 $\theta$를 갖게 된다.
이를 토대로, prior $p_{\theta } (z) $는 보통 표준 정규분포이므로, $N(0, 1)$에서 부터 데이터를 샘플링한다.
그 다음 이를 디코더 함수 $p_{\theta}(x | z)$에 집어 넣어서 데이터 (예를 들어 호랑이 이미지) 를 생성한다.
References:
An Introduction to Variational Autoencoders (링크)
https://process-mining.tistory.com/161
https://velog.io/@tobigs16gm/VAEVariational-Auto-Encoder
https://greeksharifa.github.io/discrete%20representation/2021/11/07/VQVAE/
'Computer Vision > Generative Models' 카테고리의 다른 글
| Stable Diffusion (2022) 논문 리뷰 (1) | 2025.07.02 |
|---|---|
| Diffusion Model 기본 내용 정리 (0) | 2025.07.02 |
| Introduction to Generative Models (0) | 2024.02.26 |