Neuronale Netze (Konnektionismus)



Ähnliche Dokumente
Neuronale Netze (Konnektionismus) Einführung in die KI. Beispiel-Aufgabe: Schrifterkennung. Biologisches Vorbild. Neuronale Netze.

Neuronale Netze (Konnektionismus)

Einführung in neuronale Netze

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

Neuronale Netze mit mehreren Schichten

Kapitel LF: IV. IV. Neuronale Netze

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Kapitel LF: IV. Multilayer-Perzeptrons und Backpropagation. Multilayer-Perzeptrons und Backpropagation. LF: IV Machine Learning c STEIN

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

Neuronale Netze (I) Biologisches Neuronales Netz

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Künstliches binäres Neuron

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Extrema von Funktionen in zwei Variablen

Algorithmen II Vorlesung am

Approximation durch Taylorpolynome

Kohonennetze Selbstorganisierende Karten

Rekursionen (Teschl/Teschl )

Übungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr.

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF

Computational Intelligence I Künstliche Neuronale Netze

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Klausur Mathematik 2

Zeichen bei Zahlen entschlüsseln

Der Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze Reinhard Eck 1

14. Minimale Schichtdicken von PEEK und PPS im Schlauchreckprozeß und im Rheotensversuch

4. Dynamische Optimierung

Nichtlineare Optimierung ohne Nebenbedingungen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

BONUS MALUS SYSTEME UND MARKOV KETTEN

DIFFERENTIALGLEICHUNGEN

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Theoretische Grundlagen der Informatik WS 09/10

Künstliche neuronale Netze

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

(λ Ri I A+BR)v Ri = 0. Lässt sich umstellen zu

1 Mathematische Grundlagen

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Absolute Stetigkeit von Maßen

Funktion Erläuterung Beispiel

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Professionelle Seminare im Bereich MS-Office

Prüfungszeiten für den Studiengang Bachelor of Science in Psychologie

Künstliche Intelligenz Maschinelles Lernen

Algorithmen und Datenstrukturen

Konzepte der AI Neuronale Netze

Lineare Gleichungssysteme I (Matrixgleichungen)

Elementare Bildverarbeitungsoperationen

Lineare Gleichungssysteme

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

Aufabe 7: Baum-Welch Algorithmus

Maximizing the Spread of Influence through a Social Network

Kapitalerhöhung - Verbuchung

Jan Parthey, Christin Seifert. 22. Mai 2003

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Modulabschlussklausur Analysis II

Aufgaben zur Flächenberechnung mit der Integralrechung

Selbstorganisierende Karten

Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs)

Neuronale Netze in der Robotik

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

Ausarbeitung des Seminarvortrags zum Thema

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Kurzeinführung Moodle

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

QM: Prüfen -1- KN

Optimierung für Wirtschaftsinformatiker: Analytische Optimierung ohne Nebenbedingungen

1 Part-of-Speech Tagging

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Anmerkungen zur Übergangsprüfung

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Informationsblatt Induktionsbeweis

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Programmiertechnik II

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Anwendungsbeispiele Buchhaltung

Programmieren I. Kapitel 7. Sortieren und Suchen

Hinweise zum Ausfüllen der Zeiterfassung

Kevin Caldwell. 18.April 2012

6.2 Scan-Konvertierung (Scan Conversion)

i x k k=1 i u i x i v i 1 0, ,08 2 0, ,18 3 0, ,36 4 0, ,60 5 1, ,00 2,22 G = n 2 n i=1

Transkript:

Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung (Konnektionismus) sind biologisch motiviert können diskrete, reell-wertige und Vektor-wertige Funktionen berechnen, Einsatz z.b. für Klassifizierungsaufgaben Dynamische Systeme Informationsspeicherung verteilt im gesamten Netz Lernverfahren z.b. Back-Propagation, Evolutionäre Verfahren sind robust bezüglich Verrauschten Daten Ausfall von Teilen des Netzes 2 1

Beispiel-Aufgabe: Schrifterkennung Es soll ein Verfahren entwickelt werden, das geschriebenen Zeichen die korrekte Bedeutung zuordnet. können so trainiert werden, dass sie die Aufgabe mit geringer Fehlerrate lösen. Trainieren bedeutet: Anpassung des Verhaltens anhand präsentierter Beispiele. Generalisierung: Das Netz kann so verallgemeinern, dass auch zuvor nicht gesehene Zeichen korrekt klassifiziert werden. 3 Biologisches Vorbild Nervenzelle 4 2

