The Principle of Diffusion

[The Principles of Diffusion Models] ์ดํ•ดํ•˜๊ธฐ - ( Part B ) CH 2. VAE

Kim_sang_hyeob 2025. 11. 19. 14:19

๐Ÿ“‘ [The Principles of Diffusion Models] ์‹œ๋ฆฌ์ฆˆ

CH2. Variational Perspective: From VAEs to DDPMs

 

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ... manifold hypothesis ๋Š” ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ๋งํฌ ํ•˜๋‚˜ ์ฒจ๋ถ€ํ•œ๋‹ค. 

https://devs0n.tistory.com/167 

 

 

 

VAE -> DDPM ์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ํ๋ฆ„์„ ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ๋‹จ VAE ์— ๋Œ€ํ•ด์„œ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. CH2. ์—์„œ๋Š” VAE ์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋…ผ์˜๋ฅผ ์ด์–ด ๋‚˜๊ฐ„๋‹ค๊ณ  ํ•œ๋‹ค.  ๋จผ์ € ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ๋จผ์ € ๋ณด๋ฉด 

1) vae : ๋ฐ์ดํ„ฐ -> z -> ๋ฐ์ดํ„ฐ 

 

x( ๋ฐ์ดํ„ฐ ) -> q(z|x) ( ํ•™์Šต๋œ ์ธ์ฝ”๋” ) -> z ( latent space ) -> p(x|z) -> x_hat ( ๋ณต์›๋œ ๋ฐ์ดํ„ฐ ) ํ˜•ํƒœ์ด๋‹ค. 

 

์šฐ๋ฆฌ๊ฐ€ part a ์—์„œ๋„ ๋งํ–ˆ๋“ฏ์ด. log p(x) ๋ฅผ ๋ชป๊ตฌํ•˜๋‹ˆ๊นŒ EBLO ์•„๋Š” lower bound ๋ฅผ ์ตœ๋Œ€ํ™” ํ•˜๋Š” ์‹์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. 

( ์ด๋–„ variational inference ๊ฐ€ ํ•ต์‹ฌ์ด๋‹ค. ) 

(cf. https://ratsgo.github.io/generative%20model/2017/12/19/vi/

 

 

2) Hierarchical VAE : z ๋ฅผ ์—ฌ๋Ÿฌ์ธต์„ ์Œ“๋Š”๋‹ค. 

๋Œ€๋žต x -> z1 -> z2 .... -> zk ์ด๋Ÿฐ์‹์œผ๋กœ ๋ณ€ํ™”ํ•œ๋‹ค. 

๋ณต์žกํ•œ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ํ•œ์ธต์˜ z ๋กœ ๋ถ€์กฑํ•ด์„œ latent ๋ฅผ ์—ฌ๋Ÿฌ์ธต์œผ๋กœ ์Œ“์•„์˜ฌ๋ฆฌ๋Š” ๊ตฌ์กฐ์ด๋‹ค. 

 

3) Diffusion 

" Diffusion ์„ ๋งค์šฐ ๊ฑฐ๋Œ€ํ•œ Hierarchical VAE ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค " ๊ฐ€ ์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™๋‹ค. 

๋‚˜๋„ ๋ง‰์—ฐํ•˜๊ฒŒ vae ๋ฅผ ๋ฐฐ์šฐ๊ณ  diffusion ์„ ๋ฐฐ์› ์„๋•Œ ์–ด๋–ป๊ฒŒ ์ด๊ฑธ ํ‘œํ˜„ํ•˜๋ฉด ์ข‹์„๊นŒ ์—„์ฒญ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ ๋‹ค์‹œ ์ฝ๊ณ ๋‚˜๋‹ˆ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์„œ ๋งŽ์ด ๋ช…ํ™•ํ•ด์กŒ๋‹ค.

 

๋””ํ“จ์ „์—์„œ latent ๋Š” 

x0 (data ) -> x1 -> .... -> xt ( noise )  

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ๊ฒผ๋Š”๋ฐ , xo -> x1 ... -> xt ์ „์ฒด๊ฐ€ latent hierarchy ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๋Š”๊ฒƒ์ด๋‹ค. ( ๋‹จ๊ณ„๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์€.. ) 

 

์ฐจ์ด์ ์œผ๋กœ 

diffusion์—์„œ ์ธ์ฝ”๋”๋Š” ๋”ฐ๋กœ ํ•™์Šตํ•˜์ง€ ์•Š๋Š”๋‹ค. ( ๋””ํ“จ์ „์—์„œ ์ธ์ฝ”๋”๋Š” ๋…ธ์ด์ฆˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” fixed gaussian noise ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ) 

 

 

๋งˆ์ง€๋ง‰ ๋ฌธ๋‹จ์—์„œ " ์ด ๋ชจ๋ธ๋“ค์€ ๋ชจ๋‘ ELBO ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” likelihood ๊ธฐ๋ฐ˜ ์ƒ์„ฑ๋ชจ๋ธ์ด๋‹ค" ๋ผ๋Š” ๋ฌธ์žฅ์ด ์žˆ๋“ฏ์ด 

vae , diffusion ๋ชจ๋‘ ELBO ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ์ด์ œํ•œ๋ฒˆ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

 

 

2.1 Variational Autoencoder


vae ๋Š” ๋ณต์žกํ•œ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ (x) ์˜ ๊ตฌ์กฐ (latent) ๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. 

๊ธฐ์กด autoencoder ๋Š” reconstruct ๋Š” ํ•˜์ง€๋งŒ generate ํ•˜๋Š” ๋Šฅ๋ ฅ์€ ์—†๋‹ค. 

 

X -> encoder -> z - >Decoder -> x_hat 

 

์ด๋Ÿฐ ํ˜•์‹์ธ๋ฐ ๋ฌธ์ œ๋Š” ๊ณต๊ฐ„ z ๊ฐ€ ์•„๋ฌด๋Ÿฐ ๊ตฌ์กฐ์—†์ด ํฉ์–ด์ ธ์žˆ๋‹ค. ( ๊ฐ ๋ฐ์ดํ„ฐ x ๋ฅผ ์•„๋ฌด๊ณณ (z) ์—๋‹ค ๋„ฃ์–ด๋‘๊ณ  ๊ทธ๋ƒฅ ๊ทธ ์œ„์น˜์—์„œ ์ž˜ ๋ณต์›๋˜๊ธฐ๋งŒ ํ•˜๋ฉด๋จ -> ์ด๋Ÿฌ๋ฉด ๋ถ„ํฌ๊ฐ€ scatter ํ•˜๊ณ  hole ์ด ๋งค์šฐ ๋งŽ์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค.๋”ฐ๋ผ์„œinterpolation ํ•˜๋ฉด ์ด์ƒํ•œ ์ƒ˜ํ”Œ์ด ๋‚˜์˜ค๊ธฐ ์‰ฝ๋‹ค.)

๊ทธ๋ž˜์„œ random z -> ์˜๋ฏธ ์—†๋Š” ์ด๋ฏธ์ง€ ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ z ๊ณต๊ฐ„์ด ๋ถˆ์—ฐ์† ์ ์ด๊ณ  interpolation ๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•œ๊ฒŒ vae ์ด๋‹ค. 

 

 

vae ๊ตฌ์กฐ

 

1. VAE ์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด

" latent space ์— ๊ตฌ์กฐ๋ฅผ ๋„ฃ์ž " 

 

z ๊ณต๊ฐ„์ด ์—ฐ์†์ ์ด๊ณ  smooth ํ•˜๊ฒŒ ์ƒ๊ธฐ๋„๋ก ๊ฐ•์ œํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ latent ๋ฅผ ํ™•๋ฅ  ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•œ๋‹ค. 

 

z ~ N( 0 , I ) 

x ~ pฯ•(x | z)  ( decoder ) 

 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด prior p(z) = N(0,I) ๋Š” latent ๋ฅผ ์••์ถ•ํ•˜๋Š” coordinate ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 

 

์ƒ์„ฑํ˜• ํ”„๋กœ์„ธ์Šค์—์„œ๋Š” 

1. ๋ฌด์ž‘์œ„๋กœ latent z ๋ฅผ ๋ฝ‘์Œ ( z~ N(0,I) ) 

2. z ๋ฅผ decoder ์— ํ†ต๊ณผ์‹œ์ผœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ( x ~ pฯ•(x | z) ) 

 

