1. ์ํ๋ง(Sampling) ๋ฐฉ๋ฒ
1.1 DDIM
DDIM(Denoising Diffusion Implicit Models)์ DDPM์ stochastic sampling์ deterministic ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟ ์ ์ step์ผ๋ก๋ ๊ณ ํ์ง ์ํ์ ์์ฑํ ์ ์๊ฒ ํ๋ค.
- DDPM์ noise๋ฅผ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ๋ ๋งค step์ randomness๊ฐ ๋ค์ด๊ฐ์ง๋ง, DDIM์ deterministic trajectory๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
- ์ฆ, DDIM์ ํ ์คํ ์ ๋ ํฌ๊ฒ ๋ ธ์ด์ฆ๋ฅผ ๋ฒ๊ฒจ๋ด๋ trajectory๊ฐ ๊นจ์ง์ง ์์์ ๋ ์ ์ ์คํ ์ผ๋ก๋ ์ข์ ํ์ง์ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์ ์๋ ๊ฒ์ด๋ค.
- DDPM์ด ๋ณดํต 1000 step์ ํ์๋ก ํ๋๋ฐ DDIM์ 50~100 step ์ ๋๋ก๋ ์ข์ ํ์ง์ ๋ผ ์ ์๋ค.
- ์์: Stable Diffusion์์ num_inference_steps=50๋ก sampling ์๋๋ฅผ ํฌ๊ฒ ์ค์ด๋ ๋ฐ ํ์ฉ.
1.2 PNDM / LMSD / DPM-Solver
DDPM/DDIM์์ sampling์ ํ ๋๋ ์ผ๋ฐ์ ์ผ๋ก Euler step ๊ฐ์ ๋จ์ํ ๋ฐฉ์์ผ๋ก noisyํ trajectory๋ฅผ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ค. ํ์ง๋ง ์ด๋ฅผ ๋ ๋น ๋ฅด๊ณ ๊ณ ํ์ง๋ก ๋ง๋ค๊ธฐ ์ํด multi-step ODE solver๋ฅผ ์ ์ฉํ๋ ๊ฒ์ด PNDM, LMSD, DPM-Solver์ด๋ค.
- PNDM (Pseudo Numerical Methods for Diffusion Models)
- DDIM์ single-step ๋ฐฉ์ ๋์ , Adams-Bashforth ๊ณ์ด์ multi-step solver๋ฅผ ์จ์ sampling path๋ฅผ ๋ ์ ํํ ์ถ์ ํ๋ค.
- 2~4 step ์ด์ ์ noise prediction(gradient) ์ ๋ณด๋ฅผ ๊ฐ์ด ์ฌ์ฉํด ํ์ฌ ์ํ๋ง์ ๋ฐ์ํจ์ผ๋ก์จ trajectory๋ฅผ ๋ณด์ ํ๋ค.
- LMSD (Linear Multi-Step DPM)
- ๋น์ทํ๊ฒ linear multi-step ODE solver๋ฅผ ์ ์ฉํด ์์ ์ฑ๊ณผ ์๋๋ฅผ ๋ชจ๋ ์ก๋๋ค.
- ํนํ timestep ์๋ฅผ ์ค์ฌ๋ blur๋ artifact ์์ด ๊นจ๋ํ ์ํ์ ๋ฝ๋ ๋ฐ ์ ๋ฆฌํ๋ค.
- DPM-Solver
- adaptive step-size ๋ฐฉ์์ ๋์ ํด timestep ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํ๋ฉฐ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์ํ๋ง์ ์ํํ๋ค.
- ์ด ๋๋ฌธ์ DDIM์ 50 step์ผ๋ก ๋๋ฆด ๋๋ณด๋ค ํจ์ฌ ์ ์ step (20~30 step)์ผ๋ก ๋น์ทํ๊ฑฐ๋ ๋ ์ข์ ํ์ง์ ๋ผ ์ ์๋ค.
PNDM, LMSD, DPM-Solver๋ DDIM์์ ๋ ๋์๊ฐ multi-step ODE solver ๋ฐฉ์์ผ๋ก, ๊ฐ์ ์กฐ๊ฑด์์ ๋ ์ ์ step์ผ๋ก ๋น ๋ฅด๊ณ ๊นจ๋ํ๊ฒ ์ํ์ ์์ฑํ ์ ์์ด ์ง๊ธ์ ๊ฑฐ์ ํ์ค์ฒ๋ผ ์ฌ์ฉ๋๋ค. ๋์ timestep schedule๊ณผ solver ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ ํ ์กฐ์ ํด์ผ ์ต์ ํ์ง์ ๋ผ ์ ์๋ค๋ trade-off๊ฐ ์๋ค.
1.3 Classifier-free Guidance (CFG)

