Cascade Correlation

Cascade Correlation

Cascade Correlation ist ein mathematisches konstruktives Verfahren zur Erzeugung und zum Training von künstlichen neuronalen Netzen. Veröffentlicht wurde Cascade Correlation 1990 von Scott E. Fahlman und Christian Lebiere in der Arbeit "The Cascade-Correlation Learning Architecture".

Die Idee hinter Cascade Correlation ist nicht nur das Training eines neuronalen Netzes, sondern auch der Aufbau dessen Struktur (konstruktives Verfahren). Der große Vorteil dabei ist, dass sich das neuronale Netzwerk in seiner Größe an die Problemstellung (Trainingsdaten) anpasst.

Der Algorithmus startet mit einem, für die Aufgabenstellung, minimalen neuronalen Netz, das nur aus Eingabezellen und Ausgabezellen besteht. Die Neuronen sind dabei über Gewichte vollständig miteinander verbunden. Das Training der Gewichte erfolgt nun mit Hilfe eines Lernverfahrens (Quickprop). Wird über mehrere Trainingsepochen keine signifikante Verbesserung des Netzwerkfehlers mehr erreicht, wird das Training beendet. Die gefundenen Gewichte werden beibehalten und ein neues (verdecktes) Neuron wird zum Netzwerk hinzugefügt. Das verdeckte Neuron (Candidate Unit) erhält als Eingänge Verbindungen von allen Eingabezellen und eventuell zuvor hinzugefügten verdeckten Zellen. Der Ausgang des zugefügten Neurons hat vorerst keine Verbindung zum Netzwerk. Es erfolgt nun das Training für die Gewichte des neuen Neurons. Ziel des Trainings ist es, Sj ,die Summe der Beträge der Kovarianz zwischen oj, der Ausgabe der Candidate Unit, und δk, dem Restfehler der Ausgabezelle k, über alle Ausgabezellen zu maximieren.

 S_{j} = \sum_{k} \left| \sum_{p} (o_{pj} - \bar o_{j})  \, (\delta_{pk} - \bar\delta_{k}) \right|

Hierbei ist j der Index der Candidate Unit, k der Laufindex über alle Ausgangsneuronen, p der Index der Muster,  \bar o_{j} die mittlere Ausgabe von Neuron j über alle Muster p und  \bar\delta_{k} der mittlere Fehler der Ausgabezellen k über alle Muster p. Der Fehler δk ist gegeben durch die Differenz zwischen erwünschten Ausgang und dem tatsächlichen Ausgang. Ziel ist es, Sj zu maximieren. Daher muss die partielle Ableitung von Sj nach jedem Gewicht wij der Zelle gebildet werden.

 \frac{ \partial S_{j}} {\partial \, w_{ij}} = \sum_{k} \sum_{p} \sigma_{k} \cdot f'_{act} (net_{pj}) \, o_{pi} \, (\delta_{pk} - \bar\delta_{k})

Mit der Definition:

 \sigma_{k} = sgn \left[ \sum_{p}(o_{pj} - \bar o_{j}) \, (\delta_{pk} - \bar \delta_{k}) \right]

und

 o_{pj} = f_{act} \left(net_{pj} \right)

Ist die partielle Ableitung zu jedem Gewicht der Candidate Unit bestimmt, kann ein Gradientenaufstieg durchgeführt werden. Das Training wird so lange fortgesetzt, bis keine wesentliche Veränderung von Sj mehr erfolgt. Der Ausgang des zugefügten Neurons liefert nun ein maximales Ausgangssignal, wenn der Fehler des restlichen Netzwerkes am größten ist. Die Gewichte der Candidate Unit werden jetzt permanent eingefroren und der Ausgang der Zelle vollständig mit jedem vorhandenen Ausgangsneuronen verbunden. Ein neues Training der Gewichte aller Ausgangsneuronen wird nun gestartet. Ist nach dem Training der gewünschte Ausgangsfehler noch nicht erreicht, wird, wie oben beschrieben, ein weiteres verdecktes Neuron dem Netzwerk zugeführt und trainiert.

Das Bild unten zeigt ein Cascade Correlation Netzwerk mit drei verdeckten Neuronen. Die Gewichte sind hierbei als Quadrate auf den Verbindungsstellen zwischen Ausgängen und Eingängen der Neuronen dargestellt. Das on-Neuron dient für alle Neuronen des Netzwerkes zur Einstellung der Ansprechschwelle; es besitzt als Ausgabe immer den Wert 1.

Cascade Correlation Netzwerk

Beim Cascade Correlation Algorithmus werden verdeckte Zellen nur einmal trainiert und die gefundenen Gewichte nicht mehr verändert, während die Gewichte für die Ausgangsneuronen in jedem Schritt neu angepasst werden.

Das Verfahren konvergiert verhältnismäßig gut, da immer nur eine Schicht des Netzwerks trainiert wird. Damit vermeidet man das Problem bei komplexen Netzwerken, dass sich gleichzeitig alle Neuronen durch ein Training auf ein gegebenes Eingangsmuster anpassen, während sie nur mit lokale Informationen über den zurückpropagierten Fehler über die direkten Nachbaren versorgt werden.

Literatur

  • Scott E. Fahlman und Christian Lebiere: The Cascade-Correlation Learning Architecture, 29. August 1991

The Cascade-Correlation Learning Architecture


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Cascade correlation algorithm — Cascade Correlation is an architecture and supervised learning algorithm for artificial neural networks developed by Scott Fahlman.Instead of just adjusting the weights in a network of fixed topology, Cascade Correlation begins with aminimal… …   Wikipedia

  • Correlation attack — In cryptography, correlation attacks are a class of known plaintext attacks for breaking stream ciphers whose keystream is generated by combining the output of several linear feedback shift registers (called LFSRs for the rest of this article)… …   Wikipedia

  • Correlation immunity — In mathematics, the correlation immunity of a Boolean function is a measure of the degree to which its outputs are uncorrelated with some subset of its inputs. Specifically, a Boolean function is said to be correlation immune of order m if every… …   Wikipedia

  • Artificial Neural Network — Réseau de neurones Pour les articles homonymes, voir Réseau. Vue simplifiée d un réseau artificiel de neurones Un réseau de neurones artificiel est un modèle de c …   Wikipédia en Français

  • Neuronal network — Réseau de neurones Pour les articles homonymes, voir Réseau. Neurosciences …   Wikipédia en Français

  • Reseau de neurones — Réseau de neurones Pour les articles homonymes, voir Réseau. Neurosciences …   Wikipédia en Français

  • Réseau de neurone — Réseau de neurones Pour les articles homonymes, voir Réseau. Neurosciences …   Wikipédia en Français

  • Réseau de neurones — Pour les articles homonymes, voir Réseau. Neurosciences …   Wikipédia en Français

  • Réseau de neurones artificiels —  Pour l’article homonyme, voir Réseau de neurones (biologie).  Pour les articles homonymes, voir Réseau. Un réseau de neurones artificiels est un modèle de calcul dont la conception est très schématiquement inspirée du fonctionnement… …   Wikipédia en Français

  • Réseau neuronal — Réseau de neurones Pour les articles homonymes, voir Réseau. Neurosciences …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”