๐Ÿ“š Study/AI

Diffusion Model ์ˆ˜ํ•™์ด ํฌํ•จ๋œ tutorial (1/2)

์œฐ๊ฐฑ 2024. 7. 17. 14:08

๋ณธ ๊ธ€์€ ์•„๋ž˜ ์˜์ƒ์„ ๋ณด๊ณ  ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

https://www.youtube.com/watch?v=uFoGaIVHfoE

 


 

 

GAN์˜ ์„ฑ๋Šฅ์„ ์ด๊ฒจ๋ฒ„๋ฆฐ Diffusion

 

 

์ตœ์ดˆ์˜ ์—ฐ๊ธฐ๋ฅผ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ!

 

 

 

์‹ค์ œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„์ž๊ฐ€ ํ™•์‚ฐ๋  ๋•Œ,

๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ ์•ˆ์— ๋‹ค์Œ ์œ„์น˜๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.

 

 

์‹œ์ž‘ ์ด๋ฏธ์ง€์—์„œ noise๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ „์ฒด๋ฅผ noise๋กœ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๋Š” forward์™€

noise๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€๋ฉด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” reverse๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

์ด๋•Œ, ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€์—์„œ noise๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •, ์ฆ‰ ์—ฐ๊ธฐ๊ฐ€ ํผ์ ธ ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์€ ๋งค์šฐ ์‰ฝ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ณผ์ •์ธ reverse๋Š” ์–ด๋ ต๋‹ค.

 

 

 

์•ž์„œ ๋ถ„์ž๊ฐ€ ํ™•์‚ฐ๋  ๋•Œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, noise๊ฐ€ ์ถ”๊ฐ€๋˜๋Š” ํ˜•์‹์€ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋‹ค.

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

- ์ด์ „ step์ธ xtโˆ’1xtโˆ’1 ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ step์ธ xtxt๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์‹์ด๋‹ค.

- ๋‘ step์‚ฌ์ด๋Š” ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.

- ํ‰๊ท ์€ โˆš1โˆ’ฮฒtxtโˆ’1โˆš1โˆ’ฮฒtxtโˆ’1์ด๊ณ , ๋ถ„์‚ฐ์€ ฮฒtIฮฒtI์ด๋‹ค.

- ์—ฌ๊ธฐ์„œ ฮฒtฮฒt์˜ ๊ฐ’์€ 0.001 ์ •๋„๋กœ ๋งค์šฐ ์ž‘๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ์ด์ „ step๊ณผ ๋น„์Šทํ•˜๊ณ , ํด์ˆ˜๋ก ๋ณ€ํ™”๊ฐ€ ํฌ๋‹ค.

 

q(x1:T|x0)=โˆt1q(xt|xtโˆ’1)q(x1:T|x0)=โˆt1q(xt|xtโˆ’1)

- xTxT๋ฒˆ์งธ ์ด๋ฏธ์ง€๋Š”, x0x0์—์„œ qq๋ฅผ ๊ณ„์† ๊ณฑํ•˜๋ฉด ๋งŒ๋“ ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

ฮฒtฮฒt๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์€ ๋…ผ๋ฌธ๋งˆ๋‹ค ๋‹ค๋ฅด๊ณ , ์€๊ทผํžˆ ์„ฑ๋Šฅ์ฐจ์ด๋„ ๋งŽ์ด ๋‚œ๋‹ค.

timestep tt์— ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•ด์•ผ ํ•˜๋Š” ์ผ์ด ๋‹ฌ๋ผ์ง€๋Š”๋ฐ,
๊ฐ๊ฐ ์–ผ๋งŒํผ์˜ noise๊ฐ€ ์ถ”๊ฐ€๋ ์ง€ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ betatbetat์ด๋‹ค.
์ด๋Š” ๋‹ฌ๋ฆฌ ์–˜๊ธฐํ•˜๋ฉด, ๊ณง ๋„คํŠธ์›Œํฌ์—๊ฒŒ ์–ด๋–ค ์ผ์„ ํ•ด๋ผํ•˜๊ณ  ๊ฐ„์ ‘์ ์œผ๋กœ ๋งํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์„œ
์„ฑ๋Šฅ์ด ์ฐจ์ด๊ฐ€ ๋‚  ์ˆ˜๋ฐ–์— ์—†๋Š” ๊ฒƒ์ด๋‹ค.

 

 

