데이터 분포 p(x)를 직접 모델링하기는 어렵다. 하지만 그 로그 확률의 그래디언트, 즉 scores(x)=∇xlogp(x)는 “어느 방향으로 움직이면 확률이 높아지는가”를 직접 가리킨다. DDPM부터 NCSN, Score-SDE까지 — 이 챕터들은 모두 하나의 질문을 다른 각도에서 추적한다. score를 어떻게 배우고, 어떻게 쓸 것인가?
Score와 Langevin: 아이디어의 기원
Score 함수의 물리적 직관은 간단하다. 에너지 U(x)=−logp(x)를 정의하면, score는 에너지 내리막 방향 −∇U(x)다. Langevin 알고리즘은 이 방향으로 조금씩 이동하면서 열 요동(thermal noise)을 섞는다.
xk+1=xk+ηs(xk)+2ηϵk,ϵk∼N(0,I)
정리 1
· Langevin의 정상 분포 (Roberts & Tweedie 1996)
η→0 극한에서 위 반복의 정상 분포는 p(x)로 수렴한다.
▷ 증명
연속시간 극한 dx=s(x)dt+2dW의 Fokker-Planck 방정식은
0=∇⋅(πs+∇π)
를 정상 조건으로 요구한다. ∇logπ=s이면 이 식이 자동으로 0이 되므로 π=p다. □
∎
문제는 고차원이다. 두 mode가 에너지 장벽 ΔE로 분리되어 있으면 mode 전환 빈도는 ∝e−ΔE/η로 지수적으로 억제된다. 단일 noise 스케일로는 전역 탐색과 국소 정밀도를 동시에 달성할 수 없다.
Denoising Score Matching: 정규화 상수 없이 배우기
Score를 직접 추정하려면 정규화 상수 Z=∫e−E(x)dx가 필요하다. 이것이 계산 불가능하므로, Vincent (2011)은 다른 방법을 제안했다. 깨끗한 x에 Gaussian 노이즈를 더해 x~=x+σϵ을 만들면, 조건부 score는 닫힌 형태로 계산된다.
가중치 λi=σi2는 고차원에서 기울기 크기를 정규화한다. 생성 시에는 annealed Langevin sampling — 큰 σ에서 시작해 점진적으로 줄이며 Langevin을 반복하는 전략 — 을 사용한다. 큰 σ에서 전역 mode를 포착하고, 작은 σ에서 세부 구조를 채우는 방식이다.
✎ 트레이드오프
σ 스케일이 많을수록 score 추정이 촘촘해지지만 훈련 비용이 선형 증가한다. 각 σ 단계에서 Langevin 스텝 수도 수렴과 비용 사이의 균형점이다 — 너무 적으면 정상 분포에 도달하기 전에 다음 스케일로 넘어가고, 너무 많으면 계산 비용과 누적 오차가 커진다.
Score-SDE: 이산 알고리즘들의 통합
이산 step들(DDPM의 T개 step, NCSN의 L개 σ 스케일)을 연속시간 SDE로 보면, 모든 이산 알고리즘이 특수한 이산화로 통합된다. Song (2021)의 프레임워크는 forward SDE를 다음과 같이 정의한다.
dx=f(x,t)dt+g(t)dWt
그리고 Anderson (1982)의 역방향 SDE를 사용해 생성한다.
dx=[f(x,t)−g(t)2∇xlogpt(x)]dt+g(t)dWˉt
여기서 ∇xlogpt(x)≈sθ(x,t)가 학습한 score다. 같은 marginal 경로 {pt}를 따르는 probability flow ODE도 존재한다.
dtdx=f(x,t)−21g(t)2∇xlogpt(x)
ODE는 확정적(deterministic)이므로 likelihood 계산이 가능하고 더 빠른 샘플링이 허용된다. DDIM은 이 ODE sampler의 특수한 이산화다.
VP-SDE와 VE-SDE: 두 가지 철학
연속 SDE 프레임워크 안에서 두 가지 구체적인 설계 철학이 등장한다.
VP-SDE (Variance-Preserving, DDPM의 연속 극한):
dx=−21β(t)xdt+β(t)dWt
적분하면 xt=αˉ(t)x0+1−αˉ(t)ϵ이 되어 분산이 1 근방에 유지된다.
VE-SDE (Variance-Exploding, NCSN의 연속 극한):
dx=dtdσ2(t)dWt
drift가 없어 xt=x0+σ(t)ϵ이고 분산이 ∥x0∥2+σ(t)2로 성장한다.
두 접근의 핵심 차이는 다음과 같다.
VP-SDE
VE-SDE
분산 안정성
유지 (~1)
폭발적 증가
Likelihood 계산
안정적
수치 불안정 가능
저확률 영역 탐색
상대적으로 약함
Multi-scale 전략으로 강함
대응 알고리즘
DDPM
NCSN
정리
Score s(x)=∇xlogp(x)는 정규화 상수 없이 “고확률 방향”을 가리킨다.
DSM은 조건부 score −ϵ/σ를 학습 목표로 삼아 intractable한 정규화를 우회한다. 이것이 DDPM noise prediction과 수학적으로 동등하다.
NCSN은 multi-scale σ와 annealed Langevin으로 mode mixing 문제를 완화한다.
Score-SDE는 DDPM, NCSN, DDIM을 dx=fdt+gdW의 특수한 이산화로 통합하고, probability flow ODE로 deterministic 샘플링과 likelihood 계산을 가능하게 한다.
score라는 단순한 아이디어 하나가, 노이즈 스케줄 선택과 SDE 설계 전체를 관통한다.