Study: Artificial Intelligence(AI)/AI: 2D Vision(Det, Seg, Trac)

[Gen AI] Diffusion Model ์„ค๋ช…: ๊ธฐ์ดˆ

DrawingProcess 2024. 9. 13. 10:50
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” '[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์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ1. GAN๊ณผ Diffusion Model

์œ„ ๊ทธ๋ฆผ์€ GAN์˜ ๋Œ€ํ‘œ ๋ชจ๋ธ์ธ bigGAN๊ณผ Classifier Guidance ๋ฐฉ์‹์˜ Diffusion Model์ด ์ƒ์„ฑํ•œ ํด๋ž˜์Šค ๋ณ„ ์ด๋ฏธ์ง€๋ฅผ ๋น„๊ตํ•œ ์‚ฌ์ง„์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์€ ํด๋ž˜์Šค๋ณ„ ํ•™์Šต ๋ฐ์ดํ„ฐ์ด๊ณ ์š”. ์™ผ์ชฝ์€ bigGAN์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ, ๊ฐ€์šด๋ฐ๋Š” Diffusion Model์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค๊ฐ€์š”? GAN๊ณผ ๋น„๊ตํ–ˆ์„๋•Œ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€์˜ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ์ „ํ˜€ ๋–จ์–ด์ง€์ง€ ์•Š์ฃ ?

ํ•˜์ง€๋งŒ Diffusion Model์˜ ์ง„์งœ ๋Šฅ๋ ฅ์€ ๋‹จ์ˆœํžˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ ํ•˜๋Š”๋ฐ์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์„ ํ•œ๋ฒˆ ๋ณผ๊ฒŒ์š”.

๊ทธ๋ฆผ2. DALLE2๊ฐ€ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€

ํƒ€์ž„ ์Šคํ€˜์–ด์—์„œ ์Šค์ผ€์ดํŠธ ๋ณด๋“œ๋ฅผ ํƒ€๊ณ  ์žˆ๋Š” ํ…Œ๋”” ๋ฒ ์–ด ์‚ฌ์ง„์ธ๋ฐ์š”. DALLE2 ๋ผ๋Š” Diffusion Model์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” Text๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ์ด์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ชจ์Šต์ธ๋ฐ์š”. ๋†€๋ผ์šด๊ฑด ์ €๋ ‡๊ฒŒ ํƒ€์ž„ ์Šคํ€˜์–ด์—์„œ ์Šค์ผ€์ดํŠธ ๋ณด๋“œ๋ฅผ ํƒ€๋Š” ํ…Œ๋”” ๋ฒ ์–ด ์‚ฌ์ง„์€ DALLE2๊ฐ€ ํ•™์Šตํ•œ ๋ฐ์ดํ„ฐ์…‹์—๋Š” ์—†๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. DALLE2๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์—†๋Š” ํ˜•ํƒœ์˜ ์ด๋ฏธ์ง€๋“ค๋„ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ Text๊ฐ€ ๋ฌ˜์‚ฌํ•˜๋Š” ๋Œ€๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ฃ .

ํ•œ ์Šคํ… ๋” ๋‚˜์•„๊ฐ€ ๋ณผ๊นŒ์š”? ์ด๋ฒˆ์—๋Š” ์ด๋ฏธ์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” Text ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์œ„์น˜ ์ •๋ณด๊นŒ์ง€ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ์–ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ3. GLIGEN์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€

์œ„ ๊ทธ๋ฆผ์€ 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

์œ„ ๊ทธ๋ฆผ์€ ๊ณต๊ฐ„์ƒ์— ๋ชจ์—ฌ ์žˆ๋˜(ํŠน์ •ํ•œ ํŒจํ„ด์„ ๋ณด์ด๋Š”) ๋ถ„์ž๋“ค์ด ํ™•์‚ฐ ํ˜„์ƒ์„ ํ†ตํ•ด ์ „ ๊ณต๊ฐ„์— ๊ณ ๋ฅด๊ฒŒ ๋ถ„ํฌํ•˜๊ฒŒ ๋˜๋Š” ํ˜„์ƒ์„ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ๋ถ„์ž ํ•˜๋‚˜ ํ•˜๋‚˜๋Š” ์–ด๋–ป๊ฒŒ ์›€์ง์˜€์„๊นŒ์š”? ์œ„ ๊ทธ๋ฆผ์˜ ๋ถ„์ž๋“ค์ค‘ ํ•˜๋‚˜์˜ ๋ถ„์ž์—๋งŒ ์ดˆ์ ์„ ๋งž์ถฐ ์•„์ฃผ ์งง์€ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ์Šค๋ƒ…์ƒท์„ ์ฐ์–ด ๊ด€์ฐฐํ–ˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ณด์ฃ . ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ถ„์ž๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์›€์ง์˜€๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ5. ๋ถ„์ž ํ•˜๋‚˜์˜ ์›€์ง์ž„

