Variational Autoencoder

A Variational Autoencoder (or VAE) is a type of autoencoder used to generate data. Like a regular autoencoder, it is made of two major components: an encoder, and a decoder. However, the encoder does not output a representation vector directly; instead, it outputs a mean and a standard deviation vectors, from which a representation is sampled, before being sent to the decoder. Furthermore, while in the autoencoder the loss function just enforces the decoded data to be similar to the input data, in the variational autoencoder the loss also adds a term that enforces the distribution of representation vectors to approximate the standard normal distribution. After training, new data can be generated by sampling from the representation space and feeding that sample through the decoder.
Related concepts:
Encoder, Decoder, AutoencoderKullback-Leibler Divergence
External reference:
https://arxiv.org/abs/1312.6114