So funktioniert der momentumbasierte Gradientenabstieg wie folgt:
wobei die vorherigen Gewichtungsaktualisierungs sind, und g ist die aktuelle Gradient in bezug auf die Parameter p , l r ist die Lernrate und s e l f . m o m e n t u m ist eine Konstante.
und Nesterovs beschleunigter Gradientenabstieg funktioniert wie folgt:
was äquivalent ist zu:
oder
Quelle: https://github.com/fchollet/keras/blob/master/keras/optimizers.py
Für mich scheint es, dass Nesterovs beschleunigter Gradientenabstieg dem lr * g-Term mehr Gewicht verleiht als dem durchlässigen Gewichtsänderungsterm m (im Vergleich zum normalen alten Impuls). Ist diese Interpretation richtig?
optimization
gradient-descent
Apfelwein
quelle
quelle
Antworten:
Arechs Antwort zu Nesterovs Dynamik ist richtig, aber der Code macht im Wesentlichen dasselbe. In dieser Hinsicht gibt die Nesterov-Methode dem -Term mehr Gewicht und dem v -Term weniger Gewicht .l r ⋅ g v
Um zu veranschaulichen, warum die Implementierung von Keras korrekt ist, werde ich das Beispiel von Geoffrey Hinton ausleihen .
quelle
Es scheint mir, dass die Frage des OP bereits beantwortet wurde, aber ich würde versuchen, eine andere (hoffentlich intuitive) Erklärung über den Impuls und den Unterschied zwischen dem klassischen Impuls (CM) und dem beschleunigten Gradienten (NAG) von Nesterov zu geben.
tl; dr Springe
einfach zum Bild am Ende.
Die Argumentation von NAG_ball ist ein weiterer wichtiger Teil, aber ich bin nicht sicher, ob es ohne den Rest einfach zu verstehen wäre.
In anderen Nachrichten erschienen kürzlich diese zwei wilden fühlenden Kugeln:
Es stellt sich heraus (nach dem beobachteten Verhalten der Kugeln, und an das Papier nach Auf der Bedeutung der Initialisierung und Impulses in tiefen Lernen , beschreibt , dass sowohl CM und NAG in Abschnitt 2) , dass jede Kugel verhält sich genau wie eine dieser Methoden , und so würden wir sie "CM_ball" und "NAG_ball" nennen:
(NAG_ball lächelt, weil er kürzlich das Ende von Vorlesung 6c - Die Impulsmethode von Geoffrey Hinton mit Nitish Srivastava und Kevin Swersky gesehen hat und deshalb mehr denn je daran glaubt sein Verhalten führt dazu, dass man schneller ein Minimum findet.)
So verhalten sich die Bälle:
Die Argumentation von NAG_ball
Daher sollte ich die Situation so betrachten, als hätte ich meinen Momentum Jump bereits gemacht, und ich bin kurz davor, meinen Slope Jump zu machen.
Anhang 1 - Eine Demonstration der Argumentation von NAG_ball
In diesem hypnotisierenden Gif von Alec Radford sehen Sie, wie NAG wohl besser abschneidet als CM ("Momentum" im Gif).
(Das Minimum ist, wo sich der Stern befindet, und die Kurven sind Konturlinien . Eine Erklärung der Konturlinien und warum sie senkrecht zum Farbverlauf verlaufen, finden Sie in den Videos 1 und 2 des legendären 3Blue1Brown .)
Eine Analyse eines bestimmten Moments zeigt die Argumentation von NAG_ball:
Anhang 2 - Dinge / Begriffe, die ich erfunden habe (der Intuition halber)
Anhang 3 - Begriffe, die ich nicht erfunden habe
quelle
Ich glaube nicht.
Eine gute Beschreibung der Eigenschaften von Nesterov Momentum (auch bekannt als Nesterov Accelerated Gradient) finden Sie beispielsweise bei Sutskever, Martens et al. "Über die Bedeutung der Initialisierung und des Impulses beim vertieften Lernen" 2013 .
Der Hauptunterschied besteht darin, dass Sie im klassischen Moment zuerst Ihre Geschwindigkeit korrigieren und dann einen großen Schritt entsprechend dieser Geschwindigkeit machen (und dann wiederholen). Im Nesterov-Moment machen Sie jedoch zuerst einen Schritt in die Richtung der Geschwindigkeit und korrigieren dann einen Geschwindigkeitsvektor an neuer Stelle (dann wiederholen).
dh klassische Dynamik:
Während Nesterov Impuls ist dies:
Eigentlich macht das einen großen Unterschied in der Praxis ...
quelle
Hinzugefügt: Ein Stanford-Kurs über neuronale Netze, cs231n , bietet noch eine andere Form der Schritte:
Hier
v
ist die Geschwindigkeit oder der Schritt oder der Zustand undmu
ein Impulsfaktor, typischerweise 0,9 oder so. (v
,x
Undlearning_rate
kann sehr lang sein , Vektoren, mit numpy, wird der Code das gleiche ist.)v
in der ersten Zeile ist die Gefälleabnahme mit Impuls;v_nesterov
extrapoliert, macht weiter. Zum Beispiel mit mu = 0.9,Die folgende Beschreibung hat 3 Terme:
Term 1 allein ist ein einfacher Gradientenabstieg (GD),
1 + 2 ergeben GD + Impuls,
1 + 2 + 3 ergeben Nesterov GD.
Der letzte Term ist der Unterschied zwischen GD mit normalem Impuls und GD mit Nesterov-Impuls.
quelle