Est-il bon au taux d'apprentissage pour Adam méthode?
Je suis une formation de ma méthode. J'ai obtenu le résultat comme ci-dessous. Est-il un bon apprentissage de taux? Si non, est-elle forte ou faible?
C'est mon résultat
lr_policy: "step"
gamma: 0.1
stepsize: 10000
power: 0.75
# lr for unnormalized softmax
base_lr: 0.001
# high momentum
momentum: 0.99
# no gradient accumulation
iter_size: 1
max_iter: 100000
weight_decay: 0.0005
snapshot: 4000
snapshot_prefix: "snapshot/train"
type:"Adam"
C'est la référence
Avec un faible taux d'apprentissage les améliorations seront linéaire. Avec de hauts taux d'apprentissage, ils commencent à regarder de plus exponentielle. L'enseignement supérieur taux de décroissance de la perte plus rapide, mais ils restent coincés au pire des valeurs de perte
Theres très peu de contexte ici, mais il semble bien. Vous pouvez essayer d'augmenter le taux d'apprentissage (pour gagner du temps de formation) jusqu'à ce que vous voyez, il n'est plus converge. Qu'est-ce que le jeu de la formation de la précision, à la fin?
Dans le réglage ci-dessus, le dernier taux d'erreur à 50000 itérations est de 0,05. Je suis augmentation de la base_lr à 0,002, au lieu de 0,001 à voir l'amélioration
Adam a un à l'intérieur de LR, la modification du externe LR sur les étapes ne peut faire sens.
Dans le réglage ci-dessus, le dernier taux d'erreur à 50000 itérations est de 0,05. Je suis augmentation de la base_lr à 0,002, au lieu de 0,001 à voir l'amélioration
Adam a un à l'intérieur de LR, la modification du externe LR sur les étapes ne peut faire sens.
OriginalL'auteur John | 2017-03-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez commencer avec un supérieur au taux d'apprentissage (disons 0.1) pour sortir des minima locaux, puis de la réduire à une valeur très faible de laisser décanter les choses. Pour ce faire, modifier la taille de pas dire 100 itérations pour réduire la taille de l'apprentissage des taux de 100 itérations. Ces chiffres sont vraiment unique à votre problème et dépendent de plusieurs facteurs comme vos données à l'échelle.
Aussi garder à l'esprit la validation de la perte de comportement sur le graphique pour voir si vous êtes le surajustement les données.
Même dans l'Adam, la méthode d'optimisation, le taux d'apprentissage est un hyper-paramètre et doit être à l'écoute, l'apprentissage des taux de décroissance fonctionne généralement mieux que de ne pas le faire.
Adam parfois m'a donné "U" en forme de perte de la courbe avec la valeur par défaut lr=0.001, tandis que de faibles lr n'a pas: gist.github.com/Naetmul/218a6f9e4f1523d24bea5ac02c1b450d
OriginalL'auteur Juan Camilo Zapata
L'apprentissage des taux semble un peu élevé. La courbe diminue trop vite à mon goût et s'estompe très vite. Je voudrais essayer de 0,0005 ou 0.0001 comme base de l'apprentissage de taux si je voulais obtenir des performances supplémentaires. Vous pouvez aport après plusieurs époques de toute façon si vous voyez que cela ne fonctionne pas.
La question que vous devez vous demander si c'est combien de performance avez-vous besoin et comment vous êtes proche d'atteindre les performances requises. Je veux dire que vous êtes probablement à la formation d'un réseau de neurones pour un but précis. Souvent, vous pouvez obtenir plus de performances du réseau en augmentant sa capacité, au lieu de perfectionner le taux d'apprentissage qui est assez bon si pas parfait, de toute façon.
OriginalL'auteur Thomas Pinetz
Je voudrais être plus précis dans certains états de Juan. Mais mon reputaton n'est pas assez donc je poste ça comme une réponse à la place.
Vous ne devriez pas avoir peur des minimums locaux. Dans la pratique, dans la mesure de ma compréhension, nous pouvons les classer en tant que "bonne des minimums locaux" et les "mauvaises des minimums locaux'. La raison pour laquelle nous voulons supérieur au taux d'apprentissage, comme Juan l'a dit, c'est que nous voulons trouver un meilleur "bon minimum local'. Si vous définissez votre formation initiale, le taux trop élevé, qui sera mauvais parce que votre modèle sera probablement tomber dans le "mauvais minimum local" pour les régions. Et si cela arrive, la " décomposition d'apprentissage taux de pratique ne peut pas vous aider.
Alors, comment pouvons-nous nous assurer que votre poids va tomber dans la bonne région? La réponse est que nous ne pouvons pas, mais nous pouvons augmenter sa possibilité en choisissant une bonne série de poids initiaux. Une fois de plus, une trop grande formation initiale, le taux de fera de votre initialisation de sens.
Deuxièmement, il est toujours bon de comprendre votre optimizer. Prenez le temps d'examiner à sa mise en œuvre, vous trouverez quelque chose d'intéressant. Par exemple, l'apprentissage des taux d'' n'est pas réellement l'apprentissage des taux".
En résumé: 1/Inutile de dire,un petit apprentissage de taux n'est pas bon, mais un trop grand au taux d'apprentissage est certainement mauvais. 2/le Poids de l'initialisation est ta première hypothèse, elle N'affecte pas votre résultat 3/Prendre le temps de comprendre votre code peut être une bonne pratique.
OriginalL'auteur Taro NGUYEN