Attention, Please!!!

[๊ฐœ๋… ์ •๋ฆฌ] Diffusion Model ๋ณธ๋ฌธ

Generative AI

[๊ฐœ๋… ์ •๋ฆฌ] Diffusion Model

G3LU 2024. 6. 1. 17:48

๐Ÿ’ก Diffusion Model ์ด๋ž€? 

2015๋…„๋„์— โ€œDeep Unsupervised Learning using Nonequilibrium Thermodynamicsโ€์ด๋ผ๋Š” ๋…ผ๋ฌธ์œผ๋กœ Diffusion Model์ด ์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์˜ ์ €์ž๋“ค์€ Diffusion Model๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 

The essential idea, inspired by non-equilibrium statistical physics, is to systematically and slowly destroy structure in a data distribution through an iterative forward diffusion process. We then learn a reverse diffusion process that restores structure in data, yielding a highly flexible and traceble generative model of the data. 

 

๋…ผ๋ฌธ์—์„œ ๋ฐœ์ทŒ๋œ ๋‚ด์šฉ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๋ฒˆ์—ญํ•ด ๋ณด์ž๋ฉด, forward diffusion process๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ถ„ํฌ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€ํ˜•์‹œํ‚ค๊ณ , reserve diffusion process๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณต์›ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์กฐ๊ธˆ ๋” ์ง๊ด€์ ์œผ๋กœ ์ƒ๊ฐํ•ด ๋ณด๋ฉด, ๋‘ ๊ฐœ์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ "์ž…๋ ฅ ์ด๋ฏธ์ง€"์™€ "๊ฒฐ๊ณผ ์ด๋ฏธ์ง€"์˜ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์œ ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  

 

๐Ÿ“Œ Forward Diffusion Process 

 

์ด๋ฏธ์ง€ xtโˆ’1์— ๋ถ„์‚ฐ ฮฒt๋ฅผ ๊ฐ–๋Š” ์†Œ๋Ÿ‰์˜ Gaussian Noise๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€ xt๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ํ•จ์ˆ˜q(xt|xtโˆ’1)๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Diffusion Model์€ ํŠน์ • ์ƒํƒœ(t-1)๊ฐ€ ํ˜„์žฌ(t)์˜ ์ƒํƒœ์— ์˜์กดํ•˜๋Š” Markov(๋งˆ๋ฅด์ฝ”ํ”„) ํŠน์„ฑ์„  ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ฑ์งˆ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์ด ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์ด๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : medium.com

 

