Quelle est la raison pour laquelle Adam Optimizer est considéré comme robuste à la valeur de ses paramètres hyper?

24

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 ?β1β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 ?β1β2

Charlie Parker
la source
1
Envoyez un e-mail aux auteurs du livre qui ont fait la réclamation. Demandez-leur sur quoi la demande est fondée.
Mark L. Stone
1
@ MarkL.Stone, il a seulement dit qu'il l'avait dit parce que le résumé l'avait dit. À peine un argument convaincant. Peut-être que la prochaine fois j'enverrai un e-mail aux auteurs du document.
Charlie Parker
7
Et donc l'auto-promotion devient réalité.
Mark L. Stone
@ MarkL.Stone pour sa défense, il aurait pu être trop occupé pour répondre correctement et je n'ai contacté que 1 des 3 auteurs. Je pourrais peut-être contacter les autres mais je ne sais pas s'ils répondront étant donné (au moins) que l'un est professeur. Avec le battage médiatique dans DL, je parie qu'il reçoit 300 e-mails par jour.
Charlie Parker
7
Maintenant que le livre est sorti, les auteurs d'Adam ont la confirmation de la qualité de leur algorithme. Ça me rappelle le tremblement de terre de 89 Bay Area. La station de radio de nouvelles a fait un rapport non confirmé de # de décès sur l'effondrement de la route - a déclaré qu'ils cherchaient la confirmation du bureau du gouverneur. Puis ils ont appelé le gouverneur et lui ont demandé s'il pouvait confirmer le nombre de morts. Il a dit que c'était ce qu'il avait entendu. La station de radio a ensuite signalé qu'ils avaient maintenant la confirmation du gouverneur. Il s'avère que le gouverneur voulait dire qu'il l'a entendu, comme il se trouve, sur cette station de radio. Donc, confirmation circulaire.
Mark L. Stone

Réponses:

7

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 α

Cliff AB
la source
5

β1β2 ne définissent pas directement le taux d'apprentissage, mais uniquement les échelles de temps sur lesquelles les taux d'apprentissage décroissent. S'ils se désintègrent très rapidement, alors les taux d'apprentissage augmenteront partout. S'ils se désintègrent lentement, il faudra des âges pour que les taux d'apprentissage soient appris. Mais notez que dans tous les cas, les taux d'apprentissage sont déterminés automatiquement, sur la base d'une estimation mobile du gradient par paramètre et du gradient carré par paramètre.

Cela contraste énormément avec la descente de gradient stochastique vanille d'origine, où:

  • les taux d'apprentissage ne sont pas par paramètre, mais il existe un taux d'apprentissage global unique, qui est appliqué sans ambiguïté, à tous les paramètres
    • (au fait, c'est une des raisons pour lesquelles les données sont souvent blanchies, normalisées, avant d'être envoyées dans des réseaux, pour essayer de garder les poids par paramètre idéaux similaires)
  • le taux d'apprentissage fourni est le taux d'apprentissage exact utilisé et ne s'adaptera pas au fil du temps

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.

Hugh Perkins
la source
1
Je ne comprends pas, pourquoi Adam est-il robuste aux valeurs de β1,β2. Il ne semble pas y avoir d'étude pour le confirmer. Semble les gens "sagesse" pour autant que je sache.
Charlie Parker
Oui, si vous voulez dire «y a-t-il une opportunité ici de chercher plus profondément pourquoi?», Eh bien ... peut-être.
Hugh Perkins
2
ce n'est pas une "question plus profonde". Cela semble être l'un des points les plus importants de l'article, non? Le fait est qu'il fait les choses par lui-même, mais il y a ces autres hyperparamètres qui semblent magiquement robustes. C'est le problème que j'ai. Cela me semble être lié au cœur du document, sauf si j'ai mal compris le point d'Adam.
Charlie Parker
"Il y a quelques cas assez pathologiques où Adam ne fonctionnera pas, en particulier pour certaines distributions très non stationnaires." <- des références ici?
mimoralea
0

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?

Danny Rosen
la source
Il semble que l'amplitude du gradient basé sur l'erreur ne joue pas un véritable rôle, même au départ. La question est de savoir pourquoi une telle normalisation fonctionne bien, et qu'est-ce que cela implique en ce qui concerne l'intuition GD guidant DL et d'autres modèles d'apprentissage courants?
Danny Rosen