Verification noise (versus epoch) when using batch normalization

I am using the following model in Keras:

Input / conv1 / conv2 / maxpool / conv3 / conv4 / maxpool / conv5 / conv6 / maxpool / FC1 / FC2 / FC3 / softmax (2 nodes).

When I use Batch Normalization after each activation (Wx) and before ReLu nonlinearity (Wx), the loss and validation accuracy is noisy (Red = Training_set / Blue = validation_set):

Fig. 1- with BN.

If I remove the BN layers, then the validation loss is as smooth as the learning loss Fig2.

I tried the following (but didn't work):

1. Increase batch size from 64 to 256 2. Reduce learning rate 3. Add L2-reg and / or dropout of different amplitude 4. Train split / validation ratio: 20%, 30%. FYI, dataset are images of cats and images of dogs.

+3


source to share





All Articles