VAE

๋ถ„์•ผ
Generative Model
๋ฆฌ๋ทฐ ๋‚ ์งœ
2021/03/07
๋ณธ ํฌ์ŠคํŠธ๋Š” ์ œ๊ฐ€ ํœด๋จผ์Šค์ผ€์ดํ”„ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์— ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ์˜ฎ๊ธด ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
๋ณธ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ด์ „์— ํฌ์ŠคํŠธํ•œ ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ์ธย StackGAN์˜ Conditioning Augmentation Layer ์—์„œ conditioning vector ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •์˜ ๊ทผ์›์ด ๋˜๋Š” ๋…ผ๋ฌธ์— ๋Œ€ํ•ด์„œ ๋ฆฌ๋ทฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐํ•˜๋ ค๋Š” ๋…ผ๋ฌธ์˜ ์ œ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€œAuto-Encoding Variational Bayesโ€
๋…ผ๋ฌธ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ง์ ‘ ๋ณด์‹œ๊ณ  ์‹ถ์œผ์‹  ๋ถ„์€ย ์ด๊ณณ์„ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

Objective

๋…ผ๋ฌธ์˜ ๋ฐฐ๊ฒฝ์€ ์‚ฌ์ „ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑํ•œ ์‚ฌํ›„ ํ™•๋ฅ  ๋ถ„ํฌ๊ฐ€ intractable ํ–ˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ–ˆ๋˜ Monte Carlo Estimation ๋ฐฉ๋ฒ• ํšจ์œจ์ ์ด์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
์œ„์™€ ๊ฐ™์ด ์„ค๋ช…๋“œ๋ฆฌ๋ฉด ์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฌ์ง€โ€ฆ? ํ•˜์‹ค ๋ถ„๋“ค์ด ๊ฝค๋‚˜ ๋งŽ์œผ์‹ค ๊ฒƒ ๊ฐ™์•„์„œ ์šฐ์„  ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ•˜๊ธฐ ์ด์ „์— ์•„๋ž˜์—์„œ ํ•„์š”ํ•œ ๋ฐฐ๊ฒฝ ์ง€์‹๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Background

