Adaptive Systeme Prof. Rüdiger Brause WS 2011
Organisation „Einführung in adaptive Systeme“ B-AS-1, M-AS-1 Vorlesung Dienstags 10-12 Uhr, SR9 Übungen Donnerstags 12-13 Uhr, SR 9 „Adaptive Systeme“ M-AS-2 Vorlesung Donnerstags 10-12 Uhr, SR9 Übungen Donnerstags 13-14 Uhr, SR 9 Gemeinsames Übungsblatt, unterteilt in 2 Teile Ausgabe: Dienstags, Abgabe: Dienstags Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Vorschau Themen Einführung und Grundlagen Lernen und Klassifizieren Merkmale und lineare Transformationen Lokale Wechselwirkungen: Konkurrentes Lernen Netze mit RBF-Elementen Rückgekoppelte Netze Zeitdynamik und Lernen Fuzzy-Systeme, Evolutionäre und genetische Algorithmen Simulationstechnik Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Arten von Adaptiven Systeme Vorbild Gehirn Neuronale Netze Psychologisch-kognitive Modelle Biologische Systeme Evolutionäre Systeme Schwarm-Intelligenz: Ameisen-Algorithmen,... Molekular-genetische Selbstorganisation Soziale Systeme Gruppenprozesse Soziale Selbstordnung Physikalische Systeme Synergieeffekte Technische Systeme Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Einleitung: Was sind Adaptive Systeme ? Selbst-anpassende Systeme ̶ statt programmieren Beispiel: Temperaturregler statt fester Heizeinstellung „Lernende“ Systeme Trainierte Systeme (Trainingsphase-Testphase) Selbstlernende Systeme (Orientierung an Daten) Adapt. Regelung Sensor Vorgabe Heizung Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Wozu Adaptive Systeme ? Adaptive Schätzung von Prozeßparametern Nicht-lin. Reaktionen, Produktionsoptimierung,.. Adaptive Kontrolle und Regelung Landekontrollsysteme, Roboterkontrolle,.. Adaptive Klassifikation Qualitätskontrolle, med. Diagnose, Bonitätsprüfung,.. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Einsatzgebiete Adaptiver Systeme Echtzeitreaktionen Stahlwalzstraßen, Flugzeugsteuerung,.. Analytisch unbekannte Abhängigkeiten Polymerchemie, DNA-Schätzungen, .. Analytisch nicht zugängige Abhängigkeiten psychische Faktoren, ergebnisverändernde Messungen,.. Analytisch nur unter großem Aufwand bearbeitbare, hochdimensionale Gesetzmäßigkeiten Wechselkursabhängigkeiten,.. Statistische Analysen durch untrainierte Benutzer (?!) Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Grundlagen Modellierung Klassifizierung Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Vorbild Gehirn Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Unterteilung des Gehirns in funktionale Bereiche Gehirn = 2-dim „Tuch“ Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Unterteilung der Neuronenschicht: Darstellungsarten Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Neuronentypen a)-c) Pyramidenzellen f,h) Stern/Glia zellen Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Pyramidalzellen Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Signalverarbeitung Output Spikes Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Signalverarbeitung Input Frequenzmodulierung Dekodierung Eingabe Zellkern Ruhe - potential Einheitsladungen Zell-Potential ~ Eingabe-Spikefrequenz Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Das Vorbild: Gehirnfunktionen Signalverarbeitung Input-Output Tintenfisch-Riesenneuron: Ausgabe-Spikefrequenz ~ Zellstrom Lineares Modell Zell-Potential ~ Eingabe-Spikefrequenz Ausgabe-Spikefrequenz ~ Zellstrom Ausgabe-Freq. ~ Eingabe-Freq. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Modellierung Grundlagen Klassifizierung Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Modellierung Informatik: Granularität Paralleler Aktivität Grob: Computer, Jobs (Lastverteilung) wenig Komm. Fein: Multi-CPU, Threads viel Komm. Sehr fein: formale Neuronen, Funktionen sehr viel Komm Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Modellierung formaler Neuronen Dendriten Axon Zell körper Synapsen x 1 2 3 w y z Akti-vierung Ausgabe (Axon) Gewichte (Synapsen) Eingabe (Dendriten) x = (x1, ... ,xn) w = (w1, ... ,wn) Ausgabefunktionen y = S(z) z = = wTx squashing function radial basis function So wie die Biologie die Wissenschaft vom Leben ist, so ist die Informatik die Wissenschaft von der Informationsverarbeitung. Wie wird Information im Gehirn verarbeitet? Um diese Frage zu lösen, baut man am besten selbst ein eigenes Gehirn. Die Neuroinformatik versucht mit Hilfe abstrahierter, auf wenige typische Merkmale beschränkte Neuronen “intelligente” Systeme zu konstruieren. Dabei werden vom biologischen Neuron alle Eingänge (ca. 200-300 Dendriten) von einem Neuronenausgang (Axon) durch nur eine Eingabe, die Stärke aller Verbindungen (Synapsen) zu einem Neuron durch ein Gewicht modelliert. <click> Formal lassen sich alle Eingabe zu einem Tupel (Vektor) zusammenfassen, ebenso wie die Gewichte. Die Aktivität ist dann die gewichtete Summe aller Eingänge. Eine nichtlineare Ausgabefunktion analog zum biologischem Vorbild verleiht dem Modell interessante Eigenschaften. So lassen sich mehrere gleichartige Neuronen zu Funktionsgruppen zusammenfassen, den Schichten. Es läßt sich zeigen, daß zwei Schichten ausreichen, um jede beliebige Funktion beliebig dicht anzunähern, also sie zu simulieren. Dies macht es möglich, durch Anpassen der Gewichte unbekannte Funktionen und Abhängigkeiten zu lernen (black box), beispielsweise die Diagnose medizinischer Daten eines Patienten oder die Vorhersage der 3D-Struktur eines Proteins aus den Gensequenzen. Das „Lernen“ wird dabei algorithmisch angegeben als Verbesserung der Gewichte (Parameter) nach der Eingabe von Beispielen. Die mathematische Beschreibung des Lernens ist so eng mit der mathematischen Approximationstheorie verbunden. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Formale Neuronen Aktivität Ausgabe Code-Beispiel „formales Neuron“ float z (float w[ ],float x[ ]) { /* Sigma-Neurons: Aufsummieren aller Eingaben */ float sum; sum = 0; /* Skalarprodukt bilden */ for (int i=0;i<length(x);i++) { sum= sum + w(i)*x(i); } return sum; Aktivität float S (float z) { (* begrenzt-lineare Ausgabefunktion*) float s=1.0; float Zmax=1; float k=Zmax/s; z = z*k; if (z> s) z = Zmax; if (z<-s) z =-Zmax; return z; } Ausgabe Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Schichten DEF Schicht Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Modellierung der Netze Feed-forward vs. Feedback-Netze DEF feedforward Netz der gerichtete Graph ist zyklenfrei Problem: feedforward oder nicht? Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Lineare Transformation mit NN lineare Schicht y = = W·x Matrix-Multiplikation Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Klassifizierung Grundlagen Modellierung Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
? Woher kommt das ? Klassenbildung Erfahrung: Es gibt ähnliche Dinge, „Arten“, „Klassen“, z.B. Buchstabe A ? Woher kommt das ? Plato: Ideen angeboren Ideenlehre: Dinge in Reinstform von der Seele im Jenseits gesehen, Erfahrung davon = „wie Schatten an einer Wand“ (Höhlenmetapher) Aristoteles: Ideen erworben Zuerst werden Dinge mit den Sinnen erfaßt, dann die Idee dazu entwickelt Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Klassenbildung: Beispiel Iris Iris Setosa Iris Virginica Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Klassenbildung heute Objekte werden durch Merkmale beschrieben z.B. qualitativ Mensch = (groß, braune Augen, dunkle Haare, nett, ...) quantitativ Mensch = (Größe=1,80m, Augenfarbe=2, Haarfarbe=7, ...) Idee = Form = „Klassenprototyp“ Muster eines Objekts (Breite, Höhe) = x Breite c 2 Höhe 1 Trennung von Klassen Blütensorte 1 Blütensorte 2 Klassenprototyp Klassifizierung = Ermitteln der Geradengleichung bzw Parameter c1,c2. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
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 Breite x1 c 2 Höhe x2 1 Mit z = = wTx Klassenentscheidung y = S(z) = Für x‘2>x2 ist f(w,x)<0. Also haben alle Punkte oberhalb der Geraden neg. f(), alle unterhalb f()>0. Also: Bei neg. w2 ist das Skalarprodukt oberhalb der Gerade negativ, bei pos. w2 ist es positiv. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Klassentrennung durch formales Neuron Klassentrennung durch binäres Neuron x1 x2 x3 xn-1 ... 1 SB(z) y = 0: Klasse 1 y = 1: Klasse 2 z = wTx Klassenentscheidung y = SB(z) = z = = wTx Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Trennung mehrerer Klassen Lineare Separierung 1 Neuron: 1 Trennlinie (Ebene) x2 xr (1,1) 2 Neurone: 2 Trennlinien (Ebenen) xq xp (0,1) Bereiche trennbar in 4 Klassen (y1,y2) (1,0) (0,0) xk x1 Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Trennung mehrerer Klassen DEF Lineare Separierung Seien Muster x und Parameter w gegeben. Zwei Klassen 1 und 2 des Musterraums = 12 mit 12 = heißen linear separierbar, falls eine Hyperebene {x*} existiert mit g(x*) = wTx* = 0, so daß für alle x1 gilt g(x)<0 und für alle x2 gilt g(x)>0. 12 = muss gelten damit eine Grenze die Klassen trennen kann. (notwendig). Allerdings reicht dies nicht aus wenn eine Gerade verwendet wird. Beispiel: 4 Punkte. Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011
Lernen ! ? WIE erhalten wir die richtigen Gewichte, d.h. die richtige Klassifizierung ? Lernen ! Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2011