본문 바로가기
확률미분방정식

diffusion model, forward sde에 대해서 알아보도록 하자

by 미분방정식과딥러닝생성모델 2026. 4. 3.

이번 글에서는 디퓨전 모델에 대해 알아보자. 영어로는 diffusion model이라고 하자. 디퓨전 모델은 데이터를 노이즈로 보내는 과정과 노이즈를 데이터로 보내는 과정이 있다. 데이터를 노이즈로 보내는 과정을 forward process라고 한다. 그리고 이것을 forward sde를 이용해서 표현한다. sde는 stochastic differential equation이라고 하죠. 이번 글에서는 데이터에서 노이즈로 보내는 forward sde를 정의한다.

 

forward sde알기전에 알아야 할 것들

forward sde에 대해 알기전에 알아야 할것들이 많다. 아래 글들을 쭉 보도록 하자.

[확률미분방정식] - SDE stochastic differential equation 확률미분방정식에 대해 알아보자, ito process

[확률미분방정식] - 이토적분 Ito integral 에 대해 알아보자

[확률미분방정식] - 위너프로세스 Wiener process의 정의 단변수 다변수까지

[확률미분방정식] - 확률론에서 independent 의 정의 random variable, random vector에 대하여

수식 mathajx 코드

[확률미분방정식] - 가우시안 분포 (Gaussian distribution)의 pdf(probability density function) 단변수부터 다변수 까지

 

 

forward sde 정의하기 

이제 forward sde에 대해 알아보도록 하자. 디퓨전 모델의 관점에서 보도록 하자. 디퓨전 모델은 데이터를 조금 비틀고 노이즈를 더하는 forward process를 모델링한다. forward process는 forward sde를 이용해서 표현한다. data distribution 을 $p(\mathbf{x})$라고 표시하자. 이 data distribution을 노이즈로 보내기 위해서는 forward sde를 이용한다. forward sde는 아래와 같이 정의된다.

$$d \mathbf{x}_t = f(\mathbf{x}_t, t)dt + g(t) d \mathbf{w}_t, t \in [0, T], \mathbf{x}_0 \sim ~ p(\mathbf{x}_0) $$

 

여기에서 $f$는 drift term이라 부르는 함수이다. $g(t) \in \mathbf{R}$는 diffusion coefficient이다. 위의 sde의 시작점 $\mathbf{x}_0$는 data distribution $p(\mathbf{x}_0)$을 따른다. 그래서 forward sde는 data distribution $p$에서 시작해서 이 data sample들 즉 디스트리뷰션이 되겠죠 forward sde을 통해 변해가는 것을 표현한다. $f$,$g$를 어떻게 정의하냐에 따라서 data distribution을 원하는 노이즈로 변하게 할 수 있다. $f$, $g$는 사람이 정하면 된다. 이 반대과정이 노이즈로부터 데이터 만드는 건데 reverse process라고 하고 reverse sde로 표현되는데 reverse sde에 대해서는 나중에 알아보도록 하자.

 

 

-