확률미분방정식

diffusion model (확산모델, 디퓨전모델) 에서 score란 무엇일까?

미분방정식과딥러닝생성모델 2026. 4. 7. 09:29

이번 글에서는 diffusion model에서 score가 무엇인지 알아보도록 하자. diffusion model은 확산모델 혹은 디퓨전 모델이라고도 한다. 디퓨전 모델은 sde를 이용해 표현되곤 한다. 지난 글들([확률미분방정식] - diffusion model, reverse sde 데이터 생성을 위한 sde,[확률미분방정식] - diffusion model, forward sde에 대해서 알아보도록 하자) 에서 forward sde, reverse sde등에 대해 알아봤었다. forward sde는 인간이 설정하는 것이고 그에 대응하는 reverse sde가 있다. reverse sde에서 갑자기 pdf의 log의 미분이 나온다. 이것을 부르는 용어가 score이다. score는 디퓨전 모델을 위한 개념이 아니다. 좀더 일반적인 개념에 대해 알아보도록 하자.

 

 

score를 알기 위해 참고해야 되는 글

[확률미분방정식] - diffusion model, reverse sde 데이터 생성을 위한 sde

[확률미분방정식] - diffusion model, forward sde에 대해서 알아보도록 하자

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

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

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

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

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

 

random vector에 대한 score

random vector에 대한 score를 아라보도록 하자. random vector $x$가 있다고 하자. random vector $x$의 probabililty density function인 pdf를 $p$라고 하자. $x$에 대한 score혹은 $p$의 score는 아래와 같이 log의 그라디언트 (gradient)로써 정의한다.

$$x \text{의 score: } \nabla_x \log p(x)$$

random process에 대한 score

random process $x_t$가 있다고 하자. $t \in I$에 속한다. $I$는 index set이다. $x_t$의 $t$에서 pdf를 $p_t$를 하자. $x_t$는 random vector이다. 그러면 $x_t$의 score는 $x_t$의 pdf에 대한 그라디언트 (gradient)가 된다.

$$x_t \text{의 t에서 score: } \nabla_{x_t} \log p_t(x_t)$$

diffusion model에서 score가 언제 나옴?

디퓨전 모델에서 score에 대해 알아보자. 언제 score가 나오냐. 디퓨전모델의 forward sde는 아래와 같이 표현된다.

$$dx_t = f(x_t,t)dt + g(t)dw_t, 0\leq t \leq T $$

위의 forward sde로 표현되는 stochastic process 즉 ito process의 $t$에서의 pdf를 $p_t$라고 하자. 그렇게 정의하고 위의 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$$

위에 reverse sde의 drift term에서 score가 나오는 것이 보인다. 그래서 score를 구하면 reverse sde를 돌려 데이터를 생성할 수 있다. 그래서 score가 중요하다. 

 

 

-