What is the difference between an autoencoder and an encoder-decoder?



I want to know if there is a difference between an autoencoder and an encoder-decoder.


Posted 2019-06-18T00:23:56.140

Reputation: 524



Autoencoders exhibit encoder-decoder structure:

Autoencoders are used in supervised as well as unsupervised learning tasks. They can consist of convolution, dense or even recurrent layers. As the name suggests, they tend to encode their inputs in smaller dimensional space.

They are primarily used for dimensionality reduction and other tasks like image generation, segmentation, neural implanting etc.

Autoencoders have an encoder-decoder structure for learning.

In an encoder-decoder structure of learning, the encoder transforms the input to a latent space vector ( also called as thought vector in NMT ). The decoder takes in these encodings to produce outputs.

A RNN seq2seq model is an encoder-decoder structure but it works differently than an autoencoder.

Hence, autoencoders is term used primarily to address sequential models which generally perform tasks like dimensionality reduction. They have a sequential encoder-decoder structure. Sequential here refers to end-to-end models.

Shubham Panchal

Posted 2019-06-18T00:23:56.140

Reputation: 1 792

Thank you , your answer was so helpful for me, thanks – Kahina – 2019-06-18T17:34:32.307


According to section 2.3 of this paper:

Auto-encoders are special cases of encoder-decoder models in which the input and output are the same.

The same section of the paper describes encoder-decoder as follows:

Encoder-Decoder models are a family of models which learn to map data-points from an input domain to an output domain via a two-stage network: The encoder, represented by an encoding function z = f(x), compresses the input into a latent-space representation; the decoder, y = g(z), aims to predict the output from the latent space representation.


Posted 2019-06-18T00:23:56.140

Reputation: 61