z ๋ฅผ ํ‘œ์ค€ ์ •๊ทœ ๋ถ„ํฌ์—์„œ ๋ฝ‘์€๊ฑธ decoder p ๋ฅผ ํ†ตํ•ด x ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค. 

์ด๋ ‡๊ฒŒ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋˜๋ฉด ์ข‹๊ฒ ์ง€๋งŒ pฯ•(x) ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด  ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค. 

 

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ผด๋กœ ์ ๋ถ„์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š”๋ฐ , ์ด๋ถ€๋ถ„์˜ ๊ณ„์‚ฐ์€ ํ˜„์‹ค์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž. 

 

 

Construction of Encoder (Inference Network).

 

vae ์—์„œ๋Š” x ๋กœ๋ถ€ํ„ฐ z๊ฐ€ ๋ญ์˜€๋Š”์ง€ ์•Œ๊ณ ์‹ถ์„ ๊ฒƒ์ด๋‹ค. ( ๊ธฐ๋ณธ ๊ฐ€์ •์ด ๋ฐ์ดํ„ฐ x ๊ฐ€ latent space z ์—์„œ ๋‚˜์™”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์œผ๋‹ˆ ) 

๊ทธ๋Ÿฌ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ x(์ด๋ฏธ์ง€) ๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ, ์–ด๋–ค z ๊ฐ€ x ๋ฅผ ๋งŒ๋“  ๊ฒƒ์ธ์ง€ ์•Œ๊ณ ์‹ถ์–ด์ง„๋‹ค. (x->z)
-> ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐ ํ•˜์ž๋ฉด ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ์ง€๋Š” ๊ด€์ธก์„ ํ–ˆ๊ณ  , ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“  z ( latent ) ๋Š” ๋ญ์˜€์ง€ ?

