• Keine Ergebnisse gefunden

Selbstorganisierende Merkmalskarten

Im Dokument Das "Tip of the Tongue"-Phänomen (Seite 173-179)

Beispiel 7: Sag mir alle Affenarten, die Du kennst!

5.3 Selbstorganisierende Merkmalskarten

Die selbstorganisierenden Merkmalskarten (kurz SOM für self-organizing-maps) wurden 1982 von Kohonen31 entwickelt. Der Begriff der Selbstorganisation bezieht sich auf die Tatsache, daß die Merkmalskarten von Kohonen mit einem nicht-überwachten Lernverfahren arbeiten, d.h. daß eine SOM, im Gegensatz zum BA, den gewünschten Output nicht kennen muß, um den richtigen Output zu liefern.

Ferner ergeben sich durch das Lernverfahren auf der SOM Organisationsstrukturen, die 'wie von selbst' entstehen. Wie dieses Lernverfahren funktioniert, wird im folgenden gezeigt. Zunächst wird jedoch die allgemeine Netztopologie einer SOM beschrieben.

Eine SOM besteht aus einer Eingabeschicht, über die der externe Input in das Netz eingespeist wird, und der eigentlichen Kohonenschicht, auf der der Input topographisch geordnet abgebildet wird. Die Eingabeschicht ist in der folgenden Abbildung als einzelner Eingabevektor dargestellt, kann natürlich auch komplexer gestaltet sein. Ferner ist jedes Neuron der Eingabeschicht mit jedem Neuron der

30 Erste Überlegungen zu einem 'selbstorganisierenden' neuronalen Algorithmus wurden schon einige Jahre früher angestellt. Siehe dazu: Von der Malsburg, C. (1973). Self-organization of orientation sensitive cells in the striate cortex. In: Kybernetik 14. Seite 85-100.

31 Kohonen, T. (1982a). Self-organized Formation of Topologically Correct Feature Maps. In:

Biological Cybernetics 43. Seite 59-69 und Kohonen, T. (1982b). Analysis of a Simple Self-organizing Process. In: Biological Cybernetics 44. Seite 135-140.

Kohonenschicht verbunden:

0 1 1 0 1 0 1 0 1 1

Eingabeschicht

Kohonenschicht

Abbildung 6: Vereinfachte Darstellung der Netztopologie einer selbstorganisierenden Merkmalskarte.

Der grundlegende Unterschied zu der typischen Netztopologie, wie sie oben für den BA vorgestellt wurde, besteht darin, daß die Neuronen in der Kohonenschicht alle untereinander verbunden sind, d.h., jedes Neuron der Kohonenschicht ist mit jedem anderen Neuron dieser Schicht verbunden. Das bedeutet, daß es in dieser Netztopologie laterale Verbindungen gibt. Diese lateralen Verbindungen können aktivierend oder hemmend wirken. Eine weitere, wesentliche Eigenschaft der Kohonenschicht ist, daß aktivierte Neuronen innerhalb einer bestimmten Umgebung ihre 'Nachbarneuronen' mitaktivieren, jedoch weiter entfernte Neuronen hemmen.

Diese Eigenschaft der Kohonenschicht wird laterale Hemmung genannt.32 Wie groß der Radius ist, innerhalb dessen die laterale Hemmung wirkt, ist modellabhängig und variabel.

32 Es konnte nachgewiesen werden, daß bestimmte Neuronen des Neokortex auf diese Weise miteinander interagieren, d.h. laterale Hemmungsmechanismen aufweisen. Siehe dazu: Spillmann, L.

& Werner, J.S. (1990). Visual Perception.

Wie wird nun festgestellt, welches Neuron der Kohonenschicht auf einen bestimmten Input am stärksten reagiert? Um das Neuron zu ermitteln, welches auf einen an das Netz angelegten Eingabevektor am stärksten reagiert, wird die Ähnlichkeit des aktuell anliegenden Eingabevektors mit den Gewichten zwischen Eingabeschicht und Kohonenschicht verglichen. So gesehen stehen die Neuronen in einer Art Wettbewerb untereinander, indem sie um die Aktivierung konkurrieren, weshalb in diesem Zusammenhang auch von Wettbewerbslernen33 gesprochen wird.

Die Ähnlichkeit zwischen Eingabevektor und den Gewichten zwischen Eingabeschicht und Kohonenschicht kann dabei über ein Abstandsmaß zwischen den Vektoren ermittelt werden.34 In Kohonennetzen werden vektorielle Ähnlichkeiten i.d.R. über den euklidschen Abstand berechnet. Beim euklidschen Abstand wird die Wurzel aus den summierten Quadraten der Differenzen der einzelnen Komponenten der beiden Vektoren gezogen. Folgende Formel zeigt die Berechnung des euklidschen Abstandes (hier als 'dist' bezeichnet) zwischen den Vektoren e und v.

