Unterschied bei der Verwendung von normalisiertem Farbverlauf und Farbverlauf


15

Im allgemeinen Einstellung des Gradientenabstiegsalgorithmus haben wir wobei x n ist der aktuelle Punkt, η ist die Schrittgröße und g r a d i e n t x n ist der bei x n bewertete Gradient . xn+1=xnηgradientxnxnηgradientxnxn

Ich habe in einigen Algorithmen gesehen, dass die Leute normalisierte Farbverläufe anstelle von Farbverläufen verwenden . Ich wollte wissen, was der Unterschied in der Verwendung von normalisierten Farbverläufen und einfachen Farbverläufen ist .


1
Kann ich eine Frage stellen? Wie kann ich den normalisierten Gradienten berechnen, wenn ich den Gradientenvektor bereits erhalten habe? Wenn der Gradientenvektor numerisch groß ist, muss ich den Gradienten normalisieren. Können Sie einige intuitive Beispiele zur Normalisierung des Gradienten nennen? Vielen Dank!

Antworten:


10

ηbestimmen, wie weit wir uns in die berechnete Richtung bewegen wollen. Wenn Sie jedoch eine nicht normalisierte Gradientenabsenkung verwenden, wird die Entfernung, die Sie in die optimale Richtung bewegen, an jedem Punkt durch die Größe des Gradienten bestimmt (im Wesentlichen bestimmt durch die Oberfläche der Objektivfunktion, dh einen Punkt auf einer steilen Oberfläche) hohe Größe, wohingegen ein Punkt auf der ziemlich flachen Oberfläche eine niedrige Größe hat).


η
η .
3] Wenn Sie möchten, dass die Größe des Verlaufs die Schrittweite bestimmt, verwenden Sie eine nicht normalisierte Verlaufsabnahme. Es gibt mehrere andere Varianten, bei denen Sie die Größe des Verlaufs die Schrittgröße bestimmen lassen können, aber Sie setzen eine Kappe darauf und so weiter.

Nun hat die Schrittgröße einen deutlichen Einfluss auf die Geschwindigkeit der Konvergenz und Stabilität. Welche der oben genannten Schrittgrößen am besten funktioniert, hängt ausschließlich von Ihrer Anwendung (dh der Zielfunktion) ab. In bestimmten Fällen kann der Zusammenhang zwischen Konvergenzgeschwindigkeit, Stabilität und Schrittweite analysiert werden. Diese Beziehung kann dann einen Hinweis darauf geben, ob Sie mit normalisierter oder nicht normalisierter Gradientenabnahme fahren möchten.

Zusammenfassend gibt es keinen Unterschied zwischen normalisierter und nicht normalisierter Gradientenabnahme (soweit die Theorie hinter dem Algorithmus geht). Dies hat jedoch praktische Auswirkungen auf die Geschwindigkeit der Konvergenz und Stabilität. Die Wahl des einen über das andere richtet sich ausschließlich nach der jeweiligen Anwendung / Zielsetzung.


Sie könnten einen Zwischenansatz wählen, bei dem Sie beispielsweise anhand des ersten Gradienten normalisieren. Dies würde immer noch die relative Gradientengröße in Bezug auf die Schrittgröße ausmachen.
Dashnick

2

Was wirklich zählt, ist wie ηist ausgewählt. Es spielt keine Rolle, ob Sie den normalisierten Verlauf oder den nicht normalisierten Verlauf verwenden, wenn die Schrittgröße so ausgewählt ist, dass die Länge von festgelegt wirdη mal den gradienten gleich.


2

Welche Methode eine schnellere Konvergenz aufweist, hängt von Ihrem spezifischen Ziel ab, und im Allgemeinen verwende ich den normalisierten Gradienten. Ein gutes Beispiel dafür, warum Sie dies tun möchten, ist ein einfaches Quadrat:f(x)=xTx. In diesem Fall kann die ODE, die eine gegebene Gradientenabstiegstrajektorie beschreibt (wenn sich die Schrittgröße Null nähert), analytisch bestimmt werden:y(t)=x0/||x0||e-t. Die Norm des Gradienten nimmt also exponentiell schnell ab, wenn Sie sich dem kritischen Punkt nähern. In solchen Fällen ist es oft besser, ein paar Mal hin und her zu hüpfen, als sich sehr langsam zu nähern. Im Allgemeinen haben Methoden erster Ordnung jedoch eine sehr langsame Konvergenz um die kritischen Punkte, so dass Sie sie nicht wirklich verwenden sollten, wenn Sie sich wirklich um die Genauigkeit kümmern. Wenn Sie das Hessische Ihres Ziels nicht analytisch berechnen können, können Sie es dennoch approximieren (BFGS).

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.