(p (z|x) ( posterior ๋ฅผ ์•Œ๊ณ  ์‹ถ์€ ๊ฒƒ์ด๋‹ค. ) 

posterior ์ˆ˜์‹

์›๋ž˜๋Š” ๋ฒ ์ด์ง€์•ˆ ์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ๊ณ„์‚ฐ์„ ํ•˜๊ณ ์‹ถ์œผ๋‚˜, ํ˜„์‹ค์ ์œผ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

์—ฌ๊ธฐ์„œ p(x) ๊ฐ€ ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ๋ฐ 

1. z ๊ฐ€ ๋งค์šฐ high dimension ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์‹ค์ ์œผ๋กœ ์ ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. 

2. p(x|z) ๋Š” neural network ์ธ๋ฐ ๊ณ„์‚ฐ์ด ๋งค์šฐ ๋ณต์žกํ•˜๋‹ค. 

๋Š” ์ˆ˜ํ•™์ ์ธ ์ด์œ ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

( ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๋ฅผ ํ•ด๋ณด์ž๋ฉด ์ด๋ฏธ์ง€ (x) ๊ฐ€ ์žˆ๊ณ  ์ด ์ด๋ฏธ์ง€๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์š”์†Œ (ex : ์ƒ‰ , ํฌ๊ธฐ , ๊ตฌ๋„ ,,,,, ) ๋“ฑ๋“ฑ ์ˆจ๊ฒจ์ง„ ์š”์†Œ (Z) ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฌ๋ฉด p(z|x) ๊ทธ๋‹ˆ๊นŒ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ ๋‚˜์„œ ์ด๋Ÿฐ ์š”์†Œ๊ฐ€ ์–ด๋–ค๊ฒƒ์ธ์ง€ ๊ตฌํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์ด๋‹ค. 

 

bayes rule ๊ณ„์‚ฐ์‹์„ ๋ณด๋ฉด , ๋ชจ๋“  ์กฐํ•ฉ (z) ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‹ค ๋„ฃ์–ด๋ณด๊ณ  -> ์–ด๋А ์กฐํ•ฉ์ด ์ด๋ฏธ์ง€(x) ๋ฅผ ๋งŒ๋“ค ํ™•๋ฅ ์ด ๋†’์€์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๊ฒŒ 

์•„๋ž˜ ์ด ์ˆ˜์‹์ด๋‹ค. z ๊ฐ€ ๊ฑฐ์˜ 32~256 ์ฐจ์›์ด๋ฉด ์กฐํ•ฉ์ˆ˜๊ฐ€ ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ๋งŽ์•„์งˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ decoder ๋Š” ์‹ ๊ฒฝ๋ง์ด๋ผ ๊ณ„์‚ฐ์ด ๋งค์šฐ ๋ณต์žกํ•˜๋‹ค. ์ฆ‰, ๊ฐ€๋Šฅํ•œ z๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋„ฃ์–ด๋ณด๋Š”๊ฑด ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ด๋œ๋‹ค.

 

--> ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ z์— ๋Œ€ํ•ด์„œ, ๊ทธ z๊ฐ€ x๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ํ™•๋ฅ ์„ ๋‹ค ๋”ํ•œ ๊ฐ’์ด ์ปค์ง€๋„๋ก ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  ์‹ถ์€๊ฒƒ. )

 

 

๊ทธ๋ž˜์„œ vae ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 

 

 

1. ์ง„์งœ ์ •๋‹ต ๋ถ„ํฌ : p(z|x) -> ํ•˜์ง€๋งŒ ์œ„์—์„œ ์ „๊ฐœํ–ˆ๋“ฏ์ด ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅ.  

2. x->z mapping ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๊ธดํ•จ.( ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  latent space ๋ฅผ ํ•™์Šต์‹œ์ผœ์•ผ ํ•˜๋Š”๊ฑด ์ž๋ช…ํ•˜๋ฏ€๋กœ) 

3. ๊ทธ๋Ÿผ p(z|x) ์™€ ์œ ์‚ฌํ•œ q(z|x) ๋ฅผ ์‚ฌ์šฉํ•˜์ž. 

 

๋‹ค์‹œ vae ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ณด๋ฉด 

 

x ----> [encoder] ----> z ----> [decoder] ----> xฬ‚ 

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ encoder ๋Š” ์‹ค์ œ x ๋ฅผ ๋ฐ›์•„์„œ z ๋ฅผ ๋งŒ๋“œ๋Š” ๋„คํŠธ์›Œํฌ์ด๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ p(z|x) ๊ฐ€ ์ง„์งœ ์ƒ์„ฑ๋ชจ๋ธ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๊ฐ€์ • ์ฆ‰, encoder ์—์„œ ์‚ฌ์šฉํ•˜๋Š” q(z|x) ๋ฅผ inference ์—ญํ• ๋กœ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. 

 

๋‹ค์‹œ ์ •๋ฆฌํ•˜์ž๋ฉด ์šฐ๋ฆฌ๋Š” ์‚ฌ์‹ค ๋””์ฝ”๋”๋กœ z ์—์„œ x ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ๋งŒ ์•Œ๊ณ ์‹ถ์€๋ฐ , ํ˜„์‹ค์ ์œผ๋กœ ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์–ด๋ ค์šฐ๋‹ˆ ์ธ์ฝ”๋”๋ฅผ ๋ถ™์—ฌ์„œ ์—ฌ๊ธฐ์„œ ๋‚˜์˜จ q(z|x) ๋ฅผ ์ƒ์„ฑ ๋ชจ๋ธ๋กœ ๊ทผ์‚ฌ์‹œ์ผœ์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด encoder ๋ฅผ ๋ถ™์˜€๋‹ค ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ( ์‹ค์ œ๋กœ vae ๋…ผ๋ฌธ์—๋„ ๊ทธ๋ ‡๊ฒŒ ๋‚˜์™€ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค. )

 

 

์ •๋ฆฌํ•˜๊ณ  ๋‹ค์‹œ ์ฝ์–ด๋ณด๋‹ˆ ์˜คํžˆ๋ ค ๋” ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒƒ๋„ ๊ฐ™์•„์„œ ์ผ๋‹จ ์งง๊ฒŒ ์ •๋ฆฌ๋ฅผํ•˜๋ฉด

- ๋‚˜๋Š” ์›๋ž˜ decoder p(x|z) ๋งŒ ํ•„์š”ํ•จ -> ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ๋กœ ๋ถˆ๊ฐ€๋Šฅ

- p(x|z) ๊ทผ์‚ฌํ•œ q(z|x) ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด encoder ๋ฅผ ๋งŒ๋“ ๋‹ค.  

 

 

q1. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ q(z|x) ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ ํ˜•ํƒœ์—ฌ์•ผ ํ•˜๋‚˜ ? 
a1. ๋งจ ์ฒ˜์Œ ์ด์•ผ๊ธฐํ–ˆ๋˜ autoencoder ์™€ vae ๊ฐ€ ๋‹ค๋ฅธ ์ด์œ ๋Š” 

" latent space ๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ์ •๋ˆ๋œ , smooth ํ•œ ๊ณต๊ฐ„์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ " ์ด๋‹ค. 

 

์ด๋ฅผ ์œ„ํ•ด์„œ 2๊ฐ€์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 

1. x ๋ฅผ ํ•˜๋‚˜์˜ z ๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ  , z์˜ "๋ถ„ํฌ" ๋กœ ๋ณด๋‚ด์•ผํ•จ

2. latent ๊ฐ€ prior N ( 0 ,I ) ์— align ๋˜๋„๋ก KL term ์ด ํ•„์š”ํ•˜๋‹ค ( ์ด๋ถ€๋ถ„์€ ๋’ค์—์„œ ๋” ์ž์„ธํžˆ ๋‹ค๋ฃฌ๋‹ค. ) 

 

 

 

2.1.2 Training via the Evidence Lower Bound (ELBO)

 

 

ELBO ์— ๋Œ€ํ•œ ์š”์•ฝ์€ ์ด๋ ‡๋‹ค. 

 

์›๋ž˜ ๋ชฉํ‘œ: log pฯ•(x) (log-likelihood)๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๊ณ  ์‹ถ๋‹ค.
→ ์•ž์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ๊ณ„์‚ฐ์ด ์•ˆ ๋œ๋‹ค. 
→ ๊ทธ๋ž˜์„œ ๋Œ€์‹  ELBO๋ผ๋Š” “๊ณ„์‚ฐ ๊ฐ€๋Šฅํ•œ lower bound”๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ๊ฑธ ์ตœ๋Œ€ํ™”ํ•œ๋‹ค.
→ ์ด ELBO๋Š”

  • ์žฌ๊ตฌ์„ฑ ํ•ญ (reconstruction)
  • ์ž ์žฌ KL (latent regularization) ๋‘˜์˜ ํ•ฉ์œผ๋กœ ์ชผ๊ฐœ์ง„๋‹ค.

๊ทธ๋ฆฌ๊ณ  log pฯ•(x) − ELBO = KL(q(z|x) || pฯ•(z|x)) ๋ผ๋Š” ์‚ฌ์‹ค ๋•Œ๋ฌธ์—,

ELBO๋ฅผ ํ‚ค์šด๋‹ค๋Š” ๊ฑด
๊ณง
(1) log-likelihood๋ฅผ ํ‚ค์šฐ๋ฉด์„œ,
(2) ๋™์‹œ์— q(z|x)๊ฐ€ ์ง„์งœ posterior p(z|x)์— ๊ฐ€๊นŒ์›Œ์ง€๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ
์ด๋‹ค.

 

 

 

 

์šฐ๋ฆฌ๊ฐ€ ์›๋ž˜ ์ตœ๋Œ€ํ™” ํ•˜๊ณ  ์‹ถ์€ ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์œ„์—์„œ๋„ ์ด์•ผ๊ธฐ ํ–ˆ๋“ฏ์ด pฯ•(x, z) = p(z) pฯ•(x|z)  ์˜ ์ˆ˜์‹์ด high dimension z ์— ๋Œ€ํ•ด์„œ ์ ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค 

-> ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ log p(x) ์˜ ์ตœ๋Œ€ํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. 

๊ทธ๋ž˜์„œ ์ง์ ‘ ๊ณ„์‚ฐ์„ ๋ชปํ•˜๋ฉด ๊ณ„์‚ฐ ๊ฐ€๋Šฅํ•œ lower bound ๋ฅผ ๋งŒ๋“ค์ž๋Š” ๊ฒƒ์ด eblo ์˜ ๊ฐ€์žฅ ํฐ ๋ชฉ์ .

 

 

<์ˆ˜์‹์ „๊ฐœ>

- ๊ธฐ์กด ์ˆ˜์‹์— ๋ถ„์ž/๋ถ„๋ชจ์— qθ(z|x)๋ฅผ ๊ณฑํ–ˆ๋‹ค๊ฐ€ ๋‚˜๋ˆˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ๊ฒฐ๊ตญ log E[...] ๊ผด๋กœ ๋ณ€ํ˜•์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

-> ๊ทธ๋ฆฌ๊ณ  JENSEN ๋ถ€๋“ฑ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.  ( log E[Y] > E[logY] ) 

 

๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค ( ELBO ์˜ ์ •์˜ ) 

 

<ELBO>

 

ELBO ์ˆ˜์‹์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ํ’€์–ด๋ณด์ž. 

 

  • pฯ•(x,z) = p(z)pฯ•(x|z)
  • ๋”ฐ๋ผ์„œ log pฯ•(x,z) = log pฯ•(x|z) + log p(z) 
  • ์ด๋ ‡๊ฒŒํ•˜๋ฉด 3๊ฐœ ํ•ญ์œผ๋กœ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค. 

์—ฌ๊ธฐ์„œ ๋‘๋ฒˆ์จฐ์™€ ์„ธ๋ฒˆ์งธ ํ•ญ์„ ํ•ฉ์น˜๋ฉด KL ์ด ๋‚˜์˜จ๋‹ค. 

( kl(p||q ) -> sum ( p(x) log ( p(x) / q(x) ) )  == E[log(q) / log(p) ] ) ์ •์˜๋Œ€๋กœ ์“ฐ๋ฉด ์ด๋ ‡๊ฒŒ ์ •๋ฆฌ๊ฐ€๋œ๋‹ค. 

 

 

 

๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ ์ฐธ์กฐ.

 

๋”ฐ๋ผ์„œ ์ตœ์ข… ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ( ์ฑ…์˜ ์ˆ˜์‹๊ณผ ๋™์ผํ•ด์ง ) 

์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜๋ฉด ๊ณ„์‚ฐ์ด ๋งค์šฐ ์‰ฌ์›Œ์ง„๋‹ค. 

 

(1) Reconstruction term : z ๋กœ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ x ๋ฅผ ์ž˜ ๋ณต์›ํ•˜๋Š”์ง€ ?  

 

-> ์ค‘์š”ํ•œ์  : 

๋งŒ์•ฝ์— reconstruction term ์œผ๋กœ๋งŒ ์ตœ์ ํ™” ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ ์ด ๋ฌธ์ œ๋Š” ๋ฐ”๋กœ "Memorization" ์ด๋‹ค. 

์ด ํ•ญ๋งŒ ์žˆ์œผ๋ฉด encoder ๊ฐ€ q(z|x) ๋ฅผ ๊ทธ๋ƒฅ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ์ธ์ฝ”๋”ฉํ•ด๋„ decoder ๋Š” ๊ทธ๋ƒฅ p(x|z) ๋ฅผ ํ†ตํ•ด์„œ ๊ทธ๋ƒฅ x ๋ฅผ ๋ณต์‚ฌ๋งŒํ•ด๋„ loss ๊ฐ€ ์ž‘์•„์ง€๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ๋˜๋ฉด latent space ์— ๊ตฌ์กฐ๊ฐ€ ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

-> autoencoder ๋ฅผ ์ƒ์„ฑํ˜• ๋ชจ๋ธ๋กœ ์“ธ์ˆ˜ ์—†๋Š” ์ด์œ ์ด๊ธฐ๋„ ํ•˜๋‹ค.  

-> vae ์—์„œ๋Š” kl regularization ์„ ๋ฐ˜๋“œ์‹œ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค.  ( vq-vqe ์—์„œ๋„ ์ด๋Ÿฐ ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ) 

 

(2) Latent Regularization (KL Divergence) : q(z|x) ๊ฐ€ prior (z) ์— ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€ ? 

q(z|x) = N(0,I) ์™€ ์œ ์‚ฌํ•ด์ง€๋„๋ก ๊ฐ•์ œํ•˜๋Š” Regularization ์ด๋‹ค. 

 

์›๋ฌธ : This regularization shapes the latent space into a smooth and continuous structure, enabling meaningful generation by ensuring that samples drawn from the prior can be reliably decoded. This regularization shapes the latent space into a smooth and continuous structure, enabling meaningful generation by ensuring that samples drawn from the prior can be reliably decoded.

 

์—ฌ๊ธฐ์—” ๋จผ์ € 2๊ฐ€์ง€ ๊ฐ€์ •์ด ํ•„์š”ํ•˜๋‹ค. 

1. p(z) ๋Š” ์ •๊ทœ ๋ถ„ํฌ๋กœ ๊ฐ€์ •ํ•œ๋‹ค. 

   - ์ด๋ ‡๊ฒŒ prior ์„ ๋‹จ์ˆœํ•œ gaussian ์œผ๋กœ ๊ณ ์ •ํ•ด์•ผ KL ๊ณ„์‚ฐ์ด ์ž˜ ๋˜๊ณ  , latent space ๊ฐ€ ์ž˜ ์ •๋ˆ๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ˜ํ”Œ๋ง์ด ์‰ฝ๋‹ค. 

   - ์—ฌ๊ธฐ์„œ  log p(z) ( ์ƒ˜ํ”Œ z ๋ฅผ ์ •๊ทœ๋ถ„ํฌ p ์— ๋„ฃ์€ ๊ฐ’. ) 

2. Encoder q(z|x) ๋„ tractable ํ•œ ๋ถ„ํฌ์—ฌ์•ผ ํ•จ. 

  - encoder ๊ฐ€ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

  - ์ด๋Ÿฐ ๊ฐ€์ •์ด ์žˆ์–ด์•ผ KL(q||p) ๋ฅผ closed form ์œผ๋กœ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•จ

( ์ž์„ธํ•œ๊ฑด cf. https://di-bigdata-study.tistory.com/5

 

๊ทธ๋Ÿผ ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋‚˜ ? 

 

1)

latent space ๋ฅผ  N(0,I) ์ฃผ๋ณ€์œผ๋กœ ์ •๋ ฌ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.  

๋ชจ๋“  x ๋ฅผ encoding ํ•œ q(z|x) ๊ฐ€ gaussian prior ์ฃผ๋ณ€์— ๋ชจ์ด๊ฒŒ ๋œ๋‹ค. 

encoder ๊ฐ€ ๋งŒ๋“  ๋ถ„ํฌ ( q(z|x) ) ๊ฐ€ prior p(z) ์—์„œ ๋ฉ€์–ด์งˆ ์ˆ˜๋ก ํŒจ๋„ํ‹ฐ๊ฐ€ ์ปค์ง€๋‹ˆ๊นŒ ๋‘˜์ด ๋ถ„ํฌ๊ฐ€ ๋น„์Šทํ•ด์ง.

 

์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ q(z|x) = N(0,I) ์˜ ๋ถ„ํฌ์™€ ๋น„์Šทํ•ด์ง. ( ์ˆ˜์‹์„ ๋ณด๋ฉด Mu ์€ 0์œผ๋กœ ๊ฐ€๊ณ   , sigma ๋Š” 1๋กœ ๊ฐ€์•ผ ๊ฐ€์žฅ ๊ฐ’์ด ์ž‘์•„์ง„๋‹ค. ) 

 

๋”ฐ๋ผ์„œ latent space ๋ฅผ ๋งค๋„๋Ÿฌ์šด ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ ๋‹ค. ( smooth + continuous ) 

 

2) 

