Wismar Business School Wissensextraktion mittels künstlicher neuronaler Netze Wettbewerbslernen Uwe Lämmel www.wi.hs-wismar.de/~laemmel [email protected] Neuronale Netze - Wettbewerbslernen Folie 1 Inhalt Wettbewerbslernen Selbstorganisierende Karte Neuronale Gase Adaptive Resonanz Theorie Neuronale Netze - Wettbewerbslernen Folie 2 Wettbewerbslernen Aktivierung eines Neurons nicht nur von Eingabe abhängig Vergleich mehrere Neuronen notwendig Netzausgabe durch ein Gewinner-Neuron Architektur: k-dim. Eingabevektor x Ziel: ähnliche Eingabe auf benachbarte Neuronen abbilden N Neuronen, Gewinnerneuro n nx Neuronale Netze - Wettbewerbslernen Folie 3 Wettbewerbslernen: Voronoi-Mosaik •Voronoi-Tesselation • Voronoi-Mengen eines Neurons s: Menge aller Punkte, für die das Neuron s das Gewinner-Neuron ist Referenzvektor Ähnliche Eingaben auf benachbarte Neuronen abbilden Neuronale Netze - Wettbewerbslernen Folie 4 Netze und Verfahren Architektur fest – SOM – Neuronales Gas – LBG variabel – Wachsende Neuronale Gase – Wachsende Zellstrukturen Lernverfahren hart – nur Gewinner–Neuron wird adaptiert: – LBG weich – auch andere Neuronen modifizieren: – SOM, – Neuronale Gase, – wachsende Zellstrukturen Neuronale Netze - Wettbewerbslernen Folie 5 Inhalt Wettbewerbslernen Selbstorganisierende Karte Neuronale Gase Adaptive Resonanz Theorie Neuronale Netze - Wettbewerbslernen Folie 6 Selbstorganisierende Karten (SOM) Fähigkeit des Gehirns zur Selbstorganisation nachbilden räumliche Lage eines Neurons im Kopf bedeutend (wurde bisher vernachlässigt) existieren Beziehungen räumlicher Art zur Umgebung Kohonen Feature Map zweischichtiger Muster-Assoziator Eingabe-Schicht voll vernetzt mit Karten-Schicht Neuronen der Karten-Schicht untereinander voll vernetzt (virtuell) Neuronale Netze - Wettbewerbslernen Folie 7 Clusterung Ziel: Alle Eingaben einer Klasse werden auf genau ein Neuron abgebildet f ai Ausgabe B Eingabemenge A Problem: Klassifikation im Eingaberaum allgemein nicht bekannt. Netz nimmt eine Clusterung vor. Neuronale Netze - Wettbewerbslernen Folie 8 Gewinner-Neuron Winner Neuron InputLayer Kohonen- Layer Neuronale Netze - Wettbewerbslernen Folie 9 Lernen in SOM 1. Wahl einer Eingabe k zufällig aus dem Problemraum 2. Das Neuron z mit maximaler Erregung wird bestimmt 3. Anpassung der Gewichtsvektoren in der Nachbarschaft von z: Neuronen i innerhalb eines Radius r von z. 4. Stopp – falls gewünschte Zahl von Lernzyklen erreicht, Sonst – Lernfaktor und Radius verkleinern und mit 1. fortfahren. Neuronale Netze - Wettbewerbslernen Folie 10 Erregungszentrum Prinzip: Neuronen (-gruppe) mit starker Erregung hemmen Gruppen in der Umgebung, um eigene Wirksamkeit zu erhöhen! Problem: Finden des Erregungszentrums – 2 Möglichkeiten: Neuron j mit maximalen Nettoinput w iz i oi max j w ij oi i Neuron j, dessen Gewichtsvektor wj der Eingabe am ähnlichsten ist (euklidischer Abstand): z: x - wz = minj x - wj Neuronale Netze - Wettbewerbslernen Folie 11 Anpassen der Gewichte Gewichte zu Neuronen innerhalb eines Radius r werden erhöht: wij h jz (mi wij ), wij wij sonst Kohonen benutzt Funktion : Mexican-Hat-Annäherung 1 0,5 h jz e 3 2 1 0 -1 -2 0 -3 Grad der Beeinflussung durch den räumlichen Abstand zum Erregungszentrum? Lernrate (t) sowie Radius r(t) laufen gegen null falls dist ( j, z ) r dist( j , z ) 2 2r 2 Neuronale Netze - Wettbewerbslernen Folie 12 SOM Training – Summary find the winner neuron z for an input pattern p (minimal Euclidian distance) input pattern mp min m p W j m p W z j Wj Kohonen layer adapt weights of connections input – neurons to – winner neuron wij h jz (mi wij ) , if dist( j, z ) r / wij – neighbours dist( j , z ) 2 w , otherwise ij h jz e 2r 2 Reduce and r (see parameter (H) and (R) in JavaNNS – Kohonen Randomize training patterns Neuronale Netze - Wettbewerbslernen Folie 13 Beispiel Bankkunde A1: Kredit Geschichte A2: Schulden A3: Sicherheiten A4: Einkommen Klassifikation bleibt unbeachtet SOM nimmt Clusterung vor Neuronale Netze - Wettbewerbslernen Folie 14 Bank-Kunde gut = {5,6,9,10,12} normal = {3, 8, 13} schlecht= {1,2,4,7,11,14} Neuronale Netze - Wettbewerbslernen Folie 15 Credit Scoring Pascal tool box (1991) 10x10 neurons 32,000 training steps Neuronale Netze - Wettbewerbslernen Folie 16 Visualisation of a SOM Colour reflects Euclidian distance to input Weights used as coordinates of a neuron Colour reflects cluster NetDemo ColorDemo TSPDemo Neuronale Netze - Wettbewerbslernen Folie 17 Das Rundreiseproblem Travelling Salesman Problem (TSP): Es sind mehrere Orte zu besuchen und danach ist zum Ausgangsort zurückzukehren. Welches ist der kürzeste (schnellste) Weg für eine derartige Rundreise? Neuronale Netze - Wettbewerbslernen Folie 18 Komplexität des Rundreiseproblems Stralsund Aufwand zum Durchsuchen aller Möglichkeiten: Rostock Greifswald Wismar Schwerin Neubrandenburg (Pascal-Programm, PC Technik, Stand ca. 1998) 18 Kreis- und kreisfreie Städte in MV ! Neuronale Netze - Wettbewerbslernen Folie 19 SOM solves TSP Kohonen layer Draw a neuron at position: input w1i= six (x,y)=(w1i,w2i) X Y w2i= siy Neuronale Netze - Wettbewerbslernen Folie 20 SOM löst TSP Initialer Kreis expandiert zu Rundkurs Lösungen für mehrere hundert Orte in kurzer Zeit möglich Rundkurs muss nicht optimal sein Neuronale Netze - Wettbewerbslernen Folie 21 Beispiele – Probieren sie die Clusterung von Tieren (Kruse) aus. Verändern Sie den Trainingssatz (Austausch eines Tieres) und vergleichen Sie die entstehende Clusterung. – Machen Sie sich mit der Lösung des Rundreiseproblems mittels einer SOM vertraut. – Greifen Sie auf das Beispiel Wetter-Spiel zurück und clustern Sie diese Daten. Vergleichen Sie das Ergebnis mit der gegebenen Klassifikation Neuronale Netze - Wettbewerbslernen Folie 22 Inhalt Wettbewerbslernen Selbstorganisierende Karte Neuronale Gase Adaptive Resonanz Theorie Neuronale Netze - Wettbewerbslernen Folie 23 Neuronales Gas für Eingabesignal werden alle Neuronen nach ihrem Abstand zur Eingabe geordnet Adaption entspricht dem Rang des Neurons Adaption gemäß Zeit- und Reichweiten-Faktor Wachsende Gase: – Einfügen eines neuen Neurons zwischen Neuron mit größtem Fehler und einem Nachbarn Neuronale Netze - Wettbewerbslernen Folie 24 Hebb‘sches Wettbewerbslernen Zwischen Gewinner-Neuron und „zweitem“ Gewinner wird neue Verbindung eingefügt: Wird in Zusammenhang mit anderen Verfahren verwendet, z.B. Neuronalen Gasen, Neuronale Netze - Wettbewerbslernen Folie 25 Wachsende Zellstrukturen/Gitter Zellstrukturen: – Verbindungen bilden Simplex, z.B. Dreieck Gitter: – rechteckige Gitterstruktur Neuronale Netze - Wettbewerbslernen Folie 26 LBG - Linde, Bozo, Gray (1980) Batch-Verfahren Referenzvektor wird in Richtung des Schwerpunktes der Voronoi-Menge bewegt hartes Lernverfahren Neuronale Netze - Wettbewerbslernen Folie 27 Inhalt Wettbewerbslernen Selbstorganisierende Karte Neuronale Gase Adaptive Resonanz Theorie Neuronale Netze - Wettbewerbslernen Folie 28 Adaptive Resonance Theory (ART) Bisher: Training eines neuen Musters kann Gewichte so zerstören, dass alte Muster nicht mehr erkannt werden Stabilitätsproblem Wie neue Muster und deren Klassifizierungen lernen, ohne dass vorhandene Klassifizierungen verlernt werden? Plastizitätsproblem ART: (entwickelt von Grossberg und G. Carpenter) zufällige Folge von Eingaben (Vektoren) unüberwacht klassifizieren (ohne äußere Einwirkung) Annäherung an biologisches Verhalten Familie hybrider neuronaler Netze; hier: ART1: binäre Eingabevektoren Neuronale Netze - Wettbewerbslernen Folie 29 ART - Modell w1 Winkel p: Aufmerksamkeitsabstand Klassifikationsraum w2 Neuronale Netze - Wettbewerbslernen Folie 30 ART - Arbeitsweise Arbeitsweise: Netz versucht Eingabevektor in vorhandene Kategorie zu klassifizieren; Falls KEINE Ähnlichkeit mit gespeicherten Kategorien neue Kategorie; Falls Kategorie gefunden, wird gespeichertes Muster leicht korrigiert, um Ähnlichkeit mit neuer Eingabe zu erreichen; Muster ohne Ähnlichkeit zur Eingabe bleiben unverändert Neuronale Netze - Wettbewerbslernen Folie 31 ART - Architektur + + j Erkennungsschicht F2 ... - g2 Matrix Wji (binär) U T V S Matrix WijR - + + ... i g1 Vergleichssschicht F1 v + Eingabe I Binärvektor Neuronale Netze - Wettbewerbslernen Folie 32 ART - Architektur - Arbeitsweise + + j ... U T Komponenten: Wji Vergleichschicht (Comparison layer) F1 (binä S V Erkennungsschicht (recognition layer) F2 - r) + g+1 zwei Verstärkungsfaktoren (je ein Neuron), i ... gain (Gewinn) Reset-Komponente (ein Neuron) Vigilance (Wachsamkeit) g2 Arbeitsweise: (1) Erkennungsphase (2) Vergleichsphase Wij R + v (3) Suchphase (4) Adaption der Gewichte Neuronale Netze - Wettbewerbslernen Folie 33 ART - Initialisierung + + g2 - Wji (binä r) + g+1 j ... U T S V Wij R - i ... + v i,j : wij < L/(L-1+m) (von F1 nach F2) iF1, jF2 , m=length( I ), L - Konstante L>1, oft L=2 j,i : wji = 1 (von F2 nach F1) Toleranzparameter: 0p1 ; nahe 1: feine Unterschiede; nahe 0 grobe Klassifizierung Neuronale Netze - Wettbewerbslernen Folie 34 ART - Erkennungsphase + + g2 Eingabe=Nullvektor Verstärkung g2=0 und alle j abgeschaltet, V=Nullvektor - Wji (binä r) + g+1 j ... U T S V i ... Wij R + Anlegen einer Eingabe I Nullvektor g1=1, g2=1 alle Neuronen i , deren Eingabe Ii=1 ist feuern (nach 2/3-Regel) S ist Duplikat von I Bilden aller Skalarprodukte WjS (drückt Ähnlichkeit aus) J mit max. WjS “gewinnt”! und feuert(oJ=1), alle anderen gebremst(oj =0 für jJ) uJ=1 alle anderen Komponenten von U sind 0 nur ein Neuron der Erkennungsschicht feuert Neuronale Netze - Wettbewerbslernen Folie 35 v ART - Vergleichsphase + + j ... jedes Neuron der Vergleichsschicht g2 U erhält vi=wJi (0 oder 1) T Wji vi = ujwji = wJi (binä S V da nun UNullvektor: - r) g1=0, nun feuern nur Neuronen i mit Ii=1 und vi=1, + g+1 i ... damit werden Komponenten von S auf 0 gestellt, wo Speichermuster und Eingabe unterschiedlich sind; S = V I = WJ I enthält S viele Nullen und I an diesen Positionen 1 dann ex. kein zur Eingabe ähnliches Muster Reset-Komponente feuert Neuron J (lieferte einzige 1) wird auf 0 gesetzt |S|/|T| = |WJ I | / | I | p Reset erfolgt für |S|/|T|<p p=1 totale Übereinstimmung, p=0 nur eine Klasse üblich: 0.7p0.99 Neuronale Netze - Wettbewerbslernen Wij R + Folie 36 v ART - Suchphase + + g2 - Falls Reset=1 (keine Ähnlichkeiten entdeckt) U=(0,..,0) und g1=1 und S wird wieder zur Kopie von I Suche nach neuem Gewinner-Neuron Wji (binä r) + g+1 j ... U T S V Wij R - i ... + v Prozess wird wiederholt bis: a) gespeichertes Muster gefunden, welches I genügend ähnlich ist b) kein gespeichertes Muster ähnlich neues Neuron j benutzt und WJ entsprechend Eingabe I gesetzt Neuronale Netze - Wettbewerbslernen Folie 37 ART - Adaption der Gewichte + + g2 Wji (binä r) j ... U T S V Fast training: + g+1 Eingabe solange angelegt, i ... bis Gewichte stabil werden: WJ - Gewichtsmatrix von F (wandelt S in T um: von F1 nach F2 ) wiJ= Lsi / (L - 1 + sk) si- Komponente des Ausgabevektrors von F1 J- Nummer des Gewinnerneurons von F2 L- Konstant s.o. L=2 wJi = si Der sogenannte top-down-Vektor Wj = (wj1,...,wjm) ist binäres Abbild des reellwertigen bottom-up Vektors Wj = (w1j,...,wmj) Neuronale Netze - Wettbewerbslernen Wij R + Folie 38 v ART - Theorem und Beispiele Nachdem Training stabilisiert ist, aktiviert ein Trainingsvektor das korrekte Neuron der Erkennungsschicht ohne Suche. Der Suchprozess ist stabil; Das Training ist stabil; Der Trainingsprozess terminiert. ART1 Beispiele aus SNNS: Buchstaben lernen: art1_letters.* Aufgabe: Bilden Sie das ART1-Neuronale Netz neu, benutzen Sie dazu die Option BigNet. Achten Sie auf korrekte Bias-Werte. Trainieren Sie das Netz. Entwickeln Sie ein ART1-Netz zur Klassifikation von Würfelzahlen. Neuronale Netze - Wettbewerbslernen Folie 39 ART-Netz im SNNS Neuronale Netze - Wettbewerbslernen Folie 40 Ende Neuronale Netze - Wettbewerbslernen Folie 41