1 / 66

Lernen und Klassifizieren AS1-2

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

hisano
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 Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  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 2011

  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 2011

  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 2011

  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 ~ xA yB oder wi(t) = wi(t-1) + i(t) yixIterative Hebb'sche Lernregel W(t) = W(t-1) +(t) yxT Speichern eines Musters Rüdiger Brause: Adaptive Systeme AS-1, WS 2011 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 2011

  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 2011

  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 2011

  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 2011

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

  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 2011

  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 2011

  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 2011

  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 2011

  16. Multilayer-Netze Assoziatives Lernen Lernen linearer Klassifikation Anwendungen Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  17. 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 2011

  18. 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 2011

  19. 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 2011

  20. 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 2011

  21. 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 2011

  22. 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 2011

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

  24. 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 2011

  25. 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 2011

  26. 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 2011

  27. 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 2011

  28. 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 2011

  29. 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 2011

  30. w * w ) Lernen durch Iteration Gradientenabstieg R ( w ) - ¶ R ( w ) ¶ W Ñw:=(¶/¶w1,...,¶/¶wn)T ( t w ( t - 1 ) w 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 2011

  31. Problem: stochastischer Gradientenabstieg Zielfunktion abhängig von stochastischer Beobachtung x(t) Lernen durch Iteration w * w ) R ( w ) - ¶ R ( w ) ¶ W ( t w ( t - 1 ) w - 31 - Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  32. Stochastisches Lernen Lernen mit Zielfunktion R(w) =r(w,x)x w(t) = w(t-1) - (t) w R(w(t-1)) 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 Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  33. 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 2011

  34. 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 2011

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

  36. 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 2011

  37. _ 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 2011

  38. Multilayer-Klassifikation Visualisierung: Separierung von Klassen 1.Neuron 2.Neuron 3.Neuron Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  39. SF(z) := S(w1,w2,w3,x1,x2) x2 x1 2-dim Sigmoidale Ausgabefunktion Multilayer-Klassifikation „weiche“ Separierung von Klassen S (z) F 0,5 - K < 0 K > 0 z Veränderung der sigmoidalen Ausgabefunktion z = xTw x = (x1,x2,1) w = (w1,w2,w3) Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  40. Multilayer-Klassifikation „weiche“ Separierung von Klassen 1 Sigmoidale Ausgabefunktion 2 überlagerte sigm.Ausgaben 4 Sigmoidale Ausgaben mit Schwelle Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  41. Lernen von Klassifikation Wenn Daten bekannt: Erstellen von Entscheidungsbäumen Klassentrennung durch Hyperbenen Klassentrennung durch Entscheidungsbaum Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  42. Lernen von Klassifikation Wenn Daten unbekannt: Sequentielle Netzerstellung Vorschlag 1 ohne Training • Ordne Muster x(t) ein. Falsche Klasse:Erzeuge neues Neuron so, dass richtig klassifiziert wird. • Sind gleiche Klassen benachbart, verschmelze sie. • Vorschlag 2 mit Einzeltraining • Trainiere Neuron 1 mit 1. Bilde 1/{x| x wurde für Klasse 1 erkannt} • Trainiere Neuron 2 mit 1. Bilde 1/{x| x wurde für Klasse 1 erkannt} • ... bis 1 leer. • Trainiere Neuron n1+1 mit 2. Bilde 2/{x| x wurde für Klasse 2 erkannt} • ... bis 2 leer, usw. • Identifiziere y der Ausgabe mit x der nächsten Schicht. • STOP, wenn für jede Klasse nur noch ein Neuron ex. Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  43. Backpropagation Netzarchitektur und Aktivität Eingabe hidden units Ausgabe x Gesamtaktivität Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  44. (2) y (1) (2) y x = (2) (2) d L y (1) - d Backpropagation-Grundidee Netzarchitektur und Lernen Schichtweise Verbesserung durch Rückführung des Fehlers Eingabe 1.Schicht 2.Schicht Ausgabe (1) x Ausgabe hidden units units Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  45. Backpropagation-Lernregel wi(t+1)=wi(t) -gGradienten-Lernregel wij(t+1)=wij(t) - g (yi(wij)-L(x))stoch. Approximation Lernziel: R(w*) = min (y(w) - L(x))2min.mittl. quadr. Fehler Mit i(2) := - (yi(2) - L(x)) S‘(zi) ist wij(t+1)=wij(t) - gixjDelta-Regel Schicht 2 Schicht 1:

  46. Anwendung BP Gegeben DECtalk Ausgabe Text  Sprache der Fa. Digital Eq. (DEC) Aufwand 20 PJ für 95% Genauigkeit Beispiel NetTalk Sejnowsky, Rosenberg1986 16 CPU-Stunden BP-Training für 98% Genauigkeit Adaptives Programm statt neu programmieren! Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  47. A u s g a b e : / i / r o n t b a c k t e n s e d s t o p n a s a l h i - f r e q . l o w - f r e q . F . . . 2 6 A u s g a b e e i n h e i t e n . . . 8 0 h i d d e n u n i t s d i m ( ) = 7 2 9 = 2 0 3 E i n g a b e v a r i a b l e n X X a . . . e 26 Buchstaben + 3 Sonderzeichen . . . n . . . w . . . - Präkontext Postkontext Eingabe NetTalk: Kodierung 23 Laute +(cont, Wortgrenze, stop) Ausgabekodierung Binäre Kodierung der26 Laute 26 Buchstaben +(cont, Wortgrenze, stop) EingabekodierungBinäre Kodierung der 29 Buchstaben Lauffenster der Trainingsbuchstaben Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  48. NetTalk: Training • Training • transkribiertes Wörterbuch 20.000 Einträge • Protokollierte Kindersätze Ergebnis • Trennung der Konsonanten von Vokalen („Babbeln“) • Entwicklung der Wortgrenzen („Pseudoworte“) • Verständliche Sprache (10xTraining pro Wort) Exponentieller Lernerfolg Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  49. NetTalk: gestörte Gewichte Störung durch normalverteiltes Rauschen Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

  50. Neulernen der Gewichte Schnelleres Lernen „verlernter“ Inhalte Rüdiger Brause: Adaptive Systeme AS-1, WS 2011

More Related