Post

Score SDE์™€ PF-ODE

Score SDE์™€ PF-ODE

๐Ÿ“„ ๊ด€๋ จ ๋…ผ๋ฌธ: [ICLR 2021] Score-Based Generative Modeling through Stochastic Differential Equations

์ดˆ๊ธฐ ๋””ํ“จ์ „ ๋ชจ๋ธ์ธ NCSN๊ณผ DDPM์€ ๊ฐ์ž์˜ ๋ฐฉ์‹์œผ๋กœ ํฐ ์„ฑ๊ณต์„ ๊ฑฐ๋‘์—ˆ์ง€๋งŒ, ๋‘ ๋ชจ๋ธ ๋ชจ๋‘ ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ์ž…ํ•  ๋•Œ $t=1,2,\dots, T$ ์ฒ˜๋Ÿผ ์ด์‚ฐ ์‹œ๊ฐ„ (Discrete-time) ๊ธฐ๋ฐ˜์˜ ๋…ธ์ด์ฆˆ ์Šค์ผ€์ค„์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

๋ฐ˜๋ฉด, Score SDE๋Š” ์ด๋ฅผ ์—ฐ์† ์‹œ๊ฐ„ (Continuous-time) ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ ธ๊ณ , ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๋ณด์˜€๋˜ DDPM๊ณผ NCSN์„ ํ•˜๋‚˜์˜ ์ˆ˜ํ•™์  ๊ณต์‹ ์•„๋ž˜๋กœ ํ†ตํ•ฉํ•˜์˜€๋‹ค.

์ด๋ ‡๊ฒŒ ์—ฐ์†์ ์ธ ์‹œ๊ฐ„์„ ๋„์ž…ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ์˜ Noising / Denoising ๊ณผ์ •์„ ๋ฏธ๋ถ„๋ฐฉ์ •์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฌด์ž‘์œ„ ๋…ธ์ด์ฆˆ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์ด ๋‹จ์ˆœํžˆ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ๋ฏธ๋ถ„๋ฐฉ์ •์‹์„ ํ‘ธ๋Š” ๋ฌธ์ œ๋กœ ์น˜ํ™˜๋˜์—ˆ๋‹ค.

์ƒ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฏธ๋ถ„๋ฐฉ์ •์‹ ํ’€์ด๋กœ ๋ฐ”๋€Œ๋ฉด์„œ, ์ˆ˜ํ•™์ž๋“ค์ด ์ˆ˜๋ฐฑ ๋…„ ๋™์•ˆ ๋งŒ๋“ค์–ด๋‘” ์ˆ˜์น˜ํ•ด์„ ๋„๊ตฌ๋“ค (Solver)์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.
์ด ๋•๋ถ„์— ๋””ํ“จ์ „ ๋ชจ๋ธ์˜ ๋А๋ฆฐ ์ƒ˜ํ”Œ๋ง ์†๋„๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” DPM-Solver์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•๋“ค์ด ์ƒ๊ฒจ๋‚  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

Discrete-time Process์—์„œ Continuous-time Process๋กœ์˜ ์ „ํ™˜

NCSN๊ณผ DDPM์˜ Forward Process๋ฅผ $\Delta t$ ๊ฐ„๊ฒฉ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • NCSN

    \[\vx_{t+\Delta t}=\vx_t+\sqrt{\sigma_{t+\Delta t}^2-\sigma_t^2\vepsilon_t} \approx \vx_t+\sqrt{\frac{d\sigma_t^2}{dt}\Delta t}\vepsilon_t \tag{1}\]
  • DDPM

    \[\vx_{t+\Delta t}=\sqrt{1-\beta_t}\vx_t+\sqrt{\beta_t}\vepsilon_t \approx \vx_t-\frac{1}{2}\beta_t\vx_t\Delta t+\sqrt{\beta_t\Delta t}\vepsilon_t \tag{2}\]

์ด๋ ‡๊ฒŒ ๋‘ ๋ชจ๋ธ์˜ ์‹์„ $\Delta t$ ๊ฐ„๊ฒฉ์œผ๋กœ ์ •๋ฆฌํ•ด ๋ณด๋ฉด, ์•„๋ž˜์˜ ๋™์ผํ•œ ๊ตฌ์กฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

\[\vx_{t+\Delta t}\approx \vx_t+\vf(\vx_t,t)+g(t)\sqrt{\Delta t\vepsilon_t} \tag{3}\]