Biologisches Vorbild Gehirn mit 10 10-10 11 Neuronen, 20 Typen Axon bis zu 1m lang Gerichtete Reizleitung von Dendriten zu Synapsen Weiterleitung bei hinreichend starker Erregung Jeweils Verbindungen (Synapsen) zu 10-100000 Neuronen Insgesamt 10 14 Synapsen Schaltzeit 10-3 Sekunden (Computer 10-10 ) Erfassung einer Szene: 10-1 Sekunden (d.h. ca. 100 Verarbeitungs-Schritte) Hohe Parallelität Lernfähigkeit 5 Modell: (Künstliches) Neuron, Unit McCulloch-Pitts Unit Mehrere Eingänge, 1 (verzweigter) Ausgang Starke Vereinfachung gegenüber natürlichem Neuron 6 3

Neuronales Netz Miteinander verknüpfte Neuronen u 1,...,u n Die Verbindungen zwischen Neuronen u j und u i sind gewichtet mit Werten w ji Darstellung der Verknüpfung als Matrix ((w ji )) (mit w ji =0 falls keine Verbindung besteht) 7 Verarbeitung an Einheit u i a j = Aktivierung von Einheit u j ( i=1,..,n ) Bias b i := - a 0 w 0i Gewichtete Summe der Eingänge: in i (a) = w i a + b i = Σ j=0,..,n w ji a i mit w i =(w 1i,,w ni ) und a = (a 1,,a n ) Aktivierungsfunktion (Transferfunktion) g Ausgabe a i = g(in i (a)) = g(σ j=0,..,n w ji a i ) 8 4

Eingabe-Funktion in i in i (a) = Σ j=0,..,n Ohne Bias: w ji a i Σ j=1,..,n w ji a i = Skalarprodukt w i a von w i =(w 1i,,w ni ) und a=(a 1,,a n ) = cos(w i, a) w i a = Maß für Ähnlichkeit von w i und a Klassifizierung mittels Schwellwert (bias) b i = - a 0 w 0i : K = { a Σ j=1,..,n w ji a i > b i } = { a Σ j=0,..,n w ji a i > 0 } 9 Lineare Trennung w i a = cos(w i, a) w i a > b i w i a= b i a wi w i a b i w i a> b i 10 5

Aktivierungsfunktion g a i = g(in i (a)) = g(σ i=0,..,n w ji a i ) Schaltet Ausgabe ein falls Eingabe hinreichend groß, z.b. (a) Schwellwert (b) Sigmoidfunktion 1/(1+e -x ) (c) Tangens hyperbolicus tanh(x)= (e x -e -x ) /(e x +e -x ) = (e 2x -1)/(e 2x +1) = 1 2/(e 2x +1) (c) 11 Klassifizierung Schwellwertfunktion liefert scharfe Trennung klassische Menge K := { a Σ j=0,..,n w ji a i > 0 } = { a g(in i (a)) > 0 } Sigmoide liefert unscharfe Trennung Fuzzy-Menge (Zugehörigkeitswert) µ(a) := g(in i (a)) 12 6

Aktivierungsfunktion g a i = g(in i (a)) = g(σ i=0,..,n w ji a i ) Sigmoidfunktion und tanh sind differenzierbar Flanken als Übertragungsfunktion (z.b. Verstärkung). Angenähert: im mittleren Flanken-Bereich linear im unteren Flankenbereich exponentiell Im oberen Flankenbereich logarithmisch Stärke (Steilheit) modifizierbar als Faktor bei in i (eingehende Gewichte insgesamt modifizieren) Annäherung an Schwellwertfunktion bei starker Steilheit Bias a 0 = -1 und Gewicht w 0i für horizontale Justierung 13 Netzstrukturen Ohne Rückkopplung ( feed forward ) Verarbeitung Eingabevektor Ausgabevektor Typischerweise in Schichten (layer) angeordnet: Eingabeschicht, Ausgabeschicht Verdeckte Schichten (hidden layer) 14 7

