In this tutorial, you will learn how to implement and train autoencoders using Keras, TensorFlow, and Deep Learning. Author discusses what autoencoders are, including how convolutional autoencoders can be applied to image data. Also more about the difference between autoencoders and other generative models, such as Generative Adversarial Networks (GANs). By Adrian Rosebrock.

Typically, we think of an autoencoder having two components/subnetworks:

**Encoder**: Accepts the input data and compresses it into the latent-space. If we denote our input data as x and the encoder as E, then the output latent-space representation, s, would be s = E(x).**Decoder**: The decoder is responsible for accepting the latent-space representation s and then reconstructing the original input. If we denote the decoder function as D and the output of the detector as o, then we can represent the decoder as o = D(s).

You can thus think of an autoencoder as a network that reconstructs its input! To train an autoencoder, we input our data, attempt to reconstruct it, and then minimize the mean squared error (or similar loss function). Ideally, the output of the autoencoder will be near identical to the input.

To learn more follow the link to the article. Nice one!

[Read More]