I have one question that is related to variational autoencoders: can they be used as a denosing algorithm in the same way as standard denosing autoencoders?

I generally see people removing the encoder part of the VAE and use the rest as a generator of data, but I was wondering if I could still use the encoder-decoder combination (trained with noisy examples in input and clean in output) to generate a denosing algorithm.

One question that comes to my mind is if the stochasticity of the VAE would prevent me from building a good denoiser.


In this blog post Francois Chollet gives a nice introduction to autoencoders, that is illustrated with multiple examples. The basic difference between usual autoencoder and denoising autoencoder is that the latter is trained to encode noisy inputs and decode them to noise-free outputs, while the former encodes and decodes the same data. What follows, denoising autoencoder is explicitely learned to recognize and remove noise. It wouldn't surprise me if applying autoencoder trained on noise-free data would lead to some degree of denoising, since the autoencoder would be looking for the kind of patterns that it had seen during training and amplify them. The problem may be however that it wasn't trained to ignore the noise, so some amount of noise may pass to the outputs and likely it would be more noisy then when using denoising autoencoder. I guess that results may depend on the training data you used, model specification, and the kind of noise you are expecting to see.

| cite | improve this answer | |
  • $\begingroup$ What if I'm using a VAE with noisy inputs? $\endgroup$ – user1533286 Feb 7 '19 at 14:35
  • $\begingroup$ @user1533286 then when using relatively small latent dimensionality and/or regularization, the autoencoder should focus only on the "strong" patterns and ignore the noise (e.g. MINST digits vs subtle white noise) since it would be forced to use the sparse representation that would not have enough information capacity to store the noise. But again, this may depend on many factors, so you should try it and check yourself if the results are satisfactory. $\endgroup$ – Tim Feb 7 '19 at 14:40
  • $\begingroup$ So you'd say that the fact of being the decoder part of the VAE a generative model does not affect it's ability to denoise inputs? $\endgroup$ – user1533286 Feb 7 '19 at 14:47
  • $\begingroup$ @user1533286 I say that autoencoders, denoising or not, follow the same structure where encoder encodes the inputs to smaller dimension and decoder decodes them to higher dimension. If you make the architecture sparse, it would not have the capacity to pass much of the noise along. Decoder would probably try to re-create some of the noise, sure, but I'd expect that it will mostly amplify the valid signal. $\endgroup$ – Tim Feb 7 '19 at 14:50

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.