Score SDE

์‹ (3)์— ๊ทนํ•œ์„ ์ทจํ•˜๋ฉด $(\Delta t\to0)$, ์œ„์˜ Discrete-time ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์€ Continuous-time SDE๋กœ ์ˆ˜๋ ดํ•˜๊ฒŒ ๋œ๋‹ค.
์ฆ‰, ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ $\Delta t$๋ฅผ ๋ฌดํ•œํžˆ ์ขํ˜€์„œ ์ด์‚ฐ์ ์ธ ๊ณผ์ •์„ ์—ฐ์†์ ์ธ ์‹œ๊ฐ„ ํ๋ฆ„์œผ๋กœ ํ™•์žฅํ•˜๋ฉด, ์ด๋ฅผ SDE๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

\[d\vx(t)=\vf(\vx(t),t)dt+g(t)d\vw(t) \tag{4}\]

์—ฌ๊ธฐ์„œ $\vw(t)$๋Š” ํ‘œ์ค€์ ์ธ Wiener Process (Brown motion)์œผ๋กœ, ๋ฌด์ž‘์œ„์„ฑ์„ ์˜๋ฏธํ•œ๋‹ค.

Wiener Process๋ž€?

ํ•ญ์ƒ 0์—์„œ ์ถœ๋ฐœํ•˜๋ฉฐ, ๊ฒน์น˜์ง€ ์•Š๋Š” ์‹œ๊ฐ„ ๊ตฌ๊ฐ„์—์„œ์˜ ๋ณ€ํ™”๋Ÿ‰์€ ์„œ๋กœ ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด $s$์ดˆ์—์„œ $t$์ดˆ ์‚ฌ์ด์˜ ๋ณ€ํ™”๋Ÿ‰ $w(t) - w(s)$๋Š” ํ‰๊ท ์ด 0์ด๊ณ  ๋ถ„์‚ฐ์ด ์‹œ๊ฐ„ ์ฐจ์ด($t-s$)์™€ ๋™์ผํ•œ ์ •๊ทœ๋ถ„ํฌ(๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ)๋ฅผ ๋”ฐ๋ฆ…

์ด๋Š” ๋…๋ฆฝ์ ์ธ ๊ฐ€์šฐ์‹œ์•ˆ ๋ณ€๋™์„ฑ์ด ๊ณ„์† ๋ˆ„์ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ ์ด ๋Š์–ด์ง€์ง€๋Š” ์•Š์ง€๋งŒ, ์•„๋ฌด๋ฆฌ ํ˜„๋ฏธ๊ฒฝ์œผ๋กœ ํ™•๋Œ€ํ•ด๋„ ๋พฐ์กฑ๋พฐ์กฑํ•˜๊ฒŒ ์ง€๊ทธ์žฌ๊ทธ๋กœ ์›€์ง์—ฌ ๋งค๋„๋Ÿฌ์šด ์ ‘์„ ์„ ๊ทธ๋ฆด ์ˆ˜ ์—†๋‹ค๋Š” ๋œป

์•„์ฃผ ์งง์€ ์‹œ๊ฐ„ $dt$ ๋™์•ˆ์˜ ๋ณ€ํ™”๋Ÿ‰ $d\vw(t)$๋Š” ๋ถ„์‚ฐ์ด $dt$์ธ ๊ฐ€์šฐ์‹œ์•ˆ ๋…ธ์ด์ฆˆ๋กœ ๋ชจ๋ธ๋ง๋œ๋‹ค.

\[d\vw(t)\sim\mathcal{N}(\vzero,dt\vI)\]

fig1

์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ์— ๋…ธ์ด์ฆˆ๋ฅผ ๋”ํ•˜๋Š” Forward SDE ์‹ (4)๋ฅผ ์„ค๊ณ„ํ•˜๋ฉด, ๋…ธ์ด์ฆˆ์—์„œ ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋กœ ๋Œ์•„์˜ค๋Š” Reverse-time SDE์˜ ํ˜•ํƒœ๊ฐ€ ์ˆ˜ํ•™์ ์œผ๋กœ ์ž๋™ ๊ฒฐ์ •๋œ๋‹ค.

\[d\vx(t)=[\vf(\vx(t),t)-g^{2}(t)\nabla_{\vx}\log p_{t}(\vx(t))]dt+g(t)d\vw(t) \tag{5}\]

