Chapter 13. Autoencoder with TensorFlow and Keras
Autoencoder is a neural network architecture that is often associated with unsupervised learning, dimensionality reduction, and data compression. Autoencoders learn to produce the same output as given to the input layer by using lesser number of neurons in the hidden layers. This allows hidden layers to learn the features of input with lesser number of parameters. This process of using lesser number of neurons to learn the features of the input data, in turn, reduces the dimensionality of the input dataset.
An autoencoder architecture has two stages: encoder and decoder. In the encoder stage, the model learns to represent the input to a compressed vector with lesser dimensions, and in the decoder stage, the model learns to represent the compressed vector to an output vector. The loss is calculated as entropy distance between the output and input, thus by minimizing the loss, we learn parameters that encode the input into a representation that...