Diffusion model의 기본 뼈대는 다음과 같은 latent variable model이다:
$$ p_{\theta}(x_0):=\int p_{\theta}(x_{0:T})dx_{1:T} $$
Notation부터 괴상하다. 하나씩 살펴보면 다음과 같다.
Reverse process는 noise로부터 이미지를 원복하는 과정이고, denoising이므로 reverse라는 단어를 붙였다고 이해해도 좋다. 첫 시작이 $p(x_T)=\mathcal{N}(x_T:0,I)$일 때 이는 다음처럼 정의된다:
$$ p_{\theta}(x_{0:T}):=p(x_T)\prod_{t=1}^Tp_{\theta}(x_{t-1}|x_t),\quad p_{\theta}(x_{t-1}|x_t):=\mathcal{N}(x_{t-1}|\mu(x_t,t),\Sigma_{\theta}(x_t,t)) $$
위 식은 일견 likelihood 같아 보이기도 한다. 이 과정은 Markovian process임에 주의하라.
Forward process는 쉬운 과정, 그러니까 Markov chain 조건 하에서 이미지에 노이즈를 입히는 과정이라 생각해도 좋다.
$$ \begin{equation}q(x_{1:T}|x_0):=\prod_{t=1}^Tq(x_t|x_{t-1}),\quad q(x_t|x_{t-1}):=\mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)\end{equation} $$
이 또한 likelihood 같아 보인다. Forward process의 특징 중 하나는 forward process는 closed form으로 표현이 가능하다는 것이다. 이를 계산해보자. 단, 아래 식에서 $\alpha_t:=1-\beta_t$이고 $\bar{\alpha}t:=\prod{s=1}^t\alpha_s$이다. 먼저,
$$ q(x_t|x_{t-1}):=\mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI) $$
이었으므로 $x_{t}=\sqrt{1-\beta_t}x_{t-1} + \sqrt{\beta_t}\epsilon_{t-1}$의 과정을 수행한다는 것으로 이해할 수 있다. 즉, forward process는 이미지에 노이즈를 끼얹는 것이다. 따라서, 수학적 귀납법을 쓰기 위해 $t=1$을 대입하면
$$ x_1 = \sqrt{1-\beta_t}x_0 + \sqrt{\beta_1}\epsilon_0=\sqrt{\overline{\alpha}_1}x_0+\sqrt{1-\overline{\alpha}_1}\epsilon_0 $$
이고 (단, $\epsilon_i\sim\mathcal{N}(0,I)$)
$$ \begin{align}x_{t}&=\sqrt{\overline{\alpha}_t}x_0+\sqrt{1-\overline{\alpha}_t}\epsilon_0\nonumber\\\end{align} $$
이 성립한다고 가정하면
$$ \begin{align}x_{t+1}&=\sqrt{1-\beta_{t+1}}x_{t} + \sqrt{\beta_{t+1}}\epsilon_{t}\nonumber\\&=\sqrt{1-\beta_{t+1}}\bigg(\sqrt{\overline{\alpha}t}x_0+\sqrt{1-\overline{\alpha}t}\epsilon_0\bigg)+\sqrt{\beta{t+1}}\epsilon_t\nonumber\\ &=\sqrt{\alpha{t+1}}\sqrt{\overline{\alpha}t}x_0+\sqrt{\alpha{t+1}}\sqrt{1-\overline{\alpha}t}\epsilon_0+\sqrt{1-\alpha{t+1}}\epsilon_t\nonumber\\ &=\sqrt{\overline{\alpha}{t+1}}x_0 + \sqrt{\alpha{t+1}-\overline{\alpha}{t+1}}\epsilon_0 +\sqrt{1-\alpha{t+1}}\epsilon_t\nonumber\\ &=\sqrt{\overline{\alpha}{t+1}}x_0 + \sqrt{(\alpha{t+1}-\overline{\alpha}{t+1})+(1-\alpha{t+1})}\epsilon_0\\ &=\sqrt{\overline{\alpha}{t+1}}x_0 + \sqrt{1-\overline{\alpha}{t+1}}\epsilon_0\\ \end{align} $$
이 된다. 이 때 $(2)$에서 $(3)$으로 넘어가는 과정에서는 $\epsilon_1,\epsilon_2\sim\mathcal{N}(0,I)$였다면 $a\epsilon_1+b\epsilon_2\sim\mathcal{N}(0,\sqrt{a^2+b^2}I)$라는 성질이 쓰였다. 따라서 이를 정리하면