Variational Autoencoders

A model that reconstructs known examples does not necessarily give us a good way to generate new ones. A variational autoencoder also shapes a distribution of compressed representations from which we can draw new codes.

10 sections · 8 questions · 4 coding challenges

1 / 10

Could We Choose a New Code and Obtain a Plausible Example?

BOTIE

An ordinary autoencoder can give each training example a code, but that does not tell us where to choose a new code for generation. Unused regions between familiar codes may decode poorly. We need a model of how the hidden codes themselves are distributed.

Kingma and Welling's 2013 work developed efficient learning and approximate inference for models with continuous latent variables. A key contribution was reparameterising a random draw so that gradient-based training could adjust the distribution's parameters.

The encoder describes a distribution of possible codes for an input. The decoder learns to reconstruct from samples, while the objective encourages those code distributions to remain compatible with a chosen prior. We can later draw from that prior and decode. Reconstruction quality and the distribution constraint compete, so the method learns an organised generative representation rather than simply assigning an unrelated address to each example.

Sources for this history