์™œ ์‹์ด ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ์ด ๋˜๋‚˜์š”? ๋ผ๋Š” ์งˆ๋ฌธ์˜ ๋Œ€๋‹ต์œผ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ ๋ถ„ํฌ์— ๋”ฐ๋ฅด๋ฉด, xt=โˆš1โˆ’ฮฒtxtโˆ’1+โˆšฮฒtext=โˆš1โˆ’ฮฒtxtโˆ’1+โˆšฮฒte์ด๊ณ , ee ~ N(0,I)N(0,I)์ด๋‹ค.

xtxt์˜ ๋ถ„์‚ฐ์„ ๊ตฌํ•˜๋ฉด,

Var(xt)=Var(โˆš1โˆ’ฮฒtxtโˆ’1+โˆšฮฒte)Var(xt)=Var(โˆš1โˆ’ฮฒtxtโˆ’1+โˆšฮฒte)

=(1โˆ’ฮฒt)Var(xtโˆ’1)+ฮฒtI=(1โˆ’ฮฒt)Var(xtโˆ’1)+ฮฒtI

๋งŒ์•ฝ Var(xtโˆ’1)Var(xtโˆ’1)์˜ ๊ฐ’์ด 1์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, $Var(x_{t})$ ๋˜ํ•œ 1์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์ด ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

 

ํŠน์ • timestep์œผ๋กœ ํ•œ๋ฒˆ์— ๋”ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?๊ฐ€ ddpm์˜ ์ฃผ๋œ ์‹œ๋„

ํƒ€์ž„์Šคํ…์œผ๋กœ ๋„˜์–ด๊ฐ€๋Š” ์‹์€ xt=โˆšฮฑtx0+โˆš1โˆ’ฮฑtext=โˆšฮฑtx0+โˆš1โˆ’ฮฑte ์ด๋ ‡๊ฒŒ ๋…ผ๋ฌธ์—์„œ ์ •์˜ํ•ด๋‘์—ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ โˆšฮฑtโˆšฮฑt๋Š” ์ดˆ๊ธฐ์ƒํƒœ x0x0์˜ ์ •๋ณด๋ฅผ ์–ผ๋งˆ๋‚˜ ์œ ์ง€ํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ ,

โˆš(1โˆ’ฮฑt)โˆš(1โˆ’ฮฑt)๋Š” ๋…ธ์ด์ฆˆ์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ฮฑtฮฑt๊ฐ€ ํฌ๋ฉด xtxt๋Š” ์ฃผ๋กœ x0x0์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ณ , ์ž‘์œผ๋ฉด ์ฃผ๋กœ noise์˜ ์˜ํ–ฅ์„ ๋ฐ›์Œ

 

ฮฑฮฑ ์‹์— ๊ด€ํ•œ ์„ค๋ช…์ด๋‹ค.

 

 

 

 

๊ฒฐ๊ณผ์ ์œผ๋กœ noise๋ฅผ ์ถ”๊ฐ€ํ•ด๊ฐ€๋ฉด์„œ q(xT)q(xT)์ธ gaussian distribution์„ ์ฐพ์•„๋‚ด๋Š” ๊ณผ์ •์ธ ๊ฒƒ์ด๋‹ค.

 

 

 

 

denoisingํ•˜๋Š” ๊ณผ์ • ๋˜ํ•œ gaussian์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  'ํ‰๊ท '๊ณผ '๋ถ„์‚ฐ'์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ธ ๊ฒƒ์ด๋‹ค.

