Why do the training curve fall sharp suddenly?

4 views (last 30 days)
I am training a CNN classifier on a binary balanced dataset. The dataset has 4500 numbers of tweet data along with the class of the tweet. During training, I am applying, GLOVE embedding of 300 dimensions, 'adam' solver to run the model for 33 times of epochs. Besides, the sequence length I have considered is 31.
I have applied 200 filters which include a number of convolution2dlayers,batch normalization layers, relu layers, dropout layers and max-pooling layers. The drop out I have considered is 0.2 and the max pool layer is of size [1 sequence length].
The training curve is approaching smoothly until the end period where it has fallen sharply. Here, I have attached the training plot I receive:
Would you please explain to me why does this sudden fall occur? And how could I get rid of this?
Thanks,

Accepted Answer

Matt J
Matt J on 31 Aug 2019
The final validation metrics are labeled Final in the plots. If your network contains batch normalization layers, then the final validation metrics are often different from the validation metrics evaluated during training. This is because batch normalization layers in the final network perform different operations than during training.
  1 Comment
Saugata Bose
Saugata Bose on 31 Aug 2019
Matt hi. thanks for your response. Yes, removing batch normalization has solved the problem. But it does not mean that using batch normaliation will always create such anamaly. Because, I am using batch normalization layer in few of my works but I never did experence such thing. Does this anamaly by any chance relate to the dataset the model is working on or the hyperparameters of the model?
thanks,

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!