Post

DDIM (Denoising Diffusion Implicit Models)

DDIM (Denoising Diffusion Implicit Models)

๐Ÿ“„ ๊ด€๋ จ ๋…ผ๋ฌธ: [ICLR 2021] Denoising Diffusion Implicit Models

ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋Š” ์šฉ์–ด์™€ ์ˆ˜์‹์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์ •๋ฆฌํ•˜๊ฒ ๋‹ค.

์ƒ์„ฑ ๋ชจ๋ธ ๋…ผ๋ฌธ์—์„œ $q$๋กœ ํ‘œ๊ธฐํ•œ ๋ถ„ํฌ๋Š” ์ˆ˜ํ•™์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ ์ง„์งœ ํ™•๋ฅ  ๋ถ„ํฌ (Ground Truth), $p$๋กœ ํ‘œ๊ธฐํ•œ ๋ถ„ํฌ๋Š” ์‹ ๊ฒฝ๋ง์ด ์˜ˆ์ธกํ•œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • Forward Process (Transition Distribution)

    \[q(\vx_t \mid \vx_{t-1})\]

    ์ด์ „ ์ƒํƒœ $\vx_{t-1}$์— ์•ฝ๊ฐ„์˜ ๋…ธ์ด์ฆˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค์Œ ์ƒํƒœ์ธ $\vx_t$๋ฅผ ๋งŒ๋“œ๋Š” ์ˆ˜ํ•™์  ๊ทœ์น™์„ ์˜๋ฏธํ•œ๋‹ค. (DDPM์˜ Markov ๊ณผ์ • ๊ธฐ์ค€)

  • Marginal Distribution

    \[q(\vx_t \mid \vx_0)\]

    ์›๋ณธ $\vx_0$์—์„œ $\vx_{t-1}$๊นŒ์ง€์˜ ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ์ „๋ถ€ ์ƒ๋žตํ•˜๊ณ , ํ•œ ๋ฒˆ์˜ ๊ณ„์‚ฐ์œผ๋กœ ๋‹จ๋ฒˆ์— $t$ ์‹œ์ ์˜ ์ƒํƒœ $\vx_t$๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • Forward Process Posterior

    \[q(\vx_{t-1} \mid \vx_t, \vx_0)\]

    ์ตœ์ข… ์›๋ณธ ์ด๋ฏธ์ง€ $\vx_0$๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, $\vx_t$์—์„œ ๋…ธ์ด์ฆˆ๋ฅผ ํ•œ step ์ œ๊ฑฐํ•œ $\vx_{t-1}$์ด ๋  ์ˆ˜ํ•™์ ์ธ ์ง„์งœ ํ™•๋ฅ  (์ •๋‹ต ๋ถ„ํฌ)์„ ์˜๋ฏธํ•œ๋‹ค.

    ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์—ญ๋ฐฉํ–ฅ์˜ ์ˆ˜์‹์ž„์—๋„ ์ด๋ฆ„์— Forward๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋Š” ์ง„ํ–‰ ๋ฐฉํ–ฅ์ด ์ •๋ฐฉํ–ฅ์ด๋ผ๋Š” ๋œป์ด ์•„๋‹ˆ๋‹ค.
    ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ์ž…ํ•˜๋Š” Forward Process์˜ ์ˆ˜ํ•™์  ๊ณต์‹์„ ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋ฅผ ํ†ตํ•ด ๋’ค์ง‘์–ด์„œ ์–ป์–ด๋‚ธ ์‚ฌํ›„ ํ™•๋ฅ (Posterior)์ด๋ผ๋Š” ํƒœ์ƒ์  ์˜๋ฏธ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.
    ์ฆ‰, ๋ชจ๋ธ์ด ๋ฐฑ์ง€์—์„œ๋ถ€ํ„ฐ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๋Šฅ๋™์ ์ธ ๊ณผ์ •์ด ์•„๋‹ˆ๋ผ, ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ์›๋ณธ $\vx_0$๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Forward Process์˜ ์ˆ˜ํ•™์  ๊ถค์ ์„ ๋‹จ์ˆœํžˆ ๋˜๊ฐ๊ธฐ ํ•œ ์ •๋‹ต ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • Reverse Process (Generative Process)

    \[p_\theta(\vx_{t-1} \mid \vx_t)\]

    ์›๋ณธ $\vx_0$๋ฅผ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ, ๋…ธ์ด์ฆˆ ๋‚€ ์ด๋ฏธ์ง€ $\vx_t$๋งŒ ๋ณด๊ณ  ์‹ ๊ฒฝ๋ง์ด $\vx_{t-1}$๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์‹ค์ œ ์ƒ์„ฑ ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค.