์กฐ๊ฑด ์์ฑ(class-conditional, text-conditional)์์ classifier๋ฅผ ๋ณ๋๋ก ํ์ต์ํค์ง ์๊ณ ๋ ์ํ์ ์กฐ๊ฑด์ ๋ง๊ฒ ์ ๋(guidance)ํ๋ ๋ฐฉ์์ด๋ค.
- ์๋๋ ์กฐ๊ฑด ์์ฑ์์ ∇_x log p(class|x) ํํ์ classifier gradient๋ฅผ ์ฌ์ฉํด ์ํ๋ง์ ์ ๋ํ์ง๋ง, ์ด ๋ฐฉ์์ ๋ณ๋์ classifier๋ฅผ ๋ฐ๋ก ํ์ตํด์ผ ํ๋ ๋ถ๋ด์ด ์์๋ค.
- Classifier-free Guidance(CFG)๋ ์ด๋ฅผ ๋์ฒดํ๊ธฐ ์ํด, ๊ฐ์ ๋ชจ๋ธ์์ ์กฐ๊ฑด์ด ์๋ prediction๊ณผ ์กฐ๊ฑด์ด ์๋ prediction์ ๋ ๋ค ์ํํด ๊ฐ๋จํ ๊ฒฐํฉํ๋ ๋ฐฉ์์ด๋ค.
- ์ด๋ ๊ฒ ์กฐ๊ฑด์ด ์๋ prediction๊ณผ ์กฐ๊ฑด์ด ์๋ prediction์ ๊ฐ์ด ํ์ตํ๋ ์ด์ ๋, ๋์ค์ ์ํ๋ง(inference) ๋จ๊ณ์์ ์กฐ๊ฑด์ด ์๋ ε(x_t|c)์ ์๋ ε(x_t)๋ฅผ ๋์์ ์ฌ์ฉํด guidance๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์์ด๋ค.
- ์ฆ, ์กฐ๊ฑด์ด ์๋ branch๋ ํจ๊ป ํ์ตํจ์ผ๋ก์จ
- ํ๋์ ๋ชจ๋ธ๋ก ์กฐ๊ฑด์ ๋ ๊ฐํ๊ฒ ๋ฃ๊ฑฐ๋, ํน์ ์ฝํ๊ฒ ๋ฃ๋ ๋ค์ํ ์ํ์ ์ ์ฐํ๊ฒ ๋ง๋ค ์ ์๋ค.
- ๋ณ๋์ classifier gradient๋ฅผ ์ฐ์ง ์์ผ๋ฉด์๋ ์ํ๋ ์ ๋๋ก condition์ ๊ฐ์กฐํ๋ ์กฐ์ ๊ฐ๋ฅํ ์์ฑ์ด ๊ฐ๋ฅํด์ง๋ค.
๊ตฌ์ฒด์ ์ผ๋ก ๋ noise prediction์ ๊ณ์ฐํ๋ค.
- ε(x_t|c) : ์กฐ๊ฑด(e.g class, text)์ด ์ฃผ์ด์ง noise prediction
- ε(x_t) : ์กฐ๊ฑด์ ์ฃผ์ง ์์ unconditional noise prediction
- ์ด ๋์ ๋ค์๊ณผ ๊ฐ์ ์์ผ๋ก ๊ฒฐํฉํด guidance scale w๋ฅผ ์กฐ์ ํ๋ค.
- ์ฆ, ๋ฌด์กฐ๊ฑด์ ์ธ ์์ธก์ ๋นผ๋ฉด์ ์กฐ๊ฑด์ ์์กดํ๋ ์ ๋๋ฅผ w๋ฐฐ๋ก ๊ฐ์กฐํ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด text-to-image์์ guidance scale=7.5๋ text condition์ 7.5๋ฐฐ ๋ ๊ฐ์กฐํ ์ํ์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ๋ค.
- w=1 ์ ๋๋ ์กฐ๊ฑด์ ์ ๋นํ ๋ฐ์ (์ฝํ guidance)
- w=7.5๋ ์กฐ๊ฑด์ ๋งค์ฐ ๊ฐํ๊ฒ ๋ฐ์ (๋ณดํต text2image์์ ๋ง์ด ์)
- w=15๋ ์คํ๋ ค ๋ถ์์ ํ๊ฑฐ๋ ๋ถ์์ฐ์ค๋ฌ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ผ ์ ์๋ค. (over guidance)
์ด๋ฌํ CFG๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ๋์ classifier๋ฅผ ๋ฐ๋ก ํ๋ จํ ํ์๊ฐ ์์ผ๋ฏ๋ก ๋ชจ๋ธ ๊ฐ๋ฐ์ด ํจ์ฌ ๋จ์ํด์ง๋ค. ๋ํ w๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฟ๊ฐ๋ฉฐ guidance ๊ฐ๋๋ฅผ ์คํ์ ์ผ๋ก ์กฐ์ ํ ์ ์์ด, ์ฐ๊ตฌ๋ ์๋น์ค์์ prompt tuning์ ๋น ๋ฅด๊ฒ ์๋ํด๋ณผ ์ ์๋ค.
2. ํ์ต ํธ๋ฆญ๊ณผ ์์ ํ ๊ธฐ๋ฒ
2.1 Noise Schedule & Beta Schedule
DDPM์์ forward process๋, ๊นจ๋ํ ์ด๋ฏธ์ง x_0์ ์ ์ noise๋ฅผ ์ถ๊ฐํด x_t๋ก ๋ณํ์์ผ ๊ฐ๋ ๊ณผ์ ์ด๋ค.
์ด๋ ๊ฐ timestep์์ ์ผ๋ง๋ noise๋ฅผ ์ถ๊ฐํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก Noise Schedule (๋๋ Beta Schedule) ์ด๋ค.
- Linear, Cosine, Exponential ๋ฑ ๋ค์ํ beta schedule์ด ์ ์๋์๋ค.
- Linear: ์ผ์ ํ ์๋๋ก β_t๋ฅผ ์ฆ๊ฐ์ํจ๋ค. ๊ตฌํ์ ๊ฐ๋จํ์ง๋ง, ์ด๊ธฐ step์์ noise๊ฐ ๋๋ฌด ๋น ๋ฅด๊ฒ ์ฆ๊ฐํด ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ์์ ์ ์๋ค.
- Cosine (DDPM Improved, Nichol & Dhariwal): β_t๋ฅผ ์ฒ์ฒํ ์ฆ๊ฐ์์ผ, ์ด๊ธฐ ๊ตฌ๊ฐ์์ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ์ค๋ ๋ณด์กดํ๊ณ ํ์ต ์์ ์ฑ์ ๋์ธ๋ค.
- Exponential: ์๋ถ๋ถ์์ ๋๋ฆฌ๊ณ ๋ท๋ถ๋ถ์์ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ค. ์ผ๋ถ ์คํ์์ ์ฑ๋ฅ ํฅ์์ด ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ ์ฐ์ด์ง๋ ์๋๋ค.
EDM์์์ SNR ๊ธฐ๋ฐ ์ค๊ณ

