I'm training a neural network and the training loss decreases, but the validation loss doesn't, or it decreases much less than what I would expect, based on references or experiments with very similar architectures and data. How can I fix this?

---

As for question

> https://stats.stackexchange.com/questions/352036/what-should-i-do-when-my-neural-network-doesnt-learn

to which this question is inspired, the question is intentionally left general so that other questions about how to reduce the generalization error of a neural network **down to a level which has been proved to be attainable**, can be closed as duplicates of this one.

See also dedicated thread on Meta:

> https://stats.meta.stackexchange.com/questions/5415/is-there-a-generic-question-to-which-we-can-redirect-questions-of-the-type-why?noredirect=1#comment16562_5415