An autoencoder (AE) is a neural network that aims to match its inputs to its outputs. It is an unsupervised artificial neural network that learns how to efficiently compress and encode data, and then reconstruct the data back from the reduced encoded representation to a representation that is as close to the original input as possible.
Hence, autoencoders learn the most salient features of training data, which allows them to extract useful information about the distribution of the data.
Dimensionality reduction: Autoencoders reduce data dimensions by learning how to ignore data noise.
Data denoising: With appropriate dimensionality and sparsity constraints, autoencoders can learn data projections that are more interesting than PCA or other basic techniques.