An autoencoder is a neural network that is similar to a perceptron both in its overall structure and in its neuron behaviour. However, the output layer has the same number of neurons as the input layer and training involves trying to maximize the similarity of output layer values to the corresponding input layer values for each training data item. The autoencoder can then be used to normalise noisy input data by putting it through the autoencoder and replacing it with the obtained outputs.
A sparse autoencoder places constraints on the total amount of activation permitted at any given one time within the hidden neurons that link the input and output layers. This enables these neurons to learn the most salient features within the training data, which can be used for both feature discovery and dimensionality reduction. If the input is pictorial, the learned features can be visualised by stimulating each hidden neuron in turn and recovering the input from the input (or output) layer. A stacked autoencoder uses this facility to initialize or pre-train a multilayer neural network. Useful weights for each layer are determined using an autoencoder that maps the previous layer to itself and learns the salient features. A good visual explanation can be found here. See also the entry about restricted Boltzmann machines which perform a similar task.
- alias
- Autoassociator Diabolo network
- subtype
- Sparse autoencoder Stacked autoencoder
- has functional building block
- FBB_Classification FBB_Dimensionality reduction FBB_Feature discovery
- has input data type
- IDT_Binary vector
- has internal model
- INM_Neural network
- has output data type
- ODT_Binary vector
- has learning style
- LST_Unsupervised
- has parametricity
- PRM_Nonparametric with hyperparameter(s)
- has relevance
- REL_Relevant
- uses
- sometimes supports
- ALG_Perceptron
- mathematically similar to