What Activation Function Should I use for my Output in my Autoencoder?

Hi folks!

I’m writing an autoencoder using Resnet as an encoder and then some convolutions and concatenations with skip connections for the decoder. The use of this is image denoising. Following this, I’m testing a novel idea of using Pytorch to do some parallelised frequency domain filtering. It works ok.

However, my second stage frequency-domain filter expects my tensor values to be scaled between 0 and 1. I tried using a sigmoid output layer, however I was given the impression that this is a bad idea. I’m now considering using softmax.

Has anyone with more knowledge have any ideas.

My network backpropagates through my second stage frequency domain/empirical filter so if my autoencoder spits out values greater than 1 it makes the network trend to zero. I should also note that it is important that I stay between 0 and 1 for the autencoder because I use a measurement of noise power on this scale for the second stage of my algorithm.

Thanks folks.