/  Deep Learning Interview questions and answers   /  Explain about Auto Encoder? Details about Encoder, Decoder and Bottleneck?
Auto Encoder (i2tutorials)

Explain about Auto Encoder? Details about Encoder, Decoder and Bottleneck?

Ans: An autoencoder is a neural network that has three layers an input layer, a hidden layer or encoding layer, and a decoding layer.

Auto Encoders are type of basic Machine Learning Model in which output is same as the input. It belongs to the family of Neural Network where it works by compressing the input into the Latent space representation and reconstructs or extracts the output from this Latent space representation.

An autoencoder neural network is an Unsupervised Machine learning algorithm that applies backpropagation, setting the target values to be equal to the inputs. Autoencoders are used to reduce the size of our inputs into a smaller representation. If anyone needs the original data, they can reconstruct it from the compressed data.

An Autoencoder consist of three layers:

Encoder: This part of the network compresses the input into a latent space representation. The encoder layer encodes the input image as a compressed representation in a reduced dimension. The compressed image is the distorted version of the original image.

Code: 

This part of the network represents the compressed input which is fed to the decoder.

Decoder: This layer decodes the encoded image back to the original dimension. The decoded image is a lossy reconstruction of the original image and it is reconstructed from the latent space representation.

Properties of Autoencoders:

Data-specific:

Autoencoders are only able to compress data similar to what they have been trained on.

Lossy: 

The decompressed outputs will be degraded compared to the original inputs.

Learned automatically from examples: It is easy to train specialized instances of the algorithm that will perform well on a specific type of input.

Bottleneck:

The layer between the encoder and decoder, i.e., the code is also known as Bottleneck. This is a well-designed method to decide which aspects of observed data contains relevant information and what aspects can be rejected. It does this by balancing two criteria:

Compactness of representation, measured as the compressibility.

It retains some behaviorally relevant variables from the input.

Leave a comment