์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ  ์ง€์†์ ์œผ๋กœ ์ ์šฉํ•˜๋ฉด ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์žก์Œ์ด ์ ์ง„์ ์œผ๋กœ ์ปค์ง€๋Š” ์ด๋ฏธ์ง€ ์‹œํ€ธ์Šค xo,... , xT๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Noise ์ฃผ์ž… ์ •๋„ (ฮฒt๊ฐ€ ๋ฌดํ•œ๋Œ€๋กœ ๊ฐˆ ๋•Œ, ์ตœ์ข… ์ด๋ฏธ์ง€ (xT)๋Š” Isotropic Gaussian Distribution์—์„œ ์ƒ˜ํ”Œ๋ง๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์™„์ „ํžˆ ์žก์Œ์ด ์žˆ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ตœ์ข…์ ์œผ๋กœ Forward Process์˜ ์ „์ฒด์ ์ธ ๊ณผ์ •์„ ์•„๋ž˜์˜ ์ˆ˜์‹์ฒ˜๋Ÿผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด๋•Œ (\x _{t}\)๋Š” ์•„๋ž˜์˜ ์ˆ˜์‹์ฒ˜๋Ÿผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๊ฐ€ ํ‰๊ท  ฮผ=0์ด๊ณ  ๋ถ„์‚ฐ ฯƒ2=1์ธ ์ •๊ทœ๋ถ„ํฌ์—์„œ ์ƒ˜ํ”Œ๋ง๋œ ๋žœ๋ค ๋ณ€์ˆ˜๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ Y =ฮผ+ฯƒx๋ฅผ ์ •์˜ํ•ด ๋ด…์‹œ๋‹ค. Y์˜ ๊ธฐ๋Œ€๊ฐ’๊ณผ ๋ถ„์‚ฐ์„ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ฒฐ๊ณผ์ ์œผ๋กœ Y๋Š” ํ‰๊ตฐ ฮผ์ด๊ณ  ๋ถ„์‚ฐ ฯƒ2๋ฅผ ๊ฐ–๋Š” ๊ฐ€์šฐ์‹œ์•ˆ ๋žœ๋ค ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด์— ๋˜‘๊ฐ™์€ ์›๋ฆฌ๋ฅผ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, (\x _{t}\)๋Š” ํ‰๊ท  โˆš1โˆ’ฮฒtxtโˆ’1์ด๊ณ  ๋ถ„์‚ฐ ฮฒt๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ€์šฐ์‹œ์•ˆ ๋žœ๋ค ๋ณ€์ˆ˜๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

์œ„์˜ ๊ณผ์ •์„ ํ†ตํ•ด xt๋Š” ํ‰๊ท ์ด 0์ด๊ณ  ๋ถ„์‚ฐ์ด 1์ธ ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  t์— ๋Œ€ํ•ด ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋˜๋ฏ€๋กœ, T๊ฐ€ ์ปค์งˆ์ˆ˜๋ก x0๋Š” ํ‘œ์ค€ ๊ฐ€์šฐ์Šค ๋ถ„ํฌ์— ์ ์  ๋” ๊ฐ€๊นŒ์›Œ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋ฏธ์ง€ ์‹œํ€€์Šค๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ ์ง„์ ์œผ๋กœ ์ •๊ทœํ™”๋˜์–ด ํ‘œ์ค€ ๊ฐ€์šฐ์Šค ๋ถ„ํฌ์— ์ˆ˜๋ ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

โœ”๏ธ ์žฌ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํŠธ๋ฆญ(Reparameterization Trick) 

Diffusion Model์˜ Forward Process์˜ ๋ชฉํ‘œ๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€ x0์— ์ ์ง„์ ์œผ๋กœ ๋…ธ์ด์ฆˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ xT์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„์ด ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ •์˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 

 

q(xt|xtโˆ’1)=N(xt;โˆš1โˆ’ฮฒtxtโˆ’1,ฮฒtI)

 

์—ฌ๊ธฐ์—์„œ ์ƒ๊ฐํ•ด๋ด์•ผ ํ•  ๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ q๋ฅผ t๋ฒˆ iterative ํ•˜๊ฒŒ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ์ด๋ฏธ์ง€ x0์—์„œ ์žก์Œ์ด ์žˆ๋Š” ์ด๋ฏธ์ง€ xt๋กœ ๋ฐ”๋กœ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค๋ฉด, ๊ต‰์žฅํžˆ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žฌ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํŠธ๋ฆญ(Reparameterization Trick)์ž…๋‹ˆ๋‹ค.

 

์žฌ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์‹์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Reparameterization Trick

 

์œ„์˜ ์–ธ๊ธ‰๋œ ๊ฒƒ์ฒ˜๋Ÿผ, Diffusion Model์€ ๋งˆ๋ฅด์ฝ”ํ”„์˜ ํŠน์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ๊ฑด๋ถ€ ์ƒํƒœ๋กœ ํ‘œํ˜„์ด ๋œ๋‹ค๊ณ  ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด์— ์ƒˆ๋กœ์šด ์ƒํƒœ xt๋ฅผ ์ด์ „ ์ƒํƒœ xtโˆ’1์™€ ์žก์Œ epsilontโˆ’1์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐฉ์ •์‹์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์—์„œ ฮฒt๋Š” ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•˜๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. 

์ƒˆ๋กœ์šด ์ƒํƒœ xt๋ฅผ reparameterization trick์— ์˜ํ•ด ํ‘œํ˜„


์œ„์˜ ๋‘ ์„ฑ์งˆ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ํ™•์žฅ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๋นจ๊ฐ„์ƒ‰ ์ƒ์ž์˜ ์ˆ˜์‹์€ ์ •๊ทœ ๋ถ„ํฌ์˜ ๊ฐ€๋ฒ•์„ฑ์— ๋”ฐ๋ผ ๋…๋ฆฝ์ธ ๋‘ ํ™•๋ฅ  ๋ณ€์ˆ˜ X์™€ Y๋ฅผ ๋”ํ•˜๋ฉด ZโˆผN(ฮผx+ฮผy,ฯƒ2x+ฯƒ2y)์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ์•„๋ž˜์˜ ์ˆจ๊ธด ๊ธ€์„ ์ฐธ์กฐํ•ด ์ฃผ์„ธ์š”. 

๋”๋ณด๊ธฐ
์ถœ์ฒ˜ : medium.com

 

์ด๋Ÿฌํ•œ ์ˆ˜ํ•™์ ์ธ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋ฉด, ์ž…๋ ฅ ์ด๋ฏธ์ง€ x0์„ ์•Œ๋ฉด ํŠน์ • ์ƒํƒœ์˜ ๋…ธ์ด์ฆˆ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 


๐Ÿ“Œ Reverse Diffusion Process 

 

Reverse Diffusion Process๋Š” gaussian noise๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ •๋ฐฉํ–ฅ ๊ณผ์ •์—์„œ์˜ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  q(xt|xtโˆ’1)๋ฅผ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฑฐ์ฒ˜๋Ÿผ ์—ญ๋ฐฉํ–ฅ ๊ณผ์ •์—์„œ๋„ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์„ ์ ์šฉํ•˜๋ฉด ๋ ๊นŒ์š”?

 

๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ™•๋ฅ  ๋ถ„ํฌ๊ฐ€ ๊ณ„์‚ฐํ•˜๊ธฐ ์–ด๋ ค์šด(intractable/uncomputable) ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—ญ๋ฐฉํ–ฅ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  q(xtโˆ’1|xt)๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ „์ฒด ์ •๋ฐฉํ–ฅ ๊ณผ์ •์—์„œ ์ถ•์ฒ™๋œ ๋ชจ๋“  Noise์˜ ์˜ํ–ฅ์„ ๋ฐ˜์˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๊ณผ์ •์€ ์ˆ˜ํ•™์ ์œผ๋กœ ๋งค์šฐ ๋ณต์žกํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 

 

q(xt|xtโˆ’1)์˜ ์—ญ๋ฐฉํ–ฅ ๋ถ„ํฌ๋ฅผ ๊ทผ์‚ฌํ™”ํ•˜๋Š” ์‹ ๊ฒฝ๋ง pฮธ(xtโˆ’1|xt)์„ ํ•™์Šตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ pฮธ(xtโˆ’1|xt)๋Š” ์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋ฉฐ, ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 


์—ญ๋ฐฉํ–ฅ ๊ณผ์ •์—์„œ ๋ชจ๋ธ pฮธ์„ ํ•™์Šตํ•˜์—ฌ ๊ฐ ๋‹จ๊ณ„์—์„œ Noise ์ƒ์„ฑ ํ™•๋ฅ  ๋ถ„ํฌ Parameter์ธ ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ ํ•™์Šต์ด ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์—์„œ ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  xtโˆ’1๋ฅผ ์ถ”์ •ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋•Œ ์†์‹คํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ์—์„œ ํ™•์ธํ•ด์ฃผ์„ธ์š”. 

 

'Generative AI' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๊ฐœ๋…์ •๋ฆฌ] Diffusion Model Loss Function  (0) 2024.06.15