์ด๋Ÿฌํ•œ ๋ถ„์ž์˜ ์›€์ง์ž„์€ Gaussian Distribution์„ ๋”ฐ๋ฅด๋Š”๋ฐ์š”. ์ฆ‰ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ‰๊ท  ๐œ‡๊ณผ ํ‘œ์ค€ ํŽธ์ฐจ ๐œŽ๋ฅผ ๋”ฐ๋ฅด๋Š” ์ •๊ทœ ๋ถ„ํฌ๋กœ ์›€์ง์ž„์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ฃ . ๊ทธ๋ ‡๋‹ค๋ฉด ๋ง์ด์ฃ , ๋งค์‹œ๊ฐ„ t๋งˆ๋‹ค ๊ฐ ๋ถ„์ž์˜ ์›€์ง์ž„์„ ๊ณ„์‚ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ทธ๋Ÿผ Diffusion Process๋ฅผ ๊ฑฐ๊พธ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ์š”.

๊ทธ๋ฆผ6. Reverse Diffusion Process

๋งค์‹œ๊ฐ„ t ๋งˆ๋‹ค์˜ ์›€์ง์ž„์„ ์—ญ์—ฐ์‚ฐํ•˜๊ฒŒ ๋˜๋ฉด, ๋‹ค์‹œ ๊ณต๊ฐ„์ƒ์— ๋ชจ์—ฌ ์žˆ๋˜(ํŠน์ •ํ•œ ํŒจํ„ด์„ ๋ณด์ด๋Š”) ๋ถ„์ž๋“ค๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์„ ๊ธฐ์ดˆ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

2-2-2. Image์— Diffusion Process ์ ์šฉํ•˜๊ธฐ

์ž, ์ง€๊ธˆ๊นŒ์ง€์˜ ๊ณผ์ •์„ ๊ทธ๋Œ€๋กœ Image์˜ Pixel ๊ฐ’์— ์ ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ถ„์ž์˜ ์›€์ง์ž„์„ ์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” Noise๋กœ ๋ณด์•˜์ž–์•„์š”. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Image์˜ Pixel ๊ฐ’์— ์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” Gaussian Noise๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ7. ์ด๋ฏธ์ง€ ํ”ฝ์…€์— Diffusion ์ ์šฉํ•˜๊ธฐ

๊ทธ๋ ‡๋‹ค๋ฉด Diffusion Process๋Š” ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋˜๊ฒ ๋„ค์š”.

๊ทธ๋ฆผ8. Image์— ์ ์šฉํ•œ Diffusion

์™ผ์ชฝ์— ์žˆ๋Š” ๊ทธ๋ฆผ์€ ์›๋ณธ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. x0๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์ฃ . ์ด ์ด๋ฏธ์ง€์˜ ๋ชจ๋“  ํ”ฝ์…€๊ฐ’์— Noise๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€๊ฐ€ x1์ž…๋‹ˆ๋‹ค. ๋ถ„์ž์˜ Diffusion Process์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์„ ํ•˜๊ณ  ์žˆ์ฃ ? ์ด์ œ ์ด ๊ณผ์ •์„ ๋งค์šฐ ๋งŽ์ด ๋ฐ˜๋ณตํ•ด์•ผ๊ฒ ์ฃ . ๋ถ„์ž๋“ค์ด ์•„์ฃผ ๋งŽ์€ ์‹œ๊ฐ„ t๋ฅผ ๊ฑฐ์ณ ์ตœ์ข…์ ์œผ๋กœ ์™„์ „ ๊ท ๋“ฑํ•œ ์ƒํƒœ๋กœ ๋ถ„ํฌํ•˜๊ฒŒ ๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ง์ด์ฃ . ๊ทธ๋Ÿผ ์ด ๊ณผ์ •์€ ์ด๋ ‡๊ฒŒ ํ‘œํ˜„๋ ๊ฒ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ9. ์ด๋ฏธ์ง€์˜ Forward Diffusion Process

