Pourquoi l'algorithme de descente «Saddle-Free Newton» n'est-il pas utilisé en pratique?


13

Récemment, j'ai lu un article de Yann Dauphin et al. Identifier et attaquer le problème du point de selle dans l'optimisation non convexe de haute dimension , où ils introduisent un algorithme de descente intéressant appelé Saddle-Free Newton , qui semble être exactement adapté pour l'optimisation du réseau neuronal et ne devrait pas souffrir de se coincer aux points de selle comme les méthodes de premier ordre comme SGD vanille.

Le papier remonte à 2014, donc ce n'est rien de nouveau, cependant, je ne l'ai pas vu utilisé "à l'état sauvage". Pourquoi cette méthode n'est-elle pas utilisée? Le calcul de la Hesse est-il trop prohibitif pour des problèmes / réseaux de taille réelle? Existe-t-il même une implémentation open source de cet algorithme, pouvant être utilisée avec certains des principaux frameworks d'apprentissage en profondeur?

Mise à jour février 2019: une implémentation est disponible dès maintenant: https://github.com/dave-fernandes/SaddleFreeOptimizer )


Bonne question, je n'ai rien trouvé. Cependant, le pseudocode est très simple, vous pouvez donc l'essayer vous-même, auquel cas vous trouverez des détails d'implémentation utiles dans l'une des thèses de doctorat des auteurs (page 103, papyrus.bib.umontreal.ca/xmlui/bitstream/handle / 1866/13710 /… )
galoosh33

1
J'ai trouvé une référence à ce même article dans un article du blog Uber Deep-Neuroevolution. Lien: eng.uber.com/deep-neuroevolution Vous pouvez demander à l'auteur s'il a une implémentation en ligne / partagée via GitHub.
Cantren

voici une implémentation pour TensorFlow: github.com/dave-fernandes/SaddleFreeOptimizer
Dave F

Si je devais deviner, mon hypothèse serait que calculer + inverser la Hesse n'est pas pratique lorsque votre modèle a des millions de paramètres.
Sycorax dit Réintégrer Monica le

1
Pouvez-vous affiner votre question à partir de "y a-t-il une implémentation"? Cela semble permettre, oui / non réponses et / ou sonne comme une demande de logiciel (qui est hors sujet ici). Votre question pourrait-elle être développée en quelque chose comme «quelles difficultés expliquent pourquoi il ne semble pas y avoir eu plus de mises en œuvre»?
gung - Rétablir Monica

Réponses:


2

Une meilleure optimisation ne signifie pas nécessairement un meilleur modèle. En fin de compte, nous nous soucions de la façon dont le modèle se généralise, et pas nécessairement de la qualité des performances sur l'ensemble d'entraînement. Les techniques d'optimisation plus sophistiquées fonctionnent généralement mieux et convergent plus rapidement sur l'ensemble d'entraînement, mais ne généralisent pas toujours ainsi que les algorithmes de base. Par exemple, cet article montre que SGD peut mieux se généraliser que l'optimiseur ADAM. Cela peut également être le cas avec certains algorithmes d'optimisation de second ordre.


[Modifier] Suppression du premier point car il ne s'applique pas ici. Merci à bayerj de l'avoir signalé.


1
Bien que je sois d'accord avec le deuxième point, le premier n'est pas valable ici. Les auteurs proposent de ne faire de l'optimisation que dans le sous-espace de Krylov, qui ne nécessite pas de complexité quadratique.
bayerj
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.