Gefälle Abstieg von


7

Ich lese Why Momentum Really Works , einen Beitrag aus dem neuen Destillationsjournal. Ich werde die Hauptgleichungen umschreiben, die zu dem Teil führen, der mich verwirrt. Der Beitrag beschreibt die Intuition genauer.

Der Gradientenabstiegsalgorithmus ist durch den folgenden iterativen Prozess gegeben: wobei der Wert der Iteration , die Lernrate und ist der Gradient der bei ausgewerteten Funktion . Die Funktion Sie minimieren möchten.

wk+1=wkαf(wk)
wkkαf(w)fwf

Der Gradientenabstieg mit Impuls wird durch Hinzufügen von "Gedächtnis" zum Abstieg angegeben. Dies wird durch das Gleichungspaar beschrieben:

zk+1=βzk+f(wk)wk+1=wkαzk+1

Im nächsten Abschnitt "Erste Schritte: Gradientenabstieg" betrachtet der Autor eine konvexe quadratische Funktion mit Gradient Wenn wir annehmen, dass symmetrisch und invertierbar ist, dann hat die optimale Lösung .

f(w)=12wTAwbTw,wRn,ARn,n
f(w)=Awb
Afw=A1b

Wenn wir einen Gradientenabstieg verwenden würden, würden wir auf folgende Weise zu dieser optimalen Lösung iterieren:

wk+1=wkαf(w)=wkα(Awkb)

Dann heißt es in dem Artikel weiter: "Es gibt einen sehr natürlichen Raum, um den Gradientenabstieg zu betrachten, in dem alle Dimensionen unabhängig voneinander wirken - die Eigenvektoren von ". Ich denke, das macht Sinn, obwohl meine Intuition irgendwie verschwommen ist.A

Jede symmetrische Matrix hat eine Eigenwertzerlegung mitA

A=Qdiag(λ1,,λn)QT.

Wobei und der Vektor mit den entsprechenden Eigenvektoren als Spalten ist (richtig?).λ1>>λnQ

Im nächsten Teil verstehe ich nicht, was los ist:

Wenn wir einen Basiswechsel durchführen, , brechen die Iterationen auseinander und werden:xk=QT(wkw)

xik+1=xikαλixik=(1αλi)xik=(1αλi)k+1xi0

Umzug zurück zu unserem ursprünglichen Raum , können wir sehen , dassw

wkw=Qxk=in=xi0(1αλi)kqi

Was geht hier vor sich? Wo ist die Motivation, in die Eigendomäne aufzunehmen? Was ist ? Warum betrachten wir jetzt einzelne Elemente des Vektors? Ich habe versucht, den Berechnungen zu folgen, aber hängt von was von abhängt , von dem ich dachte, wir wollten es beseitigen. Meine Frage ist, kann jemand diese wenigen Schritte mit etwas Intuition und Berechnungen erweitern? Vielen Dank.wkwxkxk+1wk+1zk

Antworten:


5

In vielen mathematischen Anwendungen wird die Motivation nach Ableitung des Ergebnisses klarer. Beginnen wir also mit der Algebra.

Angenommen, wir würden GD für Iterationen ausführen . Dies gibt uns die Menge .T.(wk)k=1T.

Lassen Sie uns einen Basiswechsel durchführen:

wk=Q.xk+w xk=Q.T.(wk- -w)

Jetzt haben wir . Was können wir über sie sagen? Schauen wir uns jede Koordinate einzeln an. Indem Sie das oben Gesagte ersetzen und den Aktualisierungsschritt von GD verwenden,(xk)k=1T.

xichk+1=(Q.T.(wk+1- -w))ich=(Q.T.(wk- -α(EINwk- -b)- -w))ich

Arrangieren,

xichk+1=(Q.T.(wk- -w))ich- -α(Q.T.(EINwk- -b))ich

Der erste Term ist genau . Für den zweiten Term, ersetzen wir . Dies ergibt,xichkEIN=Q.dicheinG(λ1λn)Q.T.

xichk+1=xichk- -αλichxichk=(1- -αλich)xichk

Welches war ein einziger Schritt. Wiederholen, bis wir bis zu , bekommen wirx0

xichk+1=(1- -αλich)k+1xich0

All dies scheint an dieser Stelle wirklich nutzlos zu sein. Kehren wir zu unserer anfänglichen Sorge zurück, den s. Aus unserem ursprünglichen Basiswechsel wissen wir, dass . Eine andere Art, die Multiplikation der Matrix mit dem Vektor schreiben, ist . Aber wir haben oben gezeigt, dass . Wenn wir alles zusammenstecken, haben wir die gewünschte "geschlossene Form" -Formel für den GD-Aktualisierungsschritt erhalten:wwk- -w=Q.xkQ.xkichxichkqichxichk=(1- -αλich)kxich0

wk- -w=ichxich0(1- -αλich)kqich

Dies ist im Wesentlichen ein Ausdruck für den "Fehler" bei Iteration von GD (wie weit wir von der optimalen Lösung entfernt sind, ). Da wir daran interessiert sind, die Leistung von GD zu bewerten, ist dies der Ausdruck, den wir analysieren möchten. Es gibt zwei unmittelbare Beobachtungen. Das erste ist, dass dieser Term auf 0 geht, während auf unendlich geht, was natürlich eine gute Nachricht ist. Das zweite ist, dass sich der Fehler sehr gut in die einzelnen Elemente von zerlegt , was für unsere Analyse noch schöner ist. Hier zitiere ich aus dem ursprünglichen Beitrag, da ich denke, dass sie es gut erklären:kwkx0

Jedes Element von ist die Komponente des Fehlers in der anfänglichen Schätzung in der Basis. Es gibt solche Fehler, und jeder dieser Fehler folgt seinem eigenen, einsamen Pfad zum Minimum und nimmt exponentiell mit einer Compoundierungsrate von . Je näher diese Zahl an 1 liegt, desto langsamer konvergiert sie.x0Q.n1- -αλich

Ich hoffe, dies klärt die Dinge für Sie so weit auf, dass Sie den Beitrag weiter lesen können. Es ist wirklich gut!


Wow, vielen Dank, das ist eine hervorragende Antwort! Vielleicht hätte ich etwas weiter lesen sollen, worum es bei alledem ging. Es ist leicht, sich entmutigen zu lassen, wenn Sie sich beim ersten bisschen Mathe in einem Tagebuch
verlieren

1

Ich habe dieselbe Zeitung gelesen, bin genau an derselben Stelle festgefahren und habe sie mit Hilfe der Antwort von galoosh33 durchgearbeitet .

Ich fand den Schritt einfach nicht offensichtlich:

xichk+1=(Q.T.(wk- -w))ich- -α(Q.T.(EINwk- -b))ich=xich- -αλichxichk

Für diejenigen, die die Algebra nicht wollen und nicht sofort sehen, wie wir losgeworden sind , ist es die Substitution und und die Tatsache, dass Eigenvektoren orthogonal sind .bwk=Q.xk+ww=EIN- -1bQ.- -1=Q.T.

(Q.T.EINwk- -Q.T.b)ich=(Q.T.EINQ.xk+Q.T.EINwEIN- -1b- -Q.T.b)ich=(Q.T.Q.ichdiag(λ1,,λn)Q.T.Q.ichxk+Q.T.EINEIN- -1ichb- -Q.T.b0)ich=λichxichk


0

Ich werde einige Kommentare in der Sprache des maschinellen Lernens abgeben, die Sie hoffentlich zu einer hilfreichen logischen Schlussfolgerung führen.

Erstens ist das Minimieren dieses quadratischen Ziels wie das Lösen eines Problems der kleinsten Quadrate (wenn dies nicht offensichtlich ist, versuchen Sie es als Übung zu beweisen). Zweitens ist für jedes Problem der kleinsten Quadrate, wenn die Merkmale orthogonal sind, das Schätzen der Koeffizienten getrennt oder nacheinander (wie genau eine Runde des Koordinatenabfalls) gleichbedeutend mit dem gemeinsamen Schätzen. (Wenn dies nicht offensichtlich ist, nehmen wir an, dass die Merkmale orthogonal sind. Sehen Sie, dass dies bedeutet, dass diagonal sein muss? Das bedeutet, dass jeder Eintrag der Lösung nicht von den anderen abhängt.)EIN

Die Frage ist nun: Wie können wir das gleiche Problem lösen, aber mit einer Diagonalmatrix anstelle von ? Drittens ist die Norm orthogonal invariant. Wenn Sie also links oder rechts multiplizieren, was sich innerhalb der Norm befindet, mit einer orthogonalen Matrix (die als Rotation interpretiert wird), können Sie dieses Problem einfach lösen und dann diese orthogonale Transformation am zurücksetzen Ende. Da symmetrisch positiv semidefinit ist, können wir diese orthogonalen Matrizen aus der Eigenwertzerlegung von (auch bekannt als "Diagonalisieren" von ).EIN2EINEINEIN

Zurück zur Statistik: Dieser Prozess wird manchmal als Bleaching oder Pre-Whitening bezeichnet, obwohl ich glaube, dass es keinen Konsens über die Verwendung dieses Begriffs gibt.

Einfach und locker ausgedrückt , können die Spalten / Zeilen von im Eigenraum von als völlig separate und nicht verwandte Informationen betrachtet werden.EINEIN

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.