์‹ (5)์—์„œ ๊ฐ ํ•ญ์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • $-g^{2}(t)\nabla_{\vx}\log p_{t}(\vx(t))$ (Score): ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋ณต์›๋ ฅ์ด๋‹ค.
  • $g(t)d\vw(t)$ (Diffusion): ๋ฌด์ž‘์œ„์„ฑ์„ ๋ถ€์—ฌํ•˜์—ฌ ์ƒ˜ํ”Œ์˜ ๋‹ค์–‘์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.
  • $\nabla_{x}\log p_{t}(\vx(t))$ (Score Function): ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ๋ชจ์—ฌ์žˆ๋Š”, ์ฆ‰ ๋ฐ€๋„๊ฐ€ ๋†’์€ ์˜์—ญ์œผ๋กœ ๊ถค์ ์„ ๊ฐ•ํ•˜๊ฒŒ ๋Œ์–ด๋‹น๊ธด๋‹ค.

์ด๋•Œ Score ํ•ญ๊ณผ Diffusion ํ•ญ์€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์—ญํ•  ๋น„์ค‘์ด ๋‹ฌ๋ผ์ง„๋‹ค.

  • ์ƒ์„ฑ ์ดˆ๊ธฐ ($t \approx T$): ์ด ์‹œ์ ์—๋Š” ๋…ธ์ด์ฆˆ ์Šค์ผ€์ผ $g(t)$๊ฐ€ ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋ธ์€ ๊ฐ•ํ•œ ๋…ธ์ด์ฆˆ (๋ฌด์ž‘์œ„์„ฑ)๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ์ „์ฒด๋ฅผ ๋„“๊ฒŒ ํƒ์ƒ‰ํ•œ๋‹ค.
  • ์ƒ์„ฑ ํ›„๊ธฐ ($t \approx 0$): ๋ชฉํ‘œ์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก $g(t)$๊ฐ€ ์ž‘์•„์ง€๋ฉฐ, Score Function์ด ๊นจ๋—ํ•œ ๋ฐ์ดํ„ฐ ๋งค๋‹ˆํด๋“œ์— ์ƒ˜ํ”Œ์„ ์•ˆ์ฐฉ์‹œํ‚จ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฒฐ์ •๋œ ์‹ (5)์˜ Reverse-time SDE ์ˆ˜์‹์„ ๋ณด๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋ฅด๋Š” ๋ฏธ์ง€์ˆ˜๋Š” ๊ฐ ์‹œ๊ฐ„๋Œ€์—์„œ์˜ Score Function $\nabla_{x}\log p_{t}(\vx(t))$ ํ•˜๋‚˜ ๋ฟ์ด๋‹ค.
ํ•˜์ง€๋งŒ ์ด ๊ฐ’์„ ์ง์ ‘ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์‹ ๊ฒฝ๋ง $\vs_\phi(\vx(t),t)$๋ฅผ ํ•™์Šต์‹œ์ผœ ์ด Score Function์„ ๊ทผ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.

๋”ฐ๋ผ์„œ ๋ชจ๋ธ์ด Score Function๋งŒ ์ •ํ™•ํžˆ ํ•™์Šตํ•ด ๋‚ด๋ฉด, ์ƒ์„ฑ ๊ณผ์ •์€ ๋‹จ์ˆœํžˆ Reverse-time SDE๋ฅผ ์ˆ˜์น˜ํ•ด์„์ ์œผ๋กœ ํ‘ธ๋Š” (์ ๋ถ„ํ•˜๋Š”) ๊ณผ์ •์œผ๋กœ ๊ท€๊ฒฐ๋œ๋‹ค.

fig2์ถœ์ฒ˜: The Principles of Diffusion Models

PF-ODE (Probability Flow ODE)

