Cascade-Correlations-Verfahren anhand des Xor-Problems
Cascade-Correlations-Verfahren anhand des Xor-Problems
Cascade-Correlations-Verfahren anhand des Xor-Problems
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Der <strong>Cascade</strong>-Correlation-Algorithmus<br />
Der <strong>Cascade</strong>-Correlation-Algorithmus lässt sich durch zwei Ideen charakterisieren. Die eine<br />
ist die Kaskaden-Architektur, in der verdeckte Neuronen einzeln zu dem Netzwerk<br />
hinzugefügt werden und ihre Eingangsgewichte danach nicht mehr ändern. Die zweite ist der<br />
Lernalgorithmus, der diese verdeckten Neuronen erzeugt und ihre Gewichte bestimmt.<br />
Dieser versucht für je<strong>des</strong> hinzugefügte Neuron den Betrag der Korrelation zwischen der<br />
Ausgabe <strong>des</strong> Neurons und dem restlichen Fehlersignal zu maximieren und auf diese Weise<br />
den Restfehler möglichst stark zu minimieren.<br />
Abb. 1 Die Architektur <strong>des</strong> <strong>Cascade</strong>-Correlation Netzwerks<br />
Die Architektur <strong>des</strong> <strong>Cascade</strong>-Correlation Netzwerks ist in Abb. 1 dargestellt. Zu Beginn <strong>des</strong><br />
Trainings existiert nur die durch die <strong>Problems</strong>tellung vorgegebene Anzahl von Eingabe- und<br />
Ausgabezellen, jedoch keine verdeckten Neuronen. Jede Eingabezelle ist mit jeder<br />
Ausgabezelle durch eine Verbindung mit trainierbarem Gewicht verbunden (helle Quadrate).<br />
Es existiert auch ein Bias-Neuron, <strong>des</strong>sen Ausgabe immer +1 ist und das mit allen<br />
Ausgabezellen verbunden ist.<br />
Die Ausgabeneuronen können eine lineare oder eine nichtlineare Aktivierungsfunktion<br />
besitzen. Die meisten Experimente mit <strong>Cascade</strong>-Correlation wurden bisher mit sigmoiden<br />
Aktivierungsfunktionen wie tangens hyperbolicus f ( x) = tanh( x)<br />
durchgeführt.<br />
Das Lernverfahren fügt nun einzeln verdeckte Neuronen zu dem Netzwerk hinzu. Je<strong>des</strong><br />
neue verdeckte Neuron erhält Eingaben von allen Vorgängern, d.h. von den<br />
Eingabeneuronen und den vorher generierten verdeckten Neuronen. Die Eingabegewichte<br />
dieser Neuronen werden eingefroren, sobald das Neuron dem Netzwerk hinzugefügt wurde.<br />
Nur die Gewichte der Verbindungen zu den Ausgabeneuronen werden weiterhin trainiert. Auf<br />
diese Art und Weise stellt je<strong>des</strong> Neuron der verdeckten Schicht eine Ebene für sich dar.<br />
Der Lernalgorithmus beginnt zuerst ohne verdeckte Neuronen. Die direkten Verbindungen<br />
zwischen Eingabeebene und Ausgabeebene werden über die gesamte Trainingsmenge so<br />
gut wie möglich trainiert, beispielsweise durch die Delta-Regel oder Quickprop. Letzteres<br />
<strong>Verfahren</strong> konvergiert in der Regel schneller.<br />
act<br />
2