Gradientenabstiegsverfahren zur Suche nach lokalen Minima

Die Suche nach einem Satz von Parametern wird für FNNs oft mit einem Gradientenabstieg durchgeführt. Gesucht ist also mit

Wir haben als folgende Bezeichnungen gewählt:

BegriffGleichung
Einzelkostenfunktion
Äußeres Fehlermaß / Äußere Fehlerfunktion
Zielfunktion / Gesamtkostenfunktion des Trainings

Hierbei wird die Funktion des FNNs als Funktion von Parametern bei jeweils fest gehaltenem Datenpunkt des Trainingsdatensatzes aufgefasst.

Die Funktion des FNNs hat also nur einen einzelnen Datenpunkt aber alle Parameter als Eingabe. Durch das äußere Fehlermaß werden alle Einzelkosten aufsummiert, so dass die Zielfunktion sowohl von allen Parametern als auch von allen Datenpunkten abhängt. Wir betrachten sie bei der Suche nach einem möglichst kleinen lokalen Minimum aber nur als Funktion der Parameter .

Im weiteren sollen Gradienten und das Gradientenabstiegsverfahren kurz skizziert werden. Anschließend soll es anhand von einem Datensatz, der aus zwei Datenpunkten besteht, auf ein einzelnes Neuron angewendet werden, um dessen Parameter bzgl. des Datensatzes zu optimieren.

Eine kurze Wiederholung zentraler mathematischer Aspekte kann z. B. im Anhang dieses Unterkapitels nachgelesen werden. Im Folgenden wird die Kenntnis vorausgesetzt, dass der Gradient eines skalaren Feldes im Punkt in die Richtung der stärksten Wertzunahme zeigt und daher seine gegenteilige Orientierung in die Richtung der stärksten Abnahme. Wie üblich schreiben wir für .

Die Idee des Gradientenabstiegsverfahrens zur Suche nach einem lokalen Minimum eines skalaren Feldes besteht darin, an einem Startpunkt zu beginnen und dann schrittweise ein Stück weit in die dem Gradienten entgegengesetzte Richtung zu gehen:

Dabei bezeichnet die Schrittweite oder Lernrate.

Untersuche das Gradientenverfahren für die Minimumsuche einiger Beispielfunktionen anhand folgender App:

Das Gradientenabstiegsverfahren kann für ein einzelnes Neuron manuell durchgeführt werden. Die zu minimierende Zielfunktion bei gegebenem Trainingsdatensatz ist dabei eine Funktion in Abhängigkeit von den Parametern:

Die Parameter bilden also die Variablen bzgl. derer der Gradient gebildet wird. In der folgenden App wird der Gradientenabstieg für zwei Trainingsdatenpunkte visualisiert. Das Neuron hat als Aktivierungsfunktion die Sigmoid-Funktion, es hat zwei Eingaben und als Input und eine Ausgabe als Ausgabe. Daher ist auch die Funktion des FNNs ein skalares Feld, bei dem jedem Punkt in der -:i-ma{code="x_2"}-Ebene ein Wert zugeordnet. Wie üblich kann dies zur binären Klassifikation verwendet werden. Da es keinen Bias gibt, ist dieser implizit gleich 0, und jede Trenngerade verläuft durch den Ursprung.

ür einen Datenpunkt ist die gewichtete Summe daher

Die Ausgabe des Neurons ergibt sich durch Anwenden der Sigmoid-Funktion :

Für zwei Trainingsdatenpunkte sei die Fehlerfunktion

Da und von den Gewichten und abhängen, ist auch eine Funktion der beiden Gewichte.

Der Gradient von bezüglich der Gewichte ist

Zunächst wird die Ableitung nach berechnet. Mit der Kettenregel gilt

Für einen einzelnen Datenpunkt gilt

Da

gilt

Also folgt

Damit erhält man

Analog ergibt sich für

Für die Sigmoid-Funktion

gilt

Da ist, kann man also auch schreiben:

Damit lautet der Gradient

Vollständig in Abhängigkeit von den Gewichten geschrieben ergibt sich

Ebenso gilt

Der Gradientenabstieg aktualisiert die Gewichte anschließend in Richtung des negativen Gradienten:

Die Lernrate legt fest, wie groß der Schritt entlang der Abstiegsrichtung ist. Ein Backtracking-Verfahren ist hier nicht notwendig, wenn mit einer fest gewählten Lernrate gearbeitet wird.

In der folgenden App kann das Gradientenverfahren für den Datensatz, der aus zwei Antipodenpunkten auf der Einheitssphäre besteht. Die Trenngerade verläuft daher im optimierten Fall senkrecht zur Verbindungsstrecke dieser beiden Datenpunkte. Zudem ist die Aktivierungsfunktion Sigmoid um so schärfer begrenzt, je mehr sie gestaucht ist. Dies geschieht mit zunehmender Größe von und :

Das Gradientenverfahren wird daher dem unendlich weit entfernen Infimum entgegenstreben und streng genommen nicht konvergieren.