Bei dem Neuron, bei dem dieser Abstand am kleinsten ist, ist die Ähnlichkeit zwischen dessen Gewichten und dem Eingabevektor am größten. Dieses Neuron wird als 'Siegerneuron' bezeichnet. Eine Besonderheit des Lernverfahrens ist, daß nicht nur an den Gewichten des Siegerneurons, sondern auch an den Gewichten der benachbarten Neuronen gelernt wird. Das Siegerneuron samt der umliegenden Neuronen, die mitaktiviert werden, wird als Erregungszentrum bezeichnet. Gelernt wird, indem die Gewichte, die dem Eingabevektor am ähnlichsten sind, durch eine Lernregel dem Eingabevektor noch ähnlicher gemacht werden, wodurch gewährleistet wird, daß beim nächsten Anlegen eben dieses Eingabevektors mit noch größerer Wahrscheinlichkeit wiederum diese Neuronen am stärksten darauf reagieren. Da jedes Neuron der Kohonenschicht sowohl die Aktivierungen der

33 Für einen Überblick über die verschiedenen Formen des Wettbewerblernens siehe: Nauck, D. &

Klawonn, F. & Kruse, R. (1994). Kapitel 7.

34 Für weitere Möglichkeiten, Vektoren miteinander zu vergleichen (z.B. Skalarprodukt, Hammingabstand etc.), sowie die mathematische Herleitung von vektoriellen Abstandsmaßen siehe:

Kohonen, T. (1995). Self-Organizing Maps. Kapitel 1.

Neuronen der Eingabeschicht als auch der anderen Neuronen der Kohonenschicht als Input bekommt, muß für die Neuronen der Kohonenschicht die Rückkopplung zwischen diesen Neuronen mitberechnet werden. Dies geschieht mittels eines sogenannten Rückkopplungsskoeffizienten rij, wobei rij für die Verbindung von Neuron i zu Neuron j steht. Der Rückkopplungsskoeffizient errechnet sich folgendermaßen:

rij = exp ( - | ni - nj |2 / ( 2 * σ2 ) )

Durch diese Funktion wird eine Aktivitätskurve beschrieben, wobei die Variable σ (sigma) die Form der Aktivitätskurve beeinflußt, d.h., über σ kann die Größe des Wirkungsradius der Rückkopplung bestimmt werden. Durch den Rückkopplungskoeffizienten ist das Prinzip lateraler Hemmung realisiert, d.h., für kurze Distanzen vom Siegerneuron aus ist die Aktivierung erregend, für lange Distanzen jedoch hemmend.

Nachdem nun ein Mechanismus zur Ermittlung des Siegerneurons bzw. des Erregungszentrums zur Verfügung steht, bleibt nur noch das eigentliche Lernverfahren zu klären. Wie bei den meisten KNN-Systemen wird auch hier mit einer von der Hebbschen Lernregel abgeleiteten Funktion gearbeitet. Die Lernregel in einem Kohonennetz sieht folgendermaßen aus:

wik (neu) = wik (alt) + ε * rij * ( ek - wik (alt) ). (ε > 0)

Die Formel zeigt, wie der neue Wert für wik (neu) berechnet wird. Zu dem alten Gewicht wik (alt) wird der Ausdruck ε * rij * ( ek - wik (alt) ) addiert. In diesem Ausdruck wird zunächst durch ( ek - wik (alt) ) festgestellt, wie stark die Abweichung des Eingangssignals ek von dem jeweiligen alten Gewicht wik (alt) ist. Dadurch wird bewirkt, daß bei starken Abweichungen große Veränderungen und bei kleinen Abweichungen kleine Veränderungen vorgenommen werden. Daraufhin wird mit dem Rückkopplungskoeffizienten rij multipliziert. Dies bewirkt, daß der Lerneffekt umso stärker ist, je näher sich das betrachtete Neuron am Erregungszentrum befindet. Schließlich wird noch mit der Lernrate ε multipliziert, wodurch reguliert wird, wie stark die Veränderung pro Iterationsschritt ist, d.h., wie schnell gelernt wird. Nach jedem Lernschritt werden die Gewichte des Siegerneurons und dessen

