Models & Algorithms

SDE vs ODE: Score-based Diffusion의 수학적 기초

확률적(Stochastic) vs 결정적(Deterministic). DDPM과 DDIM의 이론적 기반인 Score-based SDE와 Probability Flow ODE를 깊이 파헤칩니다.

SDE vs ODE: Score-based Diffusion의 수학적 기초

SDE vs ODE: Score-based Diffusion의 수학적 기초

확률적(Stochastic) vs 결정적(Deterministic). 같은 분포, 다른 경로.

TL;DR

  • SDE (Stochastic DE): 노이즈가 포함된 확률적 경로, DDPM의 이론적 기반
  • ODE (Ordinary DE): 결정적 경로, DDIM과 Flow Matching의 기반
  • Probability Flow ODE: SDE와 동일한 marginal 분포를 갖는 ODE
  • 핵심 차이: SDE는 다양성↑ 품질↓, ODE는 다양성↓ 품질↑ 속도↑

1. 왜 미분방정식인가?

Diffusion의 본질

Diffusion 모델은 두 분포 사이의 변환입니다:

  • Forward: 데이터 $p_{\text{data}}$ → 노이즈 $\mathcal{N}(0, I)$
  • Reverse: 노이즈 $\mathcal{N}(0, I)$ → 데이터 $p_{\text{data}}$

이 변환을 연속 시간으로 모델링하면 미분방정식이 됩니다.

이산 vs 연속

DDPM (이산):

xt1=1αt(xt1αt1αˉtϵθ(xt,t))+σtzx_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon_\theta(x_t, t)\right) + \sigma_t z

연속 시간 SDE:

dx=f(x,t)dt+g(t)dwdx = f(x, t)dt + g(t)dw

연속 시간 관점이 더 유연하고, 다양한 샘플러 설계가 가능합니다.

2. Forward SDE: 데이터에서 노이즈로

Variance Preserving SDE (VP-SDE)

DDPM에 해당하는 연속 SDE:

dx=12β(t)xdt+β(t)dwdx = -\frac{1}{2}\beta(t)x \, dt + \sqrt{\beta(t)} \, dw

여기서:

  • $\beta(t)$: noise schedule (시간에 따른 노이즈 강도)
  • $dw$: Wiener process (브라운 운동)

Variance Exploding SDE (VE-SDE)

SMLD/NCSN에 해당하는 SDE:

dx=d[σ2(t)]dtdwdx = \sqrt{\frac{d[\sigma^2(t)]}{dt}} \, dw

여기서 $\sigma(t)$는 시간에 따라 증가하는 노이즈 스케일.

Forward Process의 해

VP-SDE의 경우, 시간 $t$에서의 분포는:

xt=αˉtx0+1αˉtϵx_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon

여기서 $\bar{\alpha}_t = e^{-\int_0^t \beta(s)ds}$

이것이 DDPM의 forward process와 정확히 일치합니다!

3. Reverse SDE: 노이즈에서 데이터로

Anderson's Theorem

놀라운 사실: Forward SDE를 시간 역순으로 진행하면, 이것도 SDE입니다!

Forward:

dx=f(x,t)dt+g(t)dwdx = f(x, t)dt + g(t)dw

Reverse:

dx=[f(x,t)g(t)2xlogpt(x)]dt+g(t)dwˉdx = [f(x, t) - g(t)^2 \nabla_x \log p_t(x)]dt + g(t)d\bar{w}

여기서:

  • $\nabla_x \log p_t(x)$: Score function (핵심!)
  • $d\bar{w}$: 시간 역방향 Wiener process

Score Function이란?

xlogpt(x)=ϵ1αˉt\nabla_x \log p_t(x) = -\frac{\epsilon}{\sqrt{1-\bar{\alpha}_t}}

Score는 "현재 위치에서 데이터 방향으로의 기울기"입니다.

DDPM의 노이즈 예측 $\epsilon_\theta$와 score의 관계:

sθ(xt,t)=ϵθ(xt,t)1αˉts_\theta(x_t, t) = -\frac{\epsilon_\theta(x_t, t)}{\sqrt{1-\bar{\alpha}_t}}

4. Probability Flow ODE

핵심 발견

Song et al. (2021)의 중요한 발견:

SDE와 **같은 marginal 분포** $p_t(x)$를 갖는 **결정적 ODE**가 존재한다!

dx=[f(x,t)12g(t)2xlogpt(x)]dtdx = \left[f(x, t) - \frac{1}{2}g(t)^2 \nabla_x \log p_t(x)\right]dt

노이즈 항 $g(t)dw$가 사라지고, drift만 수정됩니다.

VP-SDE의 Probability Flow ODE

dx=[12β(t)x12β(t)xlogpt(x)]dtdx = \left[-\frac{1}{2}\beta(t)x - \frac{1}{2}\beta(t)\nabla_x \log p_t(x)\right]dt

Score를 $\epsilon_\theta$로 치환하면:

dx=[12β(t)x+β(t)21αˉtϵθ(x,t)]dtdx = \left[-\frac{1}{2}\beta(t)x + \frac{\beta(t)}{2\sqrt{1-\bar{\alpha}_t}}\epsilon_\theta(x, t)\right]dt

이것이 DDIM의 $\eta=0$ 케이스와 동일합니다!

5. SDE vs ODE: 특성 비교

샘플링 경로

특성SDE (Reverse)ODE (Probability Flow)
경로확률적 (매번 다름)결정적 (항상 같음)
노이즈매 스텝 추가없음
다양성높음낮음 (같은 z → 같은 x)
속도느림 (작은 스텝 필요)빠름 (큰 스텝 가능)

수학적 관계

python
          SDE                    ODE
     ┌───────────┐         ┌───────────┐
z ~  │ Reverse   │   z ~   │ Probability│
N(0,I)│ SDE      │  N(0,I) │ Flow ODE  │
     │           │         │           │
     └─────┬─────┘         └─────┬─────┘
           │                     │
           ▼                     ▼
        x ~ p_data           x ~ p_data

     같은 marginal 분포, 다른 경로!

DDPM vs DDIM

모델기반특성
DDPMReverse SDE$\eta=1$, 확률적
DDIMProbability Flow ODE$\eta=0$, 결정적
DDIM (일반)둘의 혼합$0 \leq \eta \leq 1$

DDIM의 $\eta$ 파라미터:

  • $\eta = 0$: 순수 ODE (결정적)
  • $\eta = 1$: 순수 SDE (DDPM과 동일)
  • $0 < \eta < 1$: 중간

6. Score Matching: Score 학습하기

Denoising Score Matching

Score function을 직접 학습하기는 어렵습니다. 대신 Denoising Score Matching을 사용:

L=Et,x0,ϵ[ϵϵθ(xt,t)2]\mathcal{L} = \mathbb{E}_{t, x_0, \epsilon}\left[\|\epsilon - \epsilon_\theta(x_t, t)\|^2\right]

이것이 DDPM의 학습 목표와 동일합니다!

Score와 노이즈 예측의 동치성

Score: sθ(x,t)xlogpt(x)\text{Score: } s_\theta(x, t) \approx \nabla_x \log p_t(x)

Noise: ϵθ(x,t)ϵ\text{Noise: } \epsilon_\theta(x, t) \approx \epsilon

관계:

sθ=ϵθσts_\theta = -\frac{\epsilon_\theta}{\sigma_t}

따라서 노이즈 예측 = Score 예측 (스케일만 다름)

7. 수치적 해법 (Solvers)

SDE Solvers

Euler-Maruyama (가장 기본):

xtΔt=xt+f(xt,t)Δt+g(t)Δtzx_{t-\Delta t} = x_t + f(x_t, t)\Delta t + g(t)\sqrt{\Delta t} \cdot z

Predictor-Corrector (Song et al.):

  1. Predictor: Euler step
  2. Corrector: Langevin dynamics로 보정

ODE Solvers

Euler (1차):

xtΔt=xt+f(xt,t)Δtx_{t-\Delta t} = x_t + f(x_t, t)\Delta t

Heun (2차):

x~=xt+f(xt,t)Δt\tilde{x} = x_t + f(x_t, t)\Delta t

xtΔt=xt+12[f(xt,t)+f(x~,tΔt)]Δtx_{t-\Delta t} = x_t + \frac{1}{2}[f(x_t, t) + f(\tilde{x}, t-\Delta t)]\Delta t

DPM-Solver (특화된 고차 solver):

  • Diffusion ODE의 구조를 활용
  • 10-20 스텝으로 고품질 생성

Solver 비교

Solver차수스텝 수특징
Euler-Maruyama11000+기본 SDE
DDPM11000이산 SDE
DDIM150-100ODE
DPM-Solver2-310-25고차 ODE
DPM-Solver++2-310-20개선된 버전

8. Flow Matching과의 연결

Conditional Flow Matching

Flow Matching도 ODE 기반:

dx=vθ(x,t)dtdx = v_\theta(x, t)dt

차이점:

  • Diffusion ODE: Score에서 유도된 drift
  • Flow Matching: 직접 velocity 학습

동일한 결과, 다른 경로

둘 다 $p_{\text{noise}} \to p_{\text{data}}$ 변환이지만:

특성Diffusion ODEFlow Matching
경로곡선 (Score 기반)직선 (Optimal Transport)
유도SDE에서 유도직접 정의
학습 목표$\epsilon$ 예측$v$ 예측

9. 실용적 선택 가이드

언제 SDE를 쓸까?

  • 다양성이 중요할 때
  • 충분한 compute가 있을 때
  • Inpainting 같은 stochastic refinement가 필요할 때

언제 ODE를 쓸까?

  • 속도가 중요할 때
  • 결정적 결과가 필요할 때 (재현성)
  • Latent interpolation이 필요할 때

현대 모델들의 선택

모델선택이유
DALL-E 2SDE (DDPM)품질 우선
Stable DiffusionODE (DDIM/DPM)속도-품질 균형
SD3/FLUXFlow ODE직선 경로로 빠른 생성

10. 고급 주제

Continuous Normalizing Flows (CNF)

ODE 관점에서 보면, diffusion은 일종의 Normalizing Flow:

logp0(x0)=logpT(xT)0Tdiv(f(xt,t))dt\log p_0(x_0) = \log p_T(x_T) - \int_0^T \text{div}(f(x_t, t)) dt

이를 통해 likelihood 계산도 가능합니다.

Optimal Transport 관점

Probability Flow ODE는 Optimal Transport와 연결:

  • 두 분포 사이의 "최단 경로"
  • Wasserstein distance와 관련

Guidance in SDE vs ODE

Classifier-Free Guidance도 SDE/ODE 모두 적용 가능:

s~(x,t)=s(x,t)+w(s(x,tc)s(x,t))\tilde{s}(x, t) = s(x, t) + w \cdot (s(x, t | c) - s(x, t))

결론

개념SDEODE
수식$dx = f dt + g dw$$dx = f dt$
대표 모델DDPMDDIM, Flow Matching
경로확률적결정적
장점다양성, 이론적 기반속도, 재현성
단점느림다양성 감소

핵심 인사이트: SDE와 ODE는 같은 문제를 다른 방식으로 푸는 것입니다. Probability Flow ODE 덕분에 우리는 SDE의 이론적 장점을 유지하면서 ODE의 실용적 장점을 얻을 수 있습니다.

References

  1. Song, Y., et al. "Score-Based Generative Modeling through Stochastic Differential Equations" (ICLR 2021)
  2. Ho, J., et al. "Denoising Diffusion Probabilistic Models" (NeurIPS 2020)
  3. Song, J., et al. "Denoising Diffusion Implicit Models" (ICLR 2021)
  4. Lipman, Y., et al. "Flow Matching for Generative Modeling" (ICLR 2023)
  5. Lu, C., et al. "DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling" (NeurIPS 2022)