์•ž์—์„œ ์„ค๋ช…ํ•œ memorization๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

q(z|x) ์˜ variance ๊ฐ€ 0 ์— ๊ฐ€๊นŒ์šฐ๋ฉด ์‚ฌ์‹ค์ƒ latent space ๊ฐ€ ๋ฐ์ดํ„ฐ๋ณ„๋กœ ๋ฉ€๋ฆฌ ํฉ์–ด์ ธ์žˆ๋Š” ๋ชจ์–‘์ผํ…๋ฐ 

์ด๋Ÿฌ๋ฉด KL term ์ด 0์œผ๋กœ ๊ฐ€๋ฉด loss ๊ฐ€ ์‚ฌ์‹ค์ƒ ๋ฌดํ•œ๋Œ€๋กœ ์ปค์ง„๋‹ค. 

 

๋”ฐ๋ผ์„œ ๋„ˆ๋ฌด ์ƒคํ”„ํ•œ ์ธ์ฝ”๋”ฉ์ด ๊ธˆ์ง€๋œ๋‹ค. 

( ์ถ”๊ฐ€ : memorization ์€ ๊ฒฐ๊ตญ ๋ฐ์ดํ„ฐ๋ณ„๋กœ ๋ฉ€๋ฆฌ ํฉ์–ด์ ธ์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋งŒ ์™ธ์šฐ๋Š” latent space ๋ฅผ ๊ฐ€์งˆ๊ฒƒ์ด์ง€๋งŒ , ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฌ์ง€์•Š๊ณ  ๋„ˆ๋ฌด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ€๋ฆฌ ( var ) ๋‘์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ์‰ฝ๋‹ค. ) 

 

 

 

Information-Theoretic View: ELBO as a Divergence Bound.

ELBO ๋ฅผ ์ •๋ณด์ด๋ก  - ๋ถ„ํฌ ๊ด€์ ์—์„œ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•˜๋Š” ์ง€์— ๋Œ€ํ•œ ์„น์…˜์ด๋‹ค. 

 

์ด์ฏค์—์„œ ํ•œ๋ฒˆ ๋‹ค์‹œ remind ( with gpt )

๊ฒฐ๊ตญ MLE ๋‹ˆ๊นŒ , ๋ชจ๋ธ ๋ถ„ํฌ ๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ p_data(x)๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๊ทผ์‚ฌํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. 

ํ•˜์ง€๋งŒ p_phi(x) ๊ฐ€ KL ๋„ ์ง์ ‘ ๊ณ„์‚ฐํ•˜๊ธฐ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— -> ELBO ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

๋ฆฌ๋งˆ์ธ๋“œ์šฉ

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

๋‹ค์‹œ ์ฑ…์˜ ๋‚ด์šฉ์œผ๋กœ ๋Œ์•„๊ฐ€ ๋ณด์ž๋ฉด , ์œ„์˜ ์‹์„ MIN ํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ 

" ๋ชจ๋ธ๋ถ„ํฌ P_phi(x) ๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ p_data(x) ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๊ทผ์‚ฌํ•˜๋Š”๊ฐ€ "

๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” error ์ด๋‹ค. ( ์œ„ ์‹์„ ์ตœ์†Œํ™” ํ•˜๋Š”๊ฒŒ ์›๋ž˜ ๋ชฉ์ ์ด์˜€์ง€๋งŒ )

 

ํ•˜์ง€๋งŒ ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด P_phi(x) ๊ฐ€ ๊ตฌํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ ์ด KL ๋„ ์ง์ ‘ ๊ณ„์‚ฐํ•˜๊ธฐ ํž˜๋“ค๋‹ค. -> ๋”ฐ๋ผ์„œ ELBO ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

์ฑ…์—์„œ ๋‘ joint ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•œ๋‹ค

generative joint ๋Š” prior p(z)  = N(0,I) / p_phi(x|z) ๋Š” vae decoder 

inference joint ๋Š” ๋ฐ์ดํ„ฐ + encoder ์—ฎ์–ด์„œ ( p_data(x) ) / (q(z|x) ) 

( ์‰ฝ๊ฒŒ์ด์•ผ๊ธฐํ•˜๋ฉด generatvie joint = decoder ์—์„œ ์ƒ์„ฑํ•˜๋Š”๊ฑฐ / inference joint = ์ธ์ฝ”๋”์—์„œ z ์ถ”๋ก ํ•˜๋Š”.. ) 

 

์—ฌ๊ธฐ์„œ 

  • qθ(x,z)๋Š” ์ง„์งœ ๋ฐ์ดํ„ฐ p_data(x)์—
    ๊ทธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ถ”๋ก ๋œ latent qθ(zโˆฃx)๋ฅผ ๋ถ™์ธ joint.
  • pฯ•(x,z)๋Š” prior + decoder๋กœ ์ •์˜๋˜๋Š” ๋ชจ๋ธ์˜ joint.

์ด ๋‘˜์˜ ์ฐจ์ด๋ฅผ joint KL๋กœ ๋น„๊ตํ•˜๊ฒ ๋‹ค๋Š” ๊ฒŒ ์ถœ๋ฐœ์ ์ด๋‹ค. 

 

 

 

" chain rule for KL divergence "

์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๋ฅผ ํ•ด๋ณด์ž๋ฉด 

