Sie sind hier: JD Web Pages > Themen > mindrobots > Einleitung in Self Organizing Maps
Hallo Gast, Sie sind nicht angemeldet.
Computer Vision / Talk 16-12-09 24.01.201013:23 Uhr

Einleitung in Self Organizing Maps

Nachdem in den vorigen Artikeln beschrieben wurde, wie die Aktionsklassifizierung über Event Tables funktionieren soll, geht es nun um das zugehörige Learning-Problem.

Eine verbreitete Learning-Methode sind Neuronale Netze (NN). Im Folgenden geht es um eine besondere Form von NN, nämlich um Self Organizing Maps (SOM).

SOMs bilden mathematisch gesehen einen hochdimensionalen Vektorraum in einen niedrigdimensionalen (in der Regel zweidimensionalen) Raum ab. Man kann beispielsweise ein SOM konstruieren, das Farben (bestehend aus den drei Komponenten Rot, Grün, Blau) auf einer Fläche anordnet. Die besondere Eigenschaft hierbei ist, das Nachbarschaftsbeziehungen erhalten bleiben.

Die Idee von SOMs ist wie so oft der Natur entnommen. Bei Untersuchungen am Gehirn hat sich herausgestellt, dass dort viele Strukturen die Form einer Fläche haben, obwohl die verarbeiteten Signale höherdimensional sind.

Dennoch stellen SOMs, wie sie im Bereich der der Künstlichen Intelligenz verwendet werden, entsprechend ein künstliches NN dar, bei dem die Art der Verarbeitung/Organisation der Daten eine Rolle spielt, jedoch nicht die Umsetzung/Simulation im Sinne einer Nachbildung des biologischen Vorbildes.

Ein SOM besteht aus mehreren in einer Ebene angeordneten Neuronen. Das Neuron selbst besteht aus nichts Weiterem als einem Ort (x,y) sowie aus einem Gewichtsvektor w, der anfänglich einen zufälligen Wert hat. Dieser Vektor hat die Dimension des Ausgangsraumes, im obigen Beispiel mit den Farben wäre er also dreidimensional.

 

Durch einen speziellen Lernalgorithmus werden die Gewichtsvektoren, die momentan zufällige Werte haben, anhand der Eingabedaten so verändert, dass sich benachbarte Vektoren ähneln und mit größerem Abstand stärker unterscheiden.

Um das Netz derart zu trainieren, wird ein Satz von Trainigsdaten benötigt. Beim Trainieren von neuronalen Netzen unterscheidet man immer zwischen Trainigsdaten und Testdaten. Das trainierte Netz soll in der Lage sein, auch (Test-)Eingaben, die in den Trainingsdaten nicht vorhanden waren, richtig zu verarbeiten. Ist dies nicht der Fall, so wurde das Netz entweder nicht lange genug trainiert oder die Trainingsdaten waren nicht repräsentativ genug. Man könnte auch das Netz mit allen möglichen Eingabevektoren trainieren, aber das käme einem "auswendig lernen" gleich. Bei sehr vielen Daten ist der Aufwand hierfür zu groß - abgesehen davon ist der akademische Anspruch, dem Computer mit nur einigen Beispielen etwas beizubringen, was er dann auf unbekannte Daten anwendet.

Während des Trainigsvorgangs sucht man für den ersten Trainingsvektor, welches Neuron den ähnlichsten Gewichtsvektor besitzt. Hierfür verwendet man meist den euklidischen Abstand zwischen Trainigs- und Gewichtsvektor und sucht entsprechend das Neuron mit dem kleinsten Abstand. Dieses Neuron wird Best Matching Unit (BMU) genannt. Anschließend wird der Gewichtsvektor der BMU sowie die der umliegenden Neuronen so angepasst, dass sie eine etwas geringere Differenz aufweisen, also ähnlicher werden. Der Einfluss auf die benachbarten Neuronen nimmt mit zunehmendem Abstand von der BMU ab.

Dieser Vorgang wird für alle übrigen Trainingsvektoren durchgeführt, bei ihnen ergeben sich natürlich andere BMUs. Insgesamt finden mehrere Durchläufe durch die Trainigsdaten statt, bei denen der Einfluss auf die Gewichtsvektoren immer weiter abnimmt, bis irgendwann am Ende das Netz fertig trainiert ist.

Sucht man jetzt die BMUs für zwei ähnliche Eingabevektoren, so liegen sie eng beieinander. Es kann sogar sein, dass beide Eingabevektoren auf dieselbe BMU zugeordnet werden. In diesem Fall kam einer der beiden Vektoren in den Trainigsdaten viel seltener vor, sodass sich in der Map kein separates Zentrum für ihn ausgebildet hat.

Dies ist eine der Stärken von SOMs: Bereiche, in denen viele verschiedene, aber ähnliche Trainingsvektoren vorhanden sind, erstrecken sich über eine größere Fläche, während kleine Ausnahmevektoren von wenigen Neuronen repräsentiert werden.

  •  
  • Kommentar schreiben
  •  
Ich möchte über jeden weiteren Kommentar in diesem Post benachrichtigt werden.

Zurück