[์ฃผ์˜]ย ์ดํ•ดํ•ด์•ผ ํ•  ๋ฐฐ๊ฒฝ์ง€์‹์ดย ๋งŽ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์„œ์ˆ ํ–ˆ์œผ๋‚˜ ๋งˆ์Œ์˜ ์ค€๋น„๋ฅผ ํ•ด ์ฃผ์„ธ์š”.
๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด VAE ๋Š” Generative Model ์ž…๋‹ˆ๋‹ค. ์ด์ „์— ์ œ๊ฐ€ ์ผ๋˜ ํฌ์ŠคํŠธ ์ค‘์—๋„ย ๋น„์Šทํ•œ ์นœ๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ์นœ๊ตฌ์ธ GAN ์— ๋Œ€ํ•ด์„œ ์ฒ˜์Œ์ด์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์„ค๋ช…์„ ๋ถ™์ด์ž๋ฉด GAN์€ noise vector ๋กœ ๋ถ€ํ„ฐ ํŠน์ • ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด๋‚ด๋Š” model ์ž…๋‹ˆ๋‹ค. ๋ˆˆ์น˜์ฑ„์…จ๊ฒ ์ง€๋งŒ, VAE ๋„ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋‹ค๋ฅธ ์ ์€ input ์ด noise vector ๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค GAN ์ด ์œ ๋ช…ํ•ด์„œ ๊ทธ๋ ‡์ง€, VAE ๊ฐ€ GAN ๋ณด๋‹ค ์ด์ „์— ์„ธ์ƒ์— ๊ณต๊ฐœ๋œ Generative Model ์ž…๋‹ˆ๋‹ค.
ํ•œ ๋ฒˆ ๋” ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ด๊ฒ ์ง€๋งŒ, VAE ์—์„œ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ model parameters ๋“ค์ž…๋‹ˆ๋‹ค. ์ฆ‰, VAE ์—์„œ ๊ถ๊ทน์ ์œผ๋กœ ์›ํ•˜๋Š” ๊ฒƒ์€ ๋ชจ๋ธ์„ ํ†ตํ•ด์„œ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๊ฐ€ ํ•™์Šต์— ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ๊ฐ€์ง€๋Š” ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์žฅ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” model parameters ๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์œ„ ๋ฌธ์žฅ์„ ๊ณฑ์”น์–ด ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ์œ ์‚ฌ๋„๋ฅผ ํ™•๋ฅ ์ด๋ผ๊ณ  ๋ณด์•˜์„ ๋•Œ, ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ๋ฌด์–ธ๊ฐ€๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ์–ด๋”˜๊ฐ€ ์ต์ˆ™ํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
MLE(Maximum Likelihood Estimation)ย ๋กœ ์ž˜ ์•Œ๋ ค์ง„ ์ถ”๋ก  ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ์ƒํ™ฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ทธ ์ƒํ™ฉ์„ ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ๋กœ ์‚ฐ์ถœํ•˜๋Š” ํ›„๋ณด๊ตฐ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์œ ๋ช…ํ•œ ์˜ˆ์‹œ๋กœ ๋•…์— ๋–จ์–ด์ง„ ๋จธ๋ฆฌ์นด๋ฝ์„ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ, ์ด ๊ฒƒ์ด ๋‚จ์ž์˜ ๋จธ๋ฆฌ์นด๋ฝ์ธ์ง€ ์—ฌ์ž์˜ ๋จธ๋ฆฌ์นด๋ฝ์ธ์ง€๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MLE ๋Š” ๋จธ๋ฆฌ์นด๋ฝ์˜ ๊ธธ์ด ๋ณ„ ๊ทธ ๊ฒƒ์ด ๋‚จ์ž์˜ ๊ฒƒ์ผ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ํ†ตํ•ด ์ตœ์ข…์ ์œผ๋กœ ํ™•๋ฅ  0.5 ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ถ”๋ก ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ฌ๋ฆฌ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ, MLE ์—๋Š” ์น˜๋ช…์ ์ธ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” ์ถ”๋ก ์€ย ์‚ฌํ›„ ํ™•๋ฅ  ๋ถ„ํฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์œ„ ์˜ˆ์‹œ๋Š” ๊ทธ๋Ÿด์‹ธํ•˜์ง€๋งŒ, โ€œ๋จธ๋ฆฌ์นด๋ฝ์˜ ๊ธธ์ด ๋ณ„ ๊ทธ ๊ฒƒ์ด ๋‚จ์ž์˜ ๊ฒƒ์ผ ํ™•๋ฅ  ๋ถ„ํฌโ€ ๋Š” ๋ณดํ†ต์˜ ๊ฒฝ์šฐ์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด์ฃ . ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜ํƒ€๋‚œ ๋ฐฉ๋ฒ•์ด MAP ์ž…๋‹ˆ๋‹ค.
MAP(Maximum A Posteriori)ย ๋Š” Bayes Theorem ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„ ๋ฌธ์ œ๋ฅผ ํƒ€๊ฐœํ•œ ์ถ”๋ก ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
Prโก(AโˆฃB)=Prโก(BโˆฃA)Prโก(A)Prโก(B)\Pr(A|B)=\frac{\Pr(B|A)\Pr(A)}{\Pr(B)}
PR(A|B) ๋ฅผ ์ €ํฌ๊ฐ€ ๊ตฌํ•˜๊ณ  ์‹ถ์€ B: ๋จธ๋ฆฌ์นด๋ฝ์˜ ๊ธธ์ด๊ฐ€ X ์ผ ๋•Œ, A: ๊ทธ๊ฒƒ์ด ๋‚จ์ž์˜ ๊ฒƒ์ผ ํ™•๋ฅ ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด,์ด๋Š” PR(A): ์ „์ฒด ์‚ฌ๋žŒ๋“ค ์ค‘ ํŠน์ • ์‚ฌ๋žŒ์ด ๋‚จ์ž์ผ ํ™•๋ฅ ์— PR(B|A): ๋‚จ์ž๊ฐ€ X ๊ธธ์ด์˜ ๋จธ๋ฆฌ์นด๋ฝ์„ ๊ฐ€์งˆ ํ™•๋ฅ ์„ ๊ณฑํ•œ ๋’ค์— PR(B): ์ „์ฒด ๋จธ๋ฆฌ์นด๋ฝ๋“ค ์ค‘ ๊ธธ์ด๊ฐ€ X์ผ ํ™•๋ฅ ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ™•์‹คํžˆ, โ€œ์ „์ฒด ์‚ฌ๋žŒ๋“ค ์ค‘ ํŠน์ • ์‚ฌ๋žŒ์ด ๋‚จ์ž์ผ ํ™•๋ฅ โ€, โ€œ ๋‚จ์ž๊ฐ€ X ๊ธธ์ด์˜ ๋จธ๋ฆฌ์นด๋ฝ์„ ๊ฐ€์งˆ ํ™•๋ฅ โ€, โ€œ์ „์ฒด ๋จธ๋ฆฌ์นด๋ฝ๋“ค ์ค‘ ๊ธธ์ด๊ฐ€ X์ผ ํ™•๋ฅ โ€ ์€ ์•ž์„œ ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ๋˜ โ€œ๋จธ๋ฆฌ์นด๋ฝ์˜ ๊ธธ์ด๊ฐ€ X ์ผ ๋•Œ, ๊ทธ๊ฒƒ์ด ๋‚จ์ž์˜ ๊ฒƒ์ผ ํ™•๋ฅ " ๋ณด๋‹ค ๋ฏธ๋ฆฌ ์•Œ๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„๋ณด์ž…๋‹ˆ๋‹ค.
๋‹ค์‹œ VAE ๋กœ ๋Œ์•„๊ฐ€๋ด…์‹œ๋‹ค.
์ €ํฌ๋Š” โ€œ๋ชจ๋ธ์„ ํ†ตํ•ด์„œ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๊ฐ€ ํ•™์Šต์— ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ๊ฐ€์ง€๋Š” ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์žฅ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” model parameters ๋ฅผ ํ•™์Šตโ€ ์ด MLE ์˜ ์ถ”๋ก ๊ณผ ๋น„์Šทํ•˜๋‹ค๋Š” ์ ์„ ๋Š๊ผˆ๊ณ , ์ด MLE ์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด MAP ๋ฅผ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ง์ ‘์ ์œผ๋กœ ๋ง์”€๋“œ๋ฆฌ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Model parameters ์˜ ๋ณต์žกํ•œ โ€œ์กฐํ•ฉ๋ณ„๋กœ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๊ฐ€ ํ•™์Šต์— ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€๋“ค๊ณผ ๊ฐ€์ง€๋Š” ์œ ์‚ฌ๋„์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ถ„ํฌโ€๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— MLE ๊ฐ€ ์•„๋‹Œ MAP ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ, MAP ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ด๋„ ๋ฌธ์ œ์ ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
โˆซpฮธ(z)pฮธ(xโˆฃz)dz\int p_\theta(z)p_\theta(x|z)dz
์‚ฌ์ „ ํ™•๋ฅ  p_theta(x) ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์œ„์™€ ๊ฐ™์€ ์‹์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋ฌด์—‡์ธ์ง€๋„ ๋ชจ๋ฅผ ์กฐํ•ฉ๋“ค์„ ๊ฐ€์งˆ latent variables ๋“ค์„ ์ ๋ถ„ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์‚ฌ์ „ ํ™•๋ฅ  ๋ถ„ํฌ์กฐ์ฐจ ๊ณ„์‚ฐ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ ์„ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์˜ย Intractabilityย ๋กœ ์–ธ๊ธ‰ํ•˜์—ฌ ๋ฌธ์ œ์ ์ด๋ผ๊ณ  ์นญํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ Intractability ์— ๋งž์„œ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ๊ฐ€์žฅ naive ํ•œ ๋ฐฉ๋ฒ•์ดย Monte Carlo Estimationย ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Monte Carlo Estimation ์€ ์‹œํ–‰์˜ ๋ฐ˜๋ณต์„ ํ†ตํ•ด์„œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์–ป์–ด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์ „ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต ์‹œํ–‰์„ ํ†ตํ•ด latent variables ์— ๋”ฐ๋ผ ์ƒ์„ฑ๋˜๋Š” ์ด๋ฏธ์ง€ ํ™•๋ฅ  ๋ถ„ํฌ์— ๋Œ€ํ•œ ๊ธฐ๋Œ“๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, Monte Carlo Estimation ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ theta๊ฐ€ ๋‹ฌ๋ผ์ง„ batch ์†์—์„œ ๊ฐ๊ฐ sampling ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๊ณ  ํฐ ๋ฐ์ดํ„ฐ์…‹์—์„œ sampling ์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์€ย ํ•™์Šต ์†๋„๋ฅผ ๋Š๋ฆฌ๊ฒŒ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์‹œ์ ์—์„œ ๋‹ค์‹œย Objectiveย ์— ์ ํžŒ ๊ธ€๊ท€๋กœ ๋Œ์•„๊ฐ€๋ณด์„ธ์š”. ์–ด๋Š์ •๋„ ์ดํ•ด๊ฐ€ ๋˜์‹ค ๊ฒƒ์ด๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค.

