score-based model 과의 차이 : 둘다 noise를 통해 data 에 perturb를 가하지만 score-based model의 경우 score matching을 통해 학습되고, diffusion model은 ELBO를 학습시킨다.
원본 데이터 x0~q(x0)에서 순차적으로 가우시안 노이즈를 추가하는 Markov Chain을 구축해 정규 분포를 만족하는 완전히 노이지한 N(0,1)데이터를 생성하는 과정
매 iteration t마다 MCMC를 통해 노이즈를 추가한 데이터 xt ~ q(xt|x_{t-1})를 추출할 수 있다.
q(xt|x_{t-1}) 는 가우시안 노이즈로, 학습률인 αt는 α∈(0,1)의 값을 가지며, αT→0이기 때문에 T시간대에서 정규분포에 수렴한 완전히 노이지한 데이터 xT~ N(0,1)을 생성할 수 있다.
$$ q(x_t|x_{t-1}) = N(x_t; \sqrt{\alpha_t}x_{t-1}, 1 - \alpha_tI) $$
$$ \alpha \in (0,1), \alpha_T \rightarrow 0 $$
Forward Process의 확률 분포 q(x1,⋅⋅⋅,xT) 는 이전 시점의 데이터에서만 영향을 받는 Markov Chain의 성질을 지니기 때문에 t시점의 데이터 xt를 다음과 같이 x0의 식으로 나타낼 수 있다.
$$ x_t = \sqrt{\alpha_t}x_{t-1} + \sqrt{1-\alpha_t}\epsilon_t \text{ such that } \epsilon_t \sim N(0,1) $$
$$ = \sqrt{\alpha_t\alpha_{t-1}}x_{t-2} + \sqrt{1-\alpha_t\alpha_{t-1}}\bar{\epsilon_t} $$
$$ ... $$
$$ = \sqrt{\bar{\alpha_t}}x_{0} + \sqrt{1-\bar{\alpha}_t}\epsilon \text{ such that } \epsilon \sim N(0,1) $$
즉, 노이즈가 추가된 xt의 데이터와 원본 데이터 x0의 marginal distribution q(xt|x0)는 다음과 같다.
$$ q(x_t|x_0) = N(x_t; \sqrt{\alpha_{t}}x_{0}, (1- \bar{\alpha}_t)I) $$
Forward Process의 결과로 생성한 xT∼N(0,1) 에서 다시 되돌아가는 Markov Chain q(xt−1|xt)을 설정해 원래 분포 x0∼p(x0)를 복원하는 과정