Warum ist Newtons Methode beim maschinellen Lernen nicht weit verbreitet?


132

Das nervt mich schon seit einiger Zeit und ich konnte online keine zufriedenstellenden Antworten finden.

Nach einer Reihe von Vorlesungen zur konvexen Optimierung scheint die Newton-Methode ein weitaus überlegener Algorithmus zu sein als die Gradientenabsenkung, um global optimale Lösungen zu finden, da die Newton-Methode eine Garantie für ihre Lösung, ihre affine Invariante und vor allem ihre Konvergenz bieten kann weit weniger Schritte. Warum werden Optimierungsalgorithmen zweiter Ordnung wie die Newton-Methode bei Problemen mit maschinellem Lernen nicht so häufig eingesetzt wie stochastischer Gradientenabstieg?


24
Für neuronale Netze bietet deeplearningbook.org im Abschnitt "8.6 Ungefähre Methoden zweiter Ordnung" einen schönen Überblick. Zusammenfassend: "Abgesehen von den Herausforderungen, die durch bestimmte Merkmale der Zielfunktion wie Sattelpunkte verursacht werden, ist die Anwendung von Newtons Verfahren zum Trainieren großer neuronaler Netze durch die damit verbundene erhebliche Rechenlast begrenzt." Es gibt Alternativen, die versuchen, einige der Vorteile der Newtonschen Methode zu nutzen, während sie die rechnerischen Hürden umgehen, aber sie haben ihre eigenen Probleme.
Franck Dernoncourt

1
siehe diese verwandte Frage und Kommentare, stats.stackexchange.com/questions/232305/…
Haitao Du

1
Beachten Sie, dass die anderen Kommentare eine breitere Anwendbarkeit auf maschinelles Lernen haben, die über "tiefes Lernen" hinausgeht. Während jedoch alle ML-Probleme dazu neigen können, "Big Data" zu sein, sind nicht alle ML-Probleme notwendigerweise "Big Features" (dh viele Parameter, die abgestimmt werden müssen), obwohl dies beim Deep Learning immer der Fall ist.
GeoMatt22

1
Es ist erwähnenswert , dass in Maschine außerhalb des tiefen Lernens Lernen, L-BFGS (die, grob gesagt, nähert ich die Newton-Verfahren) ist ein recht häufiger Optimierungsalgorithmus.
Dougal

2
Newtons Methode geht von einer Konvexität aus, moderne ML-Probleme (neutrale Netze) sind nicht annähernd konvex, obwohl sie zugegebenermaßen ein Bereich offener Forschung sind. Daher ist die Newtonsche Methode wahrscheinlich ein ebenso schlechter Schätzer wie eine lineare Methode, wenn sie sich nicht dem Berechnungspunkt nähert. Sie werden wahrscheinlich sehr wenig für eine quadratische Erhöhung der Berechnung gewinnen. Das heißt, eine kürzlich in Berkeley abgehaltene Konferenz hatte einen Moderator, der weiterhin Fortschritte bei der Verwendung von Methoden 2. Ordnung zeigte, so dass es keineswegs tot ist.
David Parks

Antworten:


95

Gradientenabstieg maximiert eine Funktion unter Verwendung der Kenntnis ihrer Ableitung. Die Newton-Methode, ein Algorithmus zum Auffinden von Wurzeln, maximiert eine Funktion unter Verwendung der Kenntnis ihrer zweiten Ableitung. Dies kann schneller sein, wenn die zweite Ableitung bekannt und einfach zu berechnen ist (der Newton-Raphson-Algorithmus wird in der logistischen Regression verwendet). Der analytische Ausdruck für die zweite Ableitung ist jedoch häufig kompliziert oder schwer zu handhaben und erfordert viel Rechenaufwand. Numerische Verfahren zum Berechnen der zweiten Ableitung erfordern auch viel Berechnung - wenn Werte zum Berechnen der ersten Ableitung erforderlich sind , sind für die zweite Ableitung erforderlich.N 2NN2


