Chapter 5: Reducing Noise with Autoencoders
Among the most interesting families of deep neural networks is the autoencoder family. As their name suggests, their sole purpose is to digest their input, and then reconstruct it back into its original shape. In other words, an autoencoder learns to copy its input to its output. Why? Because the side effect of this process is what we are after: not to produce a tag or classification, but to learn an efficient, high-quality representation of the images that have been passed to the autoencoder. The name of such a representation is encoding.
How do they achieve this? By training two networks in tandem: an encoder, which takes images and produces the encoding, and a decoder, which takes the encoding and tries to reconstruct the input from its information.
In this chapter, we will cover the basics, starting with a simple fully connected implementation of an autoencoder. Later, we'll create a more common and versatile convolutional...