Introduction
๋์ ํด์๋์ ๋ค์์ฑ์ ์ง๋ generative framework์ธ Diffusion model์ ๋ํด ๋ถ์ํ๊ณ ์๊ฐํ๋ ํ์ด์ง์
๋๋ค.
์ฌ๋ฌ Reference๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ง์ ์์ฑํ์์ต๋๋ค.
Summary
โข
Score based Generative Models (NCSN)
Random noise์์ ์์ํด score ๊ฐ์ ๋ฐ๋ผ ๋์ ํ๋ฅ ๊ฐ์ด ์๋ ๊ณต๊ฐ์์ data๋ฅผ ์์ฑํ๋ ๊ฒ.
โข
Diffusion Models (DDPM)
Noise๋ฅผ ์ ๊ฑฐํ๋ ๊ณผ์ ์ ํ์ตํด random noise๋ก๋ถํฐ data ์์ฑ
โข
Score-based Generative Modeling with SDEs
SDE๋ผ๋ framework์ผ๋ก NCSN๊ณผ DDPM์ ํตํฉํจ.
What is Diffusion?
โข
Diffusion destroys structure!
โข
์ต์ด์ ์ฐ๊ธฐ (smoke)๋ ์ ์ฐจ uniform ํ๊ฒ ๋ถํฌํ ๊ฒ์ด๋ค.
โข
์ด๋ฅผ ์ญ์ผ๋ก ์ถ๋ก ํด๋ณด๋ฉด ์ต์ด์ ์ฐ๊ธฐ๋ฅผ ์ ์ ์์ง ์์๊น?
โข
Physical intuition: ์งง์ sequence ์์์์ forward diffusion, reverse diffusion ๋ชจ๋ Gaussian ์ผ ์ ์๋ค.
Score-based Generative Models
โข
Generative modeling by estimating gradients of the data distribution (Song et al. 2019)
โข
๋ฐ์ดํฐ๋ ๋ชจ์ง๋จ์์ ์ํ๋ง๋๋ค.
โข
์ํ๋ง๋ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ๋ถํฌ์์ ๋์ ํ๋ฅ ๊ฐ์ ๊ฐ๋ ๋ฐ์ดํฐ์. ๋ฎ์ ํ๋ฅ ๊ฐ์ ๊ฐ๋ ๋ฐ์ดํฐ๋ noise ํํ์ผ ๊ฒ.
โข
Generation overview
1.
๋ฐ์ดํฐ ๊ณต๊ฐ ์์์ ์์์ ๋ฐ์ดํฐ๋ฅผ sampling โ noise์ผ ํ๋ฅ ์ด ๋์.
2.
์ด๋ฅผ Data์ probability density function ์ gradient๋ฅผ ๊ณ์ฐํ์ฌ probability๊ฐ ๋์์ง๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธ
์ฌ๊ธฐ์ ์ด ๊ธฐ์ธ๊ธฐ ๊ฐ โscoreโ์ ํด๋นํ๋ค.
More about Score
์ฆ, ์
๋ ฅ data์ score์ dimension์ด ๋์ผํจ.
โข
Data์ ์ ํํ ๋ถํฌ๋ ๋ชจ๋ฅด์ง๋ง score๋ง ์๋ฉด data ์์ฑ ๊ฐ๋ฅ.
โฆ
Train ์์๋ Score๋ฅผ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ถ์ (Score matching)
โฆ
Test ์์๋ ์ถ์ ๋ score๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด data๋ฅผ sampling (Langevin dynamics)
โข
Score matching
Data ์ ๋ํด score๋ฅผ ์์ธกํ๋ model์ธ Score Network๋ฅผ ํ์ต!
๊ทธ๋ฐ๋ฐ ground truth score ์์ฒด๊ฐ intractable
๋ฐฉ๋ฒ 1. ์ Jacobian matrix๋ฅผ ์ฌ์ฉํด ์ ์์กดํ์ง ์๋ ํํ๋ก ์ ๋ (Hyvรคrinen, 2005)
์ค์ score๋ฅผ ์ถ์ ํ ์๋ ์์ง๋ง, Jacobian์ ๊ตฌํ๋ ๊ฒ์ด ํ๋ค์ด์ deep learning์ด๋ high-dimension data์ ํ์ฅํ๊ธฐ ์ด๋ ค์.
๋ฐฉ๋ฒ 2. ์๋ณธ ๋ฐ์ดํฐ์ ๋ํ score๋ฅผ ๊ณ์ฐํ์ง ๋ง๊ณ , ๋ฏธ๋ฆฌ ์ ์๋ noise distribution ๋ฅผ ์ด์ฉํด perturbed data distribution์ ๋ํ score matching (Vincent, 2011)
์ฆ, data์ ์๋ณธ distribution์ ๋ํ density๋ฅผ ์ง์ ๊ณ์ฐํ๋ ๊ฒ์ intractable ํ์ง๋ง, ์ฌ์ ์ ๋ฏธ๋ฆฌ ์ ์ํ perturbed data distribution์ ๋ํ density๋ ๊ณ์ฐ๊ฐ๋ฅํ๊ณ , ์ด๋ฅผ ์ฌ์ฉํด loss๋ฅผ ๊ณ์ฐํจ.
โข
noise๊ฐ ์ถฉ๋ถํ ์์ผ๋ฉด ์๋ data์ score์ ๋น์ท
โข
โข
Langevin dynamics
โฆ
Score network๊ฐ ์ ํ์ต๋์๋ค๋ฉด, ๋ชจ๋ data ๊ณต๊ฐ ์์์ score ๊ณ์ฐ ๊ฐ๋ฅ.
โฆ
์์์ data (random noise)์์ ์์ํ์ฌ ๊ทธ ์์ ์์ ์ถ์ ๋ score๋ฅผ ์ด์ฉํด data๋ฅผ update ํ๋ค.
โฆ
์ด๋ฅผ ๋ฐ๋ณตํ๋ฉด ๋์ probability๋ฅผ ๊ฐ์ง ์ง์ญ์ data๋ฅผ ์์ฑํ ์ ์๋ค.
โข
Problem in Low Density Regions (Inaccurate score estimation)
โฆ
Data๋ high probability ์ง์ญ์์ sampling ๋จ.
โฆ
Low probability ์ง์ญ์์์ score์ ๋ํ ์ ๋ณด๊ฐ ๋ณ๋ก ์์ผ๋ฏ๋ก ๋ถ์ ํํด์ง๋ค.
โ NCSN ์ ์
โข
Annealed Langevin dynamics
โฆ
Noise schedule: Noise ํฌ๊ธฐ๋ฅผ ๊ฐ์์ํค๋ฉฐ sampling ์งํ
โฆ
Gradient ascent: T step๋งํผ data update
DDPM
โข
MLE (Maximum Likelihood Estimation)
๋ชจ๋ parameter์ ๋ํด ๊ณ์ฐ์ ํด๋ณผ ์ ์์ผ๋ฏ๋ก, ๋ฏธ๋ถ์ ํด์ ๊ฐ parameter์ MLE๋ฅผ ์์๋ด๋ ๊ฒ์ด ์ผ๋ฐ์ .
โข
VAE (Variational AutoEncoder)
์ง์ ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก, Latent variable ()๋ก๋ถํฐ data ๋ฅผ ์์ฑ
: True distribution
: Model (Encoder)
โฆ
KL Divergence ์ต์ํ
โฆ
Likelihood ์ต๋ํ
โข
DDPM (Denoising Diffusion Probabilistic Models)
โฆ
Forward process: Add noise
Data () + Noise โ Random noise ()
โฆ
Reverse process: De-noise
Random noise () + Noise โ Data ()
โฆ
๋ชฉ์ : reverse process๋ฅผ ํ์ต
โฆ
VAE vs DDPM
โช
๋ ๋ชจ๋ latent variable model
โช
VAE๋ latent variable ํ๋๋ฅผ ์ด์ฉํด์ data๋ฅผ reconstruction.
โช
DDPM์ Markov chain ์ ์ฒด๋ฅผ latent variable๋ก ์ฌ์ฉ.
โข
โฆ
Loss
DDPM Loss ์ ๋
โฆ
DDPM process
โช
Forward process๊ฐ โ์์โ Gaussian noise๋ฅผ ์คฌ๋ค๋ฉด, reverse process๋ Gaussian์์ด ์ฆ๋ช
๋์ด ์๋ค.
โช
์ค์ reverse process๋ ์ด๊ณ , model์ ๋ก ์ด ๋ ๊ฐ์ KL divergenge๋ฅผ ์ต์ํํ๋๋ก ํ์ต๋๋ค.
โช
: ์ฌ์ ์ ์ ์ํ noise ๋ถํฌ๋ ๋์ผํ๋๋ก ํ๋ loss term
โช
: Reverse process๋ฅผ model์ด ์ ํ์ตํ๋๋ก ํ๋ loss
โช
: ๋ง์ง๋ง์ผ๋ก ๋ฅผ ๋ง๋ค๋๋ก ํ๋ loss
โช
๊ฒฐ๊ตญ model ์ด ์ถ์ ํ๋ ๊ฒ์ Gaussian distribution์ ํ๊ท .
โข
Variance๋ Forward process์ ๋ก๋ถํฐ ์ ์ถ๋๋๋ก ์ค๊ณ๋์ด ์์.
โฆ
Training
โช
์์ ์์ diffused data ๋ฅผ ์์ฑํจ (noise๋ฅผ time step ์ ํด๋นํ๋ ๋งํผ ๋ํด์ค)
โช
Diffused data ์ time step ๋ฅผ model์ ํจ๊ป ๋ฃ์ด์ฃผ๊ณ , model์ ๊ทธ random noise๋ฅผ prediction ํ๋๋ก ํ์ต๋๋ค.
โฆ
Testing
โช
(noise) ์์ ์์ฑ
โช
ํ์ตํ model์ ์ฌ์ฉํด ์ผ๋งํผ์ noise๋ฅผ โdenoiseโ ํด์ฃผ์ด์ผํ๋์ง ์์ธกํ๊ณ , ๊ทธ๋งํผ ๋ํด์ ์ ์ ์์ ๋ฅผ ์์ฑํด๋.
โฆ
NCSN vs DDPM
โช
NCSN๊ณผ DDPM์ training์ objective function ์์ฒด๊ฐ ๋น์ทํ ํ์์ ๋๊ณ ์์.
โช
Testing ์์๋ ์์ฑํ๋ ์์ด ์ ์ฌํจ. ์ด์ ์์ ์ data (noisy data)์์ denoise๋ฅผ ํด๋ด๋ ๊ณผ์ .
DDIM: TODO
Score-based Generative Models Through SDEs
โข
ODE (์๋ฏธ๋ถ๋ฐฉ์ ์) and SDE
โฆ
ODE
โช
ODE๋ ๋ฏธ๋ถ ๋ฐฉ์ ์์ ์ผ์ข
์ผ๋ก, ๊ตฌํ๋ ค๋ ํจ์๊ฐ ํ๋์ ๋
๋ฆฝ ๋ณ์๋ง์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
โฆ
SDE: ODE + Randomness
โช
SDE๋ 1๊ฐ ์ด์์ term์ด stochastic ํ ๋ฏธ๋ถ ๋ฐฉ์ ์์ด๋ค.
โช
General SDE๋ ์๋ ์์ผ๋ก ํํ๋๋ค.
DDPM๊ณผ SDE์ ์ฐ๊ฒฐ
โฆ
SDE๋ NCSN, DDPM์ continuous ๋ฒ์ ์ด๋ค.
โช
Forward SDE: noise๋ฅผ ์ถ๊ฐํ๋ ๊ณผ์
Forward SDE of DDPM
โข
Drift term์ด ODE
โข
Diffusion term์ด stochastic term
โช
Reverse SDE: noise๋ฅผ ์ ๊ฑฐํ๋ ๊ณผ์
Reverse SDE of DDPM
โข
1982๋
์ ๋์จ ๋
ผ๋ฌธ์์ reverse SDE๋ฅผ closed form์ผ๋ก ์ ๋ฆฌํ ์ ์๋ค๊ณ ๋ณด์.
โข
Score function์ ์ด๋ป๊ฒ ์ป์ด์ผ ํ๋๊ฐ๊ฐ SDE์ ํต์ฌ์ด๋ค.
โฆ
NCSM & DDPM
โช
Forward SDE๋ฅผ ์ด๋ป๊ฒ ์ ์ํ๋๋์ ๋ฐ๋ผ NCSN, DDPM์ด ๋๋๋ค.
โช
Time step์ ๋ฐ๋ผ variance๊ฐ exploding ํ๋ NCSN์ VE-SDE, variance๊ฐ preserve ๋๋ DDPM์ VP-SDE.
โฆ
Training: Score network ํ์ต aka Score Matching
โช
Data ์ ์ฒด ๋ถํฌ์ ๋ํ score๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ intractable.
โช
๋ฐ๋ผ์ score function์ ์ถ์ ํ๋ โscore estimatorโ๋ก์จ neural network ๋ฅผ ํ์ต์ํค์ผ์ผ ํ๊ณ , ์ด๋ฅผ โScore matchingโ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
โช
Naรฏve ํ๊ฒ๋ direct regression์ผ๋ก ์ถ์ ํด๋ณผ ์ ์์ง๋ง, ๊ฐ intractable ํ๋ฏ๋ก ๋ชฉํ๋ฅผ ์ ์ ์๋ ์ถ์ ์ด๋ผ ํ ์๊ฐ ์๋ค.
โช
๋์ , ๊ฐ๊ฐ data point ์ ๋ํ ๊ณ์ฐ์ tractable ํ๋ค.
โช
๊ฒฐ๊ตญ ์ด๋ฅผ ํ์ด๋ณด๋ฉด, neural network๋ time step ์์ ๊ฐํด์ง noise๋ฅผ ์์ธกํ๋๋ก ํ์ต์ด ๋๋ค.
โช
์ฆ, DDPM๊ณผ NCSM์ SDE ์๋ง ๋ค๋ฅธ ๊ฒ์ด๊ณ ๊ฒฐ๊ตญ SDE ํํ๋ก ํํํ ์ ์๋ ๊ฐ๋
์ธ ๊ฒ์ด๋ค.
โฆ
Testing: Reverse SDE๋ฅผ ํธ๋ ๊ฒ
โข
Probability Flow ODE
DDPM์ ๊ฐ๋
์์ randomness๋ฅผ ์ ๊ฑฐํ ํํ์ธ DDIM์ด ์๊ฐ๋์๋๋ฐ, SDE๋ ๋น์ทํ๊ฒ diffusion term์ ์ ๊ฑฐํ ODE ํํ๋ก randomness๋ฅผ ์ ๊ฑฐํ ์ ์๋ค.
SDE์ ๊ฒฝ์ฐ Gaussian noise๊ฐ ๊ณ์ ๋ํด์ ธ์ ์ด๋ฆฌ์ ๋ฆฌ ์๋ค๊ฐ๋ค ํ๋ trajectory๋ฅผ ๋ณด์ด์ง๋ง, ODE์ ๊ฒฝ์ฐ ์ง์ง์ฑ์ด ์๋ trajectory๋ฅผ ๋ณด์ธ๋ค.