Diffusion model에서 perturbation kernel이 closed form을 가질 충분조건에 대해 알아보자. 이 글을 읽기 전에 아래 글을 읽고 오길 추천한다.
SDE(Stochastic Differential Equation)를 활용한 Diffusion model에 대하여
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을 갖는 것을 알겠고 이것을 어떻게 계산할까? 이것에 대해서는 다른 글에서 살펴보도록 하자.