확률미분방정식

diffusion model, reverse sde 데이터 생성을 위한 sde

미분방정식과딥러닝생성모델 2026. 4. 6. 12:19

reverse sde에 대해 알아보자. sde는 stochastic differential equation이다. 디퓨전 모델에서는 forward sde와 reverse sde가 있다. forward sde는 data distribution을 noisy하게 만드는 것을 표현한다. 데이터 분포를 가우시안 노이즈로 만드는 것을 표현한다. forward sde는 개발자가 drift term, diffusion term을 어떻게 정의하냐에 따라 달라진다. reverse sde는 forward sde의 반대과정이다. forward sde가 data distribution을 noise로 만드는 것이라면 reverse sde는 노이즈를 데이터 분포로 만드는 것이다. reverse sde는 forward sde가 정해지면 곧바로 정해진다. 이번 글에서는 reverse sde가 무엇인지 보도록 하자.

 

이글을 시작하기 위해 알아야 할것들

이글을 제대로 읽으려면 아래의 글을 제대로 이해해야 한다.

[확률미분방정식] - diffusion model, 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

data distribution $p_{data}$가 있다고 하자. forward sde알지만 아래와 같이 쓰도록 하자. 

$$dx_t = f(x_t,t)dt + g(t)dw_t, 0\leq t \leq T, p_0(x)=p_{data}(x)$$

여기서 $g(t)\in \mathbb{R}$이다. $p_t$는 위의 forward sde로 표현되는 $x_t$의 $t$시점에서의 분포라고 하자. 데이터 분포에서 시작하기 때문에 $p_0 = p_{data}$이라 하자. 위의 forward sde는 데이터 분포를 노이즈로 바꾸는 것을 의미한다. 그러면 이것의 반대과정은 어떻게 정의될까? 아래와 같이 정의 된다.

reverse sde

이제 reverse sde에 대해 알아보자. reverse sde는 $t=T$에서 시작해 $t=0$로 가는 시간의 방향이 forward sde와 반대방향이다. 믿거나 말거나 forward sde가 있다면 reverse sde는 아래와 같이 존재한다.

$$dx_t = [f(x_t,t) - 1/2 g(t)^2 \nabla_{x_t} \log p_t(x_t)]dt + g(t) d\tilde{w}_t,  0\leq t \leq T, p_T(x) \text{ 에서 시작}$$

여기서 주목할점은 forward sde가 있으면 reverse sde가 있따는 점이고 $\tilde{w}$는 역시간 방향으로의 위너프로세스를 의미한다. forward sde와 다른점이 있다면 drift term에 $p_t$의 log 미분과 $g(t)$를 이용한 term이 추가되었다는 것이다.

 

reverse sde가 중요한 이유

reverse sde가 왜 중요할까? reverse sde로 표현되는 stochastic process의 $t$에서 분포를 $q_t$라 하자. 그러면 reverse process가 $p_T$에서 시작한다고 하면 즉 $q_T  = p_T$라고 한다면$q_t = p_t$ for all $t$가 된다. 즉 reverse process를 따라가면 시간이 반대방향이지만 forward sde와 같은 marginal distribution을 가질 수 있다. forward sde는 데이터 분포를 노이즈로 변형시키는 것이라 했으니 reverse process를 이용하면 노이즈를 데이터로 변형할 수 있다.

 

 

 

 

-