What is «autoencoder»?

The quintessential example of a representation learning algorithm is the autoencoder.

An autoencoder is the combination of an encoder function that converts the input data into a different representation, and a decoder function that converts the new representation back into the original format.

Autoencoders are trained to preserve as much information as possible when an input is run
through the encoder and then the decoder, but are also trained to make the new representation have various nice properties.

Different kinds of autoencoders aim to achieve different kinds of properties.

Goodfellow, Bengio, Courville - «Deep Learning» (2016)