DDPM은 1000 step의 역확산을 거쳐 이미지를 생성한다. 매 step마다 UNet forward pass가 필요하므로, 512×512 이미지 한 장에 수십 초가 걸린다. DDIM(Song et al., 2021)은 같은 학습된 모델로 10–50 step 안에 동등한 품질을 달성한다. 어떻게 가능한가? 그리고 DPM-Solver는 왜 DDIM보다도 적은 step으로 더 정확한가?
조건부의 평균이 xt에 선형이므로 귀납 가정 E[xt∣x0]=αˉtx0을 대입하면 E[xt−1∣x0]=αˉt−1x0. 분산은
Var[xt−1∣x0]=σt2+(1−αˉt−1−σt2)=1−αˉt−1
로 σt가 소거된다. □
∎
이 결과가 중요한 이유: 학습된 ϵθ는 marginal q(xt∣x0)에서의 노이즈를 예측하도록 훈련됐다. marginal이 σ와 무관하므로, 어떤 forward 경로를 선택해도 동일한 ϵθ를 재사용할 수 있다.
DDIM Sampling 공식
σt=0으로 설정하면 forward process가 완전히 결정론적(deterministic)이 된다. 이때 reverse step은 다음과 같다.
우선 xt와 ϵθ로부터 x0를 추정한다.
x^0=αˉtxt−1−αˉtϵθ(xt,t)
그 다음 xt−1로 이동한다.
xt−1=αˉt−1x^0+1−αˉt−1−σt2ϵθ(xt,t)+σtϵt
σt=0이면 마지막 항이 사라져 순수 ODE가 된다. 이 공식에는 두 가지 자유도가 있다.
σt 조정: 0이면 deterministic(재현 가능), 크면 다양성 증가
Sub-sampling schedule: 전체 {1,…,T} 중 S≪T개의 step τ1>τ2>⋯>τS만 사용
✎ 트레이드오프
Deterministic (σt=0)은 같은 xT에서 항상 같은 결과를 생성한다. 잠재 공간 보간(interpolation)이나 이미지 편집에 유리하다. 반면 σt>0인 stochastic 모드는 경로 다양성이 커져 분포 커버리지가 좋아지지만, 재현성이 없다. step 수를 극도로 줄이면(S<10) 예측 오차가 누적되어 품질이 떨어진다.
Probability Flow ODE와 DPM-Solver
DDIM deterministic은 사실 Probability Flow ODE의 1차 Euler discretization과 동치다.
dtdx=f(x,t)−21g(t)2∇logpt(x)
여기서 score ∇logpt(x)≈−ϵθ(x,t)/1−αˉt로 근사된다. DDPM forward를 xt=αˉtx0+1−αˉtϵ로 쓰고 미분하면, ODE의 우변이 x와 ϵθ(x,t)의 선형 결합으로 정리된다.
dtdx=λ(t)x+μ(t)ϵθ(x,t)
이것이 semi-linear 구조다. Lu et al.(2022)의 DPM-Solver는 이 구조를 활용한다. 선형 부분 λ(t)x는 닫힌 형태(closed form)로 정확히 적분하고, 비선형 부분 ϵθ만 수치적으로 근사한다. 지수 가중 구적법(exponentially weighted quadrature)을 사용하면 k차 solver가 O((Δt)k+1) 오차를 달성한다.
실용적으로는 DPM-Solver-2로 20 step, DPM-Solver-3으로 15 step이면 DDIM 50 step과 유사한 품질을 낸다. Stable Diffusion의 dpm++ 2m sampler가 이 방식이다.
정리
DDPM 샘플링의 병목은 Markovian reverse chain — step을 건너뛸 수 없다.
DDIM은 Non-Markovian forward를 도입해 marginal을 유지하면서 forward 경로를 자유롭게 선택한다. 학습된 ϵθ를 그대로 재사용할 수 있는 근거가 여기에 있다.