Vorweg, es schwierig ist, zu bestimmen, was man unter der hebbschen Lernregel verstehen will. Schon der kleine Überblick in Rumelhart et al.(1986) [101]:S.53,62f zeigt, dass es einige Varianten gibt.
Betrachten wir als Anwendungsfall einen linearen Assoziator, dann haben wir es nach Jordan (1986) in [101]:Kap.9 mit einem Inputvektor , mit einem Gewichtsvektor (als Vektor in einer Matrix W), und mit einem Outputwert (bei mehreren Outputs auch ein Vektor) zu tun, die so verknüpft werden,
(6.21) |
dass u den 'Bildbereich' der Vektormultiplikation von darstellt. Dies bedeutet, dass die Anwendung des Vektorprodukts den größten Wert dort besitzt, wo der Inputvektor v und der Gewichtsvektor w die größte Übereinstimmung aufweisen. Beispiel mit einem Gewichtsvektor :
-->IN2 IN2 = 0. 0. 1. 0. 0. 1. 1. 1. -->W=[1 1] W = 1. 1. -->for i=1:4, v=IN2(i,:), w=W,[u]=vecprod(v,w),end v = 0. 0. w = 1. 1. u = 0 <--- v = 1. 0. w = 1. 1. u = 1 <--- v = 0. 1. w = 1. 1. u = 1 <--- v = 1. 1. w = 1. 1. u = 2 <---
Die Bildmenge des Vektorproduktes ergibt eine geordnete Menge {0,1,2} und im einfachen Fall kann man diese geordnete Menge einfach aufteilen in eine Menge unterhalb bzw. oberhalb eines bestimmten Schwellwertes . Mit Schwellwert könnte man ein logisches Oder (OR) selektieren, mit Schwellwert ein logisches Und (AND). Ein logisches exklusives Oder (XOR) wäre auf diese Weise aber nicht beschreibbar, da man dann einen Abschnitt in diesem Kontinuum definieren müsste. Mit einem einzigen Schwellwert geht dies nicht. Würde man mehr als einen Schwellwert benutzen, dann könnte man allerdings sehr wohl Abschnitte definieren. Beispiel: wenn man die Aktivierungsfunktion so schreiben würde, dass der Bildbereich mehrfach 'zerlegt' wird, dann könnte man natürlich auch ein XOR realisieren, z.B.
Für den Fall des XOR würde man dann annehmen, dass gilt und . In diesem Fall könnte der Gewichtsvektor bei dem Inputvektoren eine '1' liefern und bei eine '0'.
Man kann hier erkennen, dass die Einbeziehung eines Schwellwertes den rein vektoriellen Sachverhalt durch zusätzliche Informationen ergänzt.
Würde man mit einer hebbschen Lernregel arbeiten wollen, die keinerlei Bezug nimmt auf Schwellwerte, dann müsste man mit Neuronen arbeiten, die keinen Schwellwert besitzen. In diesem Fall könnten nur solche Inputvektoren unterschieden werden, die sich rein vektoriell im Bildbereich des Vektorproduktes unterscheiden lassen. Dies sind entweder nur Vektoren, die orthogonal zueinander sind (also Basisvektoren darstellen), oder solche, die eine Einheitslänge aufweisen mit .
Im Folgenden benutzen wir die folgende Version einer hebbschen Regel:
Diese vereinfachen wir zu:
Der neue Gewichtsvektor errechnet sich dann aus dem alten Gewichtsvektor 'angereichert' um die aktuelle 'Differenz' . Diese Differenz ist entweder (i) '0', wenn aktueller Aktivierungswert identisch ist mit dem aktuellen Teachingwert , oder '+1', wenn der aktuelle Aktivierungswert kleiner ist bzw. '-1' wenn der aktuelle Aktivierungswert größer ist.