5
Erwähnenswert ist, dass (Dinge, die auf) der Gauß-Newton- Methode basieren, wahrscheinlich häufiger vorkommen. Dies ist eine Spezialisierung von Newton auf nichtlineare kleinste Quadrate.
GeoMatt22

4
Ich würde Gauß-Newton nicht als Spezialisierung von Newton auf nichtlineare kleinste Quadrate bezeichnen. Ich würde es eine bastardisierte Näherung von Newton für nichtlineare kleinste Quadrate nennen, die eine ungenauere hessische Näherung verwendet, je größer die Residuen in den angepassten Gleichungen sind und je weiter das Argument von der Optimalität entfernt ist.
Mark L. Stone

1
@ MarkL.Stone fair point, ich habe versucht, nicht auf technische Details einzugehen :) Es ist richtig, dass Gauß-Newton-Methoden versuchen, Informationen 2. Ordnung mit nur 1. Ordnung zu "fälschen". Persönlich habe ich nie Newton-Methoden zur Optimierung verwendet, nur Gauß-Newton- (oder LM-, oder ~ ähnliche UKF-) oder DFO-SQP-Methoden (zB BOBYQA ). "Optimalität" ist eine heikle Frage, die ich sagen würde ... für ein ML-Problem kann die Zuverlässigkeit / Informativität eines "hessischen Einheimischen" zweifelhaft sein. Vielleicht ist nicht-lokales DFO-SQP ~ "stochastisches Newton"? (zB "online")
GeoMatt22

1
Nach dem zweiten Gedanken sind DFO-SQP-Ansätze eher nicht lokal im Parameterraum als in Datenstapeln. Das UKF mag dem "stochastischen Newton" am nächsten kommen, da es online mit begrenztem Speicher verfügbar ist ... aber es geht effektiv von einem positiv-definitiven Hessischen (dh ungefähr Gaußschen) aus.
GeoMatt22

1
Tatsächlich ist das ein irreführender Grund, da es Methoden zweiter Ordnung wie CG gibt, die keine Berechnung des Hessischen erfordern. k CG-Iterationen kosten nur kN. Es ist richtig, dass CG theoretisch nur bei k = N mit Newton übereinstimmt, aber Sie brauchen wirklich nicht so viele Iterationen.
User25322

40

Mehr Menschen sollten Newtons Methode beim maschinellen Lernen anwenden *. Ich sage dies als jemand mit einem Hintergrund in numerischer Optimierung, der sich in den letzten Jahren mit maschinellem Lernen beschäftigt hat.

Die Nachteile der Antworten hier (und sogar in der Literatur) sind kein Problem, wenn Sie Newtons Methode richtig anwenden. Darüber hinaus verlangsamen die Nachteile, die eine Rolle spielen, den Gradientenabstieg um den gleichen Betrag oder mehr, jedoch durch weniger offensichtliche Mechanismen.

  • Die Verwendung der Liniensuche mit den Wolfe-Bedingungen oder der Verwendung von oder Vertrauensbereichen verhindert die Konvergenz zu Sattelpunkten. Dies sollte auch bei einer ordnungsgemäßen Implementierung des Gradientenabfalls der Fall sein. Das Papier in referenzierten Cam.Davidson.Pilon Antwort weist darauf hin , Probleme mit „Newton-Verfahren“ in Gegenwart von Sattelpunkten, aber das Update sie befürworten ist auch ein Newton - Verfahren.

  • Die Verwendung der Newtonschen Methode erfordert nicht die Konstruktion des gesamten (dichten) Hessischen; Sie können das Inverse des Hessischen auf einen Vektor mit iterativen Methoden anwenden, die nur Matrix-Vektor-Produkte verwenden (z. B. Krylov-Methoden wie Konjugatgradient). Siehe zum Beispiel die CG-Steihaug-Trust-Region-Methode.

  • Sie können Hessische Matrix-Vektor-Produkte effizient berechnen, indem Sie zwei adjungierte Gleichungen höherer Ordnung in derselben Form lösen wie die adjungierte Gleichung, die bereits zur Berechnung des Gradienten verwendet wird (z. B. die Arbeit von zwei Backpropagation-Schritten beim neuronalen Netzwerktraining).

  • Eine schlechte Konditionierung verlangsamt die Konvergenz iterativer linearer Löser, verlangsamt aber auch den Gradientenabstieg gleichermaßen oder schlechter. Die Verwendung der Newton-Methode anstelle der Gradientenabnahme verschiebt den Schwierigkeitsgrad von der nichtlinearen Optimierungsstufe (wo nicht viel getan werden kann, um die Situation zu verbessern) zur linearen Algebra-Stufe (wo wir sie mit dem gesamten Arsenal numerischer linearer Algebra-Vorkonditionierungstechniken angreifen können).

  • Außerdem verschiebt sich die Berechnung von "vielen, vielen, billigen Schritten" zu "ein paar kostspieligen Schritten", was mehr Möglichkeiten für Parallelität auf der Unterschrittebene (lineare Algebra) eröffnet.

Für Hintergrundinformationen zu diesen Konzepten empfehle ich das Buch "Numerical Optimization" von Nocedal und Wright.

* Natürlich hilft Ihnen die Newton-Methode nicht mit L1- oder ähnlichen komprimierten Abtast- / spärlichkeitsfördernden Straffunktionen, da ihnen die erforderliche Glätte fehlt.


2
Ich denke, wir sind uns gewaltsam einig, nicht mit allen anderen.
Mark L. Stone

1
Das ist so, als würde man vergleichen, ob Großbritannien oder die USA bessere Forschungsmathematiker hervorbringen, indem man die mathematischen Fähigkeiten von 26-jährigen Schulabbrechern mit Drogenabhängigkeit vergleicht, anstatt die Spitzengruppe der Mathematikabsolventen der besten Schulen eines Landes zu vergleichen. Das Papier wird unterschrieben, versiegelt und ausgeliefert, niemand, und ich meine, niemand ändert es oder zieht es jetzt zurück. Unzerstörbar.
Mark L. Stone

3
@ MarkL.Stone Es scheint, dass hier eine Unterhaltung stattgefunden hat und während meiner Abwesenheit gelöscht wurde. Wie auch immer, ich denke du hast Recht, dass wir uns einig sind und sonst niemand. Ich denke, dies ist aufgrund unseres Hintergrunds im Vergleich zu den anderen hier zu erwarten. Wie Sie wahrscheinlich erwarten, halte ich nicht viel von dem verlinkten Papier. Andererseits denke ich, dass die Riemannsche Mannigfaltigkeit von Newtons Methode , bei der man eine geodätische Flugbahn in einer Newtonschen Suchrichtung schießt, eine vielversprechende Technik für sehr schwierige Probleme ist.
Nick Alger

2
Wie würden Sie mit einem großen Trainingsset umgehen? Wenn Sie beispielsweise 1 Million Trainingsmuster haben, müssen Sie nur 1 Million Muster testen, um das aktuelle Optimierungsziel zu bewerten. Und das müssen Sie während einer Zeilensuche mehrmals tun. Wenn Sie also 1 Newton-Schritt ausgeführt haben, hat Stochastic Gradient Descent einige Millionen Aktualisierungen ausgeführt.
Nikie

2
Nick und @ MarkL.Stone: Sprechen Sie im Wesentlichen über diesen Ansatz ? Dies ist etwas, das beim Deep-Learning vor allem für wiederkehrende Netze kurzzeitig populär war, seitdem jedoch in Ungnade gefallen ist, da es empirisch einfach nicht so viel besser funktioniert als adaptive Gradientenmethoden. Wenn sie nur etwas falsch gemacht haben, und Sie beheben, was immer es ist, und zeigen, dass es die aktuelle Standard-SGD-Variante Adam im Allgemeinen übertrifft, könnten Sie eine große Wirkung erzielen: Das Adam-Papier hat in zwei Jahren 1345 Zitate gehabt ....
Dougal

33

Ich habe das kürzlich selbst gelernt - das Problem ist die Vermehrung von Sattelpunkten im hochdimensionalen Raum, zu der Newton-Methoden konvergieren wollen. Siehe diesen Artikel: Identifizieren und Angreifen des Sattelpunktproblems bei der hochdimensionalen nichtkonvexen Optimierung .

In der Tat steigt das Verhältnis der Anzahl der Sattelpunkte zu den lokalen Minima exponentiell mit der Dimensionalität N.

Während die Dynamik des Gradientenabfalls von einem Sattelpunkt abgestoßen wird, um den Fehler zu verringern, indem Richtungen der negativen Krümmung befolgt werden, ... behandelt die Newton-Methode Sattelpunkte nicht angemessen. Wie weiter unten dargelegt, werden Sattelpunkte stattdessen unter der Newton-Dynamik attraktiv.


3
Können Sie erklären, warum dies so ist? Theoretisch führt Newtons Verfahren einen gewichteten Gradientenabstieg mit "optimalen" Gewichten für jeden der Eigenvektoren durch.
nbubis

4
Was dieser Artikel über Newton-Methoden sagt, die "konvergieren wollen", um Punkte zu satteln, gilt nur für Garbage-Implementierungen der Newton-Methode.
Mark L. Stone

In der Arbeit wird das Problem in Bezug auf Eigenwerte und Eigenvektoren umparametriert und damit gezeigt, dass sich der Gradientenabstieg von einem Sattelpunkt wegbewegt: Er bewegt sich in Richtung negativer E-Vektoren zum Sattelpunkt hin, aber in Richtung von positive E-Vektoren, so dass es letztendlich den Sattelpunkt verlässt. Newton hingegen hat keine solche Garantie.
Elizabeth Santorella

Der neue Algorithmus, für den sie sich in diesem Artikel einsetzen, ist jedoch eine Variante von Newtons Methode. es ist im Grunde Newtons Methode für die Richtungen der positiven Krümmung und negative Newtons Methode für die Richtungen der negativen Krümmung.
Nick Alger

26

Eine Kombination aus zwei Gründen:

  • Die Newton-Methode zieht Sattelpunkte an;
  • Sattelpunkte sind beim maschinellen Lernen oder in der Tat bei jeder multivariablen Optimierung üblich.

f=X2-y2
Bildbeschreibung hier eingeben

Xn+1=Xn-[Hf(Xn)]-1f(Xn)

H=[2fX122fX1X22fX1Xn2fX2X12fX222fX2Xn2fXnX12fXnX22fXn2].

H=[200-2]

[Hf]-1=[1/200-1/2]

f=[2X-2y]

[Xy]n+1=[Xy]n-[1/200-1/2][2Xn-2yn]=[Xy]n-[Xy]n=[00]

X=0,y=0

Im Gegensatz dazu führt die Gradientenabstiegsmethode nicht zum Sattelpunkt. Der Gradient ist am Sattelpunkt Null, aber ein winziger Schritt nach außen würde die Optimierung aufheben, wie Sie aus dem obigen Gradienten ersehen können - der Gradient auf der y-Variablen ist negativ.


1
Dank Ihnen habe ich tatsächlich verstanden, wie diese Methode von A bis Z funktioniert. Vielen Dank für dieses anschauliche Beispiel!
Greenoldman

Was wäre der Lieblingspunkt hier?
Ben

14

Sie haben zwei Fragen gestellt: Warum wenden nicht mehr Menschen die Newtonsche Methode an und warum verwenden so viele Menschen die stochastische Gradientenabnahme? Diese Fragen haben unterschiedliche Antworten, da es viele Algorithmen gibt, die die Rechenlast der Newtonschen Methode verringern, aber häufig besser funktionieren als SGD.

HO(N2)NGO(N)H-1GO(N3)berechnen. Während das Berechnen des Hessischen also teuer ist, ist es oft noch schlimmer, es zu invertieren oder kleinste Quadrate zu lösen. (Wenn Sie spärliche Merkmale haben, sehen die Asymptotiken besser, aber auch andere Methoden führen auch besser, so sparsity nicht machen Newton relativ attraktiver.)

Zweitens werden viele Methoden, nicht nur Gradientenabfahrten, häufiger angewendet als Newton. Sie sind oft Abstriche von Newtons Methode in dem Sinne, dass sie einen Newton-Schritt mit einem geringeren Rechenaufwand pro Schritt approximieren, aber mehr Iterationen benötigen, um zu konvergieren. Einige Beispiele:

  • H-1

  • O(N2)

  • Wenn Sie sich überhaupt nicht mit der Approximation von zweiten Ableitungen befassen möchten, ist der Gradientenabstieg ansprechend, da nur Informationen erster Ordnung verwendet werden. Gradient Descent approximiert implizit das inverse Hessische als Lernrate multipliziert mit der Identitätsmatrix. Ich persönlich verwende selten Gradientenabstieg: L-BFGS ist genauso einfach zu implementieren, da nur die objektive Funktion und der Gradient angegeben werden müssen. es hat eine bessere inverse hessische Annäherung als eine Steigungsabnahme; und weil der Gradientenabstieg eine Anpassung der Lernrate erfordert.

  • Manchmal haben Sie eine sehr große Anzahl von Beobachtungen (Datenpunkte), aber Sie können fast genauso gut aus einer geringeren Anzahl von Beobachtungen lernen. In diesem Fall können Sie "Batch-Methoden" wie den stochastischen Gradientenabstieg verwenden, bei denen Teilmengen der Beobachtungen verwendet werden.


(+1) Es ist anzumerken, dass L-BFGS in Bezug auf die Anzahl der Parameter in der gleichen Größenordnung wie der Gradientenabstieg liegt. Dies ist bei BFGS nicht der Fall. Es ist also nicht nur der begrenzte Speicherbereich von L-BFGS, der es attraktiv macht.
Cliff AB

12

Die Neigungsrichtung ist billiger zu berechnen, und die Durchführung einer Liniensuche in dieser Richtung ist eine zuverlässigere, stetigere Quelle für den Fortschritt in Richtung eines Optimums. Kurz gesagt, Gradientenabstieg ist relativ zuverlässig.

Newtons Methode ist relativ teuer, da Sie den Hessischen Wert bei der ersten Iteration berechnen müssen. Dann können Sie bei jeder nachfolgenden Iteration entweder den Hessischen Wert vollständig neu berechnen (wie bei der Newton-Methode) oder den Hessischen Wert der vorherigen Iteration (bei den Quasi-Newton-Methoden) "aktualisieren", was billiger, aber weniger robust ist.

Im Extremfall einer sehr gut erzogenen Funktion, insbesondere einer perfekt quadratischen Funktion, ist Newtons Methode der klare Gewinner. Wenn es perfekt quadratisch ist, konvergiert Newtons Methode in einer einzigen Iteration.

Im gegenteiligen Extremfall einer sehr schlecht benommenen Funktion wird der Gradientenabstieg tendenziell siegen. Es wählt eine Suchrichtung aus, durchsucht diese Richtung und unternimmt letztendlich einen kleinen, aber produktiven Schritt. Im Gegensatz dazu wird Newtons Methode in diesen Fällen zum Scheitern neigen, insbesondere wenn Sie versuchen, die Quasi-Newton-Näherungen zu verwenden.

Zwischen Gradientenabstieg und Newtons Methode gibt es Methoden wie den Levenberg-Marquardt-Algorithmus (LMA), obwohl ich die Namen ein wenig verwirrt gesehen habe. Der Kern besteht darin, bei chaotischen und verwirrenden Dingen eine Suche mit Gradienten-Abstiegsinformationen zu verwenden und dann zu einer Suche mit Newton-Methoden zu wechseln, wenn die Dinge linearer und zuverlässiger werden.


3
Junge, du musst schreckliche Implementierungen von Newton und Quasi-Newton verwenden. Wenn Sie entweder mit einem nicht positiven bestimmten Hessischen verwenden, verwenden Sie entweder Vertrauensbereiche oder führen Sie eine Liniensuche entlang der Richtung (en) der negativen Krümmung durch. In diesem Fall sind sie zuverlässiger als steilste Gefälle (dh Gefälle mit Liniensuche oder Vertrauensbereich). Kurz gesagt ist ein gradiewntiger Abstieg viel weniger zuverlässig als eine ordnungsgemäß implementierte Quasi-Newton-Methode, die weniger zuverlässig ist als eine ordnungsgemäß implementierte Newton-Methode. Die Rechenzeit und der Speicherbedarf pro Iteration sind jedoch eine andere Sache.
Mark L. Stone

4
Ich denke du meinst eine vollkommen quadratische Funktion. Das heißt, Newtons Verfahren konvergiert in einer einzelnen Iteration mit einer quadratischen Zielfunktion, die einen linearen Gradienten aufweist.
Elizabeth Santorella

1
@ Elizabeth Santorella: Yup, du hast recht! Ich habe die Antwort aktualisiert.
Nat

2
1/2XTX

1
Ich habe meinen Fall gemacht. Wenn Sie an die steilste Abfahrt denken möchten, sind Steigungsabfahrten besonders bei schlecht benommenen Funktionen eine gute Sache. Sich selbst ausknocken.
Mark L. Stone

7

Hd=G

Newtons Methode funktioniert gut, wenn sie sich einer Lösung nähert oder wenn sich der hessische Wert langsam ändert, aber einige Tricks benötigt, um mit mangelnder Konvergenz und Bestimmtheit fertig zu werden.

Oft wird eher eine Verbesserung als eine exakte Lösung angestrebt. In diesem Fall sind die zusätzlichen Kosten von Newton- oder Newton-ähnlichen Methoden nicht gerechtfertigt.

Es gibt verschiedene Möglichkeiten, die oben genannten zu verbessern, z. B. Methoden mit variablen Metriken oder Vertrauensbereichen.

Als Randnotiz, bei vielen Problemen ist die Skalierung ein zentrales Problem, und das Hessische System bietet ausgezeichnete Skalierungsinformationen, wenn auch zu einem Preis. Wenn man sich dem Hessischen annähert, kann es die Leistung oft erheblich verbessern. In gewissem Maße bietet Newtons Methode die "beste" Skalierung, da sie affin invariant ist.


0

Es gibt viele Schwierigkeiten bei der Anwendung der Newton-Methode für SGD, insbesondere:

  • es braucht eine hessische Matrix - wie kann man sie zB aus verrauschten Gefällen mit ausreichender Genauigkeit zu vernünftigen Kosten abschätzen?

  • Vollhessisch ist zu teuer - wir brauchen eher eine Einschränkung, zB auf einen Unterraum (welcher Unterraum?),

  • H-1λ=0

  • Die Newtonsche Methode zieht direkt mit einem Gefälle von Null an den Punkt, was hier normalerweise ein Sattel ist. Wie kann man sie stattdessen abwehren? ZB sattelfreies Newton kehrt negative Krümmungsrichtungen um, erfordert jedoch die Kontrolle der Vorzeichen von Eigenwerten.

  • Es wäre gut, dies online zu tun - anstatt viele Berechnungen an einem einzigen Punkt durchzuführen, versuchen Sie, es in viele kleine Schritte aufzuteilen, indem Sie mehr lokale Informationen ausnutzen.

Wir können in kleinen Schritten von 1. Ordnung zu 2. Ordnung übergehen, z. B. durch Hinzufügen einer Aktualisierung von nur 3 Durchschnitten zur Impulsmethode können wir gleichzeitig die Parabel in ihre Richtung anpassen, um eine intelligentere Wahl der Schrittgröße zu erreichen ... Modellierung 2. Ordnung in einem niedrigdimensionalen Unterraum wir can kann die verbleibenden Koordinaten weiterhin für den gleichzeitigen Gradientenabstieg verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.