Module 2_ICP 6: Autoencoders - acikgozmehmet/PythonDeepLearning GitHub Wiki

Module 2_ICP 6: Autoencoders

Objectives:

We are going to discuss types and applications of Autoencoder.

An autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner. The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for dimensionality reduction, by training the network to ignore signal “noise”. Along with the reduction side, a reconstructing side is learnt, where the autoencoder tries to generate from the reduced encoding a representation as close as possible to its original input, hence its name. Several variants exist to the basic model, with the aim of forcing the learned representations of the input to assume useful properties. Examples are the regularized autoencoders (Sparse, Denoising and Contractive autoencoders), proven effective in learning representations for subsequent classification tasks, and Variational autoencoders, with their recent applications as generative models. Autoencoders are effectively used for solving many applied problems, from face recognition[5] to acquiring the semantic meaning of words.

In Class Programming

1. Add one more hidden layer to autoencoder

Click here to get the source code

2. Do the prediction on the test data and then visualize one of the reconstructed version of that test data. Also, visualize the same test data before reconstruction using Matplotlib

Bonus

Plot loss and accuracy using the history object

3.Repeat the question 2 on the denoisening autoencoder

Click here to get the source code

Bonus

Plot loss and accuracy using the history object

4. Plot loss and accuracy using the history object

This question is done separately for Question 2 and Question 3. Please check out them for details.

Bonus question : Visualize the compressed version of the input data in the middle layer

This is already done in Question 2 and 3.

References