Netzstrukturen Mit Rückkopplung ( rekurrente Netze ): Dynamisches System mit Möglichkeiten für Stabilisierung (Zustand) Oszillation Chaotischem Verhalten Antwort auf eine Eingabe vom aktuellen Zustand abhängig ( Gedächtnis) 15 Netzstrukturen Ohne Rückkopplung ( feed forward ) Berechnung einer Funktion, z.b. Boolesche Funktionen Mittels Verknüpfung beliebige Boolesche Funktionen darstellbar XOR 16 8

Perzeptron Einschichtig, Ohne Rückkopplung Ausgaben eines Neurons mit 2 Eingängen bei sigmoider Aktivierungsfunktion 17 Perzeptron Ausgaben unabhängig voneinander. Ausgabe einer Einheit: a= g(in i (a)) = g(σ i=0,..,n w j a i ) Gleichung einer Hyperebene falls g Schwellwertfunktion: oder Σ i=0,..,n w j a i > 0 w a > b i Nur Darstellung von linear trennbaren Funktionen 18 9

Nur linear trennbare Funktionen Σ i=0,..,n w j a i > 0 oder w a > b i XOR ist nicht linear trennbar Analoges Resultat für sigmoide Aktivierungsfunktion 19 Mehrschichtige Netze Die Ausgaben von Netzen können als Eingaben nachgeschalteter Netze verwendet werden. Das ermöglicht komplexeres Verhalten. Alle (stetigen) Funktionen in Netzen mit (zwei) drei verdeckten Schichten darstellbar. 20 10

Lernen Gegeben: Menge F von Funktionen Menge N von Neuronalen Netzen N Gütemaß g: F x N W Gesucht: Verfahren, das zu gegebener Funktion f(x 1,...,x n ) œf durch Auswertung von Beispielen ( Lernen ) ein Netz NœN liefert mit hinreichender Güte g(f,n). i.a. keine genaue Übereinstimmung gefordert, sondern gute Approximation: optimale Güte = minimaler Fehler 21 Lern-Verfahren Gegeben: Funktion f(x 1,...,x n ) Güte g(f,n) definiert über die Fehler der Netzausgabe f(x 1,...,x n ) - N(x 1,...,x n ) Gesucht: Netz N mit optimaler Güte g(f,n). Idee des Lernens: Das Netz wird anhand von (endlich vielen) Trainingsdaten solange modifiziert, bis es auf diesen Daten hinreichend gut arbeitet. 22 11

Generalisierung Annahme: Wenn das Netz auf den Trainingsdaten gut arbeitet, wird es auch für alle anderen Daten gute Ergebnisse liefern. Inductive Bias: Zusätzliche (versteckte) Annahme, durch die die Hypothese gerechtfertigt ist Bei Neuronalen Netzen z.b. Stetigkeitsannahmen (für Lernen stetiger Funktionen) Lineare Trennbarkeit (für Klassifikation mit Perzeptron) 23 Generalisierung Beispiel für Inductive Bias: Beispiele f(0,0) = 0 f(0,1) = 1 f(1,0) = 1 Angelerntes Netz: N (sei korrekt auf Beispielen) Generalsierungsmöglichkeiten: N(1,1) = 0 oder N(1,1) = 1 Perzeptron kann nur verallgemeinern zu N(1,1) = 1 24 12

Lern-Verfahren für Eingabe: Beispielmenge B, initiales Netz N 0 Start: k:=0 Schritt k: Falls Güte g(f,n k ) > ε : Exit mit Lösung N k. Andernfalls: N k+1 aus N k berechnen durch Anpassen der Gewichte w ji := w ji + δw ij Heuristik für Anpassung: Optimierung von g(f,n k ) anhand der Lernbeispiele B. (z.b. Fehlerminimierung/Gradientenabstieg) Weiter mit Schritt k+1. 25 Lernformen: Überwachtes Lernen ( supervised learning, mit Lehrer ) Es werden Beispiele korrekter Zuordnungen ausgewertet: B = { [(x d 1,...,x d n), f(x d 1,...,x d n)] d œ D } Eingabe von (x d 1,...,x d n) N k liefert Ausgabe N k (x d 1,...,x d n) Fehler: δ d := f(x d 1,...,x d n) -N k (x d 1,...,x d n) Modifizierung von N k zu N k+1 mittels w ji := w ji + δw ji wobei δw ji proportional zu δ d 26 13

