La perte d'entraînement augmente avec le temps [doublon]


21

Je forme un modèle (Recurrent Neural Network) pour classer 4 types de séquences. Au fur et à mesure que j'exécute mon entraînement, je vois la perte d'entraînement diminuer jusqu'à ce que je classe correctement plus de 90% des échantillons dans mes lots d'entraînement. Cependant, quelques époques plus tard, je remarque que la perte d'entraînement augmente et que ma précision diminue. Cela me semble bizarre car je m'attendrais à ce que sur l'ensemble d'entraînement, les performances s'améliorent avec le temps et ne se détériorent pas. J'utilise la perte d'entropie croisée et mon taux d'apprentissage est de 0,0002.

Mise à jour: Il s'est avéré que le taux d'apprentissage était trop élevé. Avec un taux d'apprentissage suffisamment bas, je n'observe pas ce comportement. Cependant, je trouve toujours cela particulier. Toute bonne explication est la bienvenue pour expliquer pourquoi cela se produit

La perte diminue puis augmente

Réponses:


6

J'ai eu un comportement similaire lors de l'entraînement d'un CNN, c'est parce que j'ai utilisé la descente de gradient avec un taux d'apprentissage en décroissance pour le calcul de l'erreur. Avez-vous considérablement augmenté le nombre d'itérations et vérifié si ce comportement survient beaucoup plus tard avec le nouveau faible taux d'apprentissage?


En fait, oui, mais il arrive un point pour un taux d'apprentissage suffisamment bas où il ne montera plus jamais. Je cherche une explication théoriquement valable pour expliquer pourquoi cela se produit
dins2018

Quel algorithme d'optimisation utilisez-vous?
Freundlicher

J'utilise l'optimiseur Adam avec lr = 0,00001, betas = (0,5, 0,999)
dins2018

1
Je pense que vous êtes approximatif avec ce petit taux d'apprentissage si lentement au minimum local que le point où la valeur de perte augmente à nouveau légèrement (parce que vous dépassez le minimum) nécessite trop d'itérations. Cette augmentation de la valeur de perte est due à Adam, au moment où le minimum local est dépassé et un certain nombre d'itérations, un petit nombre est divisé par un nombre encore plus petit et la valeur de perte explose.
Freundlicher

2
Vous pouvez définir beta1 = 0,9 et beta2 = 0,999. Ce sont les valeurs communes qui doivent aller à l'encontre de ce comportement.
Freundlicher

1

Parce que le taux d'apprentissage est trop grand, il divergera et ne trouvera pas le minimum de la fonction de perte. L'utilisation d'un ordonnanceur pour diminuer le taux d'apprentissage après certaines époques aidera à résoudre le problème


0

Avec des taux d'apprentissage plus élevés, vous vous déplacez trop dans la direction opposée au gradient et vous pouvez vous éloigner des minima locaux, ce qui peut augmenter la perte. La planification du rythme d'apprentissage et l'écrêtage du gradient peuvent vous aider.


Bienvenue sur CV. Pour obtenir un vote positif, il est préférable de fournir une réponse plus complète, voir stats.stackexchange.com/help/how-to-answer pour des conseils.
ReneBt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.