I have read many papers that recommend using Variational Autoencoders over Autoencoders since they have a more probabilistic approach and the ability to use KL divergence on the latent dimension. But when trying to test both networks I find that the variability of the output in Variational Autoencoders is reducing the accuracy of the network and I am getting better results when using Autoencoders. I am still working on very simple data and training my network on normal images that do not have any augmentation or changing background.

  • Does the performance of Variational Autoencoders increase with harder data or is there any other reason to choose it over Autoencoders?
  • Or do Autoencoders perform better in anomaly detection?
  • $\begingroup$ Welcome to the site! since VAE is introduced after AE, it has definitely some advantages over AE if not always. It would be helpful if you provide some information about the task, size of training data, and dimension of data and networks for a better assessment. Also take a look at this architectural comparison, and this thought experiment. $\endgroup$ – Esmailian Apr 3 '19 at 16:31
  • $\begingroup$ Do you have 5 images in total, or 5 images of the anomaly class and NNNN in the non-anomaly case? $\endgroup$ – jonnor Apr 12 '19 at 20:07
  • $\begingroup$ Recommenced is to have at least 10 images for validation, and 10 images for test. Though you can do with 5/5 probably. $\endgroup$ – jonnor Apr 12 '19 at 20:07

Variational autoencoders encourage the model to generalize features and reconstruct images as an aggregation of those features. This is what the latent space encodes, a compressed feature vector.

Vanilla autoencoders memorize the input and map to the output without the generalization. If you want to extrapolate from your dataset, variational is the way to go.

  • $\begingroup$ I tried to find if the network learned features or the image itself by generating a lot of images and changing the latent dimension, i saw that different images are showing and sometimes 2 images are on top of each other but never an image with features from different images. So I concluded that the VAE network is learning the image it self and not features from the image, I took a look on the standard deviation and I found that most the values are negligible(0.00xxx) except 2 values that where larger than one out of 300. Am I by any chance over fitting the network? $\endgroup$ – Jack Farah Apr 4 '19 at 8:05
  • $\begingroup$ My work is based on Anomaly Detection for Skin Disease Images Using Variational Autoencoder but i have a very small data set (about 5 pictures) that I am replicating to have about 8000 inputs. I have a very specific case that I want to work on, am I doing it the wrong way? Should I try augmenting the images instead? $\endgroup$ – Jack Farah Apr 4 '19 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.