DDPM์˜ ํ•œ๊ณ„

DDPM์€ $x_{t-1}$์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ๋ฐ”๋กœ ์ง์ „ ๋‹จ๊ณ„์ธ $x_t$ ์ •๋ณด๋งŒ ์ด์šฉํ•˜๋Š” Markov Chain์„ ๊ฐ€์ •ํ•œ๋‹ค.

์ฆ‰, ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Forward process์—์„œ ๊ฑฐ์ณ์˜จ $T$๋‹จ๊ณ„๋ฅผ ๊ทธ๋Œ€๋กœ ํ•œ ์Šคํ…์”ฉ ๋‹ค ๋ฐŸ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฏธ์ง€ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋งค์šฐ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

DDIM์˜ ๊ฐ€์ •

์•„๋ž˜์˜ ๋‹จ์ˆœํ™”๋œ DDPM ์†์‹ค ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด, ์†์‹ค ํ•จ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด $t$ ์‹œ์ ์—์„œ์˜ ์ด๋ฏธ์ง€ $\vx_t$๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

\[L_{\text{simple}}= \mathbb{E}_{t,\mathbf x_0,\boldsymbol\epsilon} \bigg[\lVert\boldsymbol\epsilon-\boldsymbol\epsilon_\theta(\vx_t,t)\rVert^2\bigg] \tag{1}\]

ํ•˜์ง€๋งŒ DDPM์—์„œ ์ฆ๋ช…๋œ ์„ฑ์งˆ์— ์˜ํ•ด, $\vx_t$๋Š” ์•„๋ž˜์˜ ์ˆ˜์‹์œผ๋กœ ํ•œ ๋ฒˆ์— ๊ณ„์‚ฐ๋œ๋‹ค.

\[\vx_t=\sqrt{\bar{\alpha}_t}\vx_0+\sqrt{1-\bar{\alpha}_t}\boldsymbol\epsilon \tag{2}\]

์ฆ‰, ์†์‹ค ํ•จ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ์ด๋ฏธ์ง€๋“ค $\lbrace\vx_1,\vx_2, \dots,\vx_{t-1}\rbrace$์ด ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ DDIM ์ €์ž๋“ค์€ Marginal ๋ถ„ํฌ $q(\vx_t\mid\vx_0)$๋งŒ DDPM๊ณผ ๋˜‘๊ฐ™์ด ์œ ์ง€ํ•œ๋‹ค๋ฉด, $\vx_0$์—์„œ $\vx_t$๋กœ ๊ฐ€๋Š” ์ค‘๊ฐ„ ๊ฒฝ๋กœ (Joint ๋ถ„ํฌ)๋Š” ๊ตณ์ด Markov Chain์ผ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์˜€๋‹ค.

์ฆ‰, Non-Markovian process๋ฅผ ๋„์ž…ํ•ด๋„ ์ด๋ฏธ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

fig1

DDIM Process

Non-Markovian Forward Process

DDIM์—์„œ๋Š” ๊ธฐ์กด DDPM์™€ ๋™์ผํ•œ Marginal ๋ถ„ํฌ $q(\vx_t\mid\vx_0)=\mathcal{N}(\sqrt{\bar{\alpha}_t}\vx_0, (1-\bar{\alpha}_t)\vI)$๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„, Markov ๊ฐ€์ •์„ ๊นจ๋œจ๋ฆฐ ์ƒˆ๋กœ์šด Joint ๋ถ„ํฌ๋ฅผ ์ •์˜ํ•˜์˜€๋‹ค.

\[q_\sigma(\vx_{1:T} \mid \vx_0) := q_\sigma(\vx_T \mid \vx_0) \prod_{t=2}^{T} q_\sigma(\vx_{t-1} \mid \vx_t, \vx_0) \tag{3}\]