์œ„์˜ ์‹์—์„œ๋Š” ฮผฮธ(xt,t)ฮผฮธ(xt,t)์™€ ฯƒ2tIฯƒ2tI์ธ ๊ฒƒ์ด๋‹ค.

 

์šฉ์–ด๋ฅผ ํ—ท๊ฐˆ๋ฆฌ์ง€ ๋ง์ž!!
qqํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” '์ฐธ ๋ถ„ํฌ', ์–ด์ฉŒ๋ฉด ์ •๋‹ต์ด ๋˜๋Š” ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•˜๊ณ 
ppํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” '๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๋ถ„ํฌ', ํ•™์Šตํ•  ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋”ฐ๋ผ์„œ, ๋ชจ๋ธ์˜ training์„ ํ†ตํ•ด
์ด ๋ถ„ํฌ์˜ 'ํ‰๊ท '๊ณผ '๋ถ„์‚ฐ'์„ ์ฐพ์•„๋‚ธ๋‹ค.

์—ฌ๊ธฐ์„œ ฮธฮธ๋ฅผ ํฌํ•จํ•˜๋„๋ก ํ•˜์—ฌ, neural network๋กœ ํ•™์Šต๋˜๋Š” ํ™•๋ฅ  ๋ชจ๋ธ์ž„์„ ๋ช…์‹œํ–ˆ๋‹ค.

 

 

 

๊ธฐ์กด ๋…ผ๋ฌธ์—์„œ ์ •์˜ํ•œ Loss ์‚ฌ์šฉ

 

LTLT์—์„œ

q(xT|x0)๊ณผp(xT)๋Š” ๋ชจ๋‘ gaussian distribution์ด๊ธฐ ๋•Œ๋ฌธ์— KL-div๋ฅผ ๊ตฌํ•˜๋Š”๊ฒŒ ์˜๋ฏธ๊ฐ€ ์—†์–ด์„œ ์‚ฌ์šฉ ์•ˆ๋จ

 

 

 

q(xtโˆ’1|xt,x0) ๋˜ํ•œ gaussian distribution์ด๊ณ , pฮธ(xtโˆ’1|xt) ๋˜ํ•œ ๊ทธ๋ ‡๊ฒŒ ๊ฐ€์ •ํ•˜๋ฏ€๋กœ

๊ฐ€์šฐ์‹œ์•ˆ ์‚ฌ์ด์˜ KL-div๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‹์„ ์ „๊ฐœํ•˜๋‹ค๋ณด๋‹ˆ, ๋งจ ์•„๋ž˜ ์‹๊ณผ ๊ฐ™์ด noise prediction๋งŒ ์•Œ๋ฉด loss๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ์•„๋ƒ„

 

 

 

 

ddpm ๋…ผ๋ฌธ์—์„œ๋Š” coefficient ฮผt=1์œผ๋กœ ๊ฐ€์ •ํ•˜์ง€๋งŒ, ๋…ผ๋ฌธ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜์ž๋ผ๊ณ  ์ฃผ์žฅํ•˜๋Š” ๊ฒƒ๋„ ๋งŽ๋‹ค.

(hyperparameter ๊ฐ™์€ ์กด์žฌ์ผ๊นŒ..?)

 

 

๊ฐ€์šฐ์‹œ์•ˆ ๋ชจ๋ธ์˜ ํ‰๊ท ์„ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์‹์„ ์“ฐ๋‹ค๋ณด๋‹ˆ,

๊ฐ step ์‚ฌ์ด์˜ noise๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์™”๋‹ค.

 

 