Unüberwachtes Lernen ( unsupervised learning, ohne Lehrer ) Es werden Eingabe-Beispiele [x 1,...,x n ] in N verarbeitet. Das Netz soll z.b. Regularitäten (Clusterbildung) erkennen. Mögliche Verfahren: Hebbsche Lernregel: Verbindungen zwischen gleichzeitig aktivierten Neuronen verstärken δw ji proportional zu a i a j ( festigen durch Wiederholung ) Competitive Learning (Winner takes it all): Eingänge hoch aktivierter Neuronen werden verstärkt. 27 Überwachtes Lernen für Perzeptron Gradientenabstieg Idee: Fehler bei Trainingsbeispielen minimieren Summe der Fehlerquadrate: E = g(f,n) = d D ( f(x d 1,...,x d n) - N(x d 1,...,x d n) ) 2 Gradientenabstieg: Korrekturen der Gewichte: w i := w i + δw i ( Delta-Regel ) in Richtung der größten Abnahme des Fehlers E 28 14

Gradientenabstieg für Perzeptron Start: k:=0 w i := kleine zufällige Werte, Lernrate η festlegen. Schritt k: Iteration von 1-3 mit Netz N k bis g(n k,f) < ε: 1. Für jedes Trainingsbeispiel d = [ [x d 1,...,x d n], f (x d 1,...,x d n) ]: Fehler δ d := f(x d 1,...,x d n) - N k (x d 1,...,x d n) berechnen. 2. Korrekturwerte der Gewichte w i bestimmen: δw i := η d D δ d x d i 3 Neues Netz N k+1 mit modifizierten Gewichten: w i := w i + δw i Weiter mit Schritt k+1. 29 Gradientenabstieg für Perzeptron Vorzugeben: Anzahl der Neuronen - an Problemgröße angepasst: Dimension des Raumes Initiale Gewichte Fehlerschranke ε Lernrate η bestimmt Stärke der Modifikation Zu kleine Werte: geringe Variation, Gefahr lokaler Minima Zu große Werte: schnelle Variation, am Ende schlechte Konvergenz Simulated annealing: η mit der Zeit verringern 30 15

Inkrementeller Gradientenabstieg für P. Bisher: Modifikation bezüglich Gesamtfehler bei allen Beispielen δw i := η d D δ d x d i Jetzt: Einzelmodifikationen für jedes Beispiel δw i := η δ d x d i Vorteile: Schnellere Konvergenz Besseres Verlassen lokaler Minima 31 Inkrementeller Gradientenabstieg für P. Start: k:=0 w i := kleine zufällige Werte, Lernrate η festlegen. Schritt k: Für jedes Trainingsbeispiel d = [ [x d 1,...,x d n], f (x d 1,...,x d n) ]: a) Fehler δ d := f(x d 1,...,x d n)-n k (x d 1,...,x d n) berechnen. b) Korrekturwerte der Gewichte w i bestimmen: δw i := η δ d x d i c) Neues Netz N k mit modifizierten Gewichten: w i := w i + δw i Delta-Regel Falls g(n k,f) < ε : Exit. Sonst N k+1 := N k, weiter mit Schritt k+1. 32 16

Backpropagation Lernen in mehrschichtigen Netzen Fehler von Ausgabeschicht sukzessive in vorherige Schichten geeignet zurück propagieren Ausgangspunkt: Minimierung der Summe der Fehlerquadrate E = d D ( N(x d 1,...,x d n) - f (x d 1,...,x d n) ) 2 Verfahren: Gradientenabstieg (in Richtung Ableitung der Fehlerfunktion) Ausgabe (i.a. mehrere Neuronen) f (x 1,...,x n ) = [ t 1,...,t k ] Beispiele in der Form d = [ [ x 1,...,x n ], [ t 1,...,t k ] ] 33 Backpropagation Start: k:=0 w ji := kleine zufällige Werte, Lernrate η festlegen. Schritt k: Für jedes Trainingsbeispiel d = [ [ x 1,...,x n ], [ t 1,...,t k ] ]: a) Berechnung N(x d 1,...,x d n) ( Vorwärtspropagierung ) b) Rückwärtspropagierung des Fehlers für Ausgabe-Neuronen sowie schichtweise für innere Neuronen c) Korrekturwerte der Gewichte bestimmen: δw ji d) Gewichte korrigieren: w ji := w ji + δw ji e) Neues Netz N k mit modifizierten Gewichten Falls g(n k,f) < ε : Exit. Sonst N k+1 := N k, weiter mit Schritt k+1. 34 17

