Image denoising is a simple example of an autoencoder, using MNIST dataset, inspired into Francois Chollet tutorial.
An image denoising is an algorithm that learns what is noise (in some noisy image) and how to remove it, based into the true signal / original (image without noisy). The results are images very close to the true ones.
Autoencoders are based on Neural Networks (NNs) and are known as Convolutional Neural Networks (CNNs or convnets). A convnet is a Deep Learning algorithm which takes an input image, assign importance (learnable weight, biases and retains spatial relationships in the data into each one of theirs layers) to various aspects/parts in the image and is able to differentiate/reconstruct the same.
The autoencoder compreehends an encoder and a decoder. The encoder does the encoding process, i.e., transforms the image into a compressed representation at the same time that starts the noisy reduction. Then, the compressed representation goes to decoder that performs the decoder process, restoring the image to its true and recognizable shape. At the end of the process, we remove almost all noise in the image.
Pull requests are welcome!