Stacked autoencoder
Until now, we have restricted ourselves to autoencoders with only one hidden layer. We can build deep autoencoders by stacking many layers of both encoders and decoders; such an autoencoder is called a stacked autoencoder. The features extracted by one encoder are passed on to the next encoder as input. The stacked autoencoder can be trained as a whole network with the aim of minimizing the reconstruction error. Alternatively, each individual encoder/decoder network can first be pretrained using the unsupervised method you learned earlier, and then the complete network can be fine-tuned. When the deep autoencoder network is a convolutional network, we call it a convolutional autoencoder. Let us implement a convolutional autoencoder in TensorFlow next.
Convolutional autoencoder for removing noise from images
In the previous section, we reconstructed handwritten digits from noisy input images. We used a fully connected network as the encoder and decoder for...