I am training deep learning models (i.e., CNNs, convolutional deep neural nets) on Fourier transformed images, i.e. the neural net receives as input a 2-channel (real and imaginary) tensor of shape e.g. batchsize x 2channels x 64 x 64
which is a DFT of an image.
The network struggles to learn even more to generalize and I wonder what would be the best/correct way to normalized the data? I tried to subtract to each example in the batch the mean (of the batch) and divide by the std
of the batch.
P.S.
Please, always give all the details, since it is never clear from what the mean
& std
are taken : the worse case is when people say: "substract mean
and divide by std
": mean
and std
of WHAT exactly? subtract it from each example individually? please avoid any ambiguity! (e.g. from the whole dataset, or the batch or an individual example?) and to what it is applied (again to each example I guess? but there are so many ways to do it that I think it deserves to be very explicitly stated).