data normalization in transfer learning

8 views (last 30 days)
how to do data normalization ( Hyperparameters , Normalization: 'none' is the default) in the input layer for transfer learning.
For custom network, I can add "Normalization", zeros , or any other " but how and where to add this in transfer learning?

Accepted Answer

Pratyush Roy
Pratyush Roy on 17 Jan 2022
Hi,
A lot of the input layers for pretrained networks (e.g. say ResNet-50) have the normalization parameters stored in the imageInputLayer properties. For example, for ResNet-50, the Mean is stored from the time it was trained on the ImageNet dataset, while properties like Standard Deviation, Min and Max are obtained from the training images on which we are performing the Transfer learning. This documentation captures more information on this topic.
In case we want to add normalization of input data to an existing deep learning model for transfer learning, we can replace the original image input layer from the model with a new image input layer. This will enable the normalization properties and we can change them accordingly.
We can open the network in Deep Network Designer:
deepNetworkDesigner(transferLearningModel);
Then we can delete the image input layer from the network and replace this with the image Input layer from the Layer Library.
Hope this helps!
  3 Comments
Pratyush Roy
Pratyush Roy on 17 Jan 2022
Hi,
You can freeze the weights of the network so that it does not update the parameters of the layers for which we want to preserve the weights. Please refer to this doc link for more information.
new_user
new_user on 17 Jan 2022
zerocenter, rescale-zero-one: which can give better results when used in nomalization method in input layer

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!