Skip to main content
2 of 3
added 20 characters in body
Lerner Zhang
  • 6.9k
  • 2
  • 44
  • 81

The standard autoencoder can be illustrated using the following graph: enter image description here

As stated in the previous answers it can be viewed as just a nonlinear extension of PCA.

But compared to the variational autoencoder the vanilla autoencoder has the following drawback:

The fundamental problem with autoencoders, for generation, is that the latent space they convert their inputs to and where their encoded vectors lie, may not be continuous, or allow easy interpolation.

That's, the encoding part in the above graph can not deal with inputs that the encoder has never seen before because different classes are clustered bluntly and those unseen inputs are encoded be to something located somewhere in the blank:

enter image description here

To tackle this problem, the variational autoencoder was created by adding a layer containing a mean and a standard deviation for each hidden variable in the middle layer:

enter image description here

Then even for the same input the decoded output can vary, and the encoded and clustered inputs become smooth:

enter image description here

So to denoise or to classify(filter out dissimilar data) data, a standard autoencoder would be enough, while we'd better employ variational autoencoder for generation.

Reference:
Intuitively Understanding Variational Autoencoders

Lerner Zhang
  • 6.9k
  • 2
  • 44
  • 81