[Gen AI] Diffusion Model ์ค๋ช : ๊ธฐ์ด
๐ก ๋ณธ ๋ฌธ์๋ '[Gen AI] Diffusion Model ์ค๋ช : ๊ธฐ์ด'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
ํด๋น ๊ธ์์๋ Image Generative Model์ ํ ์ข ๋ฅ์ธ Diffusion Model์ด ๋ฌด์์ ํ ์ ์๋์ง ์ดํด๋ด ๋๋ค. ๋ค์์ผ๋ก Diffusion Model์ ์๋ ์๋ฆฌ๋ฅผ ์์ธํ ์ดํด๋ณผ๊ฑฐ๊ณ ์. ์ด๋ ๊ฒ ๋์์ด ๊ฐ๋ฅํ๋๋ก ํ๋ Diffusion Model ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ Architecture์ Loss Function์ ๋ํด ์์๋ด ๋๋ค.
1. Image Generative Model
Diffusion Model์ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ (Image Generative Model)์ ์ผ์ข ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์๋ ค์ง ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ๋ก๋ GAN์ด ์์ต๋๋ค. GAN์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ Generator์ ์ด๋ฅผ ๊ตฌ๋ถํ๋ Discriminator๊ฐ ์ํธ ์ ๋์ ์ผ๋ก ํ์ตํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. Diffusion Model์ ์๋ฆฌ๋ ๋ค๋ฅด์ง๋ง GAN๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๋ ๋ชจ๋ธ์ธ๋ฐ์. GAN๊ณผ Diffusion Model์ด ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
์ ๊ทธ๋ฆผ์ GAN์ ๋ํ ๋ชจ๋ธ์ธ bigGAN๊ณผ Classifier Guidance ๋ฐฉ์์ Diffusion Model์ด ์์ฑํ ํด๋์ค ๋ณ ์ด๋ฏธ์ง๋ฅผ ๋น๊ตํ ์ฌ์ง์ ๋๋ค. ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ํด๋์ค๋ณ ํ์ต ๋ฐ์ดํฐ์ด๊ณ ์. ์ผ์ชฝ์ bigGAN์ด ์์ฑํ ์ด๋ฏธ์ง๋ฅผ, ๊ฐ์ด๋ฐ๋ Diffusion Model์ด ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. ์ด๋ค๊ฐ์? GAN๊ณผ ๋น๊ตํ์๋ ์์ฑํ ์ด๋ฏธ์ง์ ํ๋ฆฌํฐ๊ฐ ์ ํ ๋จ์ด์ง์ง ์์ฃ ?
ํ์ง๋ง Diffusion Model์ ์ง์ง ๋ฅ๋ ฅ์ ๋จ์ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑ ํ๋๋ฐ์ ์์ง ์์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ ํ๋ฒ ๋ณผ๊ฒ์.
ํ์ ์คํ์ด์์ ์ค์ผ์ดํธ ๋ณด๋๋ฅผ ํ๊ณ ์๋ ํ ๋ ๋ฒ ์ด ์ฌ์ง์ธ๋ฐ์. DALLE2 ๋ผ๋ Diffusion Model์ด ์์ฑํ ์ด๋ฏธ์ง์ ๋๋ค. ๋ง๋ค๊ณ ์ ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ค๋ช ํ๋ Text๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ด์ ํด๋นํ๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํด์ฃผ๋ ๋ชจ์ต์ธ๋ฐ์. ๋๋ผ์ด๊ฑด ์ ๋ ๊ฒ ํ์ ์คํ์ด์์ ์ค์ผ์ดํธ ๋ณด๋๋ฅผ ํ๋ ํ ๋ ๋ฒ ์ด ์ฌ์ง์ DALLE2๊ฐ ํ์ตํ ๋ฐ์ดํฐ์ ์๋ ์๋ค๋ ์ ์ ๋๋ค. DALLE2๋ ํ์ต ๋ฐ์ดํฐ์ ์๋ ํํ์ ์ด๋ฏธ์ง๋ค๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง Text๊ฐ ๋ฌ์ฌํ๋ ๋๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ฃ .
ํ ์คํ ๋ ๋์๊ฐ ๋ณผ๊น์? ์ด๋ฒ์๋ ์ด๋ฏธ์ง๋ฅผ ์ค๋ช ํ๋ Text ๋ฟ๋ง ์๋๋ผ ์์น ์ ๋ณด๊น์ง ์ ๋ ฅ์ผ๋ก ๋ฃ์ด์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
์ ๊ทธ๋ฆผ์ GLIGEN์ด๋ผ๋ Diffusion Model์ด ์์ฑํ ์ด๋ฏธ์ง ์ํ์ธ๋ฐ์. ๊ทธ๋ฆผ ์๋์ ์์ฑํ๊ณ ์ ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ค๋ช ํ๋ Text์ธ Caption์ด ์์ต๋๋ค. ํ์ฑ๊ณผ ํ์์ ์ฐ์ฃผ ๋ชจ์ต์ ๊ทธ๋ฆฌ๊ณ ์ถ์๋ฐ์. ์ผ์ชฝ์ Ground๋ ์ด๋์ ํ์ฑ๊ณผ ํ์์ ์์น๋ฅผ ์ ํํด์ฃผ๊ณ ์์ต๋๋ค. ์ฆ ์ผ์ชฝ ์๋์๋ ํ์ฑ์ด, ์ค๋ฅธ์ชฝ ์์๋ ํ์์ด ์์นํ๋๋ก ์ฐ์ฃผ ๋ชจ์ต์ ๊ทธ๋ ค๋ฌ๋ผ๋ ๊ฒ์ด์ฃ . ์ค๋ฅธ์ชฝ ๋ค๊ฐ ์ด๋ฏธ์ง๋ ์ด๋ฌํ ์กฐ๊ฑด์ ์ ๋ ฅ ๋ฐ์ GLIGEN์ด ์์ฑํ ์ด๋ฏธ์ง๋ค์ ๋๋ค. ์ฃผ์ด์ง ์กฐ๊ฑด์ ์ ๋ง์กฑํ๋ฉด์๋ ๋ค์ํ ํํ๋ก ์ ๋ง๋ค์ด์ง ๋ชจ์ต์ด์ฃ ?
์ด๋ ๊ฒ ๊ธฐ์กด Image Generative Model๊ณผ๋ ๋ฌ๋ฆฌ ๋ค์ํ ์๊ตฌ์กฐ๊ฑด์ ๋ง๋ ๊ณ ํ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๋ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๋ฉด์ ์ต๊ทผ Diffusion Model์ด ํฐ ํ์ ๊ฐ ๋๊ณ ์์ต๋๋ค.
2. Diffusion Model ์ด๋?
์ด๋ฒ ์ฑํฐ์์๋ Diffusion Model์ ๊ธฐ์ด๋ฅผ ๋ค์ ธ๋ด ๋๋ค. Diffusion Model์ด ๋ฌด์์ธ์ง, ์ด๋ป๊ฒ ๋์ํ๋์ง๋ฅผ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
2-2. Diffusion Model ์๋ ์๋ฆฌ
์ด๋ฌํ ์์ฒญ๋ ๋ฅ๋ ฅ์ Diffusion Model์ ์ด๋ป๊ฒ ๋์ ํ๋๊ฑธ๊น์?
2-2-1. Diffusion Process
Diffusion Model์ ๋ํด ์๋ ค๋ฉด ๋จผ์ Diffusion ์ด ๋ฌด์์ธ์ง ์์์ผ๊ฒ ์ฃ . Diffusion์ ‘ํ์ฐ’ ํ์์ ์๋ฏธํ๋๋ฐ์.
๊ทธ๋ฆผ4. Forward Diffusion Process
์ ๊ทธ๋ฆผ์ ๊ณต๊ฐ์์ ๋ชจ์ฌ ์๋(ํน์ ํ ํจํด์ ๋ณด์ด๋) ๋ถ์๋ค์ด ํ์ฐ ํ์์ ํตํด ์ ๊ณต๊ฐ์ ๊ณ ๋ฅด๊ฒ ๋ถํฌํ๊ฒ ๋๋ ํ์์ ํํํ๊ณ ์์ต๋๋ค. ์ด๋ ๋ถ์ ํ๋ ํ๋๋ ์ด๋ป๊ฒ ์์ง์์๊น์? ์ ๊ทธ๋ฆผ์ ๋ถ์๋ค์ค ํ๋์ ๋ถ์์๋ง ์ด์ ์ ๋ง์ถฐ ์์ฃผ ์งง์ ์๊ฐ ๋จ์๋ก ์ค๋ ์ท์ ์ฐ์ด ๊ด์ฐฐํ๋ค๊ณ ์์ํด๋ณด์ฃ . ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ถ์๋ ์๋์ ๊ฐ์ด ์์ง์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฌํ ๋ถ์์ ์์ง์์ Gaussian Distribution์ ๋ฐ๋ฅด๋๋ฐ์. ์ฆ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๊ท ๐๊ณผ ํ์ค ํธ์ฐจ ๐๋ฅผ ๋ฐ๋ฅด๋ ์ ๊ท ๋ถํฌ๋ก ์์ง์์ ํํํ ์ ์์ฃ . ๊ทธ๋ ๋ค๋ฉด ๋ง์ด์ฃ , ๋งค์๊ฐ t๋ง๋ค ๊ฐ ๋ถ์์ ์์ง์์ ๊ณ์ฐํด๋ผ ์ ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ๊ทธ๋ผ Diffusion Process๋ฅผ ๊ฑฐ๊พธ๋ก ๋๋๋ฆด ์ ์๊ฒ ์ฃ ? ์๋ ๊ทธ๋ฆผ์ฒ๋ผ์.
๋งค์๊ฐ t ๋ง๋ค์ ์์ง์์ ์ญ์ฐ์ฐํ๊ฒ ๋๋ฉด, ๋ค์ ๊ณต๊ฐ์์ ๋ชจ์ฌ ์๋(ํน์ ํ ํจํด์ ๋ณด์ด๋) ๋ถ์๋ค๋ก ๋๋๋ฆฌ๋ ๊ฒ์ ๊ธฐ์ด๋ก ํฉ๋๋ค.
2-2-2. Image์ Diffusion Process ์ ์ฉํ๊ธฐ
์, ์ง๊ธ๊น์ง์ ๊ณผ์ ์ ๊ทธ๋๋ก Image์ Pixel ๊ฐ์ ์ ์ฉํด๋ณด๊ฒ ์ต๋๋ค. ๋ถ์์ ์์ง์์ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ Noise๋ก ๋ณด์์์์. ๋ง์ฐฌ๊ฐ์ง๋ก Image์ Pixel ๊ฐ์ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ Gaussian Noise๋ฅผ ์ ์ง์ ์ผ๋ก ์ถ๊ฐํ๋ค๊ณ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด Diffusion Process๋ ์ด๋ฐ ํํ๋ก ํํ๋๊ฒ ๋ค์.
์ผ์ชฝ์ ์๋ ๊ทธ๋ฆผ์ ์๋ณธ ์ด๋ฏธ์ง์ ๋๋ค. x0๋ผ๊ณ ํํํ๊ณ ์์ฃ . ์ด ์ด๋ฏธ์ง์ ๋ชจ๋ ํฝ์ ๊ฐ์ Noise๋ฅผ ์ถ๊ฐํด์ค๋๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง๊ฐ x1์ ๋๋ค. ๋ถ์์ Diffusion Process์ ๋์ผํ ๋ฐฉ๋ฒ์ ํ๊ณ ์์ฃ ? ์ด์ ์ด ๊ณผ์ ์ ๋งค์ฐ ๋ง์ด ๋ฐ๋ณตํด์ผ๊ฒ ์ฃ . ๋ถ์๋ค์ด ์์ฃผ ๋ง์ ์๊ฐ t๋ฅผ ๊ฑฐ์ณ ์ต์ข ์ ์ผ๋ก ์์ ๊ท ๋ฑํ ์ํ๋ก ๋ถํฌํ๊ฒ ๋ ๊ฒ ์ฒ๋ผ ๋ง์ด์ฃ . ๊ทธ๋ผ ์ด ๊ณผ์ ์ ์ด๋ ๊ฒ ํํ๋ ๊ฒ๋๋ค.
์ด ๊ณผ์ ์ Diffusion Process์ Forward ๊ณผ์ ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ์ด๋ฏธ์ง x0๋ก๋ถํฐ ๋ชจ๋ ํฝ์ ๊ฐ์ ์๊ฐ t๋ง๋ค Noise๋ฅผ ์ฒจ๊ฐํด์ฃผ๋ Process์ฃ (๊ธฐ๋ณธ์ ์ธ T=1000 ๊ฐ๋). ์ด๋ ๊ฒ ์์ฃผ ๊ธด ์๊ฐ T๋ฒ์ ๊ฑฐ์ณ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง xT๋ ์ด์ ์์ ํ Noise ์ด๋ฏธ์ง๊ฐ ๋์ด ์๊ฒ ์ฃ . ๋ถ์๋ค์ Diffusion Process์์๋ x0๊ฐ ๋ญ์ณ์๋ ์ํ, xT๊ฐ ์์ ํ ๊ท ๋ฑํ๊ฒ ๋ถํฌํ๊ณ ์๋ ์ํ์ ํด๋นํฉ๋๋ค.
์, ์๊น ๋งค์๊ฐ t์์ ์ฒจ๊ฐ๋ Noise๋ฅผ ๊ณ์ฐํ ์ ์๋ค๋ฉด ์ด ๊ณผ์ ์ ๋๋๋ฆด ์ ์๋ค๊ณ ํ์์ฃ ? ๋ถ์๋ค์ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ๊ณต๊ฐ์ ๊ท ๋ฑํ๊ฒ ๋ถํฌํ๋ ์ํ์์ ๋ค์ ํ ๊ณต๊ฐ์ ๋ชจ์ฌ์๋ ์ํ๋ก ๋๋๋ฆด ์ ์๋๊ฑฐ์ฃ . ๊ทธ๋ ๋ค๋ฉด ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ๋ ๊น์?
์์ ๊ฐ์ Process๊ฐ ๋ ๊ฒ๋๋ค. ์๊ฐ t ๋ง๋ค ์ด๋ฏธ์ง ํฝ์ ๊ฐ์ ์ฒจ๊ฐ๋ Noise ๊ฐ์ ๊ณ์ฐํ ์ ์๋ค๋ฉด Noise ์ด๋ฏธ์ง xT ๋ก๋ถํฐ ์ง์ง ์ด๋ฏธ์ง x0๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ฒ ์ฃ . ์ด ๋ง์ ๊ณง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๋ค๋ ๋ง์ด์์์? ์ ๋ ฅ์ผ๋ก๋ ๋๋คํ๊ฒ ์์ฑํด์ค Noise ์ด๋ฏธ์ง xT๊ฐ ๋ค์ด๊ฐ๋ฉด Reverse Diffusion Process๋ฅผ ๊ฑฐ์ณ ์์ ํ ์ด๋ฏธ์ง x0๊ฐ ๋์ค๊ฒ ๋๋๊น ๋ง์ด์ฃ .
2-2-3. Image์ Diffusion Process ์ ์ฉํ๊ธฐ: ๋ ผ๋ฌธ์ ๊ธฐ๋ฐํ ์์ ์ดํดํ๊ธฐ
๋ค์ ์ ๋ฆฌํ๋ฉด, Diffusion model์ Genrative model๋ก์ ํ์ต๋ ๋ฐ์ดํฐ์ ํจํด์ ์์ฑํด๋ด๋ ์ญํ ์ ํฉ๋๋ค. ์ด๋ ํจํด ์์ฑ ๊ณผ์ ์ ํ์ตํ๊ธฐ ์ํด Diffusion Process๋ฅผ ํตํด ๊ณ ์์ ์ผ๋ก ํจํด์ ๋ฌด๋ํธ๋ฆฌ๊ณ (Noising), ์ด๋ฅผ ๋ณต์ํ๋ Reverse Process ๊ณผ์ ์ผ๋ก ์กฐ๊ฑด๋ถ pdf๋ฅผ ํ์ตํฉ๋๋ค(Denoising). ์ด๋ Reverse Process๋ Diffusion Process์ ์ญ ๊ณผ์ ์ ํ์ตํฉ๋๋ค.
Diffusion Process (Forward)
๋จผ์ Diffusion Process์ Forward ๊ณผ์ ์ธ ์ ์ง์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํด์ฃผ๋ ํ๋ก์ธ์ค๋ถํฐ ์ค๋ช ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ด๋ ๊ฒ ์ด์ ์์ (t-1)์ผ๋ก ๋ถํฐ ํ์ฌ ์์ (t)์ ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๊ณผ์ ์ ์กฐ๊ฑด๋ถ ๊ฐ์ฐ์์ q(Xt | Xt-1)์ Markov chain์ผ๋ก ํํํฉ๋๋ค.
๋ฌผ๋ก ์ฃผ์ ๋๋ Gaussian Noise์ ํฌ๊ธฐ๋ ํ์ตํ๋ ๊ฒ์ด ์๋, ์ฌ์ ์ ์ผ๋ก ์ ์๊ฐ ๋๋ฉฐ ์ด๋ฅผ βt๋ก ํ๊ธฐํฉ๋๋ค(0.001 < βt < 0.02).
๊ทธ๋ฆฌ๊ณ ์ ์์๋ฅผ Reparameterization trick์ ํ์ฉํ์ฌ ์๋์ ๊ฐ์ด ๊ตฌํํ๋๋ฐ, ์ด๋ VAE์์ ์ฌ์ฉํ๋ trick๊ณผ ์ ์ฌํฉ๋๋ค.
์์์ ์ธ๊ธํ βt๋ ์ฌ์ ์ ์ผ๋ก ์ ์๊ฐ ๋๋ฉฐ, ์ฌ์ ์ ์ ์(schefuling)์ ํฌ๊ฒ 3๊ฐ์ง(Linear, Quad, Sigmoid schedule)๋ฅผ ๊ณ ๋ คํฉ๋๋ค. ์๋์ ์ฌ์ง์ ๊ฐ scheduling ๊ธฐ๋ฒ์ ๋ํด celeb-A ๋ฐ์ดํฐ์ ์ ๋ณํ๋ฅผ ๋ํ๋ธ ๊ฒ์ผ๋ก, βt์ ํฌ๊ธฐ๋ฅผ ์ ์ ๋๋ ค๊ฐ์ ๋ฐ๋ผ ์ฌ์ง์ด white noise๋ก ๋ณํ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ฌํ Diffusion Process๋ ๋จ๊ณ์ ์ผ๋ก gaussian noise๋ฅผ ํตํด ๋ค์์ latent variable(X1, X2, ..., XT)๋ฅผ ํ๋ํ๋ ๊ณผ์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ์ป์ ๋ง์ง๋ง latent variable(xT)๋ pure isotropic gaussian ํํ๋ฅผ ๊ฐ๊ฒ๋ฉ๋๋ค. ์ด๋ ๋ค์์ latent variable๋ฅผ ์์ ํ๋ค๋ ์ ์์ Hierarchical VAE์ ์ ์ฌํ ์ ๊ทผ๋ฐฉ๋ฒ์ ๋๋ค.
Reverse Process
Diffusion Process๋ ์ฌ์ ์ ์ ์ํ Noise ํฌ๊ธฐ์ธ βt์ ์ํด์ ๋ชจ์์ธ ํ๊ท ๊ณผ ๋ถ์ฐ์ด ์ ์๊ฐ ๋์ด ์๊ณ ์๊ณ ๋ง๋ค์ด๋ผ ์ ์๋ Trackableํ ๋ถํฌ์ด์ง๋ง, Reverse Process๋ ์ฐ๋ฆฌ๊ฐ ์์ง ๋ชปํ๋ ์กฐ๊ฑด๋ถ Gaussian ๋ถํฌ์ ๋๋ค. ์ฃผ์ ํ noise์ธ q(Xt | Xt-1)๊ฐ Gaussian์ด๋ฉด, βt๊ฐ ๋งค์ฐ ์์ ๋ q(Xt-1 | Xt) ๋ Gaussian์ด๋ผ๋ ๊ฒ์ ์ด๋ฏธ ์ฆ๋ช ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ Reverse Process ์กฐ๊ฑด๋ถ Gaussian ๋ถํฌ์ ๋ชจ์์ธ ํ๊ท ๊ณผ ๋ถ์ฐ์ ํ์ต์ ํด์ผ ํฉ๋๋ค.
2-3. Architecture
๊ทธ๋ผ Diffusion Model์๊ฒ ํ์ํ ๊ฒ์ t์์ ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ ํฝ์ ๋ณ๋ก ์ถ๊ฐ๋ Noise๋ฅผ ์์ธกํด์ฃผ๋ ๊ฒ์ด๊ฒ ๊ตฐ์. ์ด๋ ๊ฒ ๊ณ์ฐํด๋ธ Noise๋ฅผ ๋นผ๋ด๋ฉด ํ ์์ ์ ์ด๋ฏธ์ง๋ก, ์ฆ ๋ Noisyํ ์ด๋ฏธ์ง๋ก ๋ฐ๊ฟ์ค ์ ์๋๊ฑฐ์ฃ . ์ด ๊ณผ์ ์ ๊ณ์ํด ๋๊ฐ๋ฉด ์์ ํ ์ด๋ฏธ์ง x0๋ฅผ ๋ง๋ค์ด๋ผ ์ ์์๊ฒ๋๋ค.
๋ฐ๋ผ์ Diffusion Model์ด ๊ฐ์ถฐ์ผ ํ๋ ๋ช ๊ฐ์ง ์กฐ๊ฑด์ ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ๋ก Input์ ์ด๋ฏธ์ง, ๋๋ Noisy ์ด๋ฏธ์ง๊ฐ ๋ ๊ฒ๋๋ค. ๊ผญ ์ด๋ฏธ์ง์ฌ์ผ๋ง ํ๋ค๋ ๋ป์ด ์๋๋ผ Width*Height*Channel ํํ์ 3์ฐจ์ ๋๋ 2์ฐจ์ Array ์ฌ์ผ ํ๋ค๋ ๊ฒ์ด์ฃ .
- ๋ ๋ฒ์งธ๋ก ๋ช ๋ฒ์งธ Process ์ธ์ง๋ฅผ ์๋ฏธํ๋ t๋ ์ฃผ์ด์ ธ์ผ ํฉ๋๋ค. ๊ทธ๋์ผ Diffusion Model ์ ์ฅ์์๋ ๊ทธ์ ๋ง๊ฒ Noise๋ฅผ ์์ธกํ ์ ์์ผ๋๊น์.
- ์ธ ๋ฒ์งธ๋ก ์ถ๊ฐ Condition (์กฐ๊ฑด) ์ด ์๋ค๋ฉด ์ด ์กฐ๊ฑด ๋ํ Diffusion Model์๊ฒ ์ฃผ์ด์ ธ์ผ ํฉ๋๋ค. ์ด๋์ ์กฐ๊ฑด์ด๋ ํน์ ํด๋์ค ์ ๋ณด, ๋๋ ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ํํํ Text ์ ๋ณด ๋ฑ๋ฑ์ด ํด๋นํฉ๋๋ค.
- ๋ค ๋ฒ์งธ๋ก Output์ Input๊ณผ ๋์ผํ ํํ์ฌ์ผ ํฉ๋๋ค. ๋์ ๊ฐ์ ๊ฐ ํฝ์ ๋ณ๋ก ์ฒจ๊ฐ๋ Noise ๊ฐ์ ์๋ฏธํด์ผ๊ฒ ์ฃ . Diffusion Model์ ๋ฐ๋ผ Noise ๊ฐ ์์ฒด๋ฅผ ์์ธกํ ์ง, Noise์ ๐, ๐ ๋ฑ์ ์์ธกํ ์ง๋ ์กฐ๊ธ์ฉ ๋ค๋ฅด์ง๋ง, Noise๋ฅผ ์์ธกํ๋ค๊ณ ์ดํดํ๋ฉด ํฐ ํ๋ฆ์ ์ดํดํ๊ธฐ์ ๋ฌด๋ฐฉํฉ๋๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ๋ง์กฑํ๋ Diffusion Model์ Architecture๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๊ทธ๋ฆผ์ Diffusion Model์ Architecture๋ฅผ ํํํ ๊ทธ๋ฆผ์ธ๋ฐ์. ๋จผ์ Diffusion Model์ UNet ๊ตฌ์กฐ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ด๋ Input๊ณผ ๋์ผํ Resolution์ Output์ ๋ด๊ธฐ์ ์ ์ ํ ๊ตฌ์กฐ์ฃ . ๊ทธ๋ฆฌ๊ณ t์ Condition์ ๋ณ๋๋ก ์ ๋ ฅ๋ฐ๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ๊ฑฐ์ ๋๋ถ๋ถ์ Diffusion Model์์ ๊ณตํต์ ์ผ๋ก ์ ์ฉํ๊ณ ์์ต๋๋ค.
์ด๋ UNet์ ์์์๋ ์ค๋ช ํ๋ฏ์ด Reverse Diffusion Process์ ์ฌ์ฉ๋๋ฉฐ, Forward Diffusion ๋ ์ ์ฉํ๋ Noise๋ฅผ Loss์ ๋ฃ์ด์ฃผ์ด ์ด๋ฌํ ๋ ธ์ด์ฆ ์ ๊ฑฐ๋ฅผ ํ์ตํ๊ฒ ๋ฉ๋๋ค.
2-4. Loss Function
Reverse Process๋ ํ์ต์ ๋์์ด๊ธฐ ๋๋ฌธ์ ํ์ต์ ๋ฐฉํฅ์ ๋ณด์ฌ์ค ์ ์๋ Loss๋ฅผ ์ดํด๋ด์ผ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ Reverse Process์ ๋ก์ค๋ ์ฅ ํจ ๋ณด์ด์๋ ์์๊ณผ ๊ฐ์ด ํํ์ด ๋ ์๊ฐ ์์ต๋๋ค
์ด๋ฌํ Loss๋ Negative Log Likelihood์ ๊ฐ๊ณ , ๊ฒฐ๊ตญ์ ์ฌ๋ ์์ฑ ๋ชจ์๊ณผ ๊ฐ์ด Dense Estimation ๊ด์ ์์ ๋ฐ์ดํฐ์ ๋ํ Fitting ์ด ์ต๋ ๊ฐ ๋๋๋ก Negative Log Likelihood ์ต๋ ํ๋๋ก ํ๋ ๊ฒ์ด ๋ชฉ์ ์์ด ๋ ๊ฒ์ ๋๋ค. ํด๋น ๋ก์ค๋ฅผ ๋์ถํ๋ ์์ธํ ๊ณผ์ ์ ๋ณธ ์์์์ ๋ค๋ฃจ์ง๋ ์์ต๋๋ค. ๋์ ์ Loss์ ์์ธํ ๋์ถ ๊ณผ์ ์ ๊ผผ๊ผผํ๊ฒ ๋ฆฌ๋ทฐํ ๋ธ๋ก๊ทธ๋ฅผ Sitation ํ๊ณ ์ ํฉ๋๋ค.
- [๋ ผ๋ฌธ๊ณต๋ถ] Denoising Diffusion Probabilistic Models (DDPM) ์ค๋ช : https://developers-shack.tistory.com/8
์ถ๊ฐ๋ก, ์ฌ๊ธฐ์ Likelihood๋ Probability์ ๊ฐ์ด ํ๋ฅ ์ ๋ํ๋ด๋ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉ๋๋๋ฐ, ๊ฐ๋จํ๊ฒ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ๋ณํ ์ ์์ผ๋ฉฐ, ๊ด๋ จ ์์ธํ ๋ด์ฉ์ ํ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ Citationํ๊ณ ์ ํฉ๋๋ค.
- Probability๋ ์ฃผ์ด์ง ํ๋ฅ ๋ถํฌ๊ฐ ๊ณ ์ ๋ ์ํ์์, ๊ด์ธก๋๋ ์ฌ๊ฑด์ด ๋ณํ๋ ๋, ํ๋ฅ ์ ํํํ๋ ๋จ์ด์ ๋๋ค.
- Likelihood๋ ๊ด์ธก๋ ์ฌ๊ฑด์ด ๊ณ ์ ๋ ์ํ์์, ํ๋ฅ ๋ถํฌ๊ฐ ๋ณํ๋ ๋(=ํ๋ฅ ๋ถํฌ๋ฅผ ๋ชจ๋ฅผ ๋ = ๊ฐ์ ํ ๋), ํ๋ฅ ์ ํํํ๋ ๋จ์ด์ ๋๋ค.
- [๊ฐ๋ ์ ๋ฆฌ] Likelihood ์ Probability: https://xoft.tistory.com/30
๋ณธ ์์์์๋ Loss์ ๋์ถ ๊ณผ์ ์ ์์ธํ ์ฆ๋ช ํ๊ธฐ ๋ณด๋ค๋ VAE ์ ๊ตฌ์กฐ์ ์ผ๋ก ๋น๊ตํ๋ฉด์ ๊ฐ๋ ์ ์ธ ์ดํด๋ฅผ ํด๋ณด๊ณ ์ ํฉ๋๋ค. VAE๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ Latent Variable ์ ์ถ์ถํด ๋ด๋ ๊ณผ์ ์ ๊ฐ์ต๋๋ค. ๋ํจ์ ๋ ์ด์ ๋ฌ๋ฆฌ Markov Chain์ ํตํด ๋งค์ฐ ๋ง์ ์์ Latent Variable๋ฅผ ๋จ๊ณ์ ์ผ๋ก ํ๋ํด ๊ฐ๋๋ค. ์๋ฐํ ํํ์ ์ ๋๊ฒ ์ง๋ง ์์ฃผ ๋จ์ํ๊ฒ ํํ์ ํ์๋ฉด ๋ชจ๋ธ ๊ตฌ์กฐ์ Latent Variable ์ ์๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ผ๋ก ๋๊ณ ์ฐจ์ด๋ฅผ ์ดํด ๋ณผ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์ฐจ์ด๋ ๋ก์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ๋ ๊ฒฐ์ ์ ์ธ ์ฐจ์ด๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค ๋จผ์ va ์๋ก์ค ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
VAE๋ ๋ณด์๋ ๊ฒ ๊ฐ์ด Reconstruction Term๊ณผ Regularization Term ์ผ๋ก ๊ตฌ๋ถ์ด ๋ ์๊ฐ ์์ต๋๋ค.
Diffusion๋ ๋ง์ฐฌ๊ฐ์ง๋ก Reconstruction Term๊ณผ Regularization Term์ ๊ฐ๊ฒ ๋๋ฉฐ, ์์ ๋ง์๋๋ฆฐ ๊ฒ๊ณผ ๊ฐ์ด Diffusion์ ๋งค์ฐ ๋ง์ ์์ Latent Variable์ ๋ง๋ค์ด๊ฐ๋ Markov Chain์ด Diffusion์ ์กด์ฌ๋ฅผ ํ๊ฒ ๋๋๋ฐ, ์ด๋ฌํ Latent Variable๋ค์ ์ปจํธ๋กคํ ์ ์๋ Loss Term์ด ๋ น์ ์ผ๋ก ํํ๋ ๋ถ๋ถ์ ๋๋ค. ๊ทธ๋์ ์ต์ข ์ ์ธ XT ์์ X1 ์์ ๊น์ง ์ด์ด์ง๋ Reverse Process์์ Denoising ํ๋ก์ธ์ค๋ฅผ ํ์ตํ๋๋ก ๊ฐ์ด๋ ํ๊ฒ ๋ฉ๋๋ค.
q์ P๋ผ๋ Reverse Process๋ฅผ ๋ํ๋ด๋ ๋ ์กฐ๊ฑด๋ถ ๊ฐ์ฐ์์ ๋ถํฌ ๊ฐ์ KL Divergence๋ก ์ ์๋ฉ๋๋ค. ์ด๋ ๊ฒ ๋ Gaussian ๊ฐ์ ๋ ๋ถํฌ์ KL Divergence ๋ Tractable ํ๋ฉด์๋ ์ ํ์ต์ด ๋ ์ ์์ ๊ฒ์ ๋๋ค. ๊ฒฐ๊ตญ์ P ๋ฆฌ๋ฒ์ค ํ๋ก์ธ์ค๋ q ๋ผ๋ Diffusion ํ๋ก์ธ์ค๋ฅผ ์ต๋ํ Approximation ํ๋๋ก ํ์ต์ด ๋๋ ๊ฒ์์ ์ด ๋ถ๋ถ์์ ํ์ธ์ ํด๋ณผ ์๊ฐ ์์ ๊ฒ์ ๋๋ค.
์ข
ํฉ์ ํด๋ณด๋ฉด VAE ๊ฐ ๊ฐ๋ Reconstruction Term๊ณผ Regularization Term๊ณผ ๋๋ถ์ด์ Denoising ํ์ต์ ์ ๋ํ๋ Loss Term์ด ์ถ๊ฐ๊ฐ ๋ ๊ฒ์
๋๋ค. ์ด์ ๋ถํฐ๋ DDPM ์ด๋ ์ฐ๊ตฌ์์ ์ด๋ป๊ฒ ์ด ๋ด์ฉ์ ๋ค๋ฅด๊ฒ ์ ๊ทผํด์ ๋ ์ด๋ค ํจ๊ณผ๋ฅผ ๊ฑฐ๋ฌ ์ค๋์ง๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ํํธ๋ ์ ๋ชฉ๊ณผ ๊ฐ์ด Denoising ์ด๋ผ๋ ํน์ง์ ์ด์ ์ ๋์ด์ ์ง๊ธ๊น์ง์ ๋ด์ฉ์ Denoising์ด๋ผ๋ ์๊ฐ์์ ํด์์ ํ์๋ค๋ ์ ์
๋๋ค.
- ์์ธํ Loss ๋์ถ ๊ณผ์ ์ฐธ๊ณ Blog: https://developers-shack.tistory.com/8
3. Denoising Diffusion Probabilistic Model (DDPM, 2020)
๊ฒฐ๋ก ์ ์ผ๋ก๋ ์๋์ ๊ฐ์ด Simpleํ๊ฒ ์ฌ๊ตฌ์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ผ๋ฉฐ, ์ฑ๋ฅ ๋ํ ํฅ์๋์์์ ๋ ผ๋ฌธ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ฅผ ๊ฐ๋จํ๊ฒ ์ดํด๋ณด๋ฉด, ๐์ ์ค์ Noise, ์ฆ Ground Truth์ ํด๋นํ๊ณ ์. ๐๐๋ Diffusion Model์ด ์์ธกํ Noise์ ํด๋นํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ธ์ t๋ผ๋ ์์ ์์์ Noise๋ฅผ ์์ธกํ์ฌ, ๊ฐ์์ง๋๋ก Diffusion Model์ ํ์ตํ๊ฒ ๋ฉ๋๋ค.
์์ (2)์ ์ (3)์ ์กฐํฉํ๋ฉด ์๋ ์ (4)์ ๊ฐ์ ์๋ก์ด ๋ชฉ์ ์์ด ์ ์๋ฉ๋๋ค. ์ด๋ MSE Loss ๊ฐ์ ๊ตฌ์ฑ์ ๋ ธ์ด์ฆ๋ก ๊ตฌ์ฑ์ด๋ ๊ณ์ Term์ด ๋ถ์ด์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
- [Blog] [๊ฐ๋ ์ ๋ฆฌ] Diffusion Model: https://xoft.tistory.com/32
- [Paper Review] Denoising Diffusion Probabilistic Models: https://www.youtube.com/watch?v=_JQSMhqXw-4
- [๋ชจ๋ํ] ์์ฑ๋ชจ๋ธ๋ถํฐ Diffusion๊น์ง 2ํ: https://www.youtube.com/watch?v=jaPPALsUZo8&t=701s
- ์์ฑ ๋ชจ๋ธ์ ์๋ก์ด ํ๋ฆ ํ์ฐ ๋ชจ๋ธ(Diffusion model)์ ๊ดํ์ฌ: https://blog.est.ai/2022/02/%EC%83%9D%EC%84%B1-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%9D%90%EB%A6%84-%ED%99%95%EC%82%B0-%EB%AA%A8%EB%8D%B8diffusion-model%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC/
- [Blog] [๊ฐ๋ ์ ๋ฆฌ] Diffusion Model : https://xoft.tistory.com/32