์—ฌ๊ธฐ์„œ ์•„๋ž˜ ์ฒจ์ž $\sigma=[\sigma_1,\dots,\sigma_T]=\in\mathbb{R}^T$๋Š” ๊ฐ step์˜ stochasticity๋ฅผ ์กฐ์ ˆํ•˜๋Š” ํ‘œ์ค€ํŽธ์ฐจ ๋ฒกํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์œ„์˜ ์‹์—์„œ ๋ชจ๋“  $t$์— ๋Œ€ํ•œ Marginal ๋ถ„ํฌ $q_\sigma(\vx_t \mid \vx_0)$๋ฅผ DDPM๊ณผ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, $q_\sigma(\vx_{t-1} \mid \vx_t, \vx_0)$๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋กœ ์œ ๋„๋œ๋‹ค.

\[q_\sigma(\vx_{t-1} \mid \vx_t, \vx_0) = \mathcal{N}\bigg( \sqrt{\bar\alpha_{t-1}}\, \vx_0 + \sqrt{1 - \bar\alpha_{t-1} - \sigma_t^2} \cdot \frac{\vx_t - \sqrt{\bar\alpha_t} \vx_0}{\sqrt{1 - \bar\alpha_t}}, \sigma_t^2 \vI \bigg) \tag{4}\]

์ฆ‰ $\vx_{t-1}$์„ ๊ฒฐ์ •ํ•  ๋•Œ ํ˜„์žฌ ์ƒํƒœ $\vx_t$๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›๋ณธ $\vx_0$์˜ ์ •๋ณด๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•˜๋ฉฐ, ๋งŒ์•ฝ $\sigma_t=0$์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ํ™•๋ฅ ์  ์š”์†Œ๊ฐ€ ์‚ฌ๋ผ์ ธ $\vx_t$์—์„œ $\vx_{t-1}$๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ๊ณ ์ •๋œ๋‹ค.

์ด์ œ 2๊ฐœ์˜ Marginal ๋ถ„ํฌ์™€ ์‹ (4)๋ฅผ ์ด์šฉํ•ด ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋ฉด, ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ์ž…ํ•˜๋Š” Forward Process์˜ ํ•œ step์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

\[q_\sigma(\vx_t \mid \vx_{t-1}, \vx_0) = \frac{q_\sigma(\vx_{t-1} \mid \vx_t, \vx_0) \, q_\sigma(\vx_t \mid \vx_0)}{q_\sigma(\vx_{t-1} \mid \vx_0)} \tag{5}\]

์ˆ˜์‹์„ ๋ณด๋ฉด $\vx_t$๊ฐ€ $\vx_{t-1}$๋ฟ๋งŒ ์•„๋‹ˆ๋ผ $\vx_0$์—๋„ ์˜์กดํ•˜๋ฏ€๋กœ, Forward Process๋Š” ๋”์ด์ƒ Markovian์ด ์•„๋‹ˆ๋‹ค.

Reverse Process (Sampling)

๋ฐ˜๋ฉด, DDIM์˜ Reverse Process๋Š” ์—ฌ์ „ํžˆ Markovian์ด๋‹ค.

ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…

Markov๋Š” ๋ฐ˜๋“œ์‹œ 1์นธ์”ฉ ์ด˜์ด˜ํ•˜๊ฒŒ ๊ฐ€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด ์•„๋‹ˆ๋‹ค.
๋‹ค์Œ ๋ชฉ์ ์ง€๋ฅผ ์ •ํ•  ๋•Œ, ๊ณผ๊ฑฐ๋ฅผ ๋Œ์•„๋ณด์ง€ ์•Š๊ณ  ์˜ค์ง ํ˜„์žฌ ์œ„์น˜๋งŒ ๋ณธ๋‹ค๋Š” ๋œป์ด๋‹ค.

DDPM์˜ Markov๋Š” 1000 $\to$ 999 $\to$ 998โ€ฆ ์ด๋ ‡๊ฒŒ 1์นธ์”ฉ ๋›ด๋‹ค.
์ฆ‰, 999์—์„œ 998๋กœ ๋›ธ ๋•Œ ํ˜„์žฌ ์œ„์น˜์ธ 999๋งŒ ๋ณธ๋‹ค.

