Score-Based Generative Modeling through Stochastic Differential Equations
Stochastic Differential Equation DDPM 등의 Diffusion 모델은 확률미분방정식 Stochastic differential equation, SDE 의 형태로부터 구할 수 있다. 비록 SDE 기반의 diffusion 모델은 DDPM 등의 모델보다 뒤늦게 제안되었지만, SDE의 한 종류로 볼 수 있다. 이번 글에서는 diffusion 모델들의 근간이 되는...
2024. 4. 21.6 min read
Stochastic Differential Equation
DDPM 등의 Diffusion 모델은 확률미분방정식Stochastic differential equation, SDE의 형태로부터 구할 수 있다. 비록 SDE 기반의 diffusion 모델은 DDPM 등의 모델보다 뒤늦게 제안되었지만, SDE의 한 종류로 볼 수 있다. 이번 글에서는 diffusion 모델들의 근간이 되는 확률미분방정식 기반의 생성형 모델을 살펴보도록 하겠다.
ODE and SDE
이전 글에서 살펴본 것과 같이, 시간 t에서의 확률변수 X(t)에 대한 상미분방정식Ordinary differential equation, ODE는 다음과 같은 형태로 주어진다.
dtdX(t)=f(X(t),t)(ODE)
초기값 조건 X(0)=X0 이 주어지면, 위 ODE의 해는 다음과 같다.
X(t)=X0+∫0tf(X(s),s)ds
확률미분방정식(SDE)은, ODE에 다음과 같이 Brownian motion 항이 추가된 것으로 정의된다.
dXt=f(Xt,t)dt+g(t)dWt(SDE)
여기서 Wt는 Brownian motion(혹은 Wiener process)이다.
Brownian motion : Brownian motion Wt는 다음과 같은 특성을 가지는 확률과정이다.
W0=0 almost surely
변화량 Wt+u−Wt는 Wt와 독립이다. 즉, Wt+u−Wt⊥Wt
변화량 Wt+u−Wt는 N(0,u)를 따른다. 즉, Wt+u−Wt∼N(0,u)
ODE에서와 마찬가지로 다음과 같이 적분 형태의 해를 생각할 수 있다.
Xt=X0+∫0tf(Xs,s)ds+∫0tg(Xs,s)dWs
이때, SDE의 해를 위와 같은 적분 형태로 생각하기보다는 확률변수열 {Xt}t=0T 의 결합분포로 생각하는 것이 더 자연스럽다. 또한, 결합분포에서 t 시점의 주변확률분포를 Xt∼pt 라고 표현하자.
Fokker-Planck-Kolmogorov Equation
SDE(식 (SDE)) 의 주변확률분포 Xt∼pt에 대해 다음과 같은 편미분방정식partial differential equation이 주어지는데, 이를 Fokker-Plank-Kolmogorov(FPK) equation이라고 한다.
Diffusion 모델은 주어진 데이터(e.g. image)를 노이즈로 변환하는 과정을 통해 이미지의 특성을 학습한다. 이후 노이즈를 생성하여 원래 이미지를 복원하는 과정을 통해 새로운 이미지를 생성한다 (아래 그림 참고).
Source: Song et al. (2021)
즉, X0∼p0가 주어진 이미지 데이터의 분포에 대응되며 이로부터 노이즈 분포 XT∼pT 를 학습한다. 반면, 새로운 데이터를 생성하기 위해서는 노이즈를 랜덤 샘플링하여 pT로 부터 p0을 생성해야 한다. 노이즈는 앞선 Ornstein-Uhlenbeck process의 예시처럼 XT∼N(0,2βσ2I) 를 샘플링하면 된다.
반면, p0로부터 pT를 생성하기 위해서는 역방향으로 정의된 SDE를 사용해야 하며, 이를 Reverse-time SDE라고 한다.
여기서 ν∼N(0,I) 이다. 위 손실함수를 이용하는 방법을 Denoising score matching(DSM) 이라고 하며, 아래의 손실함수를 이용하는 방법을 Sliced score matching(SSM) 이라고 한다. DSM은 조건부 확률 Xt∣X0 에 대한 분포를 요구하기 때문에, 일반적으로는 SSM이 더 널리 사용된다. 반면 두 방법이 모두 적용가능한 경우에는 DSM이 더 나은 성능을 보인다고 알려져 있다.
Sampling
위의 score matching을 이용하여 sθ 를 학습한 경우, 역방향 SDE와 ODE로부터 샘플을 얻을 수 있다. 두 경우 모두 대개 Ornstein-Uhlenbeck process를 이용한다. 우선 역방향 SDE의 샘플링은 다음과 같다.
일반적으로는 SDE 샘플링이 더 고품질의 샘플을 생성하는 것으로 알려져 있다. 반면, ODE 샘플링은 flow model로 볼 수 있기 때문에, 가능도 함수 계산의 측면에서 유용하며 image interpolation 등에도 활용될 수 있다.
Image Interpolation : 두 이미지 X(1),X(2) 사이의 이미지를 생성하는 방법으로, Forward time ODE를 이용해 XT(1)와 XT(2)를 생성한 후, XT(θ)=(1−θ)XT(1)+θXT(2)를 생성한다. 이후 역방향 ODE를 이용해 X0(θ)를 생성한다. (아래 예시 참고)
Source: Song et al. (2021)
References
서울대학교 기계지능특강-Generative AI 강의노트
Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., & Poole, B. (2021). Score-Based Generative Modeling through Stochastic Differential Equations (arXiv:2011.13456). arXiv. https://doi.org/10.48550/arXiv.2011.13456
Murphy, K. P. (2023). Probabilistic machine learning: Advanced topics. The MIT Press.
Särkkä, S., & Solin, A. (2019). Applied Stochastic Differential Equations. Cambridge University Press.