1. 생성 모델 개론
General Concept of Generative Models

- 생성 모델 : 어떤 조건(Condition) 혹은 컨셉이 주어졌을 때, 그 조건에 맞는 다양한 샘플을 확률적으로 생성하는 모델
- 위 예시에서 생성모델에 multivariate random variable들이 인풋으로 들어가서 여기에 random성을 감안해서 output이 나오는 것. 이 에, output은 training data와 완벽히 같지는 않지만 본질적인 특징을 capturing해서 나옴
- 즉, generator의 input 2 가지 : condition input, random성
Categorization of Data Generators

VAE는 ①번에 가까우며, ②번의 예시에는 디퓨전모델이 대표적으로 있음
① Direct Approach

- Training : 데이터(Data)를 입력으로 받아 Learner가 학습을 수행하고, 그 결과로 파라미터 θ를 얻는다
- Sampling : 랜덤 변수 z를 샘플링하여, 학습된 generator에 넣으면 생성 데이터인 sample이 나온다.
- 즉, 데이터를 직접 생성하는 generator 자체를 학습하는 방으로 샘플링 단계에서 랜덤 input z만 넣으면 즉시 새로운 데이터인 x̂를 생성할 수 있음
② Indirect Approach
- 데이터를 채점(score)/에너지(energy)로 평가하는 함수를 학습한다; 그리고 그 함수에서 점수가 높은 점들(x) 을 찾아서 데이터를 생성한다. 즉, '이 x가 얼마나 그럴듯한지 점수를 매기는 함수 E'를 먼저 학습하고, 점수가 높아지도록 x를 찾아가는 절차(샘플링) 를 돌려서 결과를 만든다.
- 예를들어 '공장'을 바로 만들기보다 평가자를 만든다. 평가자는 후보 x를 보고 점수를 주고, 점수 높은 x를 찾는 과정이 추가로 필요함. 이 '찾는 과정'의 예로 MCMC와 같은 샘플링 알고리즘이 있음

- Training :

- Sampling :

Generative Models

- 여기서 p theta는 likelyhood로서 모델 theta 입장에서 이 데이터 x가 나올 가능성을 의미함
- likelihood의 직관적 정의 : 확률분포함수의 y값으로 셀 수 있는 사건에서의 가능도 = 확률, 연속 사건에서의 가능도 = pdf값 (!= 확률)
Density-based Models


- constant mass : 전체 적분값은 항상 1이다.

- 데이터가 모여있는 곳에 확률 질량이 집중됨. 즉, 분포를 학습함

- theta와 무관한 second term이 삭제되며, 맨 아래와 같은 식이 유도됨.
- 즉, 실제 데이터 분포와 모델의 분포의 KL값을 최소화 하는 maximum liklihood
2. VAE의 기본 구조
Variational Autoencoder

- z → generator → x
- 여기서 z는 pose, size, color 등 보이지 않는 요인
- x는 images, videos, audios 등 관측 데이터

- z는 prior distribution에서 샘플링

generator를 통해 z가 x로 맵핑되고, 이 때 x는 하나의 값이 아니라 distribution을 가짐
- z는 가우시안과 같은 단순한 분포에서 나오고, generator는 z를 복잡한 데이터 분포 x로 바꾼다. (여기서 x는 값이 아니라 분포임)
- 즉, 복잡한걸 단순한 공간에서 생성한 뒤 복잡한 공간으로 펼친다. 이 때의 '펼치는 함수'가 generator(decoder)이다.
Latent variable z는 실제로 관측되거나 측정되는 변수가 아니라, 데이터 생성을 설명하기 위해 모델이 도입한 확률적 잠재 변수이다. 예를들어 강아지 사진을 생성하는 모델에서 latent space는 강아지 사진을 구성하는 여러 요인(ex. pose, size, color, ...)들을 직접 관측하진 않지만, 그런 요인들이 있다고 가정한 공간을 인위적으로, 단순하게 만든 것

- 여기서 theta는 generator 신경망의 파라미터이며, 학습 대상임
- 이 때, generator는 아래와 같이 값을 학습하는 게 아니고

z가 주어졌을 때, x가 어떤 확률분포를 따르는가에 대한 분포를 학습한다.

Maximum Likelihood Estimation