๋ฐ˜๋ฉด DDIM์˜ Markov๋Š” 1000 $\to$ 900 $\to$ 800โ€ฆ ์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ์นธ์”ฉ ๋›ด๋‹ค.
DDIM ์—ญ์‹œ 900์—์„œ 800์œผ๋กœ ๋›ธ ๋•Œ, ๊ณผ๊ฑฐ๋Š” ๋ณด์ง€ ์•Š๊ณ  ์˜ค์ง ํ˜„์žฌ ์œ„์น˜์ธ 900๋งŒ ๋ณด๊ณ  800์œผ๋กœ ๋›ฐ๊ธฐ ๋•Œ๋ฌธ์— Markov ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค.

fig2

DDIM์€ ์ƒ˜ํ”Œ๋ง ๋•Œ ์•„๋ž˜์˜ ์ˆ˜์‹์„ ์ด์šฉํ•ด ๋…ธ์ด์ฆˆ๋ฅผ ๋งค step ์ œ๊ฑฐํ•ด ๋‚˜๊ฐ€๋ฉด์„œ, ์ตœ์ข…์ ์œผ๋กœ ๊นจ๋—ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

\[\vx_{t-1} = \sqrt{\bar\alpha_{t-1}} \underbrace{ \left(\frac{\vx_t - \sqrt{1 - \bar\alpha_t} \, \vepsilon_\theta^{(t)}(\vx_t,t) }{\sqrt{\bar\alpha_t}}\right) }_{\hat{\vx}_0\text{ (predicted } \vx_0)} + \underbrace{ \sqrt{1 - \bar\alpha_{t-1} - \sigma_t^2} \cdot \vepsilon_\theta^{(t)}(\vx_t,t) }_{\text{direction pointing to } \vx_t} + \underbrace{\sigma_t \vepsilon_t}_{\text{random noise}} \tag{6}\]

๊ฐ ํ•ญ์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • $\hat{\vx}_0$ (predicted $\vx_0$): ๋ชจ๋ธ์ด ํ˜„์žฌ step์˜ ๋…ธ์ด์ฆˆ ์ด๋ฏธ์ง€ $\vx_t$๋ฅผ ๋ณด๊ณ , ํ•œ ๋ฒˆ์— ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์˜ˆ์ธกํ•œ ๊ฐ€์ƒ์˜ ์›๋ณธ ์ด๋ฏธ์ง€
  • Direction pointing to $\vx_t$: ์˜ˆ์ธก๋œ ์›๋ณธ $\hat{\vx}_0$์—์„œ ๋‹ค์‹œ ํ˜„์žฌ ์ƒํƒœ $\vx_t$๋ฅผ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋ƒ„
  • Random noise: ๋„์ฐฉํ•œ $\vx_{t-1}$์—์„œ ์•ฝ๊ฐ„์˜ ๋ฌด์ž‘์œ„์„ฑ์„ ๋ถ€์—ฌํ•จ (์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ํ•˜๋Š” ์—ญํ• )

fig3

์‹ (6)์„ ๋ณด๋ฉด, ๋žœ๋คํ•œ ๋ถ€๋ถ„์ด $\sigma_t \vepsilon_t$๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— $\sigma_t$ ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ƒ์„ฑ ๊ณผ์ •์ด ๊ฒฐ์ •๋œ๋‹ค.

$\sigma_t=\sqrt{\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}}\sqrt{1-\frac{\bar\alpha_t}{\bar\alpha_{t-1}}}$์œผ๋กœ ์„ค์ •ํ•˜๋ฉด DDPM๊ณผ ๋™์ผํ•œ ํ™•๋ฅ ์  ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ฅด๋ฉฐ, $\sigma_t=0$์ธ ๊ฒฝ์šฐ ๋žœ๋ค ๋…ธ์ด์ฆˆ ํ•ญ์ด ์‚ฌ๋ผ์ ธ ๋…ธ์ด์ฆˆ์™€ ๊ฒฐ๊ณผ๋ฌผ์ด 1:1๋กœ ๋งคํ•‘๋˜๋Š” ๊ฒฐ์ •๋ก ์  (Deterministic) ๋ชจ๋ธ์ด ๋œ๋‹ค.

