Lernen und Klassifizieren AS 1 2 Assoziatives Lernen

  • Slides: 82
Download presentation
Lernen und Klassifizieren AS 1 -2

Lernen und Klassifizieren AS 1 -2

Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Lernen in Multilayer-Netzen Anwendungen Rüdiger Brause: Adaptive

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

Assoziatives Lernen Informationssystem: Speichern und Abrufen von Information RAM-Speichern: Adresse A Speicherinhalt Abrufen: Adresse

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

Konventionelle Assoziativspeicher Eingabe: Suchwort, Ausgabe: Treffer in Daten (auch mehrere!) Problem: Teile des Suchworts

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 -4 -

Neuro-Modell des Assoziativspeichers Funktion: Jede Komp. ist lin. Summe zi = wix Nichtlin. Ausgabe:

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 -5 -

Lernen: Hebbsche Regel Beobachtung des Physiologen Hebb (1949): "Wenn ein Axon der Zelle A

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: w. AB(t) – w. AB(t-1) =: w oder ~ x. A y. B wij(t) = wij(t-1) + i(t) yixj Vektor: wi(t) = wi(t-1) + i(t) yix Matrix: W(t) = W(t-1) + (t) yx. T Iterative Hebb'sche Lernregel Speichern eines Tupels (x, y) Frage: Ist auch eine andere Form der Hebb‘schen Lernregel denkbar? Rüdiger Brause: Adaptive Systeme, Systeme AS-1, Institut WSfür 2013 Informatik, WS 2007 -6 -

Lernen im Assoziativspeicher Speichern aller N Muster Auslesen eines Musters r y = Wxr

Lernen im Assoziativspeicher Speichern aller N Muster Auslesen eines Musters r y = Wxr = z = r Lr(xr)Txr + 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 -7 -

Code eines Assoziativspeichers AMEM: (* Implementiert einen Korrelationsspeicher *) VAR (* Datenstrukturen *) x:

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; (* Lernrate festlegen: |x|2=10 *) init. Weights( w, 0. 0); (* Gewichte initialisieren *) Alle. Muster. Speichern ( Speicher. Auslesen ( ); END AMEM. Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 -8 -

Code eines Assoziativspeichers REPEAT Alle Muster speichern Read(Pattern. File, x, L) (* Eingabeschlüssel, gewünschte

Code eines Assoziativspeichers REPEAT Alle Muster speichern Read(Pattern. File, x, L) (* Eingabeschlüssel, gewünschte Ausgabe *) FOR i: =1 TO m DO (* Für alle Neuronen *) FOR j: =1 TO n DO (* ihre Gewichte verändern *) w[i, j] : = w[i, j] + *L[i]*x[j] ENDFOR; UNTIL End. Of( Pattern. File) 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 -9 -

Speicherarten Heteroassoziativer Speicher Inhalt L (Lehrervorgabe) Schlüssel = x („Adresse“) W Assoziation y=L Autoassoziativer

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

Beispiel Autoassoziative Ergänzung Beispiel: N = 3 gespeicherte, orthogonale Muster Ausgabe bei Eingabe der

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

Beispiel Autoassoziative Ergänzung Mit der Hebb’schen Regel wird die Gewichtsmatrix W= = x 1

Beispiel Autoassoziative Ergänzung Mit der Hebb’schen Regel wird die Gewichtsmatrix W= = x 1 x 1 T + x 2 x 2 T + x 3 x 3 T und die Ausgabe z= = x 1(x 1 Tx) + x 2(x 2 Tx) + x 3(x 3 Tx) Testmuster 1: = x 1 0 + x 2 2 + x 3 0 Testmuster 2: = x 1 0 + x 2 0 + x 3 3 Testmuster 3: = x 1 1 + x 2 1 + x 3 1 Ergänzung 0 0 0 2 0 0 0 Korrektur 0 0 0 0 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 0 0 3 3 0 Grenzbereich 1 1 1 0 0 1 1 1 0 - 12 -

Beispiel Autoassoziative Ergänzung Setze L(x) = x, lerne alle Muster ( symm. Matrix W).

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

Beispiel Autoassoziative Ergänzung Gebe Teilmuster von x ein erhalte Gesamtmuster L=x Teil von A

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 - 14 -

Beispiel Autoassoziative Ergänzung Kohonen et al. 1977 3024 pixel je 3 Bit, 100 Prototypen,

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

Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Lernen in Multilayer-Netzen Anwendungen Rüdiger Brause: Adaptive

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

Klassenbildung Erfahrung: Es gibt ähnliche Dinge, „Arten“, „Klassen“, z. B. Buchstabe A ? Woher

Klassenbildung Erfahrung: Es gibt ähnliche Dinge, „Arten“, „Klassen“, z. B. Buchstabe A ? Woher kommt das ? Plato: Ideen angeboren Aristoteles: Ideen erworben Ideenlehre: Dinge in Reinstform von der Seele im Jenseits gesehen, Erfahrung davon = „wie Schatten an einer Wand“ Zuerst werden Dinge mit den Sinnen erfaßt, dann die Idee dazu entwickelt (Höhlenmetapher) Rüdiger Brause: Adaptive Systeme, Institut für Informatik - 17 -

Klassenbildung: Beispiel Iris Klasse 1: Iris Setosa Rüdiger Brause: Adaptive Systeme, Institut für Informatik

Klassenbildung: Beispiel Iris Klasse 1: Iris Setosa Rüdiger Brause: Adaptive Systeme, Institut für Informatik Klasse 2: Iris Virginica - 18 -

Klassenbildung heute Objekte werden durch Merkmale beschrieben z. B. qualitativ Mensch = (groß, braune

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

Klassentrennung Höhe x 2 Klassentrennung durch Trenngerade z<0 mit f(x 1) = x 2=

Klassentrennung Höhe x 2 Klassentrennung durch Trenngerade z<0 mit f(x 1) = x 2= w 1 x 1+w 3 bzw. z : = w 1 x 1+w 2 x 2+w 3 x 3 = 0 z=0 z>0 mit w 2 : =-1, x 3 : = 1 Mit z = c 1 c 2 = w. T x Klassenentscheidung y = S(z) = Breite x 1 Rüdiger Brause: Adaptive Systeme, Institut für Informatik - 20 -

Beispiel Klassengrenze Gewichtsvektor Gegeben: Klassengrenze. Gewichte? y = ax + b = y/ x

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

Klassentrennung durch formales Neuron Klassentrennung durch binäres Neuron x 1 x 2 z= x

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

Trennung mehrerer Klassen • DEF Lineare Separierung Seien Muster x und Parameter w gegeben.

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, falls eine Hyperebene {x*} existiert mit g(x*) = w. Tx* = 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 - 23 -

ABER: WIE erhalten wir die richtigen Gewichte, d. h. die richtige Klassifizierung ? Lernen

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

Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Lernen in Multilayer-Netzen Anwendungen Rüdiger Brause: Adaptive

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

PERZEPTRON Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 27 -

PERZEPTRON Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 27 -

Das Perzeptron Idee: Reize wiedererkennen Rosenblatt 1958 § Künstliche Retina § Assoziations-Schicht X ·

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

Das Perzeptron Entscheiden : = {x} alle Muster, = 1 + 2 1 :

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 = (x 1, . . . , xn, 1)T w = (w 1, . . . , 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

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

Das Perzeptron: Pseudo-code 1 PERCEPT 1: Wähle zufällige Gewichte w zum Zeitpunkt t: =0.

Das Perzeptron: Pseudo-code 1 PERCEPT 1: 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 (x aus Klasse 1) THEN IF w. Tx < 0 THEN w = w + x ELSE w = w END ELSE IF w. Tx > 0 THEN w = w - x ELSE w = w 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}

Das Perzeptron: Pseudo-code 2 DEF –- : = {x | –x aus Klasse 2} statt w. Tx < 0 gilt für – die Relation w. Tx > 0 PERCEPT 2: Wähle zufällige Gewichte w zum Zeitpunkt t: =0. REPEAT Wähle zufällig ein Muster x aus IF w. T x 0 THEN ELSE 1 U –; t: = t+1; w(t) = w(t– 1) + x w(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 PERCEPT 3: Wähle zufällige Gewichte w zum

Das Perzeptron: Pseudo-code 3 DEF numerische Werte PERCEPT 3: 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.

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 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 35 -

Adaline ADAptive LINear Element Widrow und Hoff (1960) Diskrete „Lernmaschine“ aus Widerständen und Leitungen

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

Adaline: Aktivität Schwellwertregler w 0 Quantisierer S(z) Ausgabe y Regler Schalterfeld für Eingabemuster Rüdiger

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

Adaline: Lernalgorithmus Minimierung des erwarteten Fehlers durch Anpassung der Parameter (Drehwiderstände): • Wenn der

Adaline: Lernalgorithmus Minimierung des erwarteten Fehlers durch 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)–w. Tx) Widrow-Hoff Lernregel Fehler 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,

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

Adaline: Pseudocode VAR (* Datenstrukturen *) x: ARRAY[1. . n] OF REAL; (* Eingabe *) z, y, L: ARRAY[1. . m] OF REAL; (* IST und SOLL-Ausgaben *) w: (* Gewichte *) : ARRAY[1. . m, 1. . n] OF REAL; REAL (* Lernrate *); x 2: REAL; BEGIN : = 0. 1; (* Lernrate festlegen *) init. Weights(w, 0. 0); (* Gewichte initialisieren *) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 40 -

Adaline: Pseudocode REPEAT Read( Pattern. File, x, L) x 2 : = Z(x x)

Adaline: Pseudocode REPEAT Read( Pattern. File, x, L) x 2 : = Z(x x) (* Eingabe *) (* |x|2*) (* Aktivität bilden im Netz *) FOR i: =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 *) FOR i: =1 TO m DO (* Für alle Neuronen *) FOR j: =1 TO n DO (* und alle Dimensionen *) w[i, j] : = w[i, j]- *(z[i]-L[i])*x[j]/x 2 (* Gewichte verändern *) END; UNTIL End. Of(Pattern. File) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 41 -

Adaline: Anwendung Aufgabe: Korrektur des Signals bei Transatlantik-Kommunikation verzerrtes Signal beim Empfang x(t) Verzögerung

Adaline: Anwendung Aufgabe: Korrektur des Signals bei Transatlantik-Kommunikation verzerrtes Signal beim Empfang x(t) Verzögerung w 1 w 2 Verzögerung tapped delay line verbessertes Signal y(t) w 3 – Lernen Erfolg: Fehler von 10% auf 0, 0001% reduziert bzw. 4 -fache Geschwindigkeit möglich Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 + gewünschtes Signal L(t) beim Training - 42 -

GRADIENTENABSTIEG Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 43 -

GRADIENTENABSTIEG Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 43 -

Lernen durch Iteration Gradientenabstieg R(w) - ¶R(w) ¶W w* w(t ) w(t-1) w :

Lernen durch Iteration Gradientenabstieg R(w) - ¶R(w) ¶W w* w(t ) w(t-1) w : =(¶/¶w , . . . , ¶/¶w )T w 1 w : = (w(t-1) – w(t)) ~ – w. R(w(t– 1)) w(t) = w(t– 1) – (t) w. R(w(t– 1)) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 n multi-dim. Ableitung - 44 -

Lernen durch Iteration Problem: stochastischer Gradientenabstieg R(w) - ¶R(w) ¶W w* w(t ) w(t-1)

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

Stochastisches Lernen mit Zielfunktion R(w) = r(w, x) x w(t) = w(t-1) – (t)

Stochastisches 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 -

Stochastisches Lernen Beispiel Klassentrennung Zielfunktion r(w, x) : = ½(w-x)2, (t) : = 1/

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

Codebeispiel Klassentrennung float w[ ][ ] = new float[2][2]; t = 1; do {

Codebeispiel Klassentrennung float w[ ][ ] = new float[2][2]; t = 1; do { float x[2]; float ; int t, k; (* erster Zeitschritt *) (* Eingabe oder Generation des Trainingsmusters *) read(Pattern. File, x); = 1/t; (* zeitabh. Lernrate *) (*suche Klasse mit minimalem Abstand *) if (Abstand(x, w[0]) > Abstand(x, w[1])) k= 1; else k= 0; (* verändere den Gewichtsvektor *) for (int i=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 ( !End. Of (Pattern. File) ); Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 49 -

Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Lernen in Multilayer-Netzen Anwendungen Rüdiger Brause: Adaptive

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

Das XOR-Problem Aufgabe Trennung zweier Klassen durch eine Gerade – wie ? x 2

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

Das XOR-Problem Lösung Trennung durch zwei Schichten x 2 y = (x 1 x

Das XOR-Problem Lösung Trennung durch zwei Schichten x 2 y = (x 1 x 2) negiertes XOR = (x 1 OR x 2) AND ( x 1 OR x 2) 1 y 1 : = x 1 OR x 2 _ y 2 : = x 1 OR x 2 0 _ y. XOR : = y 1 AND y 2 0 x 1 x 2 00 01 10 11 0 1 x 1 z. B. formale binäre Neuronen S(z>s) = 1, S(z<s) = 0 w 1 = w 4= w 5= w 6= 1/3 w 2 = w 3 = - 1/3 s 1=s 2=0, s = 1/2 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 52 -

Multilayer-Klassifikation Visualisierung: Separierung von Klassen 1. Neuron 2. Neuron 3. Neuron Rüdiger Brause: Adaptive

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

Multilayer-Klassifikation „weiche“ Separierung von Klassen SF(z) : = S F (z) 0, 5 -

Multilayer-Klassifikation „weiche“ Separierung von Klassen SF(z) : = S F (z) 0, 5 - K>0 K<0 z Veränderung der sigmoidalen Ausgabefunktion S(w 1, w 2, w 3, x 1, x 2) z = x. T w x = (x 1, x 2, 1) w = (w 1, w 2, w 3) x 2 x 1 2 -dim Sigmoidale Ausgabefunktion Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 54 -

Multilayer-Klassifikation „weiche“ Separierung von Klassen 1 Sigmoidale Ausgabefunktion 4 Sigmoidale Ausgaben Rüdiger Brause: Adaptive

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

Lernen von Klassifikation Wenn Daten bekannt: Erstellen von Entscheidungsbäumen Klassentrennung durch Hyperbenen Klassentrennung durch

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

Lernen von Klassifikation Wenn Daten unbekannt: Sequentielle Netzerstellung Vorschlag 1 ohne Training Ordne Muster

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 n 1+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 2013 - 57 -

FEHLER-BACKPROPAGATION Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 58 -

FEHLER-BACKPROPAGATION Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 58 -

Backpropagation Netzarchitektur und Aktivität Eingabe hidden units Ausgabe x Gesamtaktivität Rüdiger Brause: Adaptive Systeme

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

Backpropagation-Grundidee Netzarchitektur und Lernen Eingabe 1. Schicht 2. Schicht (1) y(2) y =x x

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

Backpropagation-Lernregel Lernziel: R(w*) = min (y(w) - L(x))2 wi (t+1) = wi (t) -

Backpropagation-Lernregel Lernziel: R(w*) = min (y(w) - L(x))2 wi (t+1) = wi (t) - wij (t+1) = wij (t) - (yi(wij)-L(x)) Mit ist i(2) : = - (yi(2) - L(x)) S‘(zi) wij (t+1) = wij (t) - i xj min. mittl. quadr. Fehler Gradienten-Lernregel stoch. Approximation Schicht 2 Delta-Regel Schicht 1: Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 61 -

Anwendung BP Gegeben DECtalk Ausgabe Text Sprache der Fa. Digital Eq. (DEC) Aufwand 20

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

Net. Talk: Kodierung Binäre Kodierung der 26 Laute Front back tensed stop nasal hi-freq.

Net. Talk: Kodierung Binäre Kodierung der 26 Laute Front back tensed stop nasal hi-freq. 23 Laute +(cont, Wortgrenze, stop) Ausgabekodierung Ausgabe: /i/ low-freq. . 26 Ausgabeeinheiten . . . a. . . Eingabekodierung Binäre Kodierung der 29 Buchstaben Lauffenster der Trainingsbuchstaben Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 e. . . n. . . w. . . - Präkontext Postkontext Eingabe - 66 - 26 Buchstaben +(cont, Wortgrenze, stop) dim(X) =7 X 29= 203 Eingabevariablen 26 Buchstaben + 3 Sonderzeichen 80 hidden units

Net. Talk: Training § transkribiertes Wörterbuch 20. 000 Einträge § Protokollierte Kindersätze Ergebnis •

Net. Talk: Training § transkribiertes Wörterbuch 20. 000 Einträge § Protokollierte Kindersätze Ergebnis • Trennung der Konsonanten von Vokalen („Babbeln“) Exponentieller Lernerfolg • Entwicklung der Wortgrenzen („Pseudoworte“) • Verständliche Sprache (10 x. Training pro Wort) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 67 -

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

Net. Talk: gestörte Gewichte Störung durch normalverteiltes Rauschen Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 68 -

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

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

OVERFITTING Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 70 -

OVERFITTING Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 70 -

Verbesserungen des BP-Algorithmus Problem Trotz guter Trainingsleistung zeigt der Test schlechte Ergebnisse Überanpassung (overfitting)

Verbesserungen des BP-Algorithmus Problem Trotz guter Trainingsleistung zeigt der Test schlechte Ergebnisse Überanpassung (overfitting) ! f(x) training samples test samples x Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 71 -

Verbesserungen des BP-Algorithmus Lösung: Stopped Training Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 -

Verbesserungen des BP-Algorithmus Lösung: Stopped Training Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 72 -

Assoziatives Lernen Lineare Klassifikation Lernen linearer Klassifikation Lernen in Multilayer-Netzen Anwendungen Rüdiger Brause: Adaptive

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

Anwendung BP n Binäre Kodierung Ziel: n Zustände in ld(n) Bits kodieren Ergebnis: 10000000

Anwendung BP n Binäre Kodierung Ziel: n Zustände in ld(n) Bits kodieren Ergebnis: 10000000 01000000 00100000 000100001000 00000100 00000010 00000001 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 p = ld(n) . . . 0, 5 0 1 1 0 0, 5 1 0 0 1 1 0 0 0 1 1 1 0, 5 n . . . 10000000 01000000 00100000 000100001000 00000100 00000010 00000001 - 74 -

Analyse der Neuronengewichte Hauptkomponentenanalyse n Lin. Approximation (1. Glied Taylorentwicklung) . . . Beispiel:

Analyse der Neuronengewichte Hauptkomponentenanalyse n Lin. Approximation (1. Glied Taylorentwicklung) . . . Beispiel: n-p-n Netz Kodierer y = Apxn Bnxp x p n . . . B A Min. quadr. Fehler bei globalem Minimum A, B B besteht aus p Eigenvektoren der Kovarianzmatrix R(w) Cxx = (x- x )T Sattelpunkte globales Minimum (Cij) = Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 w w* - 75 -

SNOOPE System for Nuclear On-line Observation of Potential Explosives, Science Appl. Int. Corp SAIC,

SNOOPE System for Nuclear On-line Observation of Potential Explosives, Science Appl. Int. Corp SAIC, 1989 Entdeckung von Plastiksprengstoff in Fluggepäck Eingabe: Gepäckstück Ausgabe: Diagnose „gefährlich“ oder „ungefährlich“ Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 76 -

SNOOPE Funktionsprinzip gefährlich / nicht gefährlich § Thermische Neutronen: ungefährlich für Filme und Magnetmedien,

SNOOPE Funktionsprinzip gefährlich / nicht gefährlich § Thermische Neutronen: ungefährlich für Filme und Magnetmedien, aber regt Stickstoff an. § Training + Test eines BP-Netzwerks mit Gepäckstücken § Keine menschl. Interpretation nötig Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 77 -

SNOOPE Ergebnisse Leistung des BP-NN vs. Diskriminantenanalyse Prob. Entdeckung NN (Spezifität) Diskrimin. Problembereich: Sehr

SNOOPE Ergebnisse Leistung des BP-NN vs. Diskriminantenanalyse Prob. Entdeckung NN (Spezifität) Diskrimin. Problembereich: Sehr kleiner % Fehlalarme (sehr kleine Aktivitätsfunktion) Prob. Fehlalarm % = 1 -Sensitivität Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 78 -

Backprop. Anwendung Roboterfahrzeuge

Backprop. Anwendung Roboterfahrzeuge

ALVINN Autonomous Land Vehicle in a Neural Network Touretzky, Pomerleau 1989 Team: Carnegie-Mellon University,

ALVINN Autonomous Land Vehicle in a Neural Network Touretzky, Pomerleau 1989 Team: Carnegie-Mellon University, Pittburgh, USA Methode: 2 -Schicht BP NAVLAB Resultat: Automatisches Fahren auf Uni-Gelände mit ca. 5 km/h (3, 5 mph), besser als tradit. Methoden (3 mph) Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 80 -

ALVINN Training/Testschema • Training auf stationärem Supercomputer mit Aufzeichnungen • Test in der Realität

ALVINN Training/Testschema • Training auf stationärem Supercomputer mit Aufzeichnungen • Test in der Realität (SUN 3/160 Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 81 -

ALVINN Training Lenkung § 1200 simulierte Strassenbilder, 40 x präsentiert § Training auf Supercomputer

ALVINN Training Lenkung § 1200 simulierte Strassenbilder, 40 x präsentiert § Training auf Supercomputer (100 M FLOPS) § 20 Mill. connection updates per second CUPS Videobild Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 Abstandsradar - 82 -

ALVINN Analyse der hidden units Visualisierung der Gewichte einer unit • Einprägung der Fahrbahnmarkierung

ALVINN Analyse der hidden units Visualisierung der Gewichte einer unit • Einprägung der Fahrbahnmarkierung • Einprägung der Hindernisse vom Rand Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 83 -

Roboterwettbewerb DARPA Grand Challenge 2005: 2 M$ Autonome Fahrt 211, 1 km (Mojave-Wüste, Las

Roboterwettbewerb DARPA Grand Challenge 2005: 2 M$ Autonome Fahrt 211, 1 km (Mojave-Wüste, Las Vegas, Nevada) durch Tunnel, über Sandwege, Serpentinen, Gleise, Kuhpassagen, an fahrenden Autos vorbei. . Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 84 -

Hauptkonkurrenten Team: „Red Team“ Carnegie-Mellon-University, Pittsburgh, Hummer-Geländewagen 7: 04 Std. Methode: Sensordaten des Terrain

Hauptkonkurrenten Team: „Red Team“ Carnegie-Mellon-University, Pittsburgh, Hummer-Geländewagen 7: 04 Std. Methode: Sensordaten des Terrain für 3200 km registriert + GPS verwendet. Finanzen: 12 M$: Boing, Caterpillar, Science Int. SAIC, etc. , 20 Angestellte (50 P), Technik: 75 m Laser-scan Kohlenfaserkuppel, gekühlt, 6 Scanner, 7 Pentium-M+3 PC/104 Module für 300 MB/min Daten, 80 Module, 1, 5 M. Codezeilen (Linux). http: //www. redteamracing. org/ Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 85 -

Sieger Team: „Stanford Racing Team“ Stanford University, VW Touareg 6: 53 Std. Methode: Route:

Sieger Team: „Stanford Racing Team“ Stanford University, VW Touareg 6: 53 Std. Methode: Route: GPS-Punkte + Realtime-Daten dazwischen. Adapt. Prob. Modell für Fahrtechnik: trainiert an einem menschl. Fahrer. 12%Fehler ->0, 02% Finanzen: 0, 5 M$ VW, Intel, . . . Technik: 5 Sick-Sensoren, GPS, 2 Radarsensoren + 1 Dachkamera, 6 Pentium-M Systeme für 4 MB/Min Daten. 31 Module, (Linux), 0, 1 M Codezeilen http: //www. stanfordracing. org/ Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 86 -

Ausblick Autonome Fahrzeuge • Mehr Sicherheit – aber: wer ist schuld bei Unfall? •

Ausblick Autonome Fahrzeuge • Mehr Sicherheit – aber: wer ist schuld bei Unfall? • Weniger Staus • Weniger Spritverbrauch – 10 -15%, im Stau 30 -40% • Car Sharing – statt 43 Mio nur 4 Mio Fahrzeuge Rüdiger Brause: Adaptive Systeme AS-1, WS 2013 - 87 -