Autoencoder neural network is an unsupervised learning algorithm that applies backpropagation, setting the target values to be equal to the inputs. Autoencoder tries to learn a function. In other words, it is trying to learn an approximation to the identity function. The aim of an autoencoder is to learn a representation for a set of data, typically for the purpose of dimensionality reduction. Autoencoders play a fundamental role in unsupervised learning, particularly in deep architectures.