DDPM vs DDIM (๊ฐ€์† sampling)

DDIM์€ ํ•™์Šตํ•  ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ 1000 step์„ ๋ชจ๋‘ ๋ฐŸ์„ ํ•„์š” ์—†์ด, ์ „์ฒด step ์ค‘ ์ผ๋ถ€๋งŒ ๊ณจ๋ผ ๊ฑด๋„ˆ๋›ฐ๋ฉฐ ์ƒ˜ํ”Œ๋งํ•ด๋„ ์ข‹์€ ํ’ˆ์งˆ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ step์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” DDPM๊ณผ DDIM์ด ์ˆ˜์‹์„ ์ „๊ฐœํ•œ ์ˆœ์„œ์—์„œ ๊ฐˆ๋ฆฐ๋‹ค.

DDPM์˜ ์ „๊ฐœ ์ˆœ์„œ (์ •๋ฐฉํ–ฅ $\to$ ์—ญ๋ฐฉํ–ฅ)

DDPM์€ ์ž์—ฐ๊ณ„์˜ ํ™•์‚ฐ ๊ณผ์ •์„ ๋ชจ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด, 1step์˜ ๋…ธ์ด์ฆˆ ์ฃผ์ž… ๊ทœ์น™๋ถ€ํ„ฐ ๊ณ ์ •ํ•ด ๋‘๊ณ  ์‹œ์ž‘ํ–ˆ๋‹ค.

  1. Forward Process ์ •์˜: ๋…ธ์ด์ฆˆ๋ฅผ 1step ์ฃผ์ž…ํ•˜๋Š” ๊ทœ์น™ $q(\vx_t \mid \vx_{t-1})$์„ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” Markov Chain์œผ๋กœ ์ •์˜ํ•จ
  2. Marginal Distribution ๋„์ถœ: ์ˆ˜์‹์„ ์ „๊ฐœํ•ด ๋ณด๋‹ˆ, ์ž„์˜์˜ $t$ ์‹œ์ ์—์„œ์˜ ์ƒํƒœ $q(\vx_t \mid \vx_0)$๋„ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋กœ ๋„์ถœ๋จ
  3. Forward Process Posterior ๋„์ถœ: ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋ฅผ ์ด์šฉํ•ด, Reverse Process์˜ ์ •๋‹ต ๋ถ„ํฌ $q(\vx_{t-1} \mid \vx_t, \vx_0)$๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ์˜ ํ˜•ํƒœ๋กœ ์œ ๋„ํ•จ

    \[q(\vx_{t-1} \mid \vx_t, \vx_0)=\mathcal{N}(\vx_{t-1}; \tilde{\vmu}_t(\vx_t, \vx_0), \tilde{\beta}_t \vI)\]

DDPM์—์„œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ 1step ๋…ธ์ด์ฆˆ ์ฃผ์ž…์„ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋กœ ๊ณ ์ •ํ•ด๋ฒ„๋ฆฐ ํƒ“์—, ์—ญ๋ฐฉํ–ฅ ๊ฒฝ๋กœ ๋˜ํ•œ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋งค step์˜ ๋…ธ์ด์ฆˆ ๋ณดํญ์ด ์ถฉ๋ถ„ํžˆ ์ž‘์•„์•ผ ํ•œ๋‹ค๋Š” ์ œ์•ฝ์ด ์ƒ๊ฒผ๋‹ค.
์ฆ‰, ์—ญ๋ฐฉํ–ฅ ์ˆ˜์‹ ์—ญ์‹œ ๋‹จ์ผ ์Šคํ… ๊ณ„์ˆ˜์ธ $\alpha_t$์— ๋ฌถ์—ฌ๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์—,
๋”ฐ๋ผ์„œ step์„ ๊ฑด๋„ˆ๋›ฐ๋ ค ํ•˜๋ฉด ๊ฐ€์šฐ์‹œ์•ˆ ์ „์ œ๊ฐ€ ๊นจ์ง€๋ฉด์„œ ๋ชจ๋ธ์ด ๊ฒฝ๋กœ๋ฅผ ์ดํƒˆํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ, ๋ฌด์กฐ๊ฑด $T$ step์„ ๋‹ค ๋ฐŸ์•„์•ผ๋งŒ ํ•œ๋‹ค.

DDIM์˜ ์ „๊ฐœ ์ˆœ์„œ (์—ญ๋ฐฉํ–ฅ $\to$ ์ •๋ฐฉํ–ฅ)

DDIM์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ค‘๊ฐ„ ๊ณผ์ •์„ ๊ฑด๋„ˆ๋›ด๋‹ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ ์ •ํ•œ ๋’ค ๊ณผ์ •์„ ์—ญ์œผ๋กœ ๋ผ์›Œ ๋งž์ท„๋‹ค.

  1. Marginal Distribution ๊ณ ์ •: ๊ธฐ์กด ํ•™์Šต๋œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, DDPM์—์„œ ์“ฐ๋˜ Marginal ๋ถ„ํฌ $q(\vx_t \mid \vx_0)$๋ฅผ ๋ชฉ์ ์ง€๋กœ ์„ค์ •ํ•จ
  2. Forward Process Posterior ์„ค๊ณ„: Marginal ๋ถ„ํฌ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ Non-Markovian ๋ชฉํ‘œ๋ฅผ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด, Reverse Process์˜ ์ •๋‹ต ๋ถ„ํฌ $q(\vx_{t-1} \mid \vx_t, \vx_0)$๊ฐ€ ์–ด๋–ค ๋ชจ์–‘์ด์–ด์•ผ ํ•˜๋Š”์ง€ ์ˆ˜ํ•™์ ์œผ๋กœ ์—ญ์‚ฐํ•ด์„œ ์‹ (4)๋ฅผ ๋„์ถœํ•จ
  3. Forward Process ํ™•์ธ: Marginal ๋ถ„ํฌ $q(\vx_t \mid \vx_0)$, $q(\vx_{t-1} \mid \vx_0)$ 2๊ฐœ์™€ ์‹ (4)๋ฅผ ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ์— ๋Œ€์ž…ํ•ด ๋ณด๋‹ˆ, ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•œ ํ™•๋ฅ ์  ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์—์„œ๋Š” ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ์ž…ํ•˜๋Š” ๊ณผ์ •์ด ์‹ (5) ๊ฐ™์€ Non-Markovian ํ˜•ํƒœ๋ฅผ ๋ ๊ฒŒ๋จ์„ ์‚ฌํ›„์ ์œผ๋กœ Forward Process๋ฅผ ํ™•์ธํ•จ

DDIM์˜ Reverse Process ์ˆ˜์‹ (6)์„ ๋ณด๋ฉด, ๊ฐœ๋ณ„ step์ธ $\alpha_t$๊ฐ€ ์•„๋‹ˆ๋ผ ๋ˆ„์  step ๊ณ„์ˆ˜์ธ $\bar{\alpha}_t$๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
๋•๋ถ„์— 100 step ์•ž์˜ $\bar{\alpha}_{t-100}$ ๊ฐ’์„ ์ˆ˜์‹์— ๋ฐ€์–ด ๋„ฃ์–ด๋„ ๋ถ„ํฌ๊ฐ€ ๊นจ์ง€์ง€ ์•Š๋Š”๋‹ค.

DDIM Inversion

DDIM Inversion์€ ๊ฐ„๋‹จํžˆ ๋งํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ณผ์ •์ด๋‹ค.

DDPM์€ ์ƒ˜ํ”Œ๋ง ๊ณผ์ •์—์„œ ๋งค step๋งˆ๋‹ค ๋žœ๋ค ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ™์€ ์‹œ์ž‘์ ์—์„œ ์ถœ๋ฐœํ•ด๋„ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.
์ฆ‰, ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์— ์šฐ์—ฐ์„ฑ์ด ๊ฐœ์ž…๋˜์–ด ์žˆ์–ด ์›๋ž˜์˜ ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ๋ฅผ ์ •ํ™•ํžˆ ์—ญ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐ˜๋ฉด, DDIM์€ $\sigma_t=0$์ผ ๋•Œ ๊ฒฐ์ •๋ก ์  ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ฅธ๋‹ค.
๋”ฐ๋ผ์„œ ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ•™์ ์œผ๋กœ ์ •ํ™•ํžˆ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€, ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ–ˆ๋˜ ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.