From Noise Prediction to Maximum Likelihood: Why DDPM Works
생성모델의 목표: 최대우도(Maximum Likelihood)
모든 생성모델의 공통 목표:
[maxθlogpθ(x0)]
즉,
모델이 실제 데이터 (x_0)에 높은 확률을 부여하도록 학습
Diffusion 모델도 엄연한 확률 생성모델이다.
문제점: (pθ(x0))는 직접 계산 불가능
Diffusion에서는:
- Forward process (q(xt∣xt−1)): 고정 (노이즈 추가)
- Reverse process (pθ(xt−1∣xt)): 학습 대상
하지만
[pθ(x0)=∫pθ(x0:T)dx1:T]
이 적분은 불가능.
➡️ 그래서 VAE처럼 ELBO (Evidence Lower Bound) 를 씀.
ELBO는 “직접 계산 불가능한 로그우도 대신, 계산 가능한 하한을 최대화하는 우회로”이다.
ELBO로 최대우도 하한을 최적화
Diffusion에서의 ELBO는 다음 형태로 전개된다:
[logpθ(x0)≥E∗q[logp∗θ(x0:T)−logq(x1:T∣x0)]]
전개하면 핵심 항은:
[∑t=1TKL(q(xt−1∣xt,x0);∣;pθ(xt−1∣xt))]
📌 즉, DDPM 학습 =
각 timestep마다
진짜 posterior와 모델 posterior의 KL을 줄이는 문제
DDPM 논문의 트릭
🔹 Forward process의 성질
Forward 과정은 가우시안이라서:
[q(xt∣x0)=N(αˉtx0,;(1−αˉt)I)]
그래서 진짜 posterior:
[q(xt−1∣xt,x0)]
도 정확한 Gaussian 형태로 계산 가능함.
Reverse model도 Gaussian으로 가정
모델은 이렇게 가정함:
[pθ(xt−1∣xt)=N(μθ(xt,t),Σt)]
- 분산 (Σt): 고정 또는 단순화
- 평균 (μθ): 신경망이 예측
👉 그래서 KL 최소화 = 평균을 맞추는 문제
평균 예측 ↔ 노이즈 예측의 동치성
DDPM 논문은 다음을 보인다:
[μθ(xt,t);;를 직접 예측하는 것⟺ϵθ(xt,t);를 예측하는 것]
왜냐면:
[xt=αˉtx0∗1−αˉtϵ]
이걸 뒤집으면:
[x0=αˉt1(xt−1−αˉtϵ)]
즉,
- 노이즈 (ϵ)만 알면
- (x0), 평균 (μθ), posterior 전부 계산 가능
📌 그래서 노이즈 예측은 단순한 편의가 아니라
KL을 최소화하는 충분조건
KL 최소화 → MSE 노이즈 손실로 붕괴됨
가우시안 KL은 결국:
[KL(N(μ1,Σ)∣N(μ2,Σ));∝;∣μ1−μ2∣2]
이를 노이즈 파라미터화로 바꾸면:
[E[∣ϵ−ϵθ(xt,t)∣2]]
👉 익숙한 DDPM loss
그래서 왜 “최대우도”와 연결되는가?
정리하면:
- DDPM은 확률 생성모델이다
- ELBO를 통해 최대우도의 하한을 최적화한다
- ELBO의 핵심은 timestep별 KL 최소화
- KL 최소화는 Gaussian 평균 맞추기
- 평균 예측은 노이즈 예측과 동치
- 그 결과가 MSE 노이즈 손실
📌 즉:
노이즈 MSE loss = 최대우도 학습의 구현 형태
정리
DDPM은 노이즈를 예측하도록 학습되지만, 이는 가우시안 역과정의 KL divergence를 최소화하는 것과 동치이며, 결국 ELBO를 통해 데이터 로그우도의 하한을 최대화하는 최대우도 기반 생성모델이다.