data normalization for deep learning cnn

21 views (last 30 days)
I am converting EEG signals into scalograms and inputing these pictures for trianing a cnn to discrimate distinct waverform patterns. It works great excpt for one problem. Detections will be made of correct patterns regardless of the amplitude of the original signal. That is because the data gets normalized across the pictures. In my analysis I only want to detect large signals not tiny signals. This is critical. I am new to this type of work so my question may seem naive, but is normalization required for the cnn to work? If not, how can it be turned off? Thanks for your thoughts.

Accepted Answer

Kumar Pallav
Kumar Pallav on 30 Aug 2021
From my understanding, normalization would normalize all data, and hence, both large and tiny signals get normalized. The output depends on the layers of CNN architecture (convolution filters, normalization layer, activation layers, pooling and so on) and the training options (learning rate, epochs, solvers etc). The output may detect tiny signals due to variety of reasons (less epochs, low or high learning rates). Normalization basically helps in training the data and increase the speed of learning (if you are not normalizing, both test and train data should be not normalized).
Please refer this link to create Simple Deep Learning Network for Classification.
Refer this to know more about CNN.
  1 Comment
Daniel barth
Daniel barth on 2 Sep 2021
Thanks Kumar,
That makes total sense. I suspect that problem then is that each figure was being ranged from 1-127 (to properly index the color). That would certainly have the effect of equalizing the small and large signals between different figures! Duh.
Again thanks for the answer.

Sign in to comment.

More Answers (0)


Find more on Machine Learning and Deep Learning for Signals in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!