1 / 82

Lernen und Klassifizieren AS1-2

Lernen und Klassifizieren AS1-2. Lernen in Multilayer -Netzen. Assoziatives Lernen. Lineare Klassifikation. Lernen linearer Klassifikation. Anwendungen. Adresse Inhalt. 1004. Text3. 1003. Daten. 1002. Text2. 1001. Text1. 1000. Text1. Assoziatives Lernen. Informationssystem:

Download Presentation

Lernen und Klassifizieren AS1-2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lernen und Klassifizieren AS1-2

  2. Lernen in Multilayer-Netzen Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  3. Adresse Inhalt 1004 Text3 1003 Daten 1002 Text2 1001 Text1 1000 Text1 Assoziatives Lernen • Informationssystem: Speichern und Abrufen von Information • RAM-Speicher Speichern: Adresse A Speicherinhalt Abrufen:Adresse A Speicherinhalt • Assoziativspeicher Speichern: (Adresse A, Speicherinhalt) Assoziatives Lernen Abrufen: ( ? , Speicherinhalt) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  4. Konventionelle Assoziativspeicher Eingabe: Suchwort, Ausgabe: Treffer in Daten (auch mehrere!) Problem: Teile des Suchworts unbekannt oder falsch (unbekannte Maske) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  5. Neuro-Modell des Assoziativspeichers Funktion: Jede Komp.ist lin. Summe zi = wix Nichtlin. Ausgabe: yi = SB(zi) = Lernen von W ? Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  6. Lernen: Hebbsche Regel Beobachtung des Physiologen Hebb (1949): "Wenn ein Axon der Zelle A nahe genug ist, um eine Zelle B zu erregen und wiederholt oder dauerhaft sich am Feuern beteiligt, geschieht ein Wachstumsprozess oder metabolische Änderung in einer oder beiden Zellen dergestalt, dass A's Effizienz, als eine der auf B feuernden Zellen, anwächst." Also: wAB(t) – wAB(t-1) =: w ~ xAyB oder wij(t) = wij(t-1) + i(t)yixj Vektor:wi(t)=wi(t-1) + i(t)yixIterative Hebb'sche Lernregel Matrix:W(t) = W(t-1) +(t) yxTSpeichern eines Tupels (x,y) Frage: Ist auch eine andere Form der Hebb‘schen Lernregel denkbar? Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2007

  7. y = Wxr = z =rLr(xr)Txr + Lernen im Assoziativspeicher • Speichern aller N Muster • Auslesen eines Musters r assoziierte Antwort + Übersprechen von anderen Mustern • Orthogonale Muster xr: Übersprechen = 0, exakte Reproduktion. • Nicht-orthogonale Muster: Schwellwerte nötig zum Unterdrücken des Übersprechens. Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  8. Code eines Assoziativspeichers AMEM: (* Implementiert einen Korrelationsspeicher *)VAR (* Datenstrukturen *) x:ARRAY[1..n] OF REAL; (* Eingabe *) y,L: ARRAY[1..m] OF REAL; (* Ausgaben *) w: ARRAY[1..m,1..n] OF REAL; (* Gewichte *) : REAL; (* Lernrate *); Auslesen : BOOLEAN; BEGIN  := 0.1; (* Lernratefestlegen: |x|2=10 *) initWeights( w,0.0); (* Gewichte initialisieren *) AlleMusterSpeichern( ); SpeicherAuslesen( ); ENDAMEM. Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  9. Code eines Assoziativspeichers REPEATAlle Muster speichern Read(PatternFile, x, L) (* Eingabeschlüssel, gewünschte Ausgabe *) FOR i:=1 TO m DO(* FüralleNeuronen *) FOR j:=1 TO n DO (* ihre Gewichte verändern *) w[i,j] := w[i,j] + *L[i]*x[j] ENDFOR; ENDFOR; UNTILEndOf( PatternFile) Speicher auslesen (* zu Schlüssel x das gespeicherte y assoziieren *) Input (x) FOR i:=1 TO m DO (* Ausgabe für alle Neuronen *) y[i] := S(z(w[i],x)) ENDFOR; Print (y) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  10. Speicherarten W W • Heteroassoziativer Speicher Inhalt L(Lehrervorgabe) Schlüssel = x Assoziation („Adresse“) y = L • Autoassoziativer Speicher Inhalt L = x Schlüssel = x Assoziation y = x Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  11. Beispiel Autoassoziative Ergänzung Beispiel: N =3 gespeicherte, orthogonaleMuster Ausgabe bei Eingabe der Muster =? Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  12. Beispiel Autoassoziative Ergänzung Mit der Hebb’schen Regel wird die Gewichtsmatrix W == x1x1T + x2x2T + x3x3T und die Ausgabe z == x1(x1Tx) +x2(x2Tx)+x3(x3Tx) Testmuster 1: = x10 + x2 2+ x3 0 Testmuster 2: = x10 + x2  0+ x3 3 Testmuster 3: = x11 + x2 1+ x3 1 Ergänzung Grenzbereich Korrektur Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  13. Beispiel Autoassoziative Ergänzung Setze L(x) = x, lerne alle Muster ( symm. Matrix W). Beispiel: Buchstaben, kodiert mit 0 und 1 xA = (0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 ....) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  14. Beispiel Autoassoziative Ergänzung Gebe Teilmuster von x ein  erhalte Gesamtmuster L=x Teil von A G Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  15. Beispiel Autoassoziative Ergänzung Kohonen et al. 1977 3024 pixel je 3 Bit, 100 Prototypen, orthogonali-siert Gebe Teilmuster von x ein  erhalte Gesamtmuster L=x Gebe gestörtes Muster von x ein  erhalte Gesamtmuster L=x Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  16. Lernen in Multilayer-Netzen Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  17. Klassenbildung Erfahrung:Es gibtähnliche Dinge, „Arten“, „Klassen“, z.B. Buchstabe A ?Woher kommt das ? Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  18. Klassenbildung: Beispiel Iris Klasse1: Iris SetosaKlasse 2: Iris Virginica Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  19. Trennung von Klassen Blütensorte 1 Blütensorte 2 Muster eines Objekts  (Breite, Höhe) = x Höhe Klassenprototyp c 1 c 2 Breite Klassenbildung heute Objekte werden durch Merkmale beschrieben z.B. qualitativ Mensch = (groß, braune Augen, dunkle Haare, nett, ...) quantitativMensch = (Größe=1,80m, Augenfarbe=2, Haarfarbe=7, ...) Idee = Form = „Klassenprototyp“ Klassifizierung = Ermitteln der Geradengleichung bzw Parameter c1,c2. Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  20. Höhe x2 Mit z = = wTx c 1 c 2 Klassenentscheidung y = S(z) = Breite x1 Klassentrennung Klassentrennung durch Trenngerade mit f(x1) = x2= w1x1+w3 z<0 z=0 bzw. z := w1x1+w2x2+w3x3 = 0 z>0 mit w2 :=-1, x3 := 1 Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  21. Beispiel Gegeben: Klassengrenze. Gewichte? y = ax + b = y/x x + b = -7/5 x +7 g(x,y) = 0 = -7/5 x -1y +7 = (-7/5, -1, 7)  (x, y, 1)T = (7, 5, -35)  (x, y, 1)T wTx 7 6 0 8 5 Gegeben: Gewichte. Klassengrenze? w = (6, 8, -48) g(x1,x2) = 0 = 6x1 + 8x2 – 48 = -6/8 x1 -1x2 + 6  a=-6/8, b=6 Klassengrenze  Gewichtsvektor Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  22. x1 x2 SB(z) y = 0: Klasse 1 y = 1: Klasse 2 x3 ... xn-1 Klassenentscheidung y = SB(z) = 1 z = = wTx Klassentrennung durch formales Neuron Klassentrennung durch binäres Neuron z =wTx Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  23. Trennung mehrerer Klassen • DEF Lineare Separierung Seien Muster x und Parameter w gegeben. Zwei Klassen 1 und 2 des Musterraums  = 12 mit 12 =  heißen linear separierbar, fallseine Hyperebene {x*} existiert mit g(x*) = wTx* = 0, so dass für alle x1 gilt g(x)<0 und für alle x2 gilt g(x)>0. Frage: Und welche Klasse haben die x* ? Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  24. ABER: WIE erhalten wir die richtigen Gewichte, d.h. die richtige Klassifizierung ? Lernen ! Rüdiger Brause: Adaptive Systeme, Institut für Informatik

  25. Lernen in Multilayer-Netzen Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  26. Perzeptron Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  27. Das Perzeptron Idee: Reize wiedererkennen Rosenblatt 1958 • Künstliche Retina • Assoziations-Schicht • Response-Schicht j X · · · y · · · R A S • Verbindungen zu A fix (zufällig): x = (x1,...,xn)T = (1(S),...,n(S))T • Stärke der Verbindungen zu R veränderbar: w = (w1,...,wn)T Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  28. Das Perzeptron Entscheiden • := {x} alle Muster,= 1 + 2 1 : Menge aller x aus Klasse 1 2 : Menge aller x aus Klasse 2 Schwelle DEF Log. Prädikat Mit den Erweiterungen x = (x1,...,xn,1)T w = (w1,...,wn,s)T wird Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  29. Das Perzeptron Lernen Ziel: Wähle w so, dass für alle x gilt  Methode: Für alle x aus 1 und wTx < 0 w(t) = w(t–1) + xPerzeptron-Lernregel wTx ! Erhöhung von Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  30. Das Perzeptron: Pseudo-code 1 PERCEPT1: Wähle zufällige Gewichte w zum Zeitpunkt t:=0. REPEAT Wähle zufällig ein Muster x aus 12; t:= t+1; IF (xausKlasse 1) THENIFwTx< 0 THENw = w+x ELSEw = w END ELSEIFwTx > 0 THENw = w-x ELSEw = w END ENDIF UNTIL (alle x richtig klassifiziert) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  31. Das Perzeptron: Pseudo-code 2 DEF–-:= {x | –x aus Klasse2} stattwTx < 0 giltfür–die RelationwTx > 0 PERCEPT2: Wähle zufällige Gewichte w zum Zeitpunkt t:=0. REPEAT Wähle zufällig ein Muster x aus1U–; t:= t+1; IFwTx 0 THENw(t) = w(t–1) +x ELSEw(t) = w(t–1) END UNTIL(alle x richtig klassifiziert) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  32. Das Perzeptron: Pseudo-code 3 DEF numerische Werte PERCEPT3: Wähle zufällige Gewichte w zum Zeitpunkt t:=0. REPEAT t:= t+1; w(t) = w(t–1) +(L(x) – y(x))x(t)Fehler-Lernregel UNTIL (alle x richtig klassifiziert) Sogar ohne Umdefinition der Muster aus 2! Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  33. Das Perzeptron Satz: Ein Perzeptron kann nur Klassen trennen, wenn sie linear separierbar sind. Warum? Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  34. Adaline Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  35. Adaline ADAptiveLINearElementWidrow und Hoff (1960) Diskrete „Lernmaschine“ aus Widerständen und Leitungen Fehlerangabe T G F Gewichte Eingabe Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  36. Adaline: Aktivität Schwellwert - regler w 0 Quantisierer S(z) Ausgabe y d Summierer Regler Fehleranzeige Schalterfeld für Eingabemuster Lehrer - Schalter für gewünschte Ausgabe Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  37. Adaline: Lernalgorithmus • Minimierung des erwartetenFehlersdurch • Anpassung der Parameter (Drehwiderstände): • Wenn der Fehler größer wird, drehe Knopf zurück und in die entgegengesetzte Richtung • Wenn der Fehler am kleinsten ist, wende dich nächstem Knopf zu Automatische Anpassung: Lerngleichung w(t) = w(t–1)+(t)(L(x)–wTx) Widrow-Hoff Lernregel F e h l e r Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  38. Adaline: Aktivität Verlauf des Klassifizierungsfehlers für „Klasse T liegt vor“ bei Präsentationen von T,G,F und sofortiger Nachregelung Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  39. Adaline: Pseudocode VAR (* Datenstrukturen *) x: ARRAY[1..n] OF REAL; (* Eingabe *) z,y,L: ARRAY[1..m] OF REAL; (* IST und SOLL-Ausgaben *) w: ARRAY[1..m,1..n] OF REAL; (* Gewichte *) : REAL (* Lernrate *); x2: REAL; BEGIN := 0.1; (* Lernratefestlegen *) initWeights(w,0.0); (* Gewichte initialisieren *) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  40. Adaline: Pseudocode REPEAT Read( PatternFile,x,L) (* Eingabe *) x2 := Z(xx) (* |x|2*) (* Aktivität bilden im Netz *) FORi:=1 TO m DO (* Ausgabe für alle Neuronen *) z[i] := Z(w[i],x) (* Aktivität errechnen*) y[i] := S(z[i]) (* Nicht-lin. Ausgabe *) END; (* Lernen der Gewichte *) FORi:=1 TO m DO (* Für alle Neuronen *) FORj:=1 TO n DO (* und alle Dimensionen *) w[i,j] := w[i,j]-*(z[i]-L[i])*x[j]/x2 (* Gewichte verändern *) END; END; UNTILEndOf(PatternFile) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  41. x(t) Verzö-gerung Verzö-gerung Verzö-gerung verzerrtes Signal beim Empfang w1  verbessertes Signal w2 y(t) w3 – + Lernen  gewünsch-tesSignal L(t) beim Training Adaline: Anwendung Aufgabe: Korrektur des Signals bei Transatlantik-Kommunikation tappeddelayline Erfolg: Fehler von 10% auf 0,0001% reduziert bzw. 4-fache Geschwindigkeit möglich Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  42. Gradientenabstieg Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  43. w * w ) Lernen durch Iteration Gradientenabstieg R ( w ) - ¶ R ( w ) ¶ W ( t w ( t - 1 ) w Ñw:=(¶/¶w1,...,¶/¶wn)T w := (w(t-1) – w(t)) ~ – wR(w(t–1)) multi-dim. Ableitung w(t) = w(t–1) – (t) wR(w(t–1)) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  44. Problem: stochastischer Gradientenabstieg Zielfunktion abhängig von stochastischer Beobachtung x(t) z.B. Fehler (L – y(x))2 Lernen durch Iteration w * w ) R ( w ) - ¶ R ( w ) ¶ W ( t w ( t - 1 ) w - 45 - Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  45. Stochastisches Lernen Lernen mit Zielfunktion R(w) =r(w,x)x w(t) = w(t-1) – (t) w R(w(t-1)) z.B. w(t) = w(t-1) – (t) (L – y(x)) x x • wird ersetzt durch • Lernen mit stochast. Zielfunktion r(w,x) • w(t) = w(t-1) - (t) w r(w(t-1),x(t))stochastisches Lernen • z.B. w(t) = w(t-1) - (t) (L – y(x)) x Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  46. d d 1 2 x* { } Stochastisches Lernen Beispiel Klassentrennung Zielfunktion r(w,x) := ½(w-x)2, (t) := 1/ t Klassifizierung r(w1,x) < r(w2,x)  x aus Klasse 1 r(w1,x) > r(w2,x)  x aus Klasse 2 x Klassengrenze {x*} r(w1,x*) = r(w2,x*) |w1-x*| = d1 = d2 = |w2-x*| w w 2 1 Lernen für x aus Klasse i wi(t) = wi(t-1) - (t)(wi(t-1)-x(t)) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  47. Codebeispiel Klassentrennung float w[ ][ ] = newfloat[2][2]; floatx[2]; float ; int t, k; t = 1; (* erster Zeitschritt *) do { (* Eingabe oder Generation des Trainingsmusters *) read(PatternFile, x);  = 1/t;(* zeitabh. Lernrate *) (*sucheKlasse mit minimalem Abstand *) if (Abstand(x,w[0]) > Abstand(x,w[1])) k= 1; else k= 0; (* verändere den Gewichtsvektor *) for(inti=0; i<=1; i++)(* Approximation des Mittelwerts *) w[k,i]= w[k,i] - *(w[k,i]-x[i]); t = t+1; (* nächster Zeitschritt, nächstes Muster *) } while( !EndOf (PatternFile) ); Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  48. Lernen in Multilayer-Netzen Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  49. Das XOR-Problem Aufgabe Trennung zweier Klassen durch eine Gerade – wie ? x 0 ={ } = {(0,0), (1,1)} 2 1 1 ={ } = {(1,0), (0,1)} Klassen nicht linear separierbar! 0 0 x 1 1 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

  50. _ x y := x OR 1 1 2 _ x 1 y := OR x 2 2 y := y ANDy XOR 1 2 Þ w = w = w = w = 1/3 1 4 5 6 w = - =w 1/3 2 3 s1=s2=0, s = 1/2 Das XOR-Problem Lösung Trennung durch zweiSchichten x y= (x1 x2) negiertes XOR = (x1ORx2) AND (x1OR x2) 2 1 0 0 x 1 1 z.B. formalebinäreNeuronen • S(z>s) = 1, S(z<s) = 0 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

More Related