Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to Variational AutoEncoder

Intro to Variational AutoEncoder

Presented at "The second Deep Learning summer school at University of Tehran": http://acm.ut.ac.ir/deeplearning/

Yasser Souri

August 02, 2018
Tweet

More Decks by Yasser Souri

Other Decks in Technology

Transcript

  1. Generative Models • Two key tasks • Sampling • Likelihood

    estimation • And of course you need to learn it from data !4
  2. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) Learning with Maximum Likelihood θmax = argmax θ log pθ (x) !10
  3. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) Learning with Maximum Likelihood θmax = argmax θ log pθ (x) θmax = argmax θ log ∫ pθ (x, z)dz !11
  4. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) Learning with Maximum Likelihood θmax = argmax θ log ∫ pθ (x, z)dz !12
  5. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) Posterior probability pθmax (z|x) = pθmax (x, z) ∫ pθmax (x, z)dz !13
  6. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) Variational distribution pθmax (z|x) = pθmax (x, z) ∫ pθmax (x, z)dz qϕ (z|x) !14
  7. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) qϕ (z|x) pθ (x|z) Decoder Encoder !15
  8. ELBO log pθ (x) = log ∫ pθ (x, z)dz

    = log ∫ pθ (x|z) p(z)dz !17
  9. ELBO log pθ (x) = log ∫ pθ (x, z)dz

    = log ∫ pθ (x|z) p(z)dz = log ∫ qϕ (z|x) qϕ (z|x) pθ (x|z) p(z)dz !18
  10. ELBO log pθ (x) = log ∫ pθ (x, z)dz

    = log ∫ pθ (x|z) p(z)dz = log ∫ qϕ (z|x) qϕ (z|x) pθ (x|z) p(z)dz ≥ ∫ qϕ (z|x) log pθ (x|z) p(z) qϕ (z|x) dz !19
  11. ELBO log pθ (x) ≥ ∫ qϕ (z|x) log pθ

    (x|z) p(z) qϕ (z|x) dz !20
  12. ELBO log pθ (x) ≥ ∫ qϕ (z|x) log pθ

    (x|z) p(z) qϕ (z|x) dz = z∼qϕ (z|x) [log pθ (x|z)] − KL[qϕ (z|x) ∥ p(z)] !21
  13. Latent Variable Models z x pθ (x, z) = pθ

    (x|z) p(z) qϕ (z|x) pθ (x|z) Decoder Encoder log pθ (x) ≥ z∼qϕ (z|x) [log pθ (x|z)] − KL[qϕ (z|x) ∥ p(z)] !22
  14. VAE p(z) = (0,I) pθ (x|z) = (x| f(z; θ),

    σ2 * I) qϕ (z|x) = (z|μ(x; ϕ), Σ(x; ϕ)) !26
  15. VAE z∼qϕ (z|x) [log pθ (x|z)] − KL[qϕ (z|x) ∥

    p(z)] log pθ (x|z) ∝ − ∥ f(z; θ) − x ∥2 2 KL[qϕ (z|x) ∥ p(z)] = 1 2 (tr(Σ(x; ϕ)) + (μ(x; ϕ)T μ(x; ϕ)) − k − log det(Σ(x; ϕ))) !27
  16. VAE Training x μ(x; ϕ) Σ(x; ϕ) qϕ (z|x) KL[qϕ

    (z|x) ∥ p(z)] z ∼ (μ(x; ϕ), Σ(x; ϕ)) pθ (x|z) f(z; θ) ∥ f(z; θ) − x ∥2 2 !28
  17. Reparameterization Trick x μ(x; ϕ) Σ(x; ϕ) qϕ (z|x) KL[qϕ

    (z|x) ∥ p(z)] ϵ ∼ (0, I) pθ (x|z) f(z; θ) ∥ f(z; θ) − x ∥2 2 * + !29
  18. Applications • Conditional Generation Walker, Jacob, et al. "An uncertain

    future: Forecasting from static images using variational autoencoders." European Conference on Computer Vision. Springer, Cham, 2016.
  19. VAE vs. GAN • VAE: Blurrier and smaller images •

    VAE + GAN is interesting • VAE gives you a framework to extend and design Eslami, SM Ali, et al. "Attend, infer, repeat: Fast scene understanding with generative models." Advances in Neural Information Processing Systems. 2016.
  20. Thank you for your attention Doersch, Carl. "Tutorial on variational

    autoencoders." arXiv preprint arXiv:1606.05908 (2016). Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).