Berechnung der Korrekturwerte f (x 1,...,x n ) = [ t 1,...,t k ] sei der tatsächliche Wert. N(x d 1,...,x d n) = [ o 1,...,o k ] sei die Ausgabe des Netzes, d.h. o u die Ausgabe am Ausgabe-Neuron u Berechnung des Fehlers für Ausgabe-Neuronen u : δ u := o u ( 1- o u ) (t u -o u ) sowie schichtweise für innere Neuronen v : δ v := o v ( 1 - o v ) u w vu δ u δ u ist der Korrekturwert der nachfolgenden Neuronen u Korrekturwerte der Gewichte: δw uv := η δ u a u 35 Lernen für Mehrschichtige Netze Vorzugeben: Anzahl der Schichten und Neuronen pro Schicht an Problemgröße angepasst Initiale Gewichte häufig alle Neuronen zwischen Schichten verbunden Fehlerschranke ε Lernrate η bestimmt Stärke der Modifikation Simulated annealing: η mit der Zeit verringern 36 18

Nochmal: Inductive Bias Hypothese für Generalisierung: Wenn das Netz auf den Trainingsdaten gut arbeitet, wird es auch für alle anderen Daten gute Ergebnisse liefern. Grundsätzlich könnte jedes Netz als Ergebnis genommen werden, das die Trainingsbeispiele korrekt verarbeitet. Das Lernverfahren macht aber zusätzliche Annahmen: Bias bzgl. der gelernten Funktionen bzw. Beispiele: - Stetigkeit: Ähnliche Ausgaben bei ähnlichen Eingaben. - Gleichmäßige Interpolation zwischen Trainingsbeispielen. Bias bzgl. der entstehenden Netze: - Gradientenabstieg für Modifikation der Netze 37 Welche Größe des Netzes ist sinnvoll? Viel hilft nicht viel. Anzahl und Größe der Schichten müssen dem Problem entsprechen (eine Spezialisierung der Neuronen auf individuelle Aufgaben erlauben). Untersuchung: Lernen der Binärkodierung in der verborgenen Schicht (nach Mitchell) Aus Mitchell: Machine Learning 38 19

Welche Größe des Netzes ist sinnvoll? Entwicklung der Aktivierungen der verborgenen Neuronen während des Lernens 39 Welche Größe des Netzes ist sinnvoll? Gelernte Kodierung der verborgenen Neuronen 40 20

Welche Größe des Netzes ist sinnvoll? Anpassung der Gewichte der Eingabe-Neuronen (mit bias) zu einem der verdeckten Neuronen 41 Welche Größe des Netzes ist sinnvoll? Fehler an den Ausgabe-Neuronen während des Lernens 42 21

Welche Größe des Netzes ist sinnvoll? Drei verdeckte Neuronen entsprechen genau der Dimension des Problems, weniger oder mehr Neuronen führen zu schlechteren Ergebnissen. Im besten Fall werden die überzähligen Neuronen mit der Zeit ignoriert. 43 Bestimmung der Größe von Netzen Probieren. Zunächst zu viele Neuronen, dann Neuronen mit wenig Einfluss (geringe Gewichte) eliminieren Zunächst zu wenig Neuronen, dann Neuronen hinzufügen (bei schlechter Konvergenz). Evolutionäre Algorithmen. 44 22

Overfitting Anpassung an zu spezielle Beispiele geht zulasten der Generalisierung (insbesondere bei verrauschten Daten) Gegenstrategie: Beispielmenge D aufteilen in Trainingsmenge D T Validierungsmenge D V Abbruch-Kriterium nur beziehen auf D V Kreuzvalidierung: Mehrfache unterschiedliche Aufteilungen von D in D T und D V 45 Overfitting 46 23

