Latent Variable Models and Beyond: An Exploration of Variational Autoencoders
The notebook below is an introduction to variational autoencoders (VAEs) from a probabilistic perspective. Instead of traditional autoencoder approaches to variational autoencoders, here we will investigate VAEs through a generative modeling perspective with an emphasis on latent variable models (LVMs), variational inference (VI), and deep learning.Â
Figure 1: High dimensional rotating MNIST digit '3' and its underlying latent representation that describes the angle of the '3' that we are observing
Notebook: Variational Autoencoders, and Variational Inference
You can click on the notebook to view more information on my notes on VAEs and VI. Here are some key takeaways that I think are very important:
In a nutshell, VAEs combine deep learning and probabilistic modeling. By using the power of Variational Inference for optimization, and power neural networks for amortized inference, VAEs are a great choice for describing complex relationships between the latent variables and observed variables.
We are often interested in x <-- z where x is our observed variable and z is our latent (hidden) variable. Hence, we need to figure out this simple z that gave rise to our complex data x. But how do we get z? Due to the special architecture of VAEs, we can get this z through our encoder, which encodes our data x to the latent z through the usage of deep neural nets. Thus, allowing us to eventually compute p(x|z) in the decoder. You can check the notebook for more details and better illustrations.
Compared to other methods like MCMC, VAEs are also scalable to larger datasets due to their usage of neural nets.
VAEs create a continuous and interpretable latent space, which is useful for many applications such as drug discovery.
Some great resources on VAEs and VI:
Pyro has a great brief introduction to VAEs that contain visualizations for easier understanding.
An Introduction to Variational Autoencoders by Kingma and Welling provides a deep dive into their original paper Auto-Encoding Variational Bayes. It is much easier to get a grasp of this than the original paper, so if you are a beginner I suggest you read this before reading the Auto-Encoding Variational Bayes.
Auto-Encoding Variational Bayes by Kingma and Welling is the beginning of all of this, so definitely give it a read after getting familiar with the topic.
This is a helpful blog on VAEs that gives a thorough background on VAEs including the reparameterization trick, optimization, and other techniques.
If you have more questions on VAEs, VI, or deep learning, you can leave your comments/questions to this form!