Was ist Backpropagation?

Backpropagation ist ein weit verbreitetes Verfahren in der KI. Backpropagation und Backpropagation of Error (Fehlerrückführung – Rückpropagierung) wird für das Einlernen von künstlichen neuronalen Netzen eingesetzt. Diese Methode gehört zur Gruppe von überwachten Lernverfahren und sie wird als Verallgemeinerung der Delta-Regel in mehrschichtigen Netzen angewandt. Es muss immer ein externer Lehrer vorhanden sein, der bei jedem Zeitpunkt der Eingabe eine gewünschte Ausgabe, nämlich den Zielwert, kennt. Diese Rückwärtspropagierung ist ein gewisser Spezialfall von einem allgemeinen Gradientenverfahren in einer Optimierung, die auf dem mittleren quadratischen Fehler basiert.

Das Verfahren wurde bereits in den 70er Jahren von einigen Autoren vorgeschlagen, geriet dann allerdings für eine Dekade in Vergessenheit, bis verschiedene Autoren dies wieder entdeckten. Heute ist Backpropagation eines der wichtigsten Verfahren um künstliche neuronale Netze einzulernen. Die Fehlerrückführung gehört zu der Gruppe der überwachten Lernverfahren. Außerdem wird es als Verallgemeinerung von der Delta-Regel auf mehrschichtige Netze angewandt. Bei Backpropagation können verborgene Schichten genutzt werden, die sinnvoll trainiert werden. Zu jedem Trainingsmuster muss die jeweils erwünschte Ausgabe bekannt sein.

Wie funktioniert die Fehlerminimierung?

Der Backpropagation Algorithmus läuft in den folgenden Phasen ab. Zunächst wird das Eingabemuster angelegt und dabei vorwärts durch das Netz propagiert. Dann werden alle Ausgaben des Netzes mit den gewünschten Ausgaben verglichen. Nun wird die Differenz der Werte als Fehler des Netzes betrachtet. Dieser Fehler kann dann über die Ausgabeschicht zur Eingabeschicht zurück propagiert werden. Schließlich werden die Gewichtungen von den Neuronenverbindungen abhängig vom Einfluss auf den Fehler abgeändert. Dadurch kann bei einem erneuten Anlegen von einer Eingabe eine gewisse Annäherung an die gewünschte und erwartete Ausgabe garantiert werden. Die Fehlerfunktion muss lediglich minimiert werden.

Was leistet Backpropagation?

Bei der Backpropagation sollen die Gewichte entgegen dem Fehler angepasst werden. Als Eingabe wird ein möglichst exakter Fehler benötigt. Ein Fehler errechnet sich über die Fehlerfunktion (Loss Function) an der Ausgabeschicht. Verwendet werden kann der MSE (Mean Squared Error) oder die Kreuzentropie (Cross Entropy). Eine Backpropagation besteht aus zwei Schritten, nämlich aus der Fehler-Berechnung durch Abgleich mit den Soll-Werten der Prädiktion in einer Ausgabeschicht und durch die Fehler-Rückführung zu den einzelnen Neuronen der verborgenen Schichten (Hidden-Layer) und aus der Anpassung der Gewichte entgegen des berechneten Gradientenanstiegs der Fehlerfunktion (Loss Function).

Was ist Backpropagation through time?

Die Backpropagation through time (BPTT) ist eine Gradient-basierte Technik um bestimmte Typen von „Recurrent Neural Networks“ (RNN) zu trainieren. Es kann verwendet werden um „Elman Networks“ zu trainieren. Der Algorithmus wurde von verschiedenen Forschern unabhängig voneinander abgeleitet. Die Backpropagation through time kann den Berechnungsgraphen einer RNN in einem Zeitschritt zu einer Zeit expandieren um Abhängigkeiten zwischen Modell-Variablen und Parametern zu erhalten. Basierend auf der Verkettungsregel wird Backpropagation angewandt, um Gradienten zu berechnen und zu speichern.

Wie ist der biologische Kontext?

Das Verfahren ist Teil des maschinellen Lernens, das ein mathematisch fundierten Lernmechanismus nutzt. Es werden künstliche neuronale Netze genutzt, aber es wird dabei nicht versucht neuronale Lernmechanismen biologisch zu modellieren. Es ist wohl nicht so, dass in biologischen Neuronen Backpropagation verwendet wird, aber das Verfahren funktioniert mathematisch genau. So ist es unklar, wie die Information über die Zielwerte in den synaptischen Spalt der entsprechenden letzten Neuronenschicht gelangen kann. Es ist so, dass biologische Neuronen über binäre Zustandsänderungen (sogenannte spikes) kommunizieren und nicht über kontinuierliche Werte. Die biologischen Neuronen sind zeitsensibel und benötigt zeitlich perfekt synchronisierte und diskrete Schritte.