EDM(Elucidating the Design Space of Diffusion Models)์ β schedule ๋์ SNR(Signal-to-Noise Ratio) ๋ฅผ ์ง์ ์ค๊ณํ๋ ๋ฐฉ์์ ๋์ ํ๋ค.
SNR(t) = (signal power) / (noise power) = (α(t)^2) / (σ(t)^2)
- SNR์ ์์ ๊ฐ์ด ์ ์๋๋ฉฐ, timestep์ด ์งํ๋ ์๋ก ์ ์ง์ ์ผ๋ก ๊ฐ์ํ๋ค.
- EDM์์๋ noise scale σ(t)๋ฅผ power-law decay๋ก ์ค๊ณํด SNR์ด ์ผ์ ํ ๊ธฐ์ธ๊ธฐ๋ก ์ค์ด๋ค๋๋ก ์ค๊ณํ๋ค.
- ์ด๋ฅผ ํตํด timestep๋ณ loss variance๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํด ํ์ต์ ์์ ํํ ์ ์๋ค.
์ฆ, EDM์ "์๊ฐ์ ๋ฐ๋ผ ๋ ธ์ด์ฆ๋ฅผ ์ผ๋ง๋ ๋ฃ์๊น?" ๋์ "์๊ทธ๋๊ณผ ๋ ธ์ด์ฆ์ ๋น์จ(SNR)์ด timestep์์ ์ด๋ป๊ฒ ์ค์ด๋ค์ด์ผ ํ๋์ง"๋ฅผ ์ง์ ์ค๊ณํด ํ์ต ์์ ์ฑ๊ณผ ํจ์จ์ ๊ทน๋ํํ ๊ฒ
Noise schedule์ diffusion ๋ชจ๋ธ์์ ๊ฐ์ฅ ํต์ฌ์ ์ธ ํ์ดํผํ๋ผ๋ฏธํฐ ์ค ํ๋์ด๋ฉฐ, ํ์ต์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ, ์ํ๋ง ํ์ง์ ์ง๊ฒฐ๋๋ ์์๋ค. ํนํ Cosine ์ค์ผ์ค๊ณผ SNR ๊ธฐ๋ฐ ์ค๊ณ๋ ์ต๊ทผ ๊ฑฐ์ ํ์ค์ฒ๋ผ ์ฌ์ฉ๋๊ณ ์๋ค.
2.2 V-Prediction
๊ธฐ์กด DDPM์ forward process์์ noisy image x_t๋ฅผ ์ฃผ๊ณ , ๋ชจ๋ธ์ด ์ง์ added noise ε(epsilon) ์ ์์ธกํ๋๋ก ํ์ตํ๋ค.
ํ์ง๋ง, velocity prediction (v-prediction)์ x_t๋ฅผ ์ ๋ ฅ๋ฐ์ velocity v๋ฅผ ์์ธกํ๋๋ก ํ์ตํ๋ ๊ฒ์ด๋ค.
v = (ε * σ) + (xโ * α)
v = (x_t - α * xโ) / σ
- ์ฌ๊ธฐ์ velocity๋ ์์ ๊ฐ์ weighted sum์ด๋ค.
- ์ฆ v๋ noise์ data๋ฅผ ๊ฐ์ด ์์ด ๋ ธ์ด์ฆ์ ์๋ณธ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ๋์์ ๊ฐ์ง latent velocity ๊ฐ์ ๊ฐ๋ ์ด๋ค.
- ์ด๋ฐ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด,
- sigma parameterization์ด ํจ์ฌ ์์ ์ ์ผ๋ก ์๋ํ๋ค.
- timestep (noise scale)์ด ๊ทน๋จ์ ์ผ๋ก ์๊ฑฐ๋ ํฌ๋๋ผ๋ loss variance๊ฐ ์ผ์ ํด์ ธ ํ์ต์ด ๊ท ์ผํด์ง๋ค.
- ํนํ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ ๋ค์ํ β ์ค์ผ์ค์ ์ธ ๋๋ robustํ๊ฒ ๋์ํ๋ค.
๊ธฐ์กด์๋ noisy image์์ noise๋ง ์ง์ ์์ธกํ์ง๋ง, EDM ์ดํ velocity v๋ฅผ ์์ธกํจ์ผ๋ก์จ noise scale(sigma)์ ๊ฐ๊ฑดํ๊ณ loss variance๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ ์ ์๊ฒ ๋์๋ค.
2.3 SNR weighting
SNR weighting์ EDM์์ ์ ์๋ ํ์ต ์์ ํ ๊ธฐ๋ฒ์ผ๋ก, timestep ๋ณ๋ก loss๋ฅผ ์กฐ์ ํด, ํน์ ๋ ธ์ด์ฆ ๋ ๋ฒจ์๋ง ๊ณผ๋ํ๊ฒ ์น์ฐ์น์ง ์๊ณ ์ ๊ตฌ๊ฐ์์ ๊ท ํ์๊ฒ ํ์ต์ด ๋๋๋ก ๋ง๋๋ ๊ธฐ๋ฒ์ด๋ค.
โ ๊ธฐ์กด Diffusion ๋ชจ๋ธ์ ๋ฌธ์ ์
- diffusion ๋ชจ๋ธ์ timestep์ด ์์ ๋ ์ด๋ฏธ์ง๊ฐ ๊ฑฐ์ ์๋ณธ์ด๋ผ loss๊ฐ ์๊ฒ ๋์ค๊ณ , timestep์ด ํด ๋ ์์ noise๋ผ ์๋ฏธ ์๋ gradient๊ฐ ์ ์ ๋์จ๋ค.
- ๊ทธ๋์ ํน์ ๊ตฌ๊ฐ์๋ง loss๊ฐ ์ง์ค๋๊ฑฐ๋, timestep๋ณ๋ก gradient variance๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ ธ ํ์ต์ด ๋ถ์์ ํด์ง๋ค.
โ SNR weighting ๊ฐ์
- timestep t์์ signal-to-noise ratio (SNR) ๋ฅผ ๊ณ์ฐํด, SNR์ ๊ธฐ๋ฐํ weight๋ฅผ loss์ ๊ณฑํด์ค๋ค.
- SNR์ด ํฐ ๊นจ๋ํ ๊ตฌ๊ฐ์์๋ loss๋ฅผ ์๊ฒ ๋ง๋ค์ด์ ๊ณผ๋ํ๊ฒ ํ์ต๋์ง ์๊ฒ ํ๊ณ ,
- SNR์ด ์์ noisyํ ๊ตฌ๊ฐ์์๋ loss๋ฅผ ๋ ํฌ๊ฒ ์ฃผ์ด ์ถฉ๋ถํ ํ์ต๋๋๋ก ํ๋ค.
- ๊นจ๋ํ ๊ตฌ๊ฐ์ ๋ชจ๋ธ์ด ์ด๋ฏธ ์ reconstructํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ๊ตณ์ด loss๋ฅผ ํฌ๊ฒ ์ค ํ์๊ฐ ์๊ณ ,
- noisyํ ๊ตฌ๊ฐ์์๋ ์ ์๋ํ๋๋ก loss๋ฅผ ๋ณด๊ฐํด์ค์ผ diffusion process ์ ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ํ์ตํ ์ ์๋ค.
*SNR์ t๊ฐ ์์๋ ํฌ๊ณ , t๊ฐ ์ปค์ง์๋ก ์์์ง๋ค.
2.4 Gradient Clipping & EMA
โ Gradient Clipping
- diffusion ๋ชจ๋ธ์ timestep๋ง๋ค loss scale์ด ๋ฌ๋ผ gradient exploding์ด ๋ฐ์ํ๊ธฐ ์ฝ๋ค.
- ํนํ ๊ณ ํด์๋๋ large batch๋ก ํ์ตํ ๋ gradient norm์ด ์๊ฐ์ ์ผ๋ก ๋๋ฌด ์ปค์ ธ optimizer step์์ ํ๋ผ๋ฏธํฐ๊ฐ ์ด์์น๋ก ํ ์ํ์ด ์๋ค.
- ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด gradient๊ฐ ํน์ threshold๋ฅผ ๋์ผ๋ฉด gradient๋ฅผ ๋น์จ์ ์ผ๋ก ์ถ์ํด threshold๋ฅผ ๋์ง ์๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด optimizer๊ฐ ํ๋ผ๋ฏธํฐ๋ฅผ ๋๋ฌด ํฌ๊ฒ ์ ๋ฐ์ดํธํ์ง ์์ ํ์ต์ด ์์ ์ ์ด๋ค.
โ Exponential Moving Average (EMA)
θ_ema ← 0.999 * θ_ema + 0.001 * θ
EMA๋ ํ์ต ์ค ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ถ๋๋ฝ๊ฒ ํ๊ท ๋ด๋ ๋ฐฉ์์ด๋ค. ๊ธฐ๋ณธ ํ๋ผ๋ฏธํฐ θ๋ฅผ ํ์ตํ๋ฉด์, ๋์์ ์๋์ฒ๋ผ smoothed ํ๋ผ๋ฏธํฐ θ_ema๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด noisyํ gradient update์ ๋จ๊ธฐ์ ์๋์ ์ํํด ๋ ๋ถ๋๋ฌ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์ป์ ์ ์๋ค.
- ์ค์ ๋ก ์ํ๋ง(inference)์์๋ EMA ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
- ์๋ฅผ ๋ค์ด DDPM, LDM, EDM ์ฝ๋์์๋ ๋ง์ง๋ง sampling ๋จ๊ณ๋ θ_ema๋ฅผ ๋ถ๋ฌ์ ์ด๋ฏธ์ง ์์ฑ์ ์ด๋ค.
'๐ Research > ImageโขVideo Generation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Gen AI] Flow Matching & Rectified Flow ์ดํดํ๊ธฐ! | Diffusion ๋ณด๋ค ๋ ๋น ๋ฅธ ์์ฑ ๋ฐฉ์ (2) | 2025.07.31 |
|---|---|
| [Gen AI] Diffusion Transformer (DiT) ์๋ฒฝ ์ดํดํ๊ธฐ! (5) | 2025.07.15 |
| [Gen AI] LDM (Latent Diffusion Models) ๊ฐ๋ ์ค๋ช (1) | 2025.06.29 |
| [Gen AI] Diffusion Model๊ณผ DDPM ๊ฐ๋ ์ค๋ช (0) | 2025.03.31 |
| [๋ ผ๋ฌธ ๋ฆฌ๋ทฐ] DREAMFUSION: TEXT-TO-3D USING 2D DIFFUSION (0) | 2025.03.23 |