Warum wird in der Praxis der Abstiegsalgorithmus „Saddle-Free Newton“ nicht verwendet?

13

Kürzlich habe ich einen Artikel von Yann Dauphin et al. Identifizierung und Angriff auf das Sattelpunktproblem bei der hochdimensionalen nichtkonvexen Optimierung , bei der ein interessanter Abstiegsalgorithmus namens " Sattelfreies Newton" eingeführt wird , der genau auf die Optimierung des neuronalen Netzwerks zugeschnitten zu sein scheint und nicht daran zu leiden hat, an Sattelpunkten hängen zu bleiben wie Methoden erster Ordnung als Vanille SGD.

Das Papier stammt aus dem Jahr 2014, es ist also nichts Neues, aber ich habe nicht gesehen, dass es "in the wild" verwendet wird. Warum wird diese Methode nicht angewendet? Ist die hessische Berechnung für reale Probleme / Netzwerke zu unerschwinglich? Gibt es überhaupt eine Open-Source-Implementierung dieses Algorithmus, die möglicherweise mit einigen der wichtigsten Deep-Learning-Frameworks verwendet werden kann?

Update Februar 2019: Eine Implementierung ist ab sofort verfügbar: https://github.com/dave-fernandes/SaddleFreeOptimizer )

Jan Kukacka
quelle
Gute Frage, ich konnte nichts finden. Da der Pseudocode jedoch sehr einfach ist, können Sie ihn selbst ausprobieren. In diesem Fall enthält eine der Doktorarbeiten des Autors einige nützliche Implementierungsdetails (Seite 103, papyrus.bib.umontreal.ca/xmlui/bitstream/handle) / 1866/13710 /… )
galoosh33
1
Ich habe in einem Blog-Beitrag von Uber Deep-Neuroevolution einen Hinweis auf dasselbe Papier gefunden. Link: eng.uber.com/deep-neuroevolution Sie können den Autor fragen, ob eine Implementierung online ist oder über GitHub geteilt wird.
Cantren
Hier ist eine Implementierung für TensorFlow: github.com/dave-fernandes/SaddleFreeOptimizer
Dave F
Wenn ich raten müsste, würde ich davon ausgehen, dass das Berechnen und Invertieren des Hessischen unpraktisch ist, wenn Ihr Modell Millionen von Parametern enthält.
Sycorax sagt Reinstate Monica
1
Können Sie Ihre Frage von "Gibt es eine Implementierung" verfeinern? Das scheint sich zu leisten, ja / nein Antworten und / oder klingt wie eine Softwareanforderung (die hier nicht zum Thema gehört). Könnte Ihre Frage so formuliert werden: Welche Schwierigkeiten erklären, warum es anscheinend keine weiteren Implementierungen gegeben hat?
gung - Reinstate Monica

Antworten:

2

Bessere Optimierung bedeutet nicht unbedingt ein besseres Modell. Letztendlich geht es uns darum, wie gut sich das Modell verallgemeinert und nicht unbedingt wie gut die Leistung auf dem Trainingsset ist. Anspruchsvollere Optimierungstechniken sind in der Regel leistungsfähiger und konvergieren im Trainingssatz schneller, verallgemeinern jedoch nicht immer die grundlegenden Algorithmen. Zum Beispiel zeigt dieses Papier , dass SGD besser generalisieren kann als der ADAM-Optimierer. Dies kann auch bei einigen Optimierungsalgorithmen zweiter Ordnung der Fall sein.


[Bearbeiten] Der erste Punkt wurde entfernt, da er hier nicht gilt. Vielen Dank an bayerj für den Hinweis.

Soroush
quelle
1
Während ich dem zweiten Punkt zustimme, ist der erste hier nicht gültig. Die Autoren schlagen vor, die Optimierung nur im Krylov-Unterraum durchzuführen, der keine quadratische Komplexität erfordert.
Bayerj