Qualitative Objective

์•ž์„œ ์‚ฌ์ „ ํ™•๋ฅ  pฮธ(x)p_{\theta}(x) ๊ฐ€ intractable ํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—์„œ๋Š” MAP ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ณฐ๊ณฐํžˆ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.
์•„์ด๋Ÿฌ๋‹ˆํ•œ ๊ฒƒ์€ ์ €ํฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์…‹ ์ด๋ฏธ์ง€์™€ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ํ™•๋ฅ ์ด ๋†’์€ model paramters theta ๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฌ์ธ๊ฐ€ ํ•˜๋ฉด, ์‚ฌ์‹ค pฮธ(x)p_{\theta}(x) ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” theta ๋ฅผ ๊ตฌํ•˜๋ฉด ์ €ํฌ๋Š” ์›ํ•˜๋Š” ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์—ฅโ€ฆ? ๊ทธ๋Ÿฌ๋ฉด ์ง€๊ธˆ๊นŒ์ง€ MLE ๋ฉฐ, MAP ๋ฉฐ ํ•˜๋Š” ์นœ๊ตฌ๋“ค์€ ์™œ ์†Œ๊ฐœํ•œ๊ฑฐ์ง€?? ๋ผ๋Š” ์˜๋ฌธ์ด ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์ด๋ฏธ์ง€ X์— ๋Œ€ํ•ด X๋ฅผ ๊ฐ€์žฅ ์ž˜ ์ƒ์„ฑํ•ด๋‚ด๋Š” model paramters ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›๋ก ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉด ๋์„ ๊ฒƒ ๊ฐ™์€๋ฐ ๋ง์ž…๋‹ˆ๋‹ค.
๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” model paramters ์™€ ์ด๋ฏธ์ง€์™€์˜ ๊ด€๊ณ„๋ฅผ ์ง์ ‘์ ์œผ๋กœ ํ•™์Šตํ•˜๊ธฐ์— ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ทธ ์ค‘๊ฐ„ ๋‹จ๊ณ„์ธ latent variables z ๋ผ๋Š” ์นœ๊ตฌ๋ฅผ ๋“ค์—ฌ๊ฐ€๋ฉฐ ์ด๋ฏธ์ง€์˜ ํ•ต์‹ฌ ์š”์†Œ๋งŒ์„ ๊ตฌ์„ฑํ•˜๋Š” vector ๋ฅผ ๋‘์–ด ์ƒ๊ฐํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Latent variables ์™€ ์ด๋ฏธ์ง€ ๊ฐ„์€ ํ•™์Šตํ•˜๊ธฐ ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ฮธ\theta ๋ฅผ ๊ณ ์ •ํ•ด ๋‘” ๋’ค ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์žฅ ์ž˜ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Latent variables ๋ฅผ ๋ฝ‘์•„๋‚ด๊ณ  ์ด๋“ค์„ ๋˜ ฮธ\theta ์— ๋Œ€ํ•ด์„œ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ํ•˜๋Š” ์ฐพ์•„๋‚ด๋Š” ์‹œ๋„๋ฅผ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์„œ๋‘๊ฐ€ ๊ธธ์—ˆ๋Š”๋ฐ, ๊ฒฐ๊ตญ ์ €ํฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ pฮธ(x)p_{\theta}(x) ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” theta ์ด๊ณ , MAP ์— ๋Œ€ํ•œ ์ƒ๊ฐ์€ ์ง€๊ธˆ๋ถ€ํ„ฐ ๋ฒ„๋ฆฌ์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€ ๋ฐฐ๊ฒฝ ์„ค๋ช…์„ ์œ„ํ•ด ๋„์ž…ํ•œ ์นœ๊ตฌ์˜€์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ์„ค๋ช…๋“œ๋ฆด ๋‚ด์šฉ์ด ์ด ๋…ผ๋ฌธ์˜ ์ฃผ์š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

