Skip to content
Advertisement

validation accuracy not improving

No matter how many epochs I use or change learning rate, my validation accuracy only remains in 50’s. Im using 1 dropout layer right now and if I use 2 dropout layers, my max train accuracy is 40% with 59% validation accuracy. And currently with 1 dropout layer, here’s my results:

JavaScript

Again max, it can reach is 59%. Here’s the graph obtained:

enter image description here

No matter how much changes I make, the validation accuracy reaches max 59%. Here’s my code:

JavaScript

Im very confused why only my training accuracy is updating, not the validation accuracy.

Here’s the model summary:

JavaScript

Advertisement

Answer

The size of the training dataset is less than 3K. While the amount of the trainable parameters is around 3 million. The answer to your question is classical overfitting – the model is so huge, that just remember the training subset instead of a generalization.

How to improve the current situation:

  • try to generate or find more data;
  • reduce the complexity of the model:
    • use pre-trained embedding (glove, fasttext, etc.)
    • reduce the number of the LSTM nodes;
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement