Main Content

Autoencoder Class

Superclasses:

Autoencoder class

Description

An Autoencoder object contains an autoencoder network, which consists of an encoder and a decoder. The encoder maps the input to a hidden representation. The decoder attempts to map this representation back to the original input.

Construction

autoenc = trainAutoencoder(X) returns an autoencoder trained using the training data in X.

autoenc = trainAutoencoder(X,hiddenSize) returns an autoencoder with the hidden representation size of hiddenSize.

autoenc = trainAutoencoder(___,Name,Value) returns an autoencoder for any of the above input arguments with additional options specified by one or more name-value pair arguments.

Input Arguments

expand all

Training data, specified as a matrix of training samples or a cell array of image data. If X is a matrix, then each column contains a single sample. If X is a cell array of image data, then the data in each cell must have the same number of dimensions. The image data can be pixel intensity data for gray images, in which case, each cell contains an m-by-n matrix. Alternatively, the image data can be RGB data, in which case, each cell contains an m-by-n-3 matrix.

Data Types: single | double | cell

Size of hidden representation of the autoencoder, specified as a positive integer value. This number is the number of neurons in the hidden layer.

Data Types: single | double

Properties

expand all

Size of the hidden representation in the hidden layer of the autoencoder, stored as a positive integer value.

Data Types: double

Name of the transfer function for the encoder, stored as a string.

Data Types: char

Weights for the encoder, stored as a matrix.

Data Types: double

Bias values for the encoder, stored as a vector.

Data Types: double

Name of the transfer function for the decoder, stored as a string.

Data Types: char

Weights for the decoder, stored as a matrix.

Data Types: double

Bias values for the decoder, stored as a vector.

Data Types: double

Parameters that trainAutoencoder uses for training the autoencoder, stored as a structure.

Data Types: struct

Indicator for data that is rescaled while passing to the autoencoder, stored as either true or false.

Autoencoders attempt to replicate their input at their output. For it to be possible, the range of the input data must match the range of the transfer function for the decoder. trainAutoencoder automatically scales the training data to this range when training an autoencoder. If the data was scaled while training an autoencoder, the predict, encode, and decode methods also scale the data.

Data Types: logical

Methods

decodeDecode encoded data
encodeEncode input data
generateFunctionGenerate a MATLAB function to run the autoencoder
generateSimulinkGenerate a Simulink model for the autoencoder
networkConvert Autoencoder object into network object
plotWeightsPlot a visualization of the weights for the encoder of an autoencoder
predictReconstruct the inputs using trained autoencoder
stackStack encoders from several autoencoders together
viewView autoencoder

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects.

Version History

Introduced in R2015b