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