U-Net์˜ ๊ธฐ๋ณธ ์•„์ด๋””์–ด๋Š” ์ €์ฐจ์› ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณ ์ฐจ์› ์ •๋ณด๋„ ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•จ๊ณผ ๋™์‹œ์— ์ •ํ™•ํ•œ ์œ„์น˜ ํŒŒ์•…๋„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์ž๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์ธ์ฝ”๋”ฉ ๋‹จ๊ณ„์˜ ๊ฐ ๋ ˆ์ด์–ด์—์„œ ์–ป์€ ํŠน์ง•์„ ๋””์ฝ”๋”ฉ ๋‹จ๊ณ„์˜ ๊ฐ ๋ ˆ์ด์–ด์— ํ•ฉ์น˜๋Š”(concatenation) ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ธ์ฝ”๋” ๋ ˆ์ด์–ด์™€ ๋””์ฝ”๋” ๋ ˆ์ด์–ด์˜ ์ง์ ‘ ์—ฐ๊ฒฐ์„ ์Šคํ‚ต ์—ฐ๊ฒฐ(skip connection)์ด๋ผ๊ณ  ํ•œ๋‹ค.

https://velog.io/@lighthouse97/UNet%EC%9D%98-%EC%9D%B4%ED%95%B4

 

x0์—์„œ ์‹œ์ž‘ํ•˜์ง€๋งŒ noise๋ฅผ ํ•œ๋ฒˆ์— ์ž…ํ˜€์„œ xt๋ฅผ ๋งŒ๋“ค๊ณ ,

์ด๋ฅผ timestep t์™€ ํ•จ๊ป˜ U-net์— ๋„ฃ์–ด์„œ ์–ด๋–ค noise๊ฐ€ ๋”ํ•ด์ง„๊ฑด์ง€ predictionํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

Q. ์™œ t๋ฅผ ๊ฐ™์ด ๋„ฃ์–ด์ฃผ๋‚˜์š”?
A. xt๊ฐ€ ์–ผ๋งŒํผ์˜ noise๊ฐ€ ์ถ”๊ฐ€๋œ ์ƒํƒœ์ธ์ง€ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

+ t๋ฅผ ๊ทธ๋ƒฅ ์ˆซ์ž๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ์•ˆ๋˜๋ฏ€๋กœ, embedding์„ ํ•ด์ค€๋‹ค (sin, cos) -- like positional encoding
+ ์ผ๋ฐ˜์ ์œผ๋กœ t๋Š” 1,000์ด์ƒ์ธ๋ฐ ๋งŒ์•ฝ t๋ฅผ ๋”ฐ๋กœ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด 1,000๊ฐœ์˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ๋‹ค.
์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค 

 

ddpm์—์„œ๋Š” ฮฒi์™€ ฯƒ2i๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ฮฒi๋‚˜, ฯƒ2i๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •์˜ํ•˜์ž๋Š” ๋…ผ๋ฌธ ๋˜ํ•œ ๋งŽ๋‹ค.

 

 

์ดˆ๋ฐ˜์—๋Š” noise์—์„œ ์‹œ์ž‘ํ•ด์„œ low-frequency content๋ฅผ ๋งŒ๋“ค์–ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด๋‹ค.

์ด๋Š” ์–ด๋–ค content๊ฐ€ ์ƒ์„ฑํ• ์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. (์•„์˜ˆ ํ๋ฆฟ -> ์•ฝ๊ฐ„์˜ ์‹ค๋ฃจ์—ฃ)

 

์ผ์ • ์ˆ˜์ค€์ด ๋„˜์–ด๊ฐ€๋ฉด,

detailํ•œ ์ •๋ณด๋“ค๋งŒ ์ถ”๊ฐ€๋˜๋Š” high-frequency content๋ฅผ ๋งŒ๋“ค์–ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด ์ด์–ด์ง„๋‹ค.

 

timestep t์— ๋”ฐ๋ผ์„œ ๋‹ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์ด ๋‹ค๋ฅด๋‹ค๋Š” ์‚ฌ์‹ค!

 


 

(์กฐ๊ธˆ ๋” ์ž์„ธํžˆ)

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” diffusion ๋ชจ๋ธ์˜ ๋ชฉ์ ์„ ์‚ดํŽด๋ดค๋‹ค.

