I'm starting to study deep learning (i.e., convolutional neural networks and [Stacked] denoising autoencoders). I'm really stuck in how my neural network should be for this case:

I have some medical images (around 25 images, 100x100, grayscale from 0 to 255, unfortunately I can't show them here) with noise (Gaussian, as I was told) and I need to re-generate the same images removing the noise. I thought I could do it just using a denoising autoencoder (adapting the code from this example), but it looks like it just "adapts" from the image training set. For example, if I train my autoencoder with images of heads and knees, it can't reconstruct a shoulder image. (Actually, even a head or knee image is reconstructed wrongly.) What exactly should I do? In this paper (pdf), I understand that if I train a DA to remove the noise of a given set of data, it would remove noise from any other image.

EDIT: I have already tried my auto encoder with sigmoid activation, with 10, 30, 50, 100, 500, 1000, 5000 and 10000 neurons in the hidden layer and a variety of training epochs (from 50 to 100000) and it's not even close to a accept result.

  • $\begingroup$ Please include whatever information is necessary to understand & answer your question. Few people will want to navigate elsewhere & read a bunch of material to answer your question for you. Moreover, we want this thread to continue to have value for future readers after those links have gone dead. Can you reframe this to stand alone? $\endgroup$ – gung - Reinstate Monica Jan 13 '16 at 16:40
  • $\begingroup$ @gung Thanks for editing, I was about to do it. And i'm sorry for my mistakes. I am including more information right now! $\endgroup$ – Claudio Jan 13 '16 at 16:45
  • $\begingroup$ No need to aplogize, @Claudio. We'd like to help, but we need the Q to fit w/i the SE model. $\endgroup$ – gung - Reinstate Monica Jan 13 '16 at 16:47
  • $\begingroup$ I think I have provided all information now $\endgroup$ – Claudio Jan 13 '16 at 16:55
  • $\begingroup$ I believe you should read more about auto-encoders. One important thing to note is that auto-encoders are not specifically trained to remove noise from their inputs. $\endgroup$ – Amir Jan 14 '16 at 15:50

Any type of autoencoder learns what kind of features are common in the training data, then uses those features for reconstruction. If you want to reconstruct your medical images you are going to have to train your AE on similar images, and LOTS of them if you want a good result. It is possible to reconstruct images of things that were outside the theme of your training data as long as both themes have common features. For example, training on images of human faces and then reconstructing dog faces, however the results shouldn't be nearly as good.


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.