'Nachbarneuronen' dem aktuell anliegenden Eingabevektor ähnlicher. Dieser Lernschritt muß nun iteriert werden, wobei die Anzahl der zum Lernen aller Eingabevektoren nötigen Lernschritte von der Anzahl der Eingabevektoren und der Menge der Neuronen der Kohonenschicht abhängt. Das Lernverfahren für eine selbstorganisierende Kohonenkarte kann folgendermaßen zusammengefaßt werden:

[1] Lege den Wert 'sigma' für den Rückkopplungskoeffizienten fest.

[2] Wähle alle Anfangsgewichte wik durch Zufallszahlen.

[3] Lege mit der Wahrscheinlichkeit von p(e) einen Eingangsvektor e an.

[4] Suche Neuron j, das am stärksten auf den Eingansvektor reagiert.

[5] Verbessere alle Gewichte wik (in) durch

wik (in, neu) = wik(in, alt) + ε * rij * ( ek - wik(in, alt) ). (ε > 0) [6] Weiter bei [3].

Durch dieses Lernverfahren werden Ähnlichkeiten in den Eingabevektoren extrahiert und auf der Kohonenkarte abgebildet. Dieser Sachverhalt soll durch ein sehr einfaches Beispiel verdeutlicht werden. Gegeben sei ein Kohonennetz mit nur einem Eingabeneuron und sieben mal sieben Neuronen in der Kohonenschicht.

Dem Netz werden als Eingabewerte die Zahlen 1 bis 5 dargeboten, wobei ein Zufallsgenerator bei jedem Iterationsschritt entscheidet, welche Zahl an das Netz angelegt wird (Schritt [3]). Die Lernrate epsilon nehme den Wert 0,9 an. Die Variable sigma des Rückkopplungskoeffizienten sei 2.0. Die folgenden Tabellen geben die Sicht auf die synaptischen Verbindungen zwischen den Neuronen der Eingabeschicht und den Neuronen der Kohonenkarte wieder. In Tabelle 1 sind die Werte noch zufällig verteilt. Tabelle 2 zeigt die Werte nach einigen Iterationen:

0 1 4 1 1 2 0 2 2 4 1 2 2 1

3 0 1 4 1 4 1 3 2 2 3 2 3 2

4 1 0 1 3 0 2 3 2 1 1 3 1 2

3 3 1 2 3 1 4 3 3 1 2 3 1 3

1 1 3 1 0 2 2 1 1 3 1 0 2 2

3 3 1 1 1 2 2 1 1 1 1 1 1 2

0 0 3 2 1 1 2 0 0 2 1 1 1 1

1) Anfangszustand 2) Werte nach 5 Iterationsschritten

3 4 4 3 2 2 1 4 4 4 3 3 2 2

3 3 3 4 2 3 2 4 4 3 3 3 2 2

3 3 3 2 3 1 2 4 4 3 3 3 2 2

3 3 3 2 3 1 3 4 3 3 3 2 2 2

2 2 3 2 1 1 2 3 3 3 2 2 2 1

1 2 1 1 1 1 1 0 0 0 1 1 1 1

0 0 2 1 1 1 1 0 0 1 1 1 1 1

3) Werte nach 10 Iterationsschritten 4) Werte nach 20 Iterationsschritten

Abbildung 7: Betrachtung der Gewichte zwischen Eingabeschicht und Kohonenschicht zu vier verschiedenen Zeitpunkten.

Diese 'Momentaufnahmen' der synaptischen Gewichte zeigen, wie sich innerhalb weniger Lernschritte eine Ordnungsstruktur auf der Kohonenschicht bildet. Da die Lernrate epsilon für dieses Beispiel mit 0,9 sehr hoch gewählt wurde, waren nur wenige Iterationsschritte nötig, um die Ordnungsstruktur hervorzurufen. Die Gewichte weisen jedoch nicht nur eine topographische Abbildung des Inputs auf, sondern zeigen auch Häufigkeitseffekte. Da sich nach jeder Darbietung eines Inputs die Karte durch die synaptischen Reaktionen leicht verändert, wird die Häufigkeit, mit der ein bestimmter Input der Karte dargeboten wurde, über die Größe der Repräsentationsfläche des Inputs widergespiegelt. So ist beispielsweise die Zahl 3 in Tabelle 4 stärker repräsentiert als die Zahl 0, was darauf schließen läßt, daß dem Netz die 3 häufiger dargeboten wurde. Damit ist die prinzipielle Funktionsweise einer selbstorganisierenden Kohonenkarte aufgezeigt. Im folgenden Kapitel wird gezeigt, wie Ritter & Kohonen diese Funktionsweise dazu benutzt haben, um

semantische Merkmalsvektoren in einem Kohonennetz zu repräsentieren.

Im Dokument Das "Tip of the Tongue"-Phänomen (Seite 173-179)