๊ฐ€์šฐ์‹œ์•ˆ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ reverse process์˜ ๋ถ„ํฌ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด, 'ํ‰๊ท '์„ ๊ตฌํ•˜๋Š”๊ฒŒ ์šฐ๋ฆฌ์˜ ๋ชฉ์ ์ด๋‹ค.

('๋ถ„์‚ฐ'์€ forward๋ž‘ ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•จ)

์ด๋•Œ, ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ noise prediction์„ ์‹œ์ผœ์„œ sampling์„ ํ•œ๋‹ค๋Š” ๊ฒƒ

 

 

์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ด…์‹œ๋‹ค :)


# forward

 

์™œ q(x1:T|x0)=โˆTt=1q(xt|xtโˆ’1)์˜ ์‹์ด ์„ฑ๋ฆฝํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์ฆ๋ช…์ด๋‹ค.

 

 

(markov chain)

P(xt+1|x0,...,xt)=P(xt+1|xt)

0๋ฒˆ์งธ๋ถ€ํ„ฐ t๋ฒˆ์งธ๊นŒ์ง€์˜ ๋ชจ๋“  data๊ฐ€ ์žˆ์„ ๋•Œ (๊ณผ๊ฑฐ),
(t+1)๋ฒˆ์งธ ๋ฐ์ดํ„ฐ(๋ฏธ๋ž˜)๋Š” t๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค๋Š” ๋œป!

์ฆ‰, ๋งˆ์ฝ”ํ”„ ์ฒด์ธ์˜ ํ™•๋ฅ  ๊ณผ์ •์€ ๋ฏธ๋ž˜๊ฐ€ ๊ณผ๊ฑฐ์™€๋Š” ๋…๋ฆฝ์ด๊ณ  ์˜ค๋กœ์ง€ ์ง์ „ ์‹œ์ ์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค๋Š” ๊ฒƒ
https://blog.naver.com/jinis_stat/221686989847

 

 

 

 

์œ„์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ step์”ฉ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” q(xt|xtโˆ’1)๋ฅผ ํ†ตํ•ด

ํ•œ๋ฒˆ์— xt๊นŒ์ง€ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” q(xt|x0)๊นŒ์ง€ ์œ ๋„ํ–ˆ๋‹ค.

 

 

 

 


# reverse

 

reverse ์‹ ๋˜ํ•œ, markov๋ฅผ ์ด์šฉํ•ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


# Learning Denoising Model

 

# VAE -> DDPM

 

ExT g(xT|x0)([โˆ’log(g(x1:T|x0)/pฮธ(x1,x2,...,xT|x0)])

=DKL(g(x1:T|x0)||pฮธ(x1,x2,...,xT|x0))>=0 ์ด๋ฏ€๋กœ ๋ถ€๋“ฑํ˜ธ๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค.

 

# DDPM Loss

 

 

 

๋งจ ์•„๋ž˜ ์‹๊ณผ ๊ฐ™์ด, q๊ฐ€ ์™œ ์ €๋Ÿฌํ•œ ๋ถ„ํฌ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

q์˜ ๋ถ„ํฌ๋ฅผ gaussian contribution์œผ๋กœ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, exp๋กœ ํ’€์–ด์„œ ์‹์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

(์ค‘๊ฐ„ ์‹ ์ž˜ ์ดํ•ด ๋ชปํ–ˆ์Œ..)

 

 

* network architecture -- u-net ์‚ฌ์šฉ

* objective weighting -- (loss์•ž์— ๋ถ™์–ด์žˆ๋Š” ๊ฐ’) ddpm์—์„œ๋Š” 1์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ๋…ผ๋ฌธ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

 

์‹ค์ œ ์ฝ”๋“œ์—์„œ๋Š” Lsimple๋งŒ ์žˆ๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 


์—ฌ๊ธฐ๊นŒ์ง€ ddpm์˜ ์„ค๋ช…์ž…๋‹ˆ๋‹ค :)