Variational Autoencoders (VAE) are a mix of the best of both worlds of the neural networks and the Bayesian inference. They are the coolest neural networks and have emerged as one of the popular approaches to unsupervised learning. They are Autoencoders with a twist. Along with the conventional Encoder and the Decoder network of the Autoencoders (see Chapter 8, Autoencoders), they have additional stochastic layers. The stochastic layer, after the Encoder network, samples the data using a Gaussian distribution, and the one after the Decoder network samples the data using Bernoulli's distribution. Like GANs, Variational Autoencoders can be used to generate images and figures based on the distribution they have been trained on. VAEs allow one to set complex priors in the latent and thus learn powerful latent representations.
The following...