(์ขŒ์ธก marginal kl) : ๊ฒ‰์œผ๋กœ ๋ณด์ด๋Š” x ๋ถ„ํฌ๋ผ๋ฆฌ๋งŒ ๋น„๊ต

(์šฐ์ธก joint kl) : (x,z) joint ๊นŒ์ง€ ๋น„๊ตํ•˜๋Š” KL ์€ x ๋ฟ๋งŒ์•„๋‹ˆ๋ผ x์™€ ์—ฐ๊ฒฐ๋œ z ๊นŒ์ง€ ํฌํ•จํ•ด์„œ ๋” ํ•˜๋“œํ•˜๊ฒŒ ๋น„๊ตํ•จ. 

 

--> ์ด๊ฑธ ์ •๋ณด ์ด๋ก ์œผ๋กœ ์ดํ•ด๋ฅผ ํ•ด๋ณด๋ฉด 

๋”๋ณด๊ธฐ

joint KL ์ด marginal KL ๋ณด๋‹ค ํฌ๋‹ค 

์ฆ‰, ์ •๋ณด๊ฐ€ ๋งŽ์œผ๋ฉด -> mismatch ๋ฅผ ๋” ๋งŽ์ด ์žก์•„๋‚ธ๋‹ค. 

์ด ๋ง์„ ์ข€ ํ’€์–ด์„œ ์จ๋ณด๋ฉด 

์šฐ๋ฆฌ ๊ด€์ธก ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ : x ( ์ด๋ฏธ์ง€ ) 
latent : z ( ์ž ์žฌ ์ฝ”๋“œ ) 

 

๋‘๊ฐ€์ง€ ํ‰๊ฐ€ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค 

1. ๊ฒ‰๋ชจ์Šต๋งŒ ํ‰๊ฐ€ํ•˜๊ธฐ ( marginal KL ) 

-> ์ด๋ฏธ์ง€ x ์ž์ฒด์˜ ๋ถ„ํฌ๋งŒ ๋งž๋Š”์ง€ ๋ณธ๋‹ค 

-> ๊ทธ๋ž˜์„œ z ์ธ์ž๊ฐ€ ์—†๋Š” ๊ฒƒ์ด๊ณ .

 

2. ๊ฒ‰ + ์† ( joint KL )

-> ์ด๋ฏธ์ง€ x ์˜ ๋ณธํฌ๋„ ๋ณด๊ณ  ๊ฐ ์ด๋ฏธ์ง€ x ์— ๋Œ€ํ•ด์„œ ์–ด๋–ค z ๊ฐ€ ๋ถ™๋Š”์ง€ ๋ณธ๋‹ค

so -> D_kl ( q (x,z ) | p (x,z) ) 

 


2. 

์ง๊ด€์ ์œผ๋กœ ์™œ joint ๊ฐ€ ํ•ญ์ƒ ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋ƒ๋ฉด 

 

joint kl ์€ ์ •๋ณด๋ฅผ ๋” ๋งŽ์ด ๋น„๊ตํ•œ ์ธ์ž์ด๋‹ค ( ๋งํ•˜์ž๋ฉด ๋ฌธ์ œ ๋‹ต + ํ’€์ด๊ณผ์ •์„ ๋ณธ ๊ฒฝ์šฐ์ด๊ณ  )

marginal kl ์€ ๋‹ต๋งŒ ๋ณธ ๊ฒฝ์šฐ์ด๋‹ค. 

 

๋‹น์—ฐํžˆ ๋‹ต๋งŒ ๋ณธ ๊ฒฝ์šฐ์— ๊นŽ์ด๋Š” ์ ์ˆ˜๊ฐ€ ๋œํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€ ?? -> ๊ทธ๋ ‡๋‹ค๋Š”๊ฑด loss ๊ฐ€ ๋” ์ž‘๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค ! ( ์—๋Ÿฌ๋ฅผ ๋” ์žก์•„๋ƒ„)

๋”ฐ๋ผ์„œ joint kl ์ด ์ง๊ด€์ ์œผ๋กœ ํ•ญ์ƒ ๋” ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. 

 

3. 

์ •๋ณด๊ฐ€ ๋งŽ์œผ๋ฉด -> mismatch ๋ฅผ ๋” ์ž˜ ์žก๋Š”๋‹ค. 

 

์ด ์—ญ์‹œ ๊ฝค๋‚˜ ์ง๊ด€์ ์œผ๋กœ ๋‹น์—ฐํ•œ๋ฐ, 

marginal ๊ฐ™์€ ๊ฒฝ์šฐ ( x ๋งŒ ๋ณผ๋•Œ )  ๊ฒฐ๊ตญ ๋‹ต๋งŒ ๋ณด๋Š” ๊ฒฝ์šฐ์ด์ง€๋งŒ 

 

joint kl ์˜ ๊ฒฝ์šฐ ( x + latent z ๋ฅผ ๋ณด๋‹ˆ๊นŒ ) ๋” ์ •๋ณด๊ฐ€ ๋งŽ์„ ๊ฒƒ์ด๋‹ค. ๋˜ latent z ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” x ๋ฅผ ์ผ์ข…์˜ ์ถ”์ƒํ™”ํ•ด์„œ ์••์ถ•์‹œ์ผœ ๋‘” ๋ถ€๋ถ„์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์„๋•Œ ๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด ๋” class ๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์„๊ฒƒ์ด๋‹ค. 

 

๋”ฐ๋ผ์„œ mismatch ๋ฅผ ์žก๊ธฐ ๋” ์‰ฝ๋‹ค. ! 

 

 

4. 

total error bound ์ธ ์ด์œ  

 

์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” DKLโ€‹(pdataโ€‹(x)โˆฅpฯ•โ€‹(x)) ๋ฅผ ์ค„์ด๊ณ  ์‹ถ์€๋ฐ ์ด๊ฒŒ ์–ด๋ ค์šฐ๋‹ˆ DKLโ€‹(qθโ€‹(x,z)โˆฅpฯ•โ€‹(x,z))  (joint KL) ์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ด๋‹ค. 

 

joint KL ์ˆ˜์‹์„ ๋ณด๋ฉด ๋ชจ๋ธ๋ง์—๋Ÿฌ + ์ถ”๋ก  ์—๋Ÿฌ๊ฐ€ ํ•ฉ์ณ์„œ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค 

๋‘˜์ด ํ•ฉ์ณ์„œ ๋“ค์–ด๊ฐ€ ์žˆ์œผ๋‹ˆ TOTAL ERROR ๋กœ ๋ณด๋Š”๋“ฏ. 

 

๋˜,

๋ชจ๋ธ๋ง์—๋Ÿฌ ( ์›๋ž˜ ์•Œ๊ณ ์‹ถ์€๊ฐ’ ) <= JOINT KL (TOTAL ERROR ) 

 

์ด๋‹ˆ๊นŒ joint KL ์€ ๋ชจ๋ธ๋ง ์—๋Ÿฌ์— ๋Œ€ํ•œ upperbound ์ด๋‹ค. 

 

( ์ด๊ฑธ kl ์˜ chain rule ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค๊ณ  ํ•œ๋‹ค. ) 

 

 

 

์ˆ˜์‹ ์ „๊ฐœ๋ฅผ ํ•ด๋ณด๋ฉด.

 

True modeling error :

- ๋ชจ๋ธ์˜ marginal pฯ•(x)๊ฐ€ ์ง„์งœ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜/๋ชป ๋งž์ถ”๋Š”์ง€ ( ์šฐ๋ฆฌ๊ฐ€ ์›๋ž˜ ๊ตฌํ•˜๊ณ ์ž ํ–ˆ๋˜ ๊ฐ’ ) 

- ์ด๋ฏธ์ง€ x ์ž์ฒด์˜ ๋ถ„ํฌ๋งŒ ๋งž๋Š”์ง€ ๋ณธ๋‹ค  <-> ( joint kl ์€ ์ด๋ฏธ์ง€ ๋ถ„ํฌ x ๋„ ๋ณด๊ณ  / ์ด๋ฏธ์ง€ x ์— ๋Œ€ํ•ด์„œ ์–ด๋–ค z ๊ฐ€ ๋ถ™๋Š”์ง€ ๊ฐ™์ด ๋ณธ๋‹ค. ) 

 

inference error :

- ์ง„์งœ posterior pฯ•(zโˆฃx)์™€ encoder๊ฐ€ ๊ทผ์‚ฌํ•œ qθ(zโˆฃx)์‚ฌ์ด์˜ mismatch ํ‰๊ท  ( posterior p ์™€ encoder ๊ฐ€ ๊ทผ์‚ฌํ•œ ๊ฐ’ q ์‚ฌ์ด์˜ ํ‰๊ท  )  

 

์ด๋•Œ inference error ๋Š” ํ•ญ์ƒ 0๋ณด๋‹ค ํฌ๋‹ˆ๊นŒ ๊ฒฐ๊ตญ 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜์‹์ด ๋งŒ์กฑ๋˜๋Š” ๊ฒƒ์ด๋‹ค

( joint KL = modelling error + inference error ) 

-> joint KL ์ด ํฌ๋‹ค๋Š”๊ฑด

1. ๋ชจ๋ธ ์ž์ฒด์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜

2. encoder ์ถ”๋ก ์ด ๋ณ„๋กœ์—ฌ์„œ posterior ๋ฅผ ์ž˜ ๋ชป๋”ฐ๋ผ ๊ฐ€๊ฑฐ๋‚˜ 

๋‘˜์ค‘ ํ•˜๋‚˜ ํ˜น์€ ๋‘๊ฐœ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. 

 

 

 

 

ELBO and inference error 

๊ฒฐ๊ตญ ์œ„์˜ ์ˆ˜์‹์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