Overfitting 47 Anwendungen Klassifizierung, z.b. Schriftzeichen Erkennung von Sprachmustern Reaktive Steuerungen Vorteile: Schnelle Berechnung Robust bzgl. Rauschen in Trainingsdaten Robust bzgl. Ausfall von Neuronen 48 24

Charakteristika typischer Anwendungen Eingabe: (reell-wertige) Merkmalsvektoren. Merkmale können auch korreliert sein. Daten können verrauscht sein. Ausgabe: diskret/kontinuierlich Vektor Trainingsverfahren: evtl. langwierig, komplex, wiederholte Versuche Anwendung Ausgabewert wird schnell berechnet Schlechte Kommunizierbarkeit Subsymbolischer Ansatz 49 Schrifterkennung Test mit mit 60 000 Zeichen aus je 20x20 Pixeln in 8 Graustufen. Netz mit 400 Eingabe-Neuronen, 10 Ausgabe-Neuronen. Beste Ergebnisse bei 300 verdeckten Neuronen (1 Schicht). Trainingszeit: 7 Tage, Fehler-Rate: 1,6 % Laufzeit 0,01 Sekunden, Speicherbedarf 0,5 MB Bessere Klassifizierung mit Support-Vektor-Maschinen (SVM): Fehler-Rate: 0,6 % 50 25

Rekurrente Netze Netze mit Rückkopplungen. Gedächtnis. Dynamisches System. 51 Aus Steffen Wischmann: Neural dynamics of social behavior: An evolutionary and mechanistic perspective on communication, cooperation, and competition among situated agents. (Dissertation, Bonn 2007) 52 26

Rekurrente Netze: 1 Neuron Netze mit Rückkopplungen. Veränderung der Aktivierung auch ohne Eingabe: Oszillation, Konvergenz u.a. möglich. Diskretes Dynamisches System: a(0), a(1), a(2), b w a(t) = g( w a(t-1) + b + e(t) ) e(t) a(t) 53 Rekurrente Netze: 1 Neuron Transferfunktion g(x) = if x<0 then -1 else +1 Gedächtnis: Werte für a(t) -1 e(t) 0 0.5 +1 a(t-1) -1 +1-1 -1-1 +1 +1 +1 e(t) a(t) = g( 0.5 a(t-1) + e(t) ) 54 27

Rekurrente Netze: 1 Neuron Transferfunktion g(x) = if x<0 then -1 else +1 Oszillation: Werte für a(t) a(t-1) -1 +1 +1-1 -1 a(t) = g( - a(t-1) ) 55 Rekurrente Netze: 1 Neuron Transferfunktion g(x) = tanh(x) 0.5-1.5 a(t) = tanh( -1.5 a(t-1) + 0.5 ) a(0) = 0 a(1) = 0.46 a(2) = -0.19 a(3) = 0.66 a(4) = -0.45 a(5) = 0.83 a(6) = -0.63 a(7) = 0.89 a(8) = -0,69 a(9) = 0.91 a(10) = -0.70 a(11) = 0.91 a(12) = -0.70 a(13) = 0.91 56 28

Scilab-Programm // Einzelnes Neuron // Parameterdefinitionen w = 1; // Rückkopplung, gesetzt bei Aufruf D b = 1; // input bzw. bias, gesetzt bei Aufruf D y = 1; // initiale Aktivierung, gesetzt bei Aufruf D n = 20; // Iterationen function [y] = F(x) y = tanh(w*x+b); endfunction // Definition der Übertragungsfunktion function [G] = GraphF() for kx=1:100 G(kx) = F(kx/10-5); end endfunction //Darstellung der Übertragungsfunktion 57 function [y] = IterateF(y, n) idx = size(y,2); for i=1:n y(idx+i) = F( y(idx+i-1) ); write(%io(2), y(idx+i)); x_vals=[y(idx+i-1) y(idx+i-1)]; y_vals=[y(idx+i-1) y(idx+i)]; plot2d(x_vals,y_vals); // Linie von y=x zu neuem Funkionswert x_vals=[y(idx+i-1) y(idx+i)]; y_vals=[y(idx+i) y(idx+i)]; plot2d(x_vals,y_vals); // Linie von Funktionswert zu y=x plot(-4.9,y(idx+i-1), '--mo'); // Funktionswert end endfunction function D(w0,b0,y0) w=w0; b=b0; y=y0; plot2d([1:100]/10-5, GraphF(),rect=[-5,-2,5,2]); // Übertragungsfunktion plot2d([-2:0.01:2],[-2:0.01:2]); // y=x U = IterateF(y,n); endfunction // Iterationen 58 29