- KL Divergence를 줄이는게 목표 (0으로 만들 수는 없음)
- 거의 모든 생성모델에서 KL Divergence를 활용

- 이때 문제는 적분이 안되는 등 계산에 문제가 있음
- 그래서 나온 아이디어가 이들을 대체할 근사 분포 q(z)
Latent Variable Model

- 첫번째 줄에서 데이터 x의 likelihood를 최대화시킨다는 의미의 항에서 출발 (VAE의 최종목표, MLE)
- 두번째 줄로 가는 이유는 모든 pdf 적분값은 1이고, log관련항은 변수가 아니라 이런식으로 식 유도 가능
- 최종적으로 log likelihood가 세 덩어리로 분배되는데, 이 때 마지막 KL 항은 항상 0보다 큼
3. VAE 수식 전개
VAE는 직접 계산할 수 없는 log pθ(x)를 대신해서, 계산 가능한 하한(ELBO)을 최대화하는 방식으로 학습하는 생성모델이다
From Intractable to tractable formulation

Evidence Lower Bound
maximize 대상은 Intractable(계산불가능) 하니까, 이보다 항상 작거나 같은 lower bound(하한) 즉, ELBO를 대신 최대화 하자

Parameterization

- ELBO는 어떤 q(z)에 대해서도 성립하므로 q(z)를 x에 조건부인 분포로 parameterize한다.
Variational Autoencoder – Objective
Maximize ELBO => Minimize an objective (부호 변경)


Frist Term : Reconstruction

- pθ(x|z)를 Gaussian으로 두면 negative log-likelihood는 L2 loss가 된다. -> 즉, 디코더는 z로부터 x를 복원
Second Term : Regularization

- 두 번째 항은 KL divergence
- q(z|x)가 p(z)와 가까워지도록 만든다
- 즉, VAE의 두 번째 항은 encoder가 학습하는 잠재변수 분포가 사전에 정의한 prior 분포에서 과도하게 벗어나는 것을 방지한다.
이는 모델의 자유도를 제한하여 과적합을 막고, 잠재공간을 구조화된 형태로 유지하도록 유도하므로 regularization 역할을 수행한다.
4. 학습 매커니즘
VAE Overview

- VAE는 인코더 파트에서 데이터 분포를 latent distribution으로 맵핑하고,(x->z : posterior approximation) 디코더 파트에서 latent distribution을 데이터 분포로 맵핑한다. (z->x : generative model)
Variational Autoencoder의 Loss Function

- 지금까지 첫번째 줄처럼 하나의 데이터 포인트에 대해서 했으므로 이를 전체 데이터에 확장시키면 아래와 같음
Inference

- 학습할때는 인코더+디코더 둘 다 사용하지만, 추론 시에는 디코더만 활용함. latent space가 prior에 맞게 정렬되어 있기 때문
- 디코더는 한분포에서 다른 분포로 deterministic하게 맵핑함. 이는 디코더 자체는 랜덤하지 않으며 랜덤성은 오직 z 샘플링에서만 나오기 때문
Variational Autoencoder의 Encoded Latent Distribution

- 인코딩된 잠재 분포는 데이터 분포에 대해 조건부 분포를 적분한 것고, 각 x마다 qϕ(z∣x)가 다르며, 이를 데이터에 대해 전체 평균 낸 것이 qϕ(z)이다. 이 분포가 prior p(z)와 비슷해 지도록 하는 것 (초록색 화살표)
(정리)
VAE는 encoder로 근사 posterior를(사후분포, p(z|x)) 만들고, decoder로 데이터를 생성하며, reconstruction과 KL regularization을 통해 latent space를 prior에 맞게 정렬한 생성 모델이다.
이때, KL divergence 항은 encoder가 만드는 latent 분포가 사전에 정의된 prior 분포에서 벗어나지 않도록 하는
regularization 항이며, 학습 과정에서 최적화된다.
※ posterior : 데이터 x가 관측되었을 때, 그 데이터를 만들어냈을 가능성이 있는 잠재변수z 의 분포
References
- Korea Univ. AAI104
'수학,통계 for AI,DS > 확률 및 통계 - [대학원] 전공 수업' 카테고리의 다른 글
| [확률/통계] Normalizing Flow (0) | 2025.12.16 |
|---|---|
| [확률/통계] GAN (0) | 2025.12.16 |