Skip to main content

Forward Diffusion Process

Forward diffusion process は、clean data x0x_0 に少しずつ Gaussian noise を加えていく process です。最終的には、data distribution はほぼ standard Gaussian になります。

Markov chain​

DDPM では、forward process は固定された Markov chain として定義されます。

q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)q(x_t \mid x_{t-1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t}x_{t-1}, \beta_t I)

ここで、βt\beta_t は noise schedule です。各 step でどれだけ noise を加えるかを決めます。

Closed form​

αt=1−βt\alpha_t = 1 - \beta_t、αˉt=∏s=1tαs\bar{\alpha}_t = \prod_{s=1}^{t}\alpha_s とすると、x0x_0 から任意の時刻 tt の xtx_t を直接 sampling できます。

q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)q(x_t \mid x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t}x_0, (1 - \bar{\alpha}_t)I)

したがって、次のように書けます。

xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I)x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1 - \bar{\alpha}_t}\epsilon, \qquad \epsilon \sim \mathcal{N}(0, I)

Langevin dynamics との関係​

Diffusion process は、noise を加えながら distribution を変化させる process であり、stochastic gradient Langevin dynamics とも関係があります。Diffusion model の reverse process は、noise を取り除きながら score に沿って data distribution へ戻る process として解釈できます。

関連ページ​