์ด ๊ณผ์ •์€ Diffusion Process์˜ Forward ๊ณผ์ •์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ x0๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ํ”ฝ์…€๊ฐ’์— ์‹œ๊ฐ„ t๋งˆ๋‹ค Noise๋ฅผ ์ฒจ๊ฐ€ํ•ด์ฃผ๋Š” Process์ฃ (๊ธฐ๋ณธ์ ์ธ T=1000 ๊ฐ€๋Ÿ‰). ์ด๋ ‡๊ฒŒ ์•„์ฃผ ๊ธด ์‹œ๊ฐ„ T๋ฒˆ์„ ๊ฑฐ์ณ ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€ xT๋Š” ์ด์ œ ์™„์ „ํ•œ Noise ์ด๋ฏธ์ง€๊ฐ€ ๋˜์–ด ์žˆ๊ฒ ์ฃ . ๋ถ„์ž๋“ค์˜ Diffusion Process์—์„œ๋Š” x0๊ฐ€ ๋ญ‰์ณ์žˆ๋Š” ์ƒํƒœ, xT๊ฐ€ ์™„์ „ํžˆ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„ํฌํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ž, ์•„๊นŒ ๋งค์‹œ๊ฐ„ t์—์„œ ์ฒจ๊ฐ€๋œ Noise๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด ๊ณผ์ •์„ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ์—ˆ์ฃ ? ๋ถ„์ž๋“ค์˜ ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  ๊ณต๊ฐ„์— ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„ํฌํ•˜๋Š” ์ƒํƒœ์—์„œ ๋‹ค์‹œ ํ•œ ๊ณต๊ฐ„์— ๋ชจ์—ฌ์žˆ๋Š” ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š”๊ฑฐ์ฃ . ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

๊ทธ๋ฆผ10. ์ด๋ฏธ์ง€์˜ Reverse Diffusion Process

์œ„์™€ ๊ฐ™์€ 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๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ11. 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 ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 

์ถ”๊ฐ€๋กœ, ์—ฌ๊ธฐ์„œ 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์ด๋ผ๋Š” ์‹œ๊ฐ์—์„œ ํ•ด์„์„ ํ•˜์˜€๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

3. Denoising Diffusion Probabilistic Model (DDPM, 2020)

๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Simpleํ•˜๊ฒŒ ์žฌ๊ตฌ์„ฑ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„ฑ๋Šฅ ๋˜ํ•œ ํ–ฅ์ƒ๋˜์—ˆ์Œ์„ ๋…ผ๋ฌธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณด๋ฉด, ๐œ€์€ ์‹ค์ œ Noise, ์ฆ‰ Ground Truth์— ํ•ด๋‹นํ•˜๊ณ ์š”. ๐œ€๐œƒ๋Š” Diffusion Model์ด ์˜ˆ์ธกํ•œ Noise์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋ธ์€ t๋ผ๋Š” ์‹œ์ ์—์„œ์˜ Noise๋ฅผ ์˜ˆ์ธกํ•˜์—ฌ, ๊ฐ™์•„์ง€๋„๋ก Diffusion Model์„ ํ•™์Šตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ˆ˜์‹ (2)์™€ ์‹ (3)์„ ์กฐํ•ฉํ•˜๋ฉด ์•„๋ž˜ ์‹ (4)์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋ชฉ์ ์‹์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” MSE Loss ๊ฐ™์€ ๊ตฌ์„ฑ์— ๋…ธ์ด์ฆˆ๋กœ ๊ตฌ์„ฑ์ด๋œ ๊ณ„์ˆ˜ Term์ด ๋ถ™์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

 

๋ฐ˜์‘ํ˜•