This site is best viewed in a browser that conforms to web standards.

Button
Button
Button
Button
Button

Button
Button
Button
Button

Turmsegler

Neuronale Eigenfilter nach Hebb

Es besteht eine enge Verbindung zwischen dem Verhalten selbstorganisierender neuronaler Netze und der statistischen Methode der Komponentenanalyse (Principal Component Analysis). In der Tat kann ein vollverbundenes 2-Layer-Netzwerk mit i Inputs and j Outputs (bei i > j) dafür eingesetzt werden, die ersten j Principal Components aus dem Eingangsvektor zu extrahieren und dessen Grösse somit um j-i Elemente zu reduzieren. Bei j=1 funktioniert ein solches Netz als so genannter Eigenfilter, der die erste Hauptkomponente aus dem Eingabevektor extrahiert. Wir wollen die Diskussion der zugrundeliegenden Techniken mit diesem einfachsten Fall beginnen.

Bild. 1: Hebb'scher Eigenfilter. Das n-te Element des Eingangsvektors , bestehend aus m Inputs, wird durch den Weight-Vektor in transformiert. Zum klareren Verständnis: m ist hierbei die Anzahl der Inputs, n die Anzahl der Trainingsbeispiele.

Der zum Training des Netzwerks eingesetzte Algorithmus basiert auf Hebb's Postulat zur Anpassung in selbstorganisierenden Strukturen. Demnach variiert das synaptische Gewicht im Laufe der Zeit. Es wächst, wenn das presynaptische Signal und das postsynaptische Signal eine hohe Übereinstimmung aufweisen (s. Bild 1). Unter der Annahme, dass alle Nodes innerhalb des Netzwerks lineare Aktivierungsfunktionen verwenden und kein Bias anliegt, so dass gilt:

Formel 1:

können wir schreiben:

Formel 2:

Hier steht n für die fortlaufende Nummer des Trainingsbeispiels und für die Lernrate. Der aufmerksame Leser wird feststellen, dass diese unregulierte Form des Trainingsalgorithmus permanent vergrössert, so dass es ins Unendliche wächst. Um dies zu verhindern, muss ein Normalisierungsmechanismus eingeführt werden, der das Wachstum begrenzt. Eine proportionale Verringerung von durch einen Normalisierungsterm führt darüber hinaus eine Konkurrenzsituation unter den Synapsen ein. Konkurrenz, als ein Prinzip der Selbstorganisation, erweist sich hier als wesentliche Zutat, um den Lernprozess zu stabilisieren.

Unter Einbeziehung eines Normalisierungsterms in Formel 2 können wir die Lernregel wie folgt formulieren:

Formel 3:

wobei die Summierung im Nenner über alle Synapsen ausgeführt wird, die mit dem Ausgabeneuron verbunden sind. Für eine kleine Lernrate lässt sich diese Formel ohne grossen Präzisionsverlust vereinfachen in

Formel 4:

Die ersten beiden Terme in Formel 4 bilden die Hebb'sche Justierung von ab. Sie sorgen für die Eigenjustierung und damit für die selbstorganisierende Natur der beschriebenen Infrastruktur. Der zweite Term verhindert ein unendliches Wachstum von und stabilisiert den Algorithmus. Er transformiert in eine Form1 , die sowohl vom synaptischen Gewicht als auch vom Output abhängt.

Formel 5:

Setzen wir Formel 5 in Formel 4 ein, erhalten wir eine generalisierte Form der Lernregel:

Formel 6:

Während des Trainingsprozesses werden dem Netzwerk alle n Elemente des Eingangsvektors x präsentiert. Initialisiert man die Gewichte innerhalb dieses kleinen neuronalen Netzes mit kleinen positiven Startwerten und wählt eine hinreichend kleine Lernrate , konvergiert der Algorithmus schnell zur letztendlichen Lösung. Man kann nun den auf diesem Weg ermittelten Weight-Vektor w einfrieren, indem eine weitere Justierung der Gewichte ausgesetzt wird. Im Anschluss kann der Eingangsvektor x in das Netz geleitet werden, und wir erhalten am Ausgabeneuron eine transformierte Zeitreihe: die erste Hauptkomponente des Eingangsvektors.

Kombiniert man mehrere solcher Eigenfilter miteinander in einem 2-Layer-Netzwerk und fügt einen Konkurrenzmechanismus zwischen den Ausgabeneuronen hinzu, erhält man eine Infrastruktur, die eine vollständig selbstorganisierte Komponentenanalyse durchführen kann (siehe Bild 2).

