DDPM (Denoising Diffusion Probabilistic Models)
๐ NeurIPS 2020
๐ ๊ด๋ จ ๋ ผ๋ฌธ: [NeurIPS 2020] Denoising Diffusion Probabilistic Models
DDPM Process
DDPM์ ํฌ๊ฒ 2๊ฐ์ง ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- Forward Process: ๊นจ๋ํ ์ด๋ฏธ์ง์์ ์์ ํ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ๋ก ๋ง๋๋ ๊ณผ์
- Reverse Process: ์์ ํ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ์์ ๊นจ๋ํ ์ด๋ฏธ์ง๋ก ๋ณต์ํ๋ ๊ณผ์ (Denoising Process ๋๋ Sampling Process๋ผ๊ณ ๋ ํจ)
Forward Process
Forward Process๋ ์๋ณธ ๋ฐ์ดํฐ $\vx_0$์ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ๋ฅผ ์ ์ง์ ์ผ๋ก ์ถ๊ฐํ์ฌ, ์ต์ข ์ ์ผ๋ก ์์ ํ ๋ ธ์ด์ฆ ๋ถํฌ์ธ $\mathcal{N}(0,\text{I})$๋ก ๋ง๋๋ ๊ณผ์ ์ด๋ค.
์ ์๋ค์ 1step์ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ ์ฃผ์ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์๋ค.
\[q(\mathbf x_t\mid\mathbf x_{t-1}):= \mathcal{N}(\mathbf x_t;\sqrt{1-\beta_t}\mathbf x_{t-1},\beta_t\mathbf I) \tag{1}\]์ ์์์ ์ด์ step์ ์ด๋ฏธ์ง์ ๊ฐ๋๋ฅผ $\sqrt{1-\beta_t}$๋งํผ ๊ฐ์ ์ํค๊ณ , ๋ถ์ฐ์ด $\beta_t\vI$์ธ ๊ฐ์ฐ์์ ๋
ธ์ด์ฆ๋ฅผ ๋ํ๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
์ด๋ฅผ Reparameterization Trick์ ์ด์ฉํด ๋ง์
์ ํํ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋ํ ์ ์๋ค์ ์ด๋ฌํ ๋
ธ์ด์ฆ ์ฃผ์
๊ณผ์ ์ Markovian ๊ฐ์ ์ ๋์
ํ๋ค.
์ฆ, ํ์ฌ ์ํ $\vx_t$๋ ์ค์ง ์ง์ ์ํ์ธ $\vx_{t-1}$์๋ง ์์กดํ๋ค.
์ด๋ฌํ ์ฑ์ง ๋๋ถ์, $t=0$๋ถํฐ $t=T$๊น์ง ์ฐ์์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ฃผ์ ํ๋ ์ ์ฒด ๊ณผ์ (Joint ๋ถํฌ)์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ step๋ณ ์ ์ด ํ๋ฅ (Transition probability)์ ์ฐ์์ ์ธ ๊ณฑ์ ์ผ๋ก ํํํ ์ ์๋ค.
\[q(\mathbf x_{1:T}\mid\mathbf x_0):=q(\vx_1\mid\vx_0) \tag{3}q(\vx_2\mid\vx_1)\cdots q(\vx_T\mid\vx_{T-1})\]๊ฒฐ๋ก ์ ์ผ๋ก Forward Process๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.
\[q(\mathbf x_{1:T}\mid\mathbf x_0):=\prod_{t=1}^Tq(\mathbf x_t\mid\mathbf x_{t-1}) \tag{4}\]Variance Scheduler
์ (2)์ ๋ฑ์ฅํ๋ $\beta_t$๋ฅผ Variance Scheduler๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ด๋ ๋งค step $t$๋ง๋ค ์ด์ step์ ์ ๋ณด๋ฅผ ์ผ๋ง๋ ์ ์งํ๊ณ ์๋ก์ด ๋ ธ์ด์ฆ๋ฅผ ์ผ๋ง๋ ์์์ง๋ฅผ ๊ฒฐ์ ํ๋ ํ๋ผ๋ฏธํฐ์ด๋ค.
Linear, Cosine ๋ฑ ์ฌ๋ฌ ์ค์ผ์ค๋ฌ ํจ์๊ฐ ์์ง๋ง, ๋๋ถ๋ถ์ Variance Scheduler๋ ๊ณตํต์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ๋ฐ๋ฅธ๋ค.
- ๋ ธ์ด์ฆ ์ฃผ์ ์ด๋ฐ ๋จ๊ณ ($t$๊ฐ ์์ ๋): ์ด๋ฏธ์ง์ ๊ตฌ์กฐ๊ฐ ์์๊ฐ์ ํ๊ดด๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด $\beta_t$๋ฅผ ๋งค์ฐ ์์ ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
- ๋ ธ์ด์ฆ ์ฃผ์ ํ๋ฐ ๋จ๊ณ ($t$๊ฐ ํด ๋): ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ๋ก ๋น ๋ฅด๊ฒ ์๋ ด์ํค๊ธฐ ์ํด $\beta_t$๋ฅผ ๋ ํฐ ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฃผ์ ๋๋ ๋ ธ์ด์ฆ์ ๊ฐ๋๊ฐ ๊ณ ์ ๋์ด ์์ง ์๊ณ ์งํ ๋จ๊ณ์ ๋ฐ๋ผ ์ ๋์ ์ผ๋ก ๋ณํด์ผ ํ๋ฏ๋ก, $\beta_t$๋ ํ์์คํ $t$์ ์ข ์๋ ํจ์๋ก ์ ์๋๋ค.
Closed-form Sampling
์์ ์ ์๋๋ก๋ผ๋ฉด $\vx_t$๋ฅผ ๊ตฌํ๊ธฐ ์ํด $1$๋ถํฐ $t$๊น์ง ๋งค step๋ง๋ค ์ฐ์ฐ์ ๋ฐ๋ณตํด์ผ ํ ๊ฒ ๊ฐ์ง๋ง, ์ค์ ๋ก๋ ์๋ณธ ๋ฐ์ดํฐ $\vx_0$์์ ์์์ time step $t$์ ์ํ๋ฅผ ํ ๋ฒ์ ๊ณ์ฐํ ์ ์๋ Closed-form ์์์ด ์กด์ฌํ๋ค.
์ด๋ฅผ ์ํด $\alpha_t:=1-\beta_t$์ ๋์ ๋ ๊ณฑ์ ์๋ฏธํ๋ $\bar\alpha_t:=\prod_{s=1}^t\alpha_s$๋ฅผ ์๋กญ๊ฒ ์ ์ํ๋ฉด, Marginal ๋ถํฌ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ฐํ ์ ์๋ค.
\[q(\mathbf x_t\mid\mathbf x_0)=\mathcal{N}(\mathbf x_t;\sqrt{\bar\alpha_t}\mathbf x_0,(1-\bar\alpha_t)\mathbf I) \tag{5}\]๋ฐ๋ผ์ ์ค์ ์ฝ๋์์๋ $t$๋ฒ์ Markov Chain์ ์ผ์ผ์ด ๊ฑฐ์น์ง ์๊ณ , ์์์ step $t$์ ๋ํ ๋ ธ์ด์ฆ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ก ์ํ๋งํ๋ค.
ํ์ง๋ง ํ๋ฅ ๋ณ์์์ ๊ฐ์ ์ง์ ์ํ๋งํ๋ ๊ณผ์ ์ ๋ฏธ๋ถ์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก, ์ญ์ ํ ๋ํ ๋ถ๊ฐ๋ฅํ๋ค.
์ด๋ฅผ ์ํด Reparameterization Trick์ ์ฌ์ฉํ์ฌ ์์์ ๋ฌด์์์ฑ๊ณผ ๊ฒฐ์ ๋ก ์ ์ฐ์ฐ์ผ๋ก ๋ถ๋ฆฌํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์๋์ ๊ฐ์ด ๋ง์
ํํ๋ก ๋ณํํ์ฌ ์ค์ ์ฝ๋์ ๊ตฌํ๋๋ค.
Reverse Process (Training)
Reverse Process๋ ์์ ํ ๋ ธ์ด์ฆ ๋ถํฌ $\vx_T\sim\mathcal{N}(0,\text{I})$์์ ๋ ธ์ด์ฆ๋ฅผ ์ ์ง์ ์ผ๋ก ์ ๊ฑฐํจ์ผ๋ก์จ, ์๋ณธ ๋ฐ์ดํฐ $\vx_0$๋ฅผ ๋ณต์ํ๋ ๊ณผ์ ์ด๋ค.
์ด๋ก ์ ์ผ๋ก Forward Process์ ๊ฐ ๋ ธ์ด์ฆ ์ฃผ์ step์ด ๋งค์ฐ ์๋ค๋ฉด, ๊ทธ ์ญ๋ฐฉํฅ์ ํ๋ฅ ๊ถค์ ์ญ์ ๋์ผํ๊ฒ ๊ฐ์ฐ์์ ๋ถํฌ์ ํํ๋ฅผ ๋ค๋ค๋ ๊ฒ์ด ์๋ ค์ ธ ์๋ค.
์ค์ ์ญ๋ฐฉํฅ ๋ถํฌ์ ๊ณ์ฐ ๋ถ๊ฐ๋ฅ์ฑ (Intractability)
์ด๋ฅผ ์ํ์ ์ผ๋ก ๊ตฌํ๊ธฐ ์ํด ๋ฒ ์ด์ฆ ์ ๋ฆฌ๋ฅผ ์ ์ฉํ๋ฉด, Reverse Process์ 1step์ ๋ค์๊ณผ ๊ฐ์ด ํํ๋๋ค.
\[q(\vx_{t-1}\mid\vx_t)=\frac{q(\vx_t\mid\vx_{t-1})q(\vx_{t-1})}{q(\vx_t)} \tag{7}\]์ ์์์์ $q(\vx_t\mid\vx_{t-1})$๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ ์ํ ๋ถํฌ์ด๊ธฐ ๋๋ฌธ์ ์๊ณ ์๋ค.
ํ์ง๋ง $q(\vx_{t-1})$์ $q(\vx_t)$๋ ์ฐ๋ฆฌ๊ฐ ์ ์ ์๋ ์ ์ฒด ๋ฐ์ดํฐ์
์ Marginal ๋ถํฌ์ด๋ค.
๋ฐ๋ผ์ ์ค์ ์ญ๋ฐฉํฅ ๋ถํฌ $q(\vx_{t-1}\mid\vx_t)$๋ฅผ ์ง์ ๊ณ์ฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค.
๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํตํ ๊ทผ์ฌ
์ง์ ๊ณ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก, ์ ์๋ค์ ์ด๋ฅผ ํ์ต ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ $\theta$๋ฅผ ๊ฐ์ง ๋ฅ๋ฌ๋ ๋ชจ๋ธ $p_\theta$๋ก ๊ทผ์ฌํ๋ ๋ฐฉ์์ ํํ์๋ค.
Reverse Process ์ญ์ Markov Chain์ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ฉฐ, ๋ชจ๋ธ์ด ์์ธกํ๋ ์ ์ฒด Reverse Process๋ ์๋์ ๊ฐ์ด ์ ์๋๋ค.
\[p_\theta(\mathbf x_{0:T}):=p(\vx_T)\prod_{t=1}^Tp_\theta(\vx_{t-1}\mid\vx_t) \tag{8}\]Tractable Posterior์ ์ ๋
๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ธ $p_\theta(\vx_{t-1}\mid\vx_t)$๋ฅผ ๋๋์ฒด ์ด๋ค ์ ๋ต์ ๋ณด๊ณ ํ์ต์์ผ์ผ ํ ๊น?
๋คํํ๋ ์ฐ๋ฆฌ๋ ์์ฑ ๋ชจ๋ธ์ ํ์ต์ํฌ ๋, ์๋ณธ ๋ฐ์ดํฐ $\vx_0$๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์์ ํ์ธํ๋ฏ์ด ์ง์ step๋ง์ ๊ณ ๋ คํ๋ $q(\vx_{t-1}\mid\vx_t)$๋ ๊ตฌํ ์ ์์ง๋ง, ์ฌ๊ธฐ์ ์๋ณธ ์ด๋ฏธ์ง $\vx_0$๋ฅผ ์กฐ๊ฑด๋ถ๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฒ ์ด์ฆ ์ ๋ฆฌ์ Forward Process์ ์ฑ์ง์ ์ด์ฉํด Closed-form์ ๊ฐ์ฐ์์ ๋ถํฌ๋ฅผ ์ ๋ํ ์ ์๋ค.
\[q(\vx_{t-1}\mid\vx_t,\vx_0) = \mathcal{N}(\vx_{t-1};\tilde{\mu}_t(\vx_t,\vx_0),\tilde{\beta}_t\vI) \tag{9}\]์ด ๋ถํฌ์ ํ๊ท $\tilde{\mu}_t$์ ๋ถ์ฐ $\tilde{\beta}_t$๋ ์๋์ ๊ฐ์ด $\vx_t$์ $\vx_0$์ ๋ํ ์ ํ ๊ฒฐํฉ์ผ๋ก ๋์ถ๋๋ค.
\[\tilde{\mu}_t(\vx_t,\vx_0)= \frac{\sqrt{\bar{\alpha}_{t-1}}\beta_t}{1-\bar{\alpha}_t}\vx_0 +\frac{\sqrt{\alpha_t}(1-\bar{\alpha}_{t-1})}{1-\bar{\alpha}_t}\vx_t \quad,\quad \tilde{\beta}_t=\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t}\beta_t \tag{10}\]๊ฒฐ๋ก ์ ์ผ๋ก, ๋ฅ๋ฌ๋ ๋ชจ๋ธ $p_\theta$๋ ์ด ๋ถํฌ๋ฅผ ๊ทผ์ฌํ๋๋ก ํ์ต๋๋ค.
DDPM ์๋ ผ๋ฌธ์์๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ํ๊ท ๋ง ์์ธกํ๋๋ก ํ๊ณ , ๋ถ์ฐ์ ํ์ตํ์ง ์๋ ์์ $\sigma_t^2\vI$๋ก ๊ณ ์ ํ๋ค.
์ดํ ๋ฐํ๋ Improved Denoising Diffusion Probabilistic Models ๋ ผ๋ฌธ์์๋ ์ด ๋ถ์ฐ๊น์ง ๋ชจ๋ธ์ด ์ง์ ํ์ตํ๋๋ก ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ์ฌ, ๋ ์ ์ step์ผ๋ก๋ ๋์ ํ๋ฆฌํฐ์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์๋ค.
Reverse Process (Inference)
ํ์ต์ด ์๋ฃ๋ ํ ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋๋, ์์ ํ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ $\vx_T$์์ ์ถ๋ฐํ์ฌ ์๋์ ์์์ ํตํด ๋งค step๋ง๋ค ์ ์ง์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ๊ฑท์ด๋ธ๋ค.
\[\vx_{t-1}=\frac{1}{\sqrt{\alpha_t}}\bigg( \vx_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\boldsymbol\epsilon_\theta(\vx_t,t) \bigg)+\sigma_t\vz ,\quad\text{where }\vz\sim\mathcal{N}(\mathbf0,\vI) \tag{11}\]์ด ๊ณผ์ ์ $t=T$๋ถํฐ $t=1$๊น์ง ์ญ์์ผ๋ก ๋ฐ๋ณตํ๋ฉด ์ต์ข ์ ์ผ๋ก ๊นจ๋ํ ์๋ณธ ์ด๋ฏธ์ง ํํ์ $\vx_0$๋ฅผ ์ป๊ฒ ๋๋ค.
Training Objective
์์ฑ ๋ชจ๋ธ์ ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ ๋ชจ๋ธ์ด ์์ฑํ ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋๋ก Log-likelihood๋ฅผ ์ต๋ํํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ด Log-likelihood๋ฅผ ์ง์ ๊ณ์ฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก, VAE์ ๋ง์ฐฌ๊ฐ์ง๋ก ELBO (Evidence Lower Bound)๋ฅผ ์ฌ์ฉํด Negative Log-likelihood์ ์ํ์ ์ ์ต์ํํ๋ ๋ฐฉ์์ผ๋ก ํ์ต์ ์งํํ๋ค.
\[\mathbb{E}\big[-\log p_\theta(\vx_0)\big]\leq \mathbb{E}_q\bigg[ -\log p(\vx_T)-\sum_{t\geq1}\log\frac{p_\theta(\vx_{t-1}\mid\vx_t)}{q(\mathbf x_t\mid\mathbf x_{t-1})} \bigg]:=L \tag{12}\]Markov Chain ์ฑ์ง๊ณผ Tractable Posterior์ ํ์ฉํ๋ฉด, ์ฐํญ์ ELBO ์์์ ์๋์ ๊ฐ์ด 3๊ฐ์ ํญ์ผ๋ก ๋ถ๋ฆฌํ ์ ์๋ค.
\[\mathbb{E}_q \Bigg[ \underbrace{D_{\mathrm{KL}}\left(q(\vx_T \mid \vx_0) \,\|\, p(\vx_T)\right)}_{L_T} + \underbrace{\sum_{t > 1} D_{\mathrm{KL}}\left(q(\vx_{t-1} \mid \vx_t, \vx_0) \,\|\, p_\theta(\vx_{t-1} \mid \vx_t)\right)}_{L_{t-1}} - \underbrace{\log p_\theta(\vx_0 \mid \vx_1)}_{L_0} \Bigg] \tag{13}\]- $L_T$ (Regularization Loss): $\beta_t$๋ฅผ ํ์ต์ํค๋ ํญ์ด์ง๋ง ์คํ์์๋ $\beta_t$๋ฅผ ๊ณ ์ ๋ ํ์ดํผํ๋ผ๋ฏธํฐ๋ก ๋๊ธฐ ๋๋ฌธ์ ๋ฌด์ํ ์ ์๋ ํญ์ด๋ค.
- $L_{t-1}$ (Denoising Loss): ๋ชจ๋ธ์ ํต์ฌ ํ์ต ๋์์ด๋ฉฐ, ๋งค step์์ ์์ธกํ ๋ถํฌ์ ์ค์ ๋ถํฌ์ ์ฐจ์ด๋ฅผ ์ต์ํํ๋ ํญ์ด๋ค.
- $L_0$ (Reconstruction Loss): Reverse Process์ ๋ง์ง๋ง step ($t=1\to0$)์์ ์ด๋ฏธ์ง๋ฅผ ๋ณต์ํ๋ ํญ์ผ๋ก, ์ ์ ๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ํญ์ด๋ค.
Simplified Training Objective
์ ์๋ค์ ์๋์ ๊ฐ์ด ๋จ์ํํ ๋ชฉ์ ํจ์๋ฅผ ์ฌ์ฉํ์ ๋ ๋ ์ข์ ์ํ์ ์์ฑํ๋ ๊ฒ์ ์คํ์ ์ผ๋ก ํ์ธํ๋ค๊ณ ํ๋ค.
\[L_{\text{simple}}(\theta):= \mathbb{E}_{t,\mathbf x_0,\boldsymbol\epsilon} \bigg[\lVert\boldsymbol\epsilon-\boldsymbol\epsilon_\theta(\vx_t,t)\rVert^2\bigg] \tag{14}\]์ ์์์์ $\vx_t=\sqrt{\bar\alpha_t}\mathbf x_0+\sqrt{1-\bar\alpha_t}\boldsymbol\epsilon$์ด๋ค.
์ (14)์ ๋จ์ํ๋ ์์ค ํจ์์ ๋ฐ๋ฅด๋ฉด, ๋ชจ๋ธ $\boldsymbol\epsilon_\theta$๋ ์๋ณธ ๋ฐ์ดํฐ $\vx_0$์์ ํ์ฌ ์ํ $\vx_t$๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฃผ์ ๋ ์ ์ฒด ๋ ธ์ด์ฆ $\boldsymbol\epsilon$์ ์์ธกํ๋๋ก ํ์ต๋๋ค.
Pseudo Code
Training
- $t$๋ฅผ $[1,T]$ ๋ฒ์์์ ๋๋ค์ผ๋ก ์ํ๋งํ๋ค.
- $q(\mathbf x_t\mid\mathbf x_0)$ ์์์ ์ด์ฉํด ํด๋น $t$์์์ ๋ ธ์ด์ฆ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค.
- ๋ชจ๋ธ $\boldsymbol\epsilon_\theta$๋ ์์ฑ๋ $\mathbf x_t$์ $t$๋ฅผ ์ ๋ ฅ๋ฐ์, $\mathbf x_t$์ ์ฃผ์ ๋ ์ ์ฒด ๋ ธ์ด์ฆ $\vepsilon$๋ฅผ ์์ธกํ๋ค.
- ์ (14)์ MSE Loss๋ฅผ ๊ตฌํ ํ, ์ญ์ ํ๋ฅผ ํตํด ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
- ์ ๊ณผ์ ์ epoch๋งํผ ๋ฐ๋ณตํ๋ค.
์ฌ๊ธฐ์ ์ ์ํ ์ ์, ํ๋์ ์ด๋ฏธ์ง๋ฅผ ํ์ตํ ๋ $t$๋ฅผ ๊ฑฐ๊พธ๋ก ๋ด๋ ค์ค๋ฉด์ ๋ชจ๋ step์ ๋ํด Loss๋ฅผ ๊ตฌํ๊ณ ์ญ์ ํ๋ฅผ ํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
๋์ , ์ ์๋ค์ ๋งค๋ฒ ๋ฌด์์ $t$๋ฅผ ํ๋๋ง ๋ฝ์ ํ ๋ฒ์ ์์ธกํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
์๋ง์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์
์์ ์ด ๋ฌด์์ ์ถ์ถ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค ๋ณด๋ฉด, ๋ชจ๋ธ์ ๊ฒฐ๊ตญ $t=1$๋ถํฐ $T๊น์ง ์ ์ฒด ๊ตฌ๊ฐ์ ๊ฑธ์น ๋
ธ์ด์ฆ ์ ๊ฑฐ ํจํด์ ์์ฐ์ค๋ฝ๊ฒ ํ์ตํ๊ฒ ๋๋ค.
Inference
- $\vx_T$๋ฅผ $\mathcal{N}(\mathbf0,\vI)$์์ ์ํ๋งํ๋ค.
- ํ์ฌ time step์ด $t>1$์ด๋ผ๋ฉด, $\vz$๋ฅผ $\mathcal{N}(\mathbf0,\vI)$์์ ์ํ๋งํ๋ค.
- ํ์ฌ $\mathbf x_t$์ $t$๋ฅผ ์ ๋ ฅ์ผ๋ก ํ์ฌ, ๋คํธ์ํฌ๊ฐ ํด๋น time step์์์ ๋ ธ์ด์ฆ๋ฅผ ์์ธกํ๋ค.
- ์์ธก๋ ๋ ธ์ด์ฆ๋ฅผ ๋ฐํ์ผ๋ก $\mathbf x_{t-1}$์ ๊ณ์ฐํ๋ค.
- (2)~(4) ๊ณผ์ ์ $t=T,\dots,1$ ๋์ ๋ฐ๋ณตํ๋ค.
- ์ต์ข ์ ์ผ๋ก $\mathbf x_0$๋ฅผ ์ป๋๋ค.

