Das Diagramm des iterativen Ansatzes (Abbildung 1) enthielt ein grünes, handförmiges Feld mit dem Titel "Compute parameter updates" (Aktualisierungen der Parameter berechnen). Stattdessen ersetzen wir diesen algorithmischen Feenstaub durch etwas Wesentliches.
Angenommen, wir hätten die Zeit und die Rechenressourcen, um den Verlust für alle möglichen Werte von \(w_1\)zu berechnen. Für die Art von Regressionsproblemen, die wir untersucht haben, ist das resultierende Verlustdiagramm im Vergleich zu \(w_1\) immer konvex. Mit anderen Worten, das Diagramm wird immer schalenförmig sein:
Abbildung 2. Regressionsprobleme führen zu Diagrammen des konvexen Verlusts im Vergleich zu Gewichtsdiagrammen.
Konvexe Probleme haben nur ein Minimum, das heißt, nur eine Stelle, an der die Steigung genau 0 ist. Bei diesem Minimum konvergiert die Verlustfunktion.
Die Berechnung der Verlustfunktion für jeden denkbaren Wert von \(w_1\)über das gesamte Dataset wäre eine ineffiziente Möglichkeit, den Konvergenzpunkt zu finden. Im Folgenden wird ein besserer Mechanismus beschrieben, der im maschinellen Lernen sehr beliebt ist, den sogenannten Gradientenabstieg.
Die erste Phase des Gradientenverfahrens besteht darin, einen Startwert (einen Startpunkt) für \(w_1\)auszuwählen. Der Ausgangspunkt ist nicht entscheidend. Daher setzen viele Algorithmen \(w_1\) einfach auf 0 oder wählen einen Zufallswert aus. Die folgende Abbildung zeigt, dass wir einen Startpunkt ausgewählt haben, der etwas größer als 0 ist:
Abbildung 3. Ausgangspunkt für das Gradientenverfahren.
Der Algorithmus des Gradientenabstiegs berechnet dann den Gradienten der Verlustkurve am Startpunkt. In Abbildung 3 ist der Gradient des Verlusts gleich der Ableitung (Slope) der Kurve und gibt an, welcher Weg "wärmer" oder "kälter" ist. Wenn mehrere Gewichtungen vorhanden sind, ist der Gradient ein Vektor von partiellen Ableitungen in Bezug auf die Gewichtungen.
Beachten Sie, dass ein Farbverlauf ein Vektor ist und daher die folgenden beiden Eigenschaften aufweist:
- eine Richtung
- eine Größenordnung
Der Gradient zeigt immer in die Richtung des steilsten Anstiegs der Verlustfunktion. Der Algorithmus des Gradientenabstiegs legt einen Schritt in Richtung des negativen Gradienten vor, um den Verlust so schnell wie möglich zu reduzieren.
Abbildung 4. Beim Gradientenabstieg werden negative Farbverläufe verwendet.
Um den nächsten Punkt entlang der Verlustfunktionskurve zu bestimmen, fügt der Algorithmus des Gradientenabstiegs einen Bruchteil der Größe des Gradienten zum Startpunkt hinzu, wie in der folgenden Abbildung dargestellt:
Abbildung 5. Ein Gradientenschritt bringt uns zum nächsten Punkt auf der Verlustkurve.
Der Gradientenabstieg wiederholt diesen Prozess dann und nähert sich dem Minimum immer näher.