Tutorial - What Is A Variational Autoencoder - Jaan Altosaar
Tutorial - What Is A Variational Autoencoder - Jaan Altosaar
– Jaan Altosaar
JAAN ALTOSAAR
ABOUT BLOG PROJECTS PAPERS TALKS
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 1/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
Tutorial - What is a
variational
autoencoder?
Understanding Variational Autoencoders
(VAEs) from two perspectives: deep
learning and graphical models.
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 2/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 3/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
THE ENCODER COMPRESSES DATA INTO A LATENT SPACE (Z). THE DECODER
RECONSTRUCTS THE DATA GIVEN THE HIDDEN REPRESENTATION.
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 6/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 7/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
p(x∣z)p(z)
p(z∣x) = .
p(x)
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 8/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
KL(qλ (z∣x)∣∣p(z∣x)) =
Eq [log qλ (z∣x)] − Eq [log p(x, z)] + log p(x)
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 9/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
ELBOi (λ) = Eqλ (z∣xi ) [log p(xi ∣z)] − KL(qλ (z∣xi )∣∣p(z)
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 10/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
ELBOi (θ, ϕ) = Eqθ (z∣xi ) [log pϕ (xi ∣z)] − KL(qθ (z∣xi )∣∣p
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 11/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
Experiments
Now we are ready to look at samples from the model. We
have two choices to measure progress: sampling from the
prior or the posterior. To give us a better idea of how to
interpret the learned latent space, we can visualize what
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 12/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
Glossary
We need to decide on the language used for discussing
variational autoencoders in a clear and concise way. Here
is a glossary of terms I’ve found confusing:
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 16/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
N
q(z) = ∏ q(zi ; λi )
i
Sample implementation
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 17/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
z = μ + σ ⊙ ϵ,
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 18/20
2/12/2018 Tutorial - What is a variational autoencoder? – Jaan Altosaar
BACK TO BLOG
https://jaan.io/what-is-variational-autoencoder-vae-tutorial/#mean-field 20/20