Plot Scilab-Programm 2.0 1.5 1.0 0.5 0.0-0.5-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 a(0) = 0 a(1) = 0.46 a(2) = -0.19 a(3) = 0.66 a(4) = -0.45 a(5) = 0.83 a(6) = -0.63 a(7) = 0.89 a(8) = -0,69 a(9) = 0.91 a(10) = -0.70 a(11) = 0.91 a(12) = -0.70 a(13) = 0.91 59 Rekurrente Netze: 1 Neuron Transferfunktion g(x) = tanh(x) b w e(t) a(t) = tanh( w a(t-1) + b + e ) Verhalten in Abhängigkeit von b und w fl Analyse dynamischer Systeme 60 30

Diskrete Dynamische Systeme Zustand x t Übergänge x t+1 =f(x t ) Trajektorie/Orbit x 0, x 1, x 2, x 3, x 4, x 5, Fixpunkt x = f(x) Schnittpunkt von y=f(x) mit y=x x t x t+1 f(x) Attraktor: Zustandsmenge, die Trajektorien anzieht (z.b. stabile Fixpunkte) Bassin: Zustandsmenge, die in einen Attraktor führt Repellor: Gegenteil von Attraktor (z.b. instabile Fixpunkte) 61 Diskrete Dynamische Systeme Beispiel: f(x) = x 2 Trajektorie/Orbit x 0, x 02, x 04, x 08, Stabiler Fixpunkt x=0 Bassin -1< x < 1 Instabiler Fixpunkt x=1 bei kleiner Abweichung Konvergenz gegen 0 oder 1.Ableitung: f (x) = 2x Fixpunkt stabil falls f (x) < 1 62 31

Diskrete Dynamische Systeme Beispiel: f(x) = rx - rx 2 = rx(1-x) 1.0 0.9 r=4 logistische Funktion betrachten für 0 x 1 0 r 4 0.8 0.7 0.6 r=3 0.5 0.4 r=2 0.3 0.2 r=1 0.1 0.0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 63 Scilab: Logistische Funktion // Logistische Funktion // Parameterdefinitionen r = 1; // Parameter der log. Fkt., gesetzt bei Aufruf D n = 50; // Iterationen y = 0.6; // Startwert, gesetzt bei Aufruf D function [y] = F(x) // Definition der logistischen Funktion y = r*x*(1-x) endfunction function [G] = GraphF() //Darstellung der logistischen Funktion for kx=1:100 G(kx) = F(kx/100); end endfunction 64 32

function [y] = IterateF(y, n) Logistische idx = size(y,2); x_vals=[y Funktion y]; y_vals=[0 y]; plot2d(x_vals,y_vals); // Linie von Startwert zu y=x for i=1:n y(idx+i) = F( y(idx+i-1) ); printf('%5.3f \n', y(idx+i)); x_vals=[y(idx+i-1) y(idx+i-1)]; y_vals=[y(idx+i-1) y(idx+i)]; plot2d(x_vals,y_vals); // Linie von y=x zu neuem Funkionswert x_vals=[y(idx+i-1) y(idx+i)]; y_vals=[y(idx+i) y(idx+i)]; plot2d(x_vals,y_vals); // Linie von Funktionswert zu y=x plot(0,y(idx+i), '--mo'); // Funktionswert end endfunction function D(r0,y0) r=r0; y=y0; plot2d([1:100]/100, GraphF(),rect=[0,0,1,1]); // logist. Fkt. plot2d([0:0.01:1],[0:0.01:1]); // y=x U = IterateF(y,n); // Iterationen endfunction 65 Logistische Funktion f(x) = rx - rx 2 = rx(1-x) Fixpunkte (1) x = 0 stabil (Attraktor) für r 1 mit Bassin [0,1] instabil (Repellor) für r>1 (2) x = (r-1)/r für r 1 stabil (Attraktor) für r<3 mit Bassin [0,1] instabil (Repellor) für r>3 66 33