( cf.

๋ฆฌ๋งˆ์ธ๋“œ์šฉ

 

 ์ด ์‹์˜ ๋œป์€ ์ฆ‰

"log likelihood ๋ž‘ ELBO ์‚ฌ์ด์˜ gap ์ด posterior ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๊ทผ์‚ฌํ–ˆ๋Š”์ง€ ( inference error ) ๋ž‘ ์ •ํ™•ํžˆ ๊ฐ™๋‹ค " 

 

log p_phi(x) : ์šฐ๋ฆฌ๊ฐ€ ์ •๋ง ์ตœ์ ํ™” ํ•˜๊ณ ์‹ถ์€ likelihood

L_elbo : ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ 

๋‘˜์˜ ์ฐจ์ด๊ฐ€ D_KL = ( encoder posterior ๊ทผ์‚ฌ ์˜ค์ฐจ ) 

 

๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ elbo ๋ฅผ ์ตœ๋Œ€ํ™” ํ•œ๋‹ค๋Š”๊ฑด 

1. ๋ชจ๋ธ๋ง ์—๋Ÿฌ๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šตํ•˜๋ฉด์„œ

2. inference error ๋„ ์ค„์ด๋Š” ๊ฒƒ์ด๋‹ค. 

 

ELBO ๊ฐ€ logp(x) ์— ๊ฐ€๊นŒ์›Œ ์งˆ์ˆ˜๋ก -> q(z|x) ๊ฐ€ ์ง„์งœ posterior p(z|x) ์— ๊ฐ€๊นŒ์›Œ ์ง€๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. 

 

 

 

 

 

2.1.3 Gaussian VAE

 

์›๋ฌธ ๊ทธ๋Œ€๋กœ๋ผ ์„ค๋ช…ํ• ๊ฒŒ ๋งŽ์ง€๋Š” ์•Š๋‹ค

 

(1) ์ธ์ฝ”๋” qθ(zโˆฃx)

- latent z ๋ฅผ ๋„์ž…ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•จ

- x ( ์ด๋ฏธ์ง€ ) -> z ์— ๋Œ€ํ•œ ๋ถ„ํฌ๋ฅผ ๋ฑ‰๋Š”๋‹ค. 

- ๋‹ค๋งŒ ์—ฌ๊ธฐ์„œ ์ธ์ฝ”๋”๋Š” ํ•˜๋‚˜์˜ ๋ฒกํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์ •๊ทœ๋ถ„ํฌ ( ํ‰๊ท  + ๋ถ„์‚ฐ ) ์„ ๋‚ด๋ณด๋‚ธ๋‹ค๋Š”์ . 

 

(2) ๋””์ฝ”๋” p(x|z)

- latent -> data ๊ณต๊ฐ„์œผ๋กœ ๊ฐ€๋Š” ๋””์ฝ”๋” 

- ๋ถ„์‚ฐ์€ ๊ณ ์ •๋œ ์Šค์นผ๋ผ + isotropic ๊ฐ€์šฐ์‹œ์•ˆ ( ์ฆ‰ , ๋””์ฝ”๋”๋Š” ํ‰๊ท ๋งŒ ํ•™์Šตํ•˜๊ณ  , ๋ถ„์‚ฐ์€ ๊ทธ๋ƒฅ ์ƒ์ˆ˜๋กœ ๊ณ ์ •ํ•จ.  ) 

 

 

Reconstrction term ์ด MSE ๊ฐ€ ๋˜๋Š” ์ด์œ  ? 

์œ„์—์„œ ์‚ดํŽด๋ณธ Reconstrcution term ์ด๋‹ค. pฯ•(xโˆฃz)๊ฐ€ ๊ฐ€์šฐ์‹œ์•ˆ์ด๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ ๋กœ๊ทธ๋ฅผ ํ’€๋ฉด

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋˜๋Š”๋ฐ C ๋Š” ์ƒ์ˆ˜๋‹ˆ๊นŒ ๋ฌด์‹œ ( ๋ณ€์ˆ˜ phi ๋ž‘ theta ๋ž‘ ๊ด€๋ จ์—† ) 

so ,

๋”ฐ๋ผ์„œ MSE ๊ผด์ด ๋œ๋‹ค. 

๊ฒฐ๊ตญ EBLO ๋ฅผ ์ตœ๋Œ€ํ™” ํ•˜๋ ค๋ฉด -> Reconstruction term ์„ ์ตœ๋Œ€ํ™” ํ•ด์•ผํ•˜๋‹ˆ๊นŒ -> (์œ„๊ฐ€ ๋งˆ์ด๋„ˆ์Šค mse ์ด๋ฏ€๋กœ ) -> ์œ„ ํ•ญ์„ ์ตœ์†Œํ™” ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

( ์˜๋ฏธ์ ์œผ๋กœ๋Š” ๋””์ฝ”๋”๊ฐ€ x ๋ฅผ ์ž˜ ์žฌ๊ตฌ์„ฑํ•˜๋„๋ก mse recontrctuion loss ๋ฅผ ์ตœ์†Œํ™” ํ•˜๋Š”๊ฑฐ๋ž‘ ๊ฐ™๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ) 

๋”ฐ๋ผ์„œ ELBO ์ˆ˜์‹์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

1 : mse 

2 : KL

( KL ์€ ์•ž์—์„œ๋„ ์„œ์ˆ  ํ–ˆ์ง€๋งŒ q ์™€ p ๋‘˜๋‹ค ๊ฐ€์šฐ์‹œ์•ˆ ์ด๋‹ˆ๊นŒ closed-form ์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ธฐ ํŽธํ•˜๋‹ค. )

 

<์ •๋ฆฌ>

VAE loss๋ฅผ ์ง๊ด€์ ์œผ๋กœ ๋ณด๋ฉด:

  1. ์žฌ๊ตฌ์„ฑ ํ•ญ:
    • ์˜คํ† ์ธ์ฝ”๋”์ฒ˜๋Ÿผ x๋ฅผ ์ž˜ ๋ณต์›ํ•˜๋„๋ก MSE๋ฅผ ์ค„์ž„.
    • z์—์„œ ๋‹ค์‹œ x๋กœ ๊ฐˆ ๋•Œ ์ •๋ณด ์†์‹ค์ด ์ ๊ฒŒ.
  2. KL ์ •๊ทœํ™” ํ•ญ:
    • ๊ฐ x์— ๋Œ€ํ•ด ๋‚˜์˜ค๋Š” qθ(zโˆฃx)๊ฐ€ prior N(0,I)์™€ ๋„ˆ๋ฌด ๋‹ค๋ฅด์ง€ ์•Š๊ฒŒ ๋ฌถ์–ด์คŒ.
    • ๊ทธ๋ž˜์„œ “latent space ์ „์ฒด๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ณ  ์—ฐ์†์ ”์ด ๋˜๊ณ ,
    • ๋ฌด์ž‘์œ„๋กœ z∼N(0,I)์ƒ˜ํ”Œ ๋ฝ‘์•„์„œ ๋””์ฝ”๋”์— ๋„ฃ์–ด๋„ ๊ทธ๋Ÿด๋“ฏํ•œ x๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋จ.

์š”์•ฝํ•˜๋ฉด:

VAE ํ•™์Šต = “์žฌ๊ตฌ์„ฑ MSE๋ฅผ ์ค„์ด๋ฉด์„œ, latent ๋ถ„ํฌ๋ฅผ ํ‘œ์ค€์ •๊ทœ์— ๊ฐ€๊น๊ฒŒ ๋งŒ๋“œ๋Š” ์ตœ์ ํ™””

 

 

 

2.1.4 Drawbacks of Standard VAE



2.1.5 (Optional) From Standard VAE to Hierarchical VAEs

 

Hierarchical Variational Autoencoders (HVAEs) ๋Š” latent ๋ฅผ ๋‹จ๊ณ„์ ์œผ๋กœ ์Œ“์€ ๋ชจ๋ธ์ด๋‹ค. ์œ„์ชฝ latent ๊ฐ€ ์ „๋ฐ˜์ ์ธ ๊ตฌ์กฐ ( ๊ฑฐ์นœ์ •๋ณด ) ๋ฅผ ๊ฐ€์ง€๊ณ  ์•„๋ž˜์ชฝ latent ๊ฐ€ ์ ์  ๋”๋””ํ…Œ์ผ์„ ๋‹ด๋‹นํ•˜๋Š” ํ˜•์‹์ด๋‹ค.( ๋ฒŒ์จ ๋””ํ“จ์ „๊ณผ ๋ชจ๋ธ์ด ๋งค์šฐ ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฒผ๋‹ค) ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์„œ์ˆ ํ•ด ๋ณด๊ฒ ๋‹ค. 

 

HVAE vs VAE 

 

๊ธฐ์กด vae 

- latent ๊ฐ€ ํ•œ๊ฐœ 

 

HAVE 

- latent ๋ฅผ ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ์Œ“์Œ  ( z1 ,,,, zl ) 

- ์˜๋ฏธ๋ฅผ ์ด๋ ‡๊ฒŒ ํŒŒ์•…ํ•˜๋ฉด ํŽธํ•˜๋‹ค 

  -> z_L : ์ œ์ผ ์œ„  , ๊ฐ€์žฅ ์ถ”์ƒ์ ์ธ ์ •๋ณด ( ์ „์ฒด ๋А๋‚Œ ) 

  -> z_1 : ๊ฐ€์žฅ ์•„๋ž˜ , ๋””ํ…Œ์ผ์— ๊ฐ€๊นŒ์šด ์ •๋ณด

  -> x ์‹ค์ œ ์ด๋ฏธ์ง€ 

 

 

 

HVAE's Modeling 

 

(Decoding)

HVAE ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ณต์žกํ•ด๋ณด์ด์ง€๋งŒ ๋งค์šฐ ๋‹จ์ˆœํ•œ๋ฐ ( ์œ„์ชฝ์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋œ๋‹ค ) 

๋งจ์œ„ Latent ๋ฅผ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค => z_L ~ p(z_L)

 

๊ทธ ๋‹ค์Œ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ์ฐจ๋ก€๋Œ€๋กœ latent ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค 

 

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„ ํ•˜๋ฉด ( p(x|z1) ) ๋์ด๋‹ค. ( ๋งค์šฐ ์ง๊ด€์ ์ด๋‹ค. ) 

coarse -> fine ๋ฐฉํ–ฅ์œผ๋กœ ์ •๋ณด๋ฅผ ์ ์  ํ’€์–ด๋‚ด๋ฉด์„œ x ๋ฅผ ๋งŒ๋“ ๋‹ค. 

(top-down)

 

(Encoding)

์ธ์ฝ”๋”ฉ์€ ๋ฐ˜๋Œ€๋กœ x ์—์„œ ์‹œ์ž‘ํ•ด z ๋ฅผ ์ถ”์ถœํ•œ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์˜ฌ๋ผ๊ฐ€ z_l ๊นŒ์ง€ ๋„๋‹ฌํ•œ๋‹ค. 

( bottom-up ) 

 

Observation 2.1.1

๋ ˆ์ด์–ด๋ฅผ ์—ฌ๋Ÿฌ ์ธต ์Œ“์œผ๋ฉด, ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„ ๊ฑฐ์น ๊ฒŒ ์‹œ์ž‘ํ•ด์„œ ์ ์  ๋””ํ…Œ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜๋ฉด 

1. ๊ณ ์ฐจ์› ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜์žˆ๋‹ค 

    - ์ด๋ฏธ์ง€ ์ „์ฒด ๊ตฌ์กฐ / ๋กœ์ปฌ ์„ ๊ฐ™์€ z ์— ๋„ฃ์œผ๋ ค๋ฉด vae ๋กœ๋Š” ํ‘œํ˜„๋ ฅ์ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ์Œ 

2. Neural net ๊ณผ ์•„์ด๋””์–ด๊ฐ€ ๋งž์Œ 

    - ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด์—๋„ ์–ด๋–ค ๋ณต์žกํ•œ ๊ฒฝ๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊นŠ๊ฒŒ ์Œ“์•˜๋Š”๋ฐ vae ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ latent ๊ณต๊ฐ„ ์ž์ฒด๋ฅผ ๊นŠ๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ( ๊ฝค๋‚˜ ๋†€๋ผ์šด ์ง๊ด€์ธ๊ฑฐ๊ฐ™๋‹ค ) 

 

์ด๋Ÿฐ ์•„์ด๋””์–ด๊ฐ€ ๊ฒฐ๊ตญ score-base / diffusion ๋ชจ๋ธ์—์„œ ์ด๋Ÿฐ coarse to fine ( or multi scale ) ๊ตฌ์กฐ๊ฐ€ ๋งŽ์ด ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ์‹œ์ดˆ์ด๋‹ค.ใ…ฃ 

 

 

 

 

HVAE ์˜ EBLO ์œ ๋„ 

( ์ˆ˜์‹์€ ๋จธ๋ฆฌ๊ฐ€ ์‚ด์ง ์•„ํ”„๋‹ˆ ์ž ๊น ๊ฑด๋„ˆ ๋„๊ฒ ๋‹ค ) 

 

 

 

Why Deeper Networks in a Flat VAE are Not Enough.

HVAE๋Š” latent ๊ณต๊ฐ„์„ ๊นŠ๊ฒŒ ๋งŒ๋“  ๊ฑฐ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค → ๊ทธ๋ ‡๋‹ค๋ฉด encoder/decoder๋งŒ ๊นŠ๊ฒŒ ๋งŒ๋“ค๋ฉด ์•ˆ ๋˜๋‚˜? → ์™œ ๊ตณ์ด z๋ฅผ ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ์ชผ๊ฐœ์„œ ์“ฐ๋Š”๊ฐ€? ๋ผ๋Š” ์˜๋ฌธ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.  ( ๋‚˜๋„ ๊ทธ๋žฌ๊ณ  )

 

์–ด์ฐจํ”ผ ๊นŠ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒŒ ๋ชฉ์ ์ด๋ผ๋ฉด, ๊ตณ์ด z1,…,zL๋ฅผ ๋„์ž…ํ•  ํ•„์š” ์—†์ด encoder์™€ decoder ๋„คํŠธ์›Œํฌ๋งŒ ๊นŠ๊ฒŒ ๋งŒ๋“ค๋ฉด ๋˜๋Š” ๊ฒƒ ์•„๋‹๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์ด ์ƒ๊ธด๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹จ์ˆœํžˆ encoder / decoder ๋ฅผ ๊นŠ๊ฒŒ ๋งŒ๋“ ๋А ๊ฒƒ๊ณผ  latent ๊ณ„์ธต ์ž์ฒด๋ฅผ ๋„์ž…ํ•˜๋Š”๊ฒŒ ๋ณธ์งˆ์ ์œผ๋กœ ๋‹ค๋ฅด๋‹ค๊ณ  ์„ค๋ช…ํ•œ๋‹ค. 

 

1. variational family ๊ฐ€ ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜๋‹ค. 

๊ธฐ์กด vae ์—์„œ encoder ๋Š” ๋ณดํ†ต ์ด๋ ‡๊ฒŒ ๋‘๋Š”๋ฐ ์•„๋ฌด๋ฆฌ encoder ๋„คํŠธ์›Œํฌ(µ, σ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” NN)๋ฅผ ๊นŠ๊ฒŒ ๋งŒ๋“ค์–ด๋„ 

a. ๋ถ„ํฌ์˜ ํ˜•ํƒœ ์ž์ฒด๋Š” " ๋Œ€๊ฐ ๊ณต๋ถ„์‚ฐ ๊ฐ€์ง„ ํ•˜๋‚˜์˜ ๊ฐ€์šฐ์‹œ์•ˆ " ์—์„œ ์•ˆ๋ฒ—์–ด๋‚˜๊ณ 

b. ์–ผ๋งˆ๋‚˜ ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ฅผ ์“ฐ๋“  ๊ฒฐ๊ตญ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ๊ทผ์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค. 

( ๋งˆ์น˜ ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋ ค๋ฉด activate function ์„ ๋‘ฌ์•ผ ํ•˜๋“ฏ์ด .. ) 

 

ํ•˜์ง€๋งŒ ์ง„์งœ posterior P_(z|x) ๋Š” ๋ณดํ†ต Multi-peaked ์ผ ์ˆ˜์žˆ๋‹ค. 

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” encoder q(z|x) ๋Š” ํ•˜๋‚˜์˜ ๊ฐ€์šฐ์‹œ์•ˆ์ด๋ผ ์—ฌ๋Ÿฌ ํ”ผํฌ๋ชจ์–‘์ธ p(z|x) ๋ฅผ ์ •ํ™•ํžˆ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ๊ฐ€ ์—†๋‹ค. 

์ฆ‰, ๋„คํŠธ์›Œํฌ๋ฅผ ์•„๋ฌด๋ฆฌ ๊นŠ๊ฒŒ ์‚ฌ์šฉํ•ด๋„ M , var ๋งŒ ๋” ์ž˜ ์ถ”์ •ํ•˜๊ฒŒ ํ•  ๋ฟ์ด์ง€ ๋ถ„ํฌ์˜ family ์ž์ฒด๋Š” ์•ˆ๋ฐ”๊พผ๋‹ค. 

 

 

2. ๊ทธ๋ž˜์„œ Hierarchy ๋Š” ๊ธฐ์กด ๋ฐฉ์‹๊ณผ ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€ ? 

 

1. Reconstruction loss 

E[logp (x|z)] -> ์—ฌ์ „ํžˆ ์–ผ๋งˆ๋‚˜ z1 ๋กœ x ๋ฅผ ์ž˜ ์žฌ๊ตฌ์„ฑ ํ•˜๋А๋ƒ ? 

 

2. KL 

KL divergence ์ชฝ์„ ํ™•์ธํ•ด๋ณด๋ฉด ๊ฐ ๋ ˆ๋ฒจ๋ณ„๋กœ 1:1 ๋กœ KL ๋กœ ๋ฌถ์—ฌ์„œ ์„œ๋กœ ๋งž์ถ”๋„๋ก ํ•™์Šตํ•œ๋‹ค. ( ์ˆ˜์‹์„ ํ’€์–ด๋ณด์ž๋ฉด.. ) 

 

 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ inference conditional ์ด ์ž์‹ ์˜ top-down ์ด๋ž‘ ์ง๊ณผ aligned ๋˜๋„๋ก KL ์ธต์ด ๋‚˜๋ˆ ์ง„๋‹ค. 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด 

1. ์ •๋ณด ํŒจ๋„ํ‹ฐ๊ฐ€ ์ธต๋ณ„๋กœ ๋ถ„์‚ฐ๋˜๊ณ 

2. ํ•™์Šต ์‹ ํ˜ธ๊ฐ€ local ํ•˜๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค. ( ๊ฐ ๋ ˆ๋ฒจ์—์„œ ์ž๊ธฐ ์œ„/์•„๋ž˜๋กœ๋งŒ ๋งž์ถ”๋ฉด ๋จ ) 

๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ํšจ๊ณผ๋Š” encoder/decoder ๋ฅผ ๊นŠ๊ฒŒ ์Œ“๋Š”๊ฒƒ์œผ๋กœ๋Š” ์–ป์„ ์ˆ˜ ์—†๊ณ 

latent ๋ณ€์ˆ˜๋“ค์˜ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊ฟ”์•ผ์ง€๋งŒ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 

 

 

ํ•˜์ง€๋งŒ ์•„์ง ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ 

1. joint optimize ๋ฌธ์ œ 

- ์ตœ์ ํ™” ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. 

2. gradient ๊ฐ€ ๊นŠ์€ latent ๊นŒ์ง€ ์•ฝํ•˜๊ฒŒ ๋„๋‹ฌํ•œ๋‹ค. ( gradient vanshing ์ฒ˜๋Ÿผ.. ) 

3. conditionals ๊ฐ€ ๋„ˆ๋ฌด ๊ฐ•๋ ฅํ•˜๋ฉด ์œ„ ๋ ˆ๋ฒจ์ด ์ฃฝ๋Š”๋‹ค. (์กฐ๊ฑด ๋ถ„ํฌ๊ฐ€ ๋„ˆ๋ฌด expressive ํ•˜๋ฉด ๋‚ฎ์€ ๋ ˆ๋ฒจ์—์„œ ๋‹ค ํ•ด๊ฒฐํ•ด๋ฒ„๋ฆฌ๋‹ˆ๊นŒ ์œ„์— ๋ ˆ๋ฒจ์—์„œ ํ•  ๊ฒŒ ์—†๋‹ค. ) 

 

๊ทธ๋ž˜์„œ ์ด๋Ÿฐ HVAE ๊ฐ€ ์–ด๋–ป๊ฒŒ Diffusion ์œผ๋กœ ์ด์–ด์ง€๋Š”์ง€ ๋ง›๋ณด๊ธฐ๋กœ ์‚ดํŽด๋ณด์ž๋ฉด

1. HVAE ์˜ coarse -> fine ์•„์ด๋””์–ด๋Š” ์ฑ™์šฉ

2. ํ•˜์ง€๋งŒ posterior ๋„ ๊ฐ™์ด ํ•™์Šตํ•ด์•ผํ•ด์„œ ๋ถˆ์•ˆ์ •ํ•˜๋‹ค.

 

Diffusion ์€ 

1. enoding ์„ ๊ณ ์ •ํ•ด๋ฒ„๋ฆฐ๋‹ค -> encoding ์€ noise ๊ณผ์ •์œผ๋กœ ํ†ต์ผ

2. ํ•™์Šต์€ ์˜ค๋กœ์ง€ reverse generative ๊ณผ์ •๋งŒ ํ•œ๋‹ค. -> ( ๊ทธ๋ž˜์„œ posterior collapse ๋ฌธ์ œ์™€ ๊ฐ™์€ ํ•™์Šต ๋ถˆ์•ˆ์ •์„ฑ์—์„œ ๋งŽ์ด ์ž์œ ๋กญ๋‹ค )

3. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  progressive , multi-step (HAVE ์Šคํƒ€์ผ )์€ ์œ ์ง€๋ฅผ ํ•œ๋‹ค. 

 

 

๋‚ด์šฉ์ด ๋งค์šฐ ๊ธธ์–ด ์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๊ธ€์„ ํ•˜๋‚˜ ๋” ์ž‘์„ฑํ•ด์„œ ์ดํ›„์— DDPM ๋ถ€๋ถ„์„ ํ’€์–ด๋‚˜๊ฐ€๋ณผ๊นŒ ํ•œ๋‹ค. 

 

VAE ๋ฅผ ๊นŠ๊ฒŒ ๋ฐฐ์šฐ๊ณ  ๋‚˜์„œ๋Š” ์ „๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค ๋А๋‚Œ์œผ๋กœ latent ๋ฅผ ๋‹ค๋ฃจ๋Š”์ง€ ๊ฐ์„ ์ตํ˜”๊ณ  , HVAE ๋ฅผ ํ†ตํ•ด์„œ ์ด latent ๋ฅผ ์Œ“๋Š”๋‹ค๋Š”๊ฒŒ ์–ด๋–ค ์˜๋ฏธ์ธ์ง€ ๋งค์šฐ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. 

์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ DDPM ์„ ์ดํ•ดํ•ด๋ณด์ž. 

 

 

 

cf. vae ์— ๋Œ€ํ•œ ์œ ํŠœ๋ธŒ ์˜์ƒ 

https://www.youtube.com/watch?v=KYA-GEhObIs