Selbstorganisierende Karten Vorlesung Maschinelles Lernen II Dr. Theo Lettmann Oliver Kramer 22. Mai 2006
Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 2
Grundlagen der Neuronalen Informationsverarbeitung Künstliches Neuron Soll echtes biologisches Neuron nachbilden Durch Synapsen mit anderen Neuronen verbunden Eingabeverbindungen sind gewichtet Neuron reagiert auf Eingabe durch eine bestimmte Ausgabe (meist [0,1]) Typen von künstlichen Neuronalen Netzen Perzeptron Backpropagation-Netz (Multi-Layer-Perzeptron) Hopfield-Netz Selbstorganisierende Karten Neuronales Gas 3
(Un-)Überwachtes Lernen Überwachtes Lernen: Es gibt eine Menge an Testeingaben, für die die richtigen Ausgaben bekannt sind. Ein NN wird mit den Testeingaben konfrontiert und solange berichtigt/verändert, bis es die richtigen Ausgaben liefert. Hoffnung: Das Netz hat abstrahiert und kann dann auch auf unbekannte Eingaben richtig reagieren. Unüberwachtes Lernen: Dem Netz werden willkürlich Eingaben präsentiert. Das Netz lernt selbstständig wie die Daten beschaffen sind und passt sich an diese an. Nach dem Lernvorgang kann man analysieren, wie das Netz auf bestimmte Eingaben reagiert. 4
Neurologische Grundlagen Karten im Gehirn z.b. Sensorischer Kortex Benachbarte Bereiche entsprechen benachbarten Sinnen Sensorische Reize erzeugen Reaktionen auf den entsprechenden Bereichen Bereiche, die häufiger angesprochen werden sind größer und daher genauer. Die Zuordnung passt sich an! 5
Mögliche Nutzung Karten im Gehirn bilden komplexe Sensorinformationen auf eine 2D-Struktur ab, wobei ähnliche Informationen nebeneinander liegen. Dimensionsreduktion Datenanalyse Clustering Ähnlichkeitsgraphen Bestimmte Bereiche antworten auf bestimmte Reize Klassifikation Abstrahierung der Informationen Lernen Wichtige/Häufige Informationen werden durch größere Bereiche abgebildet Optimierung der Ressourcen zur Abbildung der Daten Erkennen wichtiger Informationen 6
Teuvo Kohonen "Erfinder" der selbstorganisierenden Karten oder SOM (auch Kohonen Karten) SOM veröffentlicht 1982 Geb. 11. Juli 1934 in Finnland Forschung auf den Gebieten: Selbstorganisation Vektorquantifizierung (LVQ) Neuronale Netze SOM 7
Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 8
Modellbildung Natürliches Vorbild wird vereinfacht Einfache Struktur der Neuronenschicht (z.b. Gitter) Eingabe: Vektor aus v = (v 1,,v n ) n Jedes Neuron hat Gewichtsvektor w = (w 1,,w n ) n Je näher die Gewichte w mit v übereinstimmt, desto erregter ist das Neuron Idee: Benachbarte Neuronen sollten auf ähnliche Signale ansprechen Erregungszentrum Ritter et al. Neuronale Netze, Addison Wesley 9
Genauere Definition Neuronen liegen im 2 Jedes Neuron kann über eine eindeutige Position r =(x r, y r ) 2 identifiziert werden. A bezeichnet die Menge aller Neuronen. Die Neuronen befinden sich auf einer genau definierten Struktur (Quadratisches Gitter, Hexagonales Gitter, ) Bemerkung: Die Neuronen verändern niemals ihre Position. (0,1) (0,2) (0,4) (0,0) (0,1) (0,2) (1,0) (1,3) (1,0) (1,1) (1,2) (3,0) (2,1) (2,2) (3,3) (2,4) (2,0) (2,1) (2,2) (4,1) (4,2) (4,4) 10
Genauere Definition (II) Sei n + eine positive natürliche Zahl. Für eine Eingabemenge V gilt: V ist ein Vektorraum (meist V n ) Jedes Neuron r A besitzt einen eigenen Gewichtsvektor w r = (w r1,,w rn ) n Für einen Eingabevektor v V ist genau das Neuron r' A das Erregungszentrum für das gilt. "Das Neuron mit mit dem ähnlichsten Gewichtsvektor gewinnt" 11
Genauere Definition (III) Für die Bestimmung des Erregungszentrums r' wird die Funktion φ:v A definiert als Damit gilt 12
Neuronenerregung Die Erregung eines Neurons r A bei einem Erregungszentrum r' A wird durch die Funktion h r' (r) berechnet. Es gibt verschieden Möglichlichkeiten für h r' (r), z.b. Gaußglocke mit Radius σ Mexican Hat mit Radius σ 13
Neuronenerregung (II) 14
Der Lernalgorithmus 1. Initialisierung: Starte mit einem geeigneten Netz und geeignet gewählten Gewichten für die Neuronen (meist zufällig) 2. Stimuluswahl: Wähle anhand der Wahrscheinlichkeitsdichte P(v) einen zufälligen Vektor v V 3. Antwort: Bestimme das Erregungszentrum r' =φ(v), also gemäß 4. Adaption: Passe die Gewichte aller Neuronen an gemäß 15
Der Adaptionsschritt 16
Der Adaptionsschritt (II) Verschiebung der Gewichte in Richtung des Eingabevektors Verschiebung stärker bei hoher Erregung des Neurons hoher Schrittweite γ v (v) Alle Neuronengewichte werden entsprechend der Erregung verschoben. w r' w r' V A 17
Schrittweite γ Normalerweise γ [0,1] Hohe Schrittweite Schnelle Adaption Verstärkte Auswirkung auch auf entfernternte Neuronen "Schnelleres aber chaotischeres Lernen" Niedrige Schrittweite Langsame Adaption "Langsames aber ausgeglichenes Lernen Häufige Einstellung Anfangs hohe Schrittweite Schrittweite wird im Laufe des Lernprozesses kleiner 18
Voronoi-Regionen Nach dem Lernvorgang kodiert jedes Neuron einen bestimmten Teilraum von V. Diese Regionen heißen Voronoi-Regionen. Alle Werte in einer Voronoi- Region werden dem entsprechenden Neuron zugeordnet. V Für das Neuron r V ist diese Region V r definiert als 19
Beispiel V = 3 (0,0,0) (1,0,1) r 1 = (0,0) r 2 = (0,1) v = (0,0.3,0) Distanzen: (0,1,0) (1,1,1) r 3 = (1,0) r 4 = (1,1) Annahme: γ = 1 und 20
Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 21
Anwendungsbeispiel: Farben Ziel: Dimensionsreduktion 3D 2D V = [0,1] 3 (rot, grün, blau) 50x50 Neuronen, zufällig initialisiert Benachbarte Neuronen haben ähnliche Farbe Tom Germano, http://davis.wpi.edu/~matt/courses/soms/applet.html 22
WEBSOM http://websom.hut.fi 1996 von Kohonen et al. Analyse von sehr großen Textdatenbanken Wörter werden kodiert als Elemente aus 90 Zu jedem Wortvorkommen werden die beiden Nachbarworte betrachtet. Diese Wort-Triplets werden an ein SOM übergeben V 270 23
WEBSOM (II) Label eines Neurons: Erneute Propagation der Textstellen Hauptwörter, auf die dieses am stärksten reagiert werden dem Neuron zugeordnet SOM wurde mit den Beiträgen der Newsgroup comp.ai.neuralnets (1 124 134 Dokumente) gefüttert: Artikel "a", "the" rausgefiltert Sehr seltene Worte rausgefiltert Ergebnisse: Wörter die in ähnlichen Kontexten stehen sind nah beieinander Synonyme meist auf demselben Knoten Wörter die eine Kategorie bilden meist auf demselben Knoten 24
WEBSOM (III) T. Kohonen et al.: Exploration of Very Large Databases by Self-Organizeng Maps, ICNN'97 25
Dokumentenklassifizierung mit dem WEBSOM Für ein Dokument kann ein "Fingerabdruck" wie folgt erstellt werden: Präsentiere alle Worttripel dem SOM Bilde ein Histogramm aus den relativen Häufigkeiten Diese Fingerabdrücke können durch ein zweites SOM gelernt werden. Neuronen stehen hier für Dokumente der gleichen Klasse Durch das Hintereinanderschalten der SOMs kann man zu bestimmten Begriffen passende Dokumente finden. T. Kohonen et al.: Exploration of Very Large Databases by Self-Organizeng Maps, ICNN'97 Bei Präsentation eines Neuen Dokumentes, werden die Neuronen erregt, die ähnliche Dokumente beinhalten 26
Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 27
2-dimensionale Eingaberäume Spezialfall: V 2 Vereinfachte Visualisierung: Die Gewichte der Neuronen bestimmen die Position im 2 VORSICHT: Die eigentlich Position der Neuronen bleibt unverändert. Besonders geeignet zur Betrachtung des SOM-Lernprozesses und der Auswirkungen der Parameter darauf 3 (1,3) r 1 = (0,0) (2,3) r 4 = (1,1) (1,3) r 1 = (0,0) (1,1) r 2 = (0,1) 2 (2,2) r 3 = (1,0) (2,2) r 3 = (1,0) (2,3) r 4 = (1,1) 1 (1,1) r 2 = (0,1) 0 1 2 28
Lernprozess Adaptionsschritt: Bei Veränderung der Gewichte wird die Position geändert Nachbarneuronen werden wie an "Gummiseilen" mitgezogen (Einfluss von h r' (r)) Sehr anschaulich 29
Ausfüllen einer Fläche Häufige Testlernaufgabe Gegeben: Fläche in 2 Zufällig inititalisiertes SOM Dem Netz werden gleichverteilte Punkte aus der Fläche präsentiert Ziel: Möglichst gute Abdeckung der Fläche durch das SOM Benachbarte Neuronen in ähnlichen Regionen 30
Typischer Verlauf Ritter et al. Neuronale Netze, Addison Wesley 31
Unterschiedliche Ausprägungen Fehlerhafte Entfaltung Unterschiedliche Dichten Ritter et al. Neuronale Netze, Addison Wesley 32
Erweiterte Adaptionsfunktion Zur Verbesserung des Lernverhaltens werden zeitabhängige Werte benutzt für: Schrittweite γ Radius der Erregungsfunktion σ Beispiel: 33
Beispielprogramm http://www.neuroinformatik.ruhr-uni-bochum.de/vdm/research/gsn/demogng/gng.html 34
Das Traveling Salesman Problem Kürzeste Rundtour durch n Städte Lösung durch 1-dimensionales SOM Neuronen sind an einer Kette oder Ring angeordnet Neuronen haben feste Reihenfolge Folge von Neuronen entspricht Folge von Stationen in V SOM-Lernalgorithmus = Finde einen Weg in V P : V [0,1] regelt, welche Regionen in V für das SOM wichtig sind. Städte, die nah beieinander liegen sind aus Sicht des SOMs ähnlich. Benachbarte Neuronen liegen auf nah zueinander liegenden Städten 35
SOM-Lösungsansatz V = 2 k Städte v 1,,v k V Als Eingaben werden dem SOM die Städte präsentiert. 36
Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 37
Grundlagen Martinetz & Schulten, 1991 Erweiterung des SOM um wechselnde Verbindungen Nachbarneuronen bestimmen sich aus dem Abstand der Gewichte. Verbindungen gehen nach einer bestimmten Zeit verloren v Neue Verbindungen entstehen zwischen Gewinnerneuron und dem zur Eingabe zweinahesten Neuron. Vorteil: Freiere Struktur Bessere Adaption Nachteil: Keine 2D-Abbildung V 38
Genaue Definition Eingaberaum V n Es gibt k Neuronen r 1,,r k mit Gewichten w 1,,w k V Die Matrix C = (c i,j ) 1 i,j k 0 k k bestimmt die Verbindungen mit Es wird normalerweise nur die obere Dreiecksmatrix benutzt. Die Lebenszeit neuer Verbindungen wird jeweils um c max erhöht. 39
Lernalgorithmus 1. Initialisiere w 1,,w k mit geeigneten Werten und setze C = 0 2. Wähle anhand der Wahrscheinlichkeitsdichte P(v) einen zufälligen Vektor v V. 3. Bestimme den Abstand aller Neuronen zu v. 4. Bestimme für alle Neuronen r 1,,r k den Wert 5. (Adaption) Passe dir Gewichte aller Neuronen an gemäß: 6. Erhöhe die Lebenszeit der Verbindung des Gewinnerneurons zum zweiten Neuron um c max. 40
Der Adaptionsschritt Neuer Gewichtsvektor Anzahl an Neuronen die näher an v sind als r i Verschiebung in Richtung v Alter Gewichtsvektor 1 "Radius" der Erregung Lernrate / Schrittweite 1/e λ 41
Beispiel V = 3, v = (0,0.3,0) Annahme: γ = 1, λ = 2 42
Die Verbindungsmatrix C Wozu wird die Verbindungsmatrix C gebraucht? Durch Anpassung von C werden die Neuronen in Relation gebracht Für den durch C gegebenen Graphen am Ende des Lernvorgangs gilt Nachbarn besitzen ähnliche Eigenschaften Nicht verbundene Knoten sind unterschiedlich Ersatz für die Gitterstruktur des SOMs Nachteil: Fehlende Übersichtlichkeit 43
Erweiterte Adaptionsfunktion Zur Verbesserung des Lernverhaltens werden zeitabhängige Werte benutzt für: Schrittweite γ Radius der Erregungsfunktion λ Beispiel: 44
Beispielprogramm http://www.neuroinformatik.ruhr-uni-bochum.de/vdm/research/gsn/demogng/gng.html 45
Anwendungsbeispiel: Länderarmut Statistiken der Weltbank von Ländern der Erde n=39 Kategorien (Gesundheitsweisen, Bildungsstand, Ernährung, ) Nach dem Lernvorgang: Länder wurden dem Neuron mit dem ähnlichsten Gewichten zugeordnet Farbunterschied zwischen den Neuronen entspricht Gewichtsunterschied http://www.cis.hut.fi/research/som-research/worldmap.html 46