Diffusion model에서 perturbation kernel이 closed form을 가질 충분조건

Diffusion model에서 perturbation kernel이 closed form을 가질 충분조건에 대해 알아보자. 이 글을 읽기 전에 아래 글을 읽고 오길 추천한다.

SDE(Stochastic Differential Equation)를 활용한 Diffusion model에 대하여

Diffusion model의 score 학습 방법

Diffusion model에서 DSM (Denoising Score Matching) loss를 사용하는 이유에 대해

SDE (Stochastic Differential Equation)의 Perturbation Kernel

아래와 같은 SDE가 있다고 하자. 이 SDE를 이용해서 디퓨전모델에서 데이터를 노이즈화 시키는 것을 표현한다.

\begin{equation} dx_t = f(x_t, t) dt + g(t) dw_t \end{equation} \tag{SDE}

그리고 이 SDE에 의해 표현되는 stochastic process x_t 가 있다고 하자. 이 x_0 의 condition이 주어졌을 때 x_t 의 분포 여기서는 pdf (probability density function) p_{0t}(x_t|x_0) 를 perturbation kernel이라고 부른다.

Perturbation Kernel 항상 구할 수 있나?

디퓨전 모델을 학습하기 위하여 p_{0t}(x_t|x_0)를 target으로 활용하는 loss function을 설계했다. 그러면 perturbation kernel p_{0t}(x_t|x_0)를 closed form으로 항상 구할 수 있나? 답은 아니다. 그러면 언제 perturbation kernel을 구할 수 있을까?

Linear SDE: Perturbation kernel이 closed form을 갖는 경우

(SDE)가 linear SDE이면 가능하다. 여기서 linear SDE랑 (SDE)에서 f(x_t, t) = A_t x_t + b_t 인 꼴을 말한다. 즉 f(x_t,t) x_t 에 대한 affine transformation일 경우 (SDE)를 Linear SDE라고 부른다. (SDE)가 Linear SDE일 때 perturbation kernel p_{0t} (x_t |x_0) 의 closed form을 구할 수 있다. 여기서 알아둘것은 꼭 Linear SDE이어만 closed form을 구할 수 있는 것은 아니라는 것이다. LInear SDE는 perturbation kernel을 구하기 위한 충분조건일 뿐이다.

Perturbation Kernel closed form 어떻게 구할까?

perturbation kernel이 closed form 갖는 경우중 하나가 (SDE)가 Linear SDE( f(x_t,t) x_t 에 대해 affine transformation)일 경우라고 여지껏 얘기했다. 그러면 closed form을 갖는 것을 알겠고 이것을 어떻게 계산할까? 이것에 대해서는 다른 글에서 살펴보도록 하자.

 

Leave a Comment