1
$\begingroup$

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?
$\endgroup$
3
  • $\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, 2019 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$
    – Jon Nordby
    Apr 12, 2019 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$
    – Jon Nordby
    Apr 12, 2019 at 20:07

1 Answer 1

4
$\begingroup$

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.

$\endgroup$
2
  • $\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, 2019 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, 2019 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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