์‹ (5)์˜ Score SDE ์ˆ˜์‹์„ ๋ณด๋ฉด, Wiener process์ธ $d\vw$๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
์ด๋Š” ๋ฐ์ดํ„ฐ์— ๋…ธ์ด์ฆˆ๋ฅผ ์ ์ง„์ ์œผ๋กœ ๊ฐ€ํ•˜๊ณ  ๋‹ค์‹œ ๋ณต์›ํ•˜๋Š” ๊ณผ์ • ์ „๋ฐ˜์— ๋ฌด์ž‘์œ„์„ฑ(Stochasticity)์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๋ฐ˜๋ฉด, PF ODE๋Š” Score SDE์™€ ๋งค step $t$ ๋งˆ๋‹ค ์ •ํ™•ํžˆ ๋™์ผํ•œ Marginal distribution $p_t(\vx)$๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ์ƒ˜ํ”Œ๋ง ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •๋ก ์ (Deterministic)์œผ๋กœ ์„ค๊ณ„ํ•œ ๋ฐฉ์ •์‹์ด๋‹ค.

Reverse-time PF ODE๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

\[d\vx(t)=[\vf(\vx(t),t)-\frac{1}{2}g^{2}(t)\nabla_{\vx}\log p_{t}(\vx(t))]dt \tag{6}\]

ํ™•๋ฅ ์  ๊ณผ์ •์ธ ์‹ (5)์™€ ๋น„๊ตํ•˜๋ฉด, ๋ฌด์ž‘์œ„์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” $d\vw$ ํ•ญ์ด ์™„์ „ํžˆ ์‚ฌ๋ผ์ง€๊ณ , ๋Œ€์‹  Score ํ•ญ ์•ž์˜ ๊ณ„์ˆ˜๊ฐ€ $\frac{1}{2}$๋กœ ๋ณ€ํ˜•๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ฒ˜๋Ÿผ ๋ฐฉ์ •์‹ ๋‚ด์— ๋ฌด์ž‘์œ„ ํ•ญ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, Latent space์™€ Data space ๊ฐ„์˜ ์ผ๋Œ€์ผ ๋งตํ•‘์ด ๋ณด์žฅ๋˜์–ด ๋™์ผํ•œ ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ์—์„œ ์ถœ๋ฐœํ•˜๋ฉด ํ•ญ์ƒ ๋˜‘๊ฐ™์€ ์ด๋ฏธ์ง€๊ฐ€ ํ™•์ •์ ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

๊ฒฐ์ •๋ก ์  ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๋ฉด์„œ, ๋ชจ๋ธ์€ SDE๊ฐ€ ๊ฐ–์ง€ ๋ชปํ–ˆ๋˜ ๋‘ ๊ฐ€์ง€ ๊ฐ•๋ ฅํ•œ ์ด์ ์„ ์–ป๊ฒŒ ๋œ๋‹ค.

  • ๋ฌด์ž‘์œ„์„ฑ์ด ํฌํ•จ๋œ SDE๋Š” ๋…ธ์ด์ฆˆ์™€ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ผ๋Œ€์ผ ๋งคํ•‘์ด ๋ณด์žฅ๋˜์ง€ ์•Š์•„ ํ•œ ๋ฒˆ ์ง€๋‚˜์˜จ ํ™•๋ฅ ์  ๊ถค์ ์„ ์ •ํ™•ํ•˜๊ฒŒ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋‹ค.
    ๋ฐ˜๋ฉด, PF-ODE๋Š” ํ™•์ •์  ๊ถค์ ์„ ๊ฐ€์ง€๋ฏ€๋กœ, ๊ณต์‹ ํ•˜๋‚˜๋กœ ์–‘๋ฐฉํ–ฅ ๋ชจ๋‘๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์–ด ์ •ํ™•ํ•œ ์—ญ์‚ฐ๊ณผ Latent space ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
  • ODE๋Š” SDE๋ณด๋‹ค ์ˆ˜ํ•™๊ณผ ๋ฌผ๋ฆฌํ•™ ๋ถ„์•ผ์—์„œ ํ›จ์”ฌ ์˜ค๋žซ๋™์•ˆ ๊นŠ์ด ์—ฐ๊ตฌ๋˜์–ด ์˜จ ์ฃผ์ œ์ด๋‹ค.
    ๋”ฐ๋ผ์„œ ์ด๋ฏธ ์ตœ์ ํ™”๊ฐ€ ๋๋‚œ ๊ธฐ์กด์˜ ์ˆ˜๋งŽ์€ ODE Solver๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜์—ฌ, ๋””ํ“จ์ „ ๋ชจ๋ธ์˜ ๋А๋ฆฐ ์ƒ˜ํ”Œ๋ง ์†๋„๋ฅผ ๊ฐ€์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

fig2์ถœ์ฒ˜: The Principles of Diffusion Models