Why DDPM Is a Probabilistic Generative Model

study note

From Noise Prediction to Maximum Likelihood: Why DDPM Works

생성모델의 목표: 최대우도(Maximum Likelihood)

모든 생성모델의 공통 목표:

[maxθlogpθ(x0)][ \max_\theta \log p_\theta(x_0) ]

즉,

모델이 실제 데이터 (x_0)에 높은 확률을 부여하도록 학습

Diffusion 모델도 엄연한 확률 생성모델이다.


문제점: (pθ(x0))(p_\theta(x_0))는 직접 계산 불가능

Diffusion에서는:

  • Forward process (q(xtxt1))(q(x_t \mid x_{t-1})): 고정 (노이즈 추가)
  • Reverse process (pθ(xt1xt))(p_\theta(x_{t-1} \mid x_t)): 학습 대상

하지만 [pθ(x0)=pθ(x0:T)dx1:T][ p_\theta(x_0) = \int p_\theta(x_{0:T}) dx_{1:T} ]

이 적분은 불가능.

➡️ 그래서 VAE처럼 ELBO (Evidence Lower Bound) 를 씀.

ELBO는 “직접 계산 불가능한 로그우도 대신, 계산 가능한 하한을 최대화하는 우회로”이다.


ELBO로 최대우도 하한을 최적화

Diffusion에서의 ELBO는 다음 형태로 전개된다:

[logpθ(x0)Eq[logpθ(x0:T)logq(x1:Tx0)]][ \log p_\theta(x_0) \ge \mathbb{E}*q \Big[ \log p*\theta(x_{0:T}) - \log q(x_{1:T} \mid x_0) \Big] ]

전개하면 핵심 항은:

[t=1TKL(q(xt1xt,x0);;pθ(xt1xt))][ \sum_{t=1}^{T} \mathrm{KL} \big( q(x_{t-1} \mid x_t, x_0) ;|; p_\theta(x_{t-1} \mid x_t) \big) ]

📌 즉, DDPM 학습 =

각 timestep마다 진짜 posterior와 모델 posterior의 KL을 줄이는 문제


DDPM 논문의 트릭

🔹 Forward process의 성질

Forward 과정은 가우시안이라서:

[q(xtx0)=N(αˉtx0,;(1αˉt)I)][ q(x_t \mid x_0) = \mathcal{N} \big( \sqrt{\bar{\alpha}_t} x_0,; (1 - \bar{\alpha}_t) I \big) ]

그래서 진짜 posterior:

[q(xt1xt,x0)][ q(x_{t-1} \mid x_t, x_0) ]

정확한 Gaussian 형태로 계산 가능함.


Reverse model도 Gaussian으로 가정

모델은 이렇게 가정함:

[pθ(xt1xt)=N(μθ(xt,t),Σt)][ p_\theta(x_{t-1} \mid x_t)= \mathcal{N} (\mu_\theta(x_t, t), \Sigma_t) ]

  • 분산 (Σt)(\Sigma_t): 고정 또는 단순화
  • 평균 (μθ)(\mu_\theta): 신경망이 예측

👉 그래서 KL 최소화 = 평균을 맞추는 문제


평균 예측 ↔ 노이즈 예측의 동치성

DDPM 논문은 다음을 보인다:

[μθ(xt,t);;를 직접 예측하는 것ϵθ(xt,t);를 예측하는 것][ \mu_\theta(x_t, t) ;;\text{를 직접 예측하는 것} \quad\Longleftrightarrow\quad \epsilon_\theta(x_t, t);\text{를 예측하는 것} ]

왜냐면:

[xt=αˉtx01αˉtϵ][ x_t = \sqrt{\bar{\alpha}_t} x_0 * \sqrt{1 - \bar{\alpha}_t} \epsilon ]

이걸 뒤집으면:

[x0=1αˉt(xt1αˉtϵ)][ x_0 = \frac{1}{\sqrt{\bar{\alpha}_t}} \Big( x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon \Big) ]

즉,

  • 노이즈 (ϵ)(\epsilon)만 알면
  • (x0)(x_0), 평균 (μθ)(\mu_\theta), posterior 전부 계산 가능

📌 그래서 노이즈 예측은 단순한 편의가 아니라

KL을 최소화하는 충분조건


KL 최소화 → MSE 노이즈 손실로 붕괴됨

가우시안 KL은 결국:

[KL(N(μ1,Σ)N(μ2,Σ));;μ1μ22][ \mathrm{KL}(\mathcal{N}(\mu_1, \Sigma) | \mathcal{N}(\mu_2, \Sigma)) ;\propto; |\mu_1 - \mu_2|^2 ]

이를 노이즈 파라미터화로 바꾸면:

[E[ϵϵθ(xt,t)2]][ \mathbb{E} \Big[ | \epsilon - \epsilon_\theta(x_t, t) |^2 \Big] ]

👉 익숙한 DDPM loss


그래서 왜 “최대우도”와 연결되는가?

정리하면:

  1. DDPM은 확률 생성모델이다
  2. ELBO를 통해 최대우도의 하한을 최적화한다
  3. ELBO의 핵심은 timestep별 KL 최소화
  4. KL 최소화는 Gaussian 평균 맞추기
  5. 평균 예측은 노이즈 예측과 동치
  6. 그 결과가 MSE 노이즈 손실

📌 즉:

노이즈 MSE loss = 최대우도 학습의 구현 형태


정리

DDPM은 노이즈를 예측하도록 학습되지만, 이는 가우시안 역과정의 KL divergence를 최소화하는 것과 동치이며, 결국 ELBO를 통해 데이터 로그우도의 하한을 최대화하는 최대우도 기반 생성모델이다.