Counterpropagation

Counterpropagation ist ein hybrides Lernverfahren, das zwei Netzsorten (Kohohen und Grossberg) in sich vereinigt. Es besitzt einige schöne Eigenschaften. Zuerst sind die Trainingszeiten für solch ein Netz sehr gering. Es kann modularisiert werden, d.h. die beiden verwendeten Netzsorten können in verschiedenen Modulen stehen. Es kann als generalisierungsfähige "look up table" eingesetzt werden. D.h. so ein Netz ist in der Lage, Eingaben mit Ausgaben zu assoziieren und gleichzeitig Generalisierungen aufzubauen. Das Netz kann sowohl rellwertige als auch binäre Ein- und Ausgabedaten verarbeiten.
Das Lernen in solch einem Netz geschieht in zwei Stufen. Zuerst wird die Kohohenschicht und dann die Grossbergschicht trainiert.
Aufbau
Abb.: Aufbau des Netzes
In der Kohohenschicht wird für jedes Neuron die gewichtete Summe der Eingabe berechnet. Es wird keine weitere Verarbeitung dieser Propagierungsfunktion durchgeführt. D.h. die Aktivierungsfunktion ist die Identität. Das Neuron, bei dem dieses Ergebnis maximal ist, wird zum Gewinnerneuron und feuert. Dieses Neuron hat also als Ausgabe eine 1 und alle anderen Null. Haben mehrere Neuronen den gleichen Wert, müssen geeignete Kollisionstrategien (z.B. randomisierte Auswahl) angewendet werden. In der Großbergschicht wird dann die gewünschte Ausgabe berechnet.

Die Kohohenschicht
Damit das Netz korrekt arbeiten kann, werden die Eingabedaten zu Beginn des Trainings normiert, d.h. durch ihre Länge geteilt :
Formel : Normierung
Die Gewichtsmatrix W (also die zwischen Eingabeschicht und Kohohenschicht) wird mit gleichmäßig verteilten Zufallswerten, die zusätzlich normiert wurden initialisiert.
Lernen in der Kohohenschicht
Nachdem die Eingabe an das Netz angelegt wurde, wird das Gewinnerneuron j ermittelt. Dann wird die Ähnlichkeit des Gewichtsvektors dieses Neurons mit dem Eingabevektor berechnet. Als Maß für die Ähnlichkeit wird das Skalarprodukt der beiden Vektoren verwendet. (Beachte, beide sind normiert.) Im Falle einer ungenügenden Ähnlichkeit, wird der Gewichtsvektor in Richtung der Eingabe gezogen. (eine Art Deltaregel) :
Formel : Gewichtsanpassung
Dabei stellt Symbol : Alpha einen Lernparameter dar, der nach und nach verringert wird. Danach wird der Gewichtsvektor erneut normiert.
Die Grossbergschicht
Die Grossbergschicht kann durch ein einfaches überwachtes Lernverfahren trainiert werden. Ist das Gewinnerneuron in der Kohohenschicht ermittelt kann die Grossberschicht auf die gewünschte Ausgabe hin trainiert werden. Die Iterationsvorschrift lautet :
Formel : Iteration
(also wieder eine Art Deltaregel)