3.2 Trainieren des Netzes mit dem Backpropagation-Algorithmus

Um das Netz trainieren zu können muß es eine mathematische Beschreibung der Funktionsweise eines Neurons und damit des gesamten Netzes geben. Die gewichtete Gesamteingabe eines Neurons ergibt sich zu: , wobei der Index j für das j-te Neuron und der Index i für den i-ten Eingang des Neurons steht. D.h., yi ist das Ausgangssignal eines Knotens der vorhergehenden Schicht, der am i-ten Eingang des betrachteten Knotens anliegt, wobei der Faktor wij das Gewicht der Verbindung zwischen diesen beiden Neuronen ist. Die Ausgangsaktivität eines Neurons ergibt sich somit zu: , wobei f eine der oben gezeigten Transferfunktionen ist. Damit kann mit bekannten Eingangswerten und bekannten Gewichten wij die Aktivität des Neurons in der Ausgabeschicht berechnet werden. Wenn man nun alle Gewichte wij und die Ausgabeaktivität des Netzes hat, kann man den Fehler berechnen, den das Netz liefert. Es ist zweckmäßig, diesen sog. Vorhersagefehler F als zu definieren. Die Summe verläuft hierbei über alle Knoten der untersuchten Schicht; yj ist dabei die tatsächliche und dj die gewünschte Ausgabeaktivität eines Knotens. Für den Knoten in der Ausgabeschicht kann der Fehler dann als F = 0,5(ya - da)^2 geschrieben werden (der Index a steht hier für den Ausgabeknoten). Zu Beginn haben die Multiplikationsfaktoren noch rein zufällige Werte, wodurch relativ große Vorhersagefehler auftreten. Die Werte der wij werden nun mit Hilfe des Backpropagation-Algorithmus optimiert. Dazu untersucht man, wie sich der Fehler ändert, wenn man ein Gewicht wij ändert. Für diese Untersuchung bildet man die partielle Ableitung des Fehler nach diesem Gewicht, wodurch man einen Wert bekommt, der für kleine Änderungen des Gewichts als Proportionalitätsfaktor für die Auswirkung der Änderung auf den Fehler betrachtet werden kann. Da diese Proportionalität nur für kleine Änderungen gilt, wird das Gewicht nur ein kleines bißchen verändert, so daß der Fehler etwas kleiner wird und nicht so, daß der Fehler null wird. Deshalb wird das "Wenn man die Ableitungen ausrechnet, stellt man fest, daß es effektiv ist, zunächst die Gewichte des Ausgangsneurons, dann die Gewichte der zweiten inneren Schicht"(Eberl, Seite 49) und erst am Schluß die Gewichte der ersten inneren Schicht anzupassen. Die hier beschriebene Anpassung der Gewichte bewirkt nur eine kleine Verbesserung des Ausgangssignals und auch nur für einen Datensatz, weshalb man diese Vorgehensweise auf alle Datensätze anwenden und außerdem noch z.B. 500 mal wiederholen muß. Durch die Reihenfolge der Anpassung der Gewichte von denen des Ausgangsneurons zu denen der Eingangsneuronen nennt man diesen Algorithmus Backpropagation (engl.: Rückwärtsausbreitung).


Zurück zum Inhaltsverzeichnis