Logistische Funktion f(x) = rx - rx 2 = rx(1-x) Verhalten für r>3 : 3< r < 3.499 Orbit der Periode 2 ( d.h. Fixpunkt von f(f(x)), x= f(f(x)) ) 3.499 < r < 3.5699 weitere Aufspaltungen ( Bifurkationen ) Orbits der Perioden 4, 8, 16, 3.5699 < r < 4 i.a. chaotisches Verhalten dazwischen in einigen Abschnitten auch wieder periodisch (z.b. für r=3,84 ) 67 Bifurkationsdiagramm Logistische Funktion lim t x r Feigenbaumdiagramm: 68 Bifurkationsdiagramm der logistischen Funktion (aus Wikipedia) 34

Diskrete Dynamische Systeme Attraktor A: Punktmenge, gegen die benachbarte Trajektorien konvergieren Bassin (Attraktorbecken) U: V Punktmenge, die in Attraktor führen A Separatrix: Grenze eines Bassins U A ist Attraktor mit Bassin U, falls - A ist invariant (keine Trajektorie verlässt A) - Für alle offenen V mit AÕVÕU existiert Zeitpunkt T>0 von dem an Trajektorien aus U ganz in V liegen 69 Diskrete Dynamische Systeme Typen von Attraktoren Stabiler Fixpunkt Periodischer Orbit mit Periode n Quasiperiodischer Orbit Chaotischer Attraktor Repellor: Attraktor von f -1 70 35

Diskrete Dynamische Systeme Strukturelle Stabilität: Dynamik des Systems bleibt qualitativ unverändert bei Änderung der Systemparameter. Strukturelle Instabilität (Bifurkationen): Kleine Änderungen der Systemparameter führen zu qualitativen Änderungen (z.b. neue Attraktoren) 71 Rekurrente Netze: 1 Neuron Transferfunktion g(x) = tanh(x) b w e(t) a(t) = tanh( w a(t-1) + b + e(t) ) Verhalten in Abhängigkeit von b und w fl Analyse dynamischer Systeme 72 36

Rekurrente Netze: 1 Neuron b = e(t) = 0 w a(t) = tanh( w a(t-1) ) 1 < w 2 stabile Fixpunkte 1 instabiler Fixpunkt (x=0) 2.0 1.5 1.0 0.5 0.0 a(t) in Abhängigkeit von a(t-1) Startwert a(0)=0.3-0.5-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 73 Rekurrente Netze: 1 Neuron b = e(t) = 0 w a(t) = tanh( w a(t-1) ) 0 w 1 1 stabiler Fixpunkt (x=0) 2.0 1.5 1.0 0.5 0.0-0.5 a(t) in Abhängigkeit von a(t-1) Startwert a(0)=0.3-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 74 37

Rekurrente Netze: 1 Neuron b = e(t) = 0 w a(t) = tanh( w a(t-1) ) -1 w < 0 1 stabiler Fixpunkt (x=0) 2.0 1.5 1.0 0.5 0.0 a(t) in Abhängigkeit von a(t-1) Startwert a(0)=0.3-0.5-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 75 Rekurrente Netze: 1 Neuron b = e(t) = 0 w a(t) = tanh( w a(t-1) ) w < -1 1 instabiler Fixpunkt (x=0) 2-periodischer Orbit 2.0 1.5 1.0 0.5 0.0-0.5 a(t) in Abhängigkeit von a(t-1) Startwert a(0)=0.3-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 76 38

Rekurrente Netze: 1 Neuron w=2, b+e(t) = -2, -1, 0, 1, 2 b w e(t) a(t) = tanh( w a(t-1) + b + e(t) ) 2.0 1.5 1.0 0.5 0.0 a(t) in Abhängigkeit von a(t-1) Startwert a(0)=0 (Hysterese-Verhalten) -0.5-1.0-1.5-2.0-5 -4-3 -2-1 0 1 2 3 4 5 77 Rekurrente Netze Mehr dazu in der Vorlesung Mathematische Grundlagen der Wahrnehmung und Sensomotorik (SS08) von Dr. Manfred Hild 78 39