Variational Inference

์ „ํ†ต์ ์œผ๋กœ intractable ํ•œ p_theta(x) ๋ถ€๋ถ„์„ ๊ตฌํ•ด๋‚ด๊ธฐ ์œ„ํ•ดย Variational Inferenceย ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Variational Inference ๋ฅผ ํ•œ ๋งˆ๋””๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด ๊ตฌํ•˜๊ธฐ ์–ด๋ ค์šด ์‚ฌํ›„ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์ €ํฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ๋กœ ๊ทผ์‚ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ๋•Œ, ์•Œ๊ณ  ์žˆ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜๋“ค์— ์˜ํ•ด ๊ฒฐ์ •๋˜๊ณ , ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ์‚ฌํ›„ ํ™•๋ฅ  ๋ถ„ํฌ๋Š” ์–ด๋– ํ•œ ์‚ฌ์ „ ์‚ฌ๊ฑด์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„์„œ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ  ์žˆ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ g, ํƒ€๊ฒŸ ์‚ฌํ›„ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ f ๋ผ๊ณ  ํ•˜๋ฉด, g(X|phi) ์™€ f(X|theta) ๋“ฑ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ๋•Œ, Variational Inference ์—์„œ๋Š” ๋‘ ํ™•๋ฅ  ๋ถ„ํฌ์˜ ์ฐจ์ด๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ phi ๋ฅผ ์กฐ์ •ํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ํ™•๋ฅ  ๋ถ„ํฌ์˜ ์ฐจ์ด๋Š” KL Divergence(Kullback Leibler Divergence) ๋ฅผ ํ†ตํ•ด ๊ตฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
DKL(PโˆฃโˆฃQ)=โˆ‘xโˆˆXP(x)logโก(P(x)Q(x))D_{KL}(P||Q)=\sum_{x\in X}P(x)\log(\frac{P(x)}{Q(x)})
๋ˆˆ์น˜ ๋น ๋ฅด์‹  ๋ถ„๋“ค์€ P~Q ์ผ ๊ฒฝ์šฐ์— KL Divergence ๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค๋Š” ๊ฒƒ์„ ์•„์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ฑ์งˆ์„ ์ด์šฉํ•ด KL Divergence ๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ phi ๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ๊ทผ์‚ฌ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๊ตฌํ•ด๋‚ธ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉ์ ์„ฑ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ฯ•โˆ—=argโกminโกKL(g(Xโˆฃฯ•)โˆฃโˆฃf(Xโˆฃฮธ))\phi^*=\arg\min KL(g(X|\phi)||f(X|\theta))
Variational Inference ๋Š” statistical inference ๋ฌธ์ œ์˜€๋˜ย posterior estimation ์„ optimization ๋ฌธ์ œ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค๋Š” ๊ฒƒ์— ์˜์˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ phi ์— ๋Œ€ํ•œ update ์—ย ์ถ”๊ฐ€์ ์œผ๋กœ iteration์„ ์จ์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

VAE

VAE ์—์„œ๋Š” ์•ž์„  Variational Inference ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ œ์•ˆ์„ ํ•ฉ๋‹ˆ๋‹ค. Optimization ์œผ๋กœ ๋ณ€ํ˜•ํ•œ ๋ฌธ์ œ๋ฅผ iterative ํ•˜๊ฒŒ update ํ•˜์ง€ ์•Š๊ณ  ์•ž์„œ g ๋กœ ํ‘œ๊ธฐํ–ˆ๋˜ posterior q(z|x) ์™€ likelihood p(x|z) ๊ฐ€ ๊ฐ๊ฐ encoder ์™€ decoder ์ธย auto encoder ๋ฅผ ๋ชจ๋ธ๋งย ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฐ๊ฐ€ ํ•˜๋ฉดโ€ฆ input ์œผ๋กœ ๋“ค์–ด์˜จ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ latent variables ๋ฅผ ์ƒ์„ฑํ•˜๋Š” encoder ๋ถ€๋ถ„๊ณผ ์ƒ์„ฑํ•œ latent variables ๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” decoder ๋ถ€๋ถ„์„ ๋‚˜๋ˆ„์–ด์„œ ํ•œ ๋ฒˆ์˜ update ๋กœ posterior ์™€ likelihood ๋ฅผ ๋ชจ๋‘ update ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
โ€œ๊ทธ๋ž˜ ์ข‹์•„, ๊ธฐ์กด์— ์–ธ๊ธ‰ํ–ˆ๋˜ update ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€์ ์ธ iteration ์„ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐํ–ˆ๊ตฌ๋‚˜. ๊ทธ๋Ÿฐ๋ฐ ํ•™์Šต์„ ์œ„ํ•œ ๊ธฐ์ค€์€ ์–ด๋–ป๊ฒŒ ์„ธ์šฐ์ง€?โ€ ๋ผ๋Š” ์˜๋ฌธ์ด ๋“œ์‹ ๋‹ค๋ฉด ์ž˜ ์ดํ•ดํ•˜์‹œ๊ณ  ๊ณ„์‹  ๊ฒ๋‹ˆ๋‹ค. ์ด์ œ ๊ทธ ๊ธฐ์ค€์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Variational Bound

์•„๊นŒ ๋ง์”€๋“œ๋ ธ๋˜ ์ด์•ผ๊ธฐ๋ฅผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์–ธ๊ธ‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” p_theta(x) ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” theta ๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ๊ณ„์‚ฐ์˜ ํŽธ์˜์„ฑ์„ ์œ„ํ•ด log(p_thata(x))์— ๋Œ€ํ•ด์„œ ์ ‘๊ทผ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ Marginal (log) likelihood ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๊ฐ€ ํ•™์Šต์— ์‚ฌ์šฉํ•œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์ด x(1), x(2), โ€ฆ x(n) ์ด๋ผ ๊ฐ€์ •ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ์•„๋ž˜์™€ ๊ฐ™์ด theta ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋‚ผ ํ™•๋ฅ  p_theta ๋ฅผ ์˜๋ฏธํ•˜๋Š” term ์„ ์ƒ์„ฑํ•ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ KL Divergence ์— ๋Œ€ํ•œ ์ „๊ฐœ๋ฅผ ํ†ตํ•ด์„œ ์—ญ์œผ๋กœ log(p_theta(x)) ์— ๋Œ€ํ•œ lower bound ๋ฅผ ๊ตฌํ•ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” KL Divergence ๊ฐ€ 0 ์ด์ƒ์ด๋ผ๋Š” ์ฆ๋ช… ํ•˜์— ์ด๋ฃจ์–ด์ง„ ์ „๊ฐœ๊ณผ์ •์ž…๋‹ˆ๋‹ค.(์ฆ๋ช…์€ ์œ„ ์‚ฌ์ง„์˜ ์ตœ ํ•˜๋‹จ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ช… ์šฐ์ธก์— X>0 ์กฐ๊ฑด์ด ๋น ์กŒ๋„ค์š”..ใ… ) ์œ„ ์‚ฌ์ง„์˜ ์•„๋ž˜์—์„œ ์„ธ ๋ฒˆ์งธ ์ค„ ํ•ญ๋ชฉ์„ ELBO(Evidence of Lower BOund) ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
L(ฮธ,ฯ•;x(i))=โˆ’DKL(qฯ•(zโˆฃx(i))โˆฃโˆฃpฮธ(z))+Eqฯ•(zโˆฃx(i))[logโกpฮธ(x(i)โˆฃz)]L(\theta,\phi;x^{(i)})=-D_{KL}(q_\phi(z|x^{(i)})||p_\theta(z))+E_{q_\phi(z|x^{(i)})}[\log p_\theta(x^{(i)}|z)]
๊ทธ๋ฆฌ๊ณ  ์œ„ํ•ด์„œ ๊ตฌํ•ด๋‚ธ lower bound ๋ฅผ ๋ณ€ํ˜•ํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ์‹์œผ๋กœ ๋ณ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์œผ๋กœ ๋ณ€ํ˜•ํ•ด ๋‚ธ ๊ฒƒ์ด ์–ด๋–ค ์˜๋ฏธ๊ฐ€ ์žˆ์„๊นŒ ์‹ถ์ง€๋งŒ ์‹์—์„œ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์•„๋ž˜์—์„œ ์„ธ ๋ฒˆ์งธ ์ค„์˜ ์‹์˜ RHS ์˜ ๋‘ ๋ฒˆ์งธ ํ•ญ์€ Reconstruction Error ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Input image x(i) ๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ Latent variables ์˜ ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ ์–ผ๋งˆ๋งŒํผ์˜ ๋‹ค์‹œ input image x(i) ๋ฅผ decoder ๋กœ reconstruct ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” model parameters ๊ฐ€ ์ž˜ ์„ค์ •๋˜์–ด ์žˆ๋Š๋ƒ๋ฅผ ๋ณด๋Š” ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์•ž์˜ KL Divergence term ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์›๋ž˜ ์ฒ˜์Œ์— ์˜๋„ํ–ˆ๋˜ q_phi ๋ผ๋Š” inference ๋ฅผ ์œ„ํ•œ ํ™•๋ฅ ๋ถ„ํฌ๊ฐ€ p_theta ์™€ ๋น„์Šทํ•˜๊ฒŒ๋” ๋งŒ๋“œ๋Š” regularization ๋„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ข…ํ•ฉํ•˜์—ฌ ์œ„ lower bound ๋ฅผ maximize ํ•˜๋Š” ๊ฒƒ์ด ์ €ํฌ์˜ ์ตœ์ข… ๋ชฉํ‘œ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Reparametrization trick

์ตœ์ข…์ ์œผ๋กœ model parameter update ์— ๋Œ€ํ•œ ๊ธฐ์ค€์„ ์„ธ์› ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฌธ์ œ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์œ„์—์„œ ์–ป์–ด๋‚ธ ์ €ํฌ๊ฐ€ ์ง‘์ค‘ํ•ด์•ผ ํ•  lower bound function ์„ ๋ณด์‹œ๋ฉด ๊ธฐ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ q_phi ๋ถ„ํฌ์—์„œ sampling ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Forward propagation ์—์„œ ์ด๋Ÿฌํ•œ sampling ์€ ์‹œ๊ฐ„์„ ์˜ค๋ž˜ ํ•„์š”๋กœ ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ backward propagation ์—์„œ๋Š” ์•„์˜ˆ sampling ์ž์ฒด๊ฐ€ ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ์„ค๊ณ„ํ•œ๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•™์Šต์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ดย Reparametrization Trickย ์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๊ผผ์ˆ˜๋ฅผ ๋ถ€๋ฆฌ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด q_phi ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ณ€์ˆ˜๋ฅผ sampling ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, q_phi ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค๊ณผ p(epsilon) ์„ ๋”ฐ๋ฅด๋Š” ์ƒˆ๋กœ์šด vector epsilon ์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กญ๊ฒŒ ํ™•๋ฅ  ๋ณ€์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด์„œ ํ™•๋ฅ  ๋ณ€์ˆ˜์— ๋ฏธ๋ถ„ ๊ฐ€๋Šฅ์„ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด์„œ๋„, ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ๋ถ€ํ„ฐ sampling ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋กœ q_phi ๊ฐ€ gaussian ์ธ ๊ฒฝ์šฐ mean mu์™€ variance sigma ๋ฅผ ์ด์šฉํ•ด์„œ mu + sigma*epsilon ๊ณผ ๊ฐ™์ด ํ™•๋ฅ  ๋ณ€์ˆ˜๋ฅผ ์žฌ์ฐฝ์กฐํ•˜๋Š” ๊ณผ์ •์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ตœ์ข…์ ์œผ๋กœ๋Š” ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š” ๋ฐ”์™€ ๊ฐ™์ด Monte Carlo Expectation ์„ ํ†ตํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜ f(z) ๋ฅผ reparametrization ์„ ํ†ตํ•ด ๋ณ€ํ˜•ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ์กด ์‹์—๋‹ค๊ฐ€ ์ ์šฉํ•ด์„œ lower bound function ์„ ๋ณ€ํ˜•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์‹์˜ L^A, L^B ์˜ ๊ฒฝ์šฐ์—๋Š” lower bound ์‹์ด ์•ž์„œ์„œ ๋‘ ๊ฐœ๋ฅผ ๋ง์”€ ๋“œ๋ ธ๋Š”๋ฐ ๊ฐ๊ฐ์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋ฉฐ, ์ตœ์ข…์ ์œผ๋กœ๋Š” ์–ด๋Š ๊ฒƒ์„ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ minibatch ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ์—๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์ด์ฆˆ์™€ ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ lower bound ๋ฅผ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

Choosing Reparametrization Function

๋์œผ๋กœ ๋…ผ๋ฌธ์—์„œ๋Š” reparametrization function ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ž˜ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ํŒ์„ ์•Œ๋ ค์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์†Œ๊ฐœ ๋“œ๋ฆฌ์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
1.
Inverse CDF ๋กœ ์ •์˜ํ•œ ๋’ค, epsilon ์„ uniform(0,1) ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ sampling ํ•˜์—ฌ ๊ณ„์‚ฐํ•ด๋‚ธ๋‹ค.
2.
Gaussian ๊ณผ ์œ ์‚ฌํ•œ ๊ฒฝ์šฐ, location-scale ์„ ์„ค์ •ํ•˜์—ฌ location + scale*epsilon ์œผ๋กœ ์ •ํ•˜๊ณ , epsilon ์„ N(0,1) ์—์„œ sampling ํ•˜์—ฌ ๊ณ„์‚ฐํ•ด๋‚ธ๋‹ค.
3.
๋‹ค๋ฅธ ๋ณด์กฐ ๋ณ€์ˆ˜๋“ค์˜ ๋ณ€ํ™˜์œผ๋กœ ๊ณ„์‚ฐํ•ด๋‚ธ๋‹ค.
๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ฐธ๊ณ ๋งŒ ํ•˜์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Experiments

๋…ผ๋ฌธ์—์„œ ์ง„ํ–‰ํ•œ ์‹คํ—˜์œผ๋กœ ๋…ผ๋ฌธ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ํ•™์Šต๊ณผ ๊ธฐ์กด์˜ Wake-Sleep ๋‘ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์กŒ๋˜ ํ•™์Šต๊ณผ์˜ ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ latent space dimension์ด ๋ฐ”๋€œ๊ณผ ๊ด€๋ จ์—†์ด ์ „์ฒด์ ์œผ๋กœ marginal (log) likelihood ๊ฐ€ ๋…ผ๋ฌธ์—์„œ ๋ณด์—ฌ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ–ˆ์„ ๋•Œ ๋” ๋†’๊ฒŒ ๋‚˜ํƒ€๋‚จ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Monte Carlo Estimation ๊ณผ ํ•จ๊ป˜ training dataset size ์— ๋”ฐ๋ฅธ ๋น„๊ต๋„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. Monte Carlo Estimation ์˜ ๊ฒฝ์šฐ online algorithm ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋‹ˆ ํšจ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ณด์˜€๊ณ , Wake-Sleep ๊ณผ ๋…ผ๋ฌธ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์ด์—์„  ๋…ผ๋ฌธ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋†’์€ marginal (log) likelihood ๋ฅผ ๋ณด์˜€์Œ์„ ๋‚ด์„ธ์› ์Šต๋‹ˆ๋‹ค.

Conclusion

์ด๊ฒƒ์œผ๋กœ ๋…ผ๋ฌธโ€œAuto-Encoding Variational Bayesโ€์˜ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์˜ค๋žœ๋งŒ์— ์ด๋ก  ์œ„์ฃผ์˜ ๋…ผ๋ฌธ์„ ์ฝ์–ด์„œ ์‹ ์„ ํ–ˆ๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ๋ฐฐ๊ฒฝ์ง€์‹์ด ๋งŽ์ด ํ•„์š”ํ•ด์„œ ์ •์ž‘ ๋…ผ๋ฌธ์„ ๋“ค์—ฌ๋‹ค๋ณด๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ๋ฐฐ๊ฒฝ์ง€์‹์„ ๊ณต๋ถ€ํ•˜๋Š” ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๋” ๋งŽ์•˜๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ์ธ์ง€ ๋…ผ๋ฌธ์„ ์ฝ๊ณ  ์ „์ฒด์ ์ธ ํ†ต๊ณ„ํ•™์  ๋ฐฐ๊ฒฝ ์ง€์‹์— ์žˆ์–ด์„œ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ๋Š๋‚Œ์ด ๋งŽ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ์ธ์ ์œผ๋กœ๋Š” ์•Œ์•„์•ผ ํ•˜๋Š” ์ง€์‹์˜ ์‚ฐ๋”๋ฏธ์— ๋ฌปํžˆ๋Š” ๋Š๋‚Œ์ด ๋“ค์–ด ์ฝ๊ธฐ์— ์กฐ๊ธˆ ๋ถ€๋‹ด์ด ๋˜์—ˆ์ง€๋งŒ ์•Œ์•„๊ฐ€๋Š”๊ฒŒ ๋งŽ์•˜๋˜ ๋…ผ๋ฌธ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค . ์—ฌ๋Ÿฌ๋ถ„๋“ค๋„ ์ƒ์„ฑ ๋ชจ๋ธ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ทธ๋ฆฌ๊ณ  ์ œ๋Œ€๋กœ ๊ทธ ๋ฐœ์ „์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ผญ ํ•œ ๋ฒˆ ์ฝ์–ด๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.