Bild 2: Principal Component Analysis (PCA) unter Verwendung eines 2-Layer Hebb-Netzwerks. Die Eingabe- und Ausgabeneuronen verwenden lineare Aktivierungsfunktionen und sind mit Hebb-Links vollverbunden. Der vorgestellte selbstorganisierende Algorithmus extrahiert unter Verwendung des Weight-Vektors w die ersten j Hauptkomponenten aus dem Eingangsvektor x. Der resultierende - verkleinerte - Ausgabevektor y kann nun als Eingangsvektor für ein normales Backpropagation-Netzwerk verwendet werden. In unserer Implementierung sind PCA-Netz und der Verarbeitungsteil als Symbionten in einem einzigen neuronalen Softwarebaustein miteinander verbunden.

Die Gewichte werden auch hier nach einer generalisierten Form Hebb'scher Organisation angepasst:

Formel 7:

Das justierte Gewicht berechnet sich nach

Formel 8:

Formel 7 erfordert ein wenig Erläuterung. Wie im Bild 2 gezeigt, hat das PCA-Netzwerk i Inputs und j Outputs, mit i > j. Die Information fliesst vorwärts und rückwärts durch das Netz. Das Output wird auf dem Vorwärtsweg berechnet

Formel 9:

wobei der Vektor aus allen synaptischen Verbindungen besteht, die zu Neuron j hinführen. Im Gegensatz dazu ist der in Formel 9 durch repräsentierte Vektor, der Vektor aller synaptischen Verbindungen, die von einem Neuron i zu den Ausgabeneuronen führen. Unter Verwendung der oben eingeführten Notation lässt sich die Formel 7 nun wie folgt umformulieren:

Formel 10:

Auch hier steht wieder für die modifizierte Version des i-ten Elements des Eingangsvektors , das nun jedoch eine Funktion des Index j ist.

Formel 11:

Gehen wir noch einen Schritt weiter, können wir definieren:

Formel 12:

und damit Formel 7 in einer Form schreiben, die Hebb's Postulat entspricht:

Formel 13:

Im Gegensatz zum Eigenfilter, der die auf dem Vorwärtsweg gewonnenen Informationen für die Adaption der Gewichte verwendet, erfordert das PCA-Netwerk einen zusätlichen Rückfluss von Information. Der Algorithmus kann in drei Schritte unterteilt werden:

  1. Der Eingangsvektor wird nach Formel 9 vorwärts durch das Neuronengeflecht geleitet.
  2. Während des Feedback-Durchgangs iteriert man über alle Neuronen im Ausgabe-Layer sowie ihre rückwärtsgerichteten synaptischen Links2, um für jeden einzelnen dieser Links zu berechnen.

  3. Die Gewichte werden dann nach Formel 8 angepasst.

Sowohl der Hebb'sche Eigenfilter als auch das PCA-Netzwerk setzen voraus, dass der Eingangsvektor auf Durchschnitt 0 normalisiert ist. Zusätzlich kann es sinnvoll sein, eine Normalisierung auf eine Standardabweichung von 1 vorzunehmen. Der dimensional reduzierte Ausgabe-Vektor erbt die Durchschnitt-0-Eigenschaft. Die Standardabweichung der Elemente von kann hingegen variieren.

Im Allgemeinen konvergiert der Algorithmus sehr schnell. Es gibt jedoch ein ernstzunehmendes Problem: Datenfehler im Eingangsvektor wie etwa vergessene Splits auf Einzelpreise in Finanzzeitreihen können dazu führen, dass einige Gewichte aus dem Regularisierungsmechanismus ausbrechen und ins Unendliche wachsen, was den Eigenfilter oder auch das PCA-Netz zerstört. Die jeweilige Implementierung muss daher geeignete feste Limits setzen und gegebenenfalls einen Abbruch des Algorithmus herbeiführen, um solche Datenfehler abzufangen. •


  1. Die Notation wird an dieser Stelle eingeführt, um den komplexeren Fall eines vollständigen Hebb-PCA-Netzwerks verständlicher herleiten zu können.
  2. Vom Standpunkt des Programmierers sollten und als Variablen betrachtet werden. Der vorgestellte Algorithmus operiert auf dem Level des einzelnen Links und sollte daher eine Methode des Objekts sein, das einen solchen synaptischen Link repräsentiert.. Die Variable ist eine Eigenschaft des Neurons i und wird vor Beginn des Feedback-Durchlaufs auf 0 gesetzt; die Variable ist eine Temporärvariable, die lediglich eingeführt wird, um die mehrfache Berechnung von zu vermeiden..