Je lisais sur l' optimiseur Adam pour le Deep Learning et suis tombé sur la phrase suivante dans le nouveau livre Deep Learning de Bengio, Goodfellow et Courville:
Adam est généralement considéré comme assez robuste pour le choix des paramètres hyper, bien que le taux d'apprentissage doive parfois être modifié par rapport à la valeur par défaut suggérée.
si cela est vrai, c'est un gros problème car la recherche d'hyperparamètres peut être très importante (du moins d'après mon expérience) dans les performances statistiques d'un système d'apprentissage en profondeur. Ainsi, ma question est, pourquoi Adam est-il robuste à des paramètres aussi importants? Surtout et β 2 ?
J'ai lu l'article d'Adam et il ne fournit aucune explication pour expliquer pourquoi il fonctionne avec ces paramètres ou pourquoi il est robuste. Le justifient-ils ailleurs?
De plus, en lisant l'article, il semble que le nombre d'hyper paramètres qu'ils ont essayés était très petit, pour seulement 2 et pour β 2 seulement 3. Comment cela peut-il être une étude empirique approfondie si cela ne fonctionne que sur des hyper paramètres 2x3 ?
la source
Réponses:
En ce qui concerne les éléments de preuve relatifs à la réclamation, je crois que les seuls éléments de preuve à l'appui de la réclamation se trouvent sur la figure 4 de leur document . Ils montrent les résultats finaux sous une gamme de valeurs différentes pour , β 2 et α .β1 β2 α
Personnellement, je ne trouve pas leur argument convaincant, en particulier parce qu'ils ne présentent pas de résultats sur une variété de problèmes. Cela dit, je note que j'ai ADAM utilisé pour une variété de problèmes, et ma conclusion personnelle est que les valeurs par défaut de et β 2 ne semblent étonnamment fiables, même si une bonne partie de jongler avec α est nécessaire.β1 β2 α
la source
Cela contraste énormément avec la descente de gradient stochastique vanille d'origine, où:
Adam n'est pas le seul optimiseur avec des taux d'apprentissage adaptatifs. Comme le dit l'article d'Adam, il est fortement lié à Adagrad et Rmsprop, qui sont également extrêmement insensibles aux hyperparamètres. Surtout, Rmsprop fonctionne très bien.
Mais Adam est le meilleur en général. À quelques exceptions près, Adam fera ce que vous voulez :)
Il y a quelques cas assez pathologiques où Adam ne fonctionnera pas, en particulier pour certaines distributions très stationnaires. Dans ces cas, Rmsprop est une excellente option de veille. Mais de manière générale, pour la plupart des cas non pathologiques, Adam fonctionne extrêmement bien.
la source
En regardant les formules ADAM, il semble un peu déroutant qu'après un très grand nombre d'itérations par lots (disons ~ 400k) la magnitude du gradient basé sur l'erreur d'origine lui-même ne joue ~ aucun rôle réel dans l'étape prise qui semble aspirer à le paramètre de configuration du taux d'apprentissage dans le signe correspondant.
ADAM contrôle peut-être mieux l'adaptation du poids que le SGD simple lors des premières itérations / epocs, mais à l'avenir, la mise à jour semble être réduite à quelque chose de quelque peu naïf (?) Quelqu'un peut-il fournir une intuition sur la raison pour laquelle cela est réellement souhaité et / ou a tendance à bien fonctionner?
la source