Neuronale Netze (Konnektionismus)

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

Neuronale Netze (Konnektionismus)

Neuronale Netze mit mehreren Schichten

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

(hoffentlich kurze) Einführung: Neuronale Netze. Dipl.-Inform. Martin Lösch. (0721) Dipl.-Inform.

Grundlagen Neuronaler Netze

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Einführung in neuronale Netze

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

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

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

Einführung in Neuronale Netze

Moderne Methoden der KI: Maschinelles Lernen

Einführung in Neuronale Netze

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

Kapitel LF: IV. IV. Neuronale Netze

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

Aufbau und Beschreibung Neuronaler Netzwerke

Das Perzeptron. Künstliche neuronale Netze. Sebastian Otte. 1 Grundlegendes. 2 Perzeptron Modell

2.4. Neuronale Netze: Modellierung von Lernen und Klassifizieren

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1

Technische Universität. Fakultät für Informatik

Machine Learning - Maschinen besser als das menschliche Gehirn?

Kapitel VI Neuronale Netze

Künstliche neuronale Netze

Moderne Methoden der KI: Maschinelles Lernen

Einführung in. Neuronale Netze

Kohonennetze Selbstorganisierende Karten

(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim

Hochschule Regensburg. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

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

Universität zu Köln Seminar: Künstliche Intelligenz II Dozent: Claes Neuefeind SS Neuronale Netze. Von Deasy Sukarya & Tania Bellini

Schriftlicher Test Teilklausur 2

Innovative Information Retrieval Verfahren

Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens

Kleines Handbuch Neuronale Netze

Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell

Wärmebedarfsprognose für Einfamilienhaushalte auf Basis von Künstlichen Neuronalen Netzen

Computational Intelligence I Künstliche Neuronale Netze

Teil 6. Neuronale Netze & Genetische Algorithmen

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

(künstliche) Neuronale Netze. (c) Till Hänisch 2003, BA Heidenheim

Herzlich Willkommen. Spielstrategien. gehalten von Nils Böckmann

Neuronale Netze in der Robotik

Backpropagation. feedforward Netze

Implementationsaspekte

Neuronale Netze (I) Biologisches Neuronales Netz

Künstliche neuronale Netze

Exkurs Modelle und Algorithmen

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Handschrifterkennung mittels Multilayer Perceptron und Bagging auf dem Android Betriebssystem

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Nichtlineare Gleichungssysteme

Simulation neuronaler Netzwerke mit TIKAPP

Aufbau der Eigenimplementierung

Aufgabe 1 Probabilistische Inferenz

Diskriminatives Training, Neue Wort Problem. Sebastian Stüker

Theoretische Informatik 1

3.4 Asymptotische Evaluierung von Sch atzer Konsistenz Konsistenz Definition 3.4.1: konsistente Folge von Sch atzer

KNN-Methode zur Einschätzung von Veränderungen des Salzgehaltes in Ästuaren

x 2 x 1 x Lernen mit Entscheidungsbäumen

Facharbeit. Ratsgymnasium Bielefeld Schuljahr 2004/2005. aus dem Fach Biologie. Thema: Künstliche neuronale Netze

Kapitel LF: I. Beispiele für Lernaufgaben. Beispiele für Lernaufgaben. LF: I Introduction c STEIN

Neuronale Netze SS Universität Ulm. Anna Wallner. Betreuer: Malte Spiess. Seminar Statistische Lerntheorie und ihre Anwendungen

Selbstorganisierende Karten

weitere Modelle und Methoden

1. Lernen von Konzepten

Fehlerrechnung. Einführung. Jede Messung ist fehlerbehaftet! Ursachen:

Selbstorganisierende Karten

Kapitel ML: I. I. Einführung. Beispiele für Lernaufgaben Spezifikation von Lernproblemen

Kapitel ML:XII. XII. Other Unsupervised Learning. Nearest Neighbor Strategies. Self Organizing Maps Neural Gas. Association Analysis Rule Mining

Vorlesung Wissensentdeckung

Einsatz von Reinforcement Learning in der Modellfahrzeugnavigation

Übersicht. Allgemeines Modell lernender Agenten. Lernende Agenten (1) Lernende Agenten (2)

Mathematik II für Inf und WInf

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}

Vorlesung Maschinelles Lernen

Seminar zum Thema Künstliche Intelligenz:

Beaufsichtigtes Lernen

Bayes sches Lernen: Übersicht

Fachhochschule Köln. Konzepte des maschinellen Lernens. Ausarbeitung. Florian Keller

Merkmalbasierte Zeichenerkennung mittels neuronaler Netze

Lernstrategien für Neuronale Netze - Der Backpropagation-Algorithmus

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

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 10. Aufgabe ETH Zürich D-MATH. Herbstsemester Dr. V. Gradinaru D.

Vorlesung: Analysis II für Ingenieure. Wintersemester 07/08. Michael Karow. Themen: Niveaumengen und Gradient

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Operations Research (OR) II

Künstliche Intelligenz Maschinelles Lernen

Structurally Evolved Neural Networks for Forecasting

6. Übung zur Linearen Optimierung SS08

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Neuronale Netze. Prof. Dr. Rudolf Kruse Christoph Doell, M.Sc.

2. Lernen von Entscheidungsbäumen

Konvergenz im quadratischen Mittel und Parsevalsche Gleichung

Künstliche Neuronale Netze

Transkript:

Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Daniel Göhring Vorlesung (Konnektionismus) sind biologisch motiviert können diskrete, reell-wertige und Vektor-wertige Funktionen berechnen Informationsspeicherung verteilt im gesamten Netz Lernverfahren auf der Basis von Fehleroptimierung (Gradientenabstieg), z.b. Back-Propagation 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 aufgrund der Präsentation von Beispielen. Hypothese: 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 Gewichtete Summe der Eingänge in i = Σ i=0,..,n w ji a i mit a j = ankommende Aktivierung von Einheit u j für i=1,..,n a 0 = -1 Bias Aktivierungsfunktion g Ausgabe a i = g(in i ) = g(σ i=0,..,n w ji a i ) 8 4

Aktivierungsfunktion g Schaltet Ausgabe ein falls Eingabe hinreichend groß bzw. falls Eingabe positiv (Justierung mittels Bias), z.b. Schwellwert oder Sigmoidfunktion 1/(1+e -x) (differenzierbar!) Flanken als Übertragungsfunktion (z.b. Verstärkung) a i = g(in i ) = g(σ i=0,..,n w ji a i ) 9 Netzstrukturen Ohne Rückkopplung ( feed forward ) Verarbeitung Eingabevektor Ausgabevektor Typischerweise in Schichten (layer) angeordnet: Eingabeschicht, Ausgabeschicht Verdeckte Schichten (hidden layer) 10 5

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

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

Nur linear trennbare Funktionen Σ i=0,..,n w j a i > 0 oder w a > 0 XOR ist nicht linear trennbar Analoges Resultat für sigmoide Aktivierungsfunktion 15 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. 16 8

Lernen Insgesamt gegeben: Menge F von Funktionen Menge N von Neuronalen Netzen N Gütemaß g: F x N W Insgesamt gesucht: Verfahren, das zu gegebener Funktion f(x 1,...,x n ) ein Netz N liefert mit hinreichender Güte g(f,n). i.a. keine genaue Übereinstimmung gefordert, sondern gute Approximation: optimale Güte = minimaler Fehler 17 Lern-Verfahren Gegeben: Funktion f(x 1,...,x n ) Gesucht: Netz N mit optimaler Güte g(f,n). Idee des Lernens: Ein initiales Netz wird anhand von (endlich vielen) Trainingsdaten solange modifiziert, bis es auf diesen Daten hinreichend gut arbeitet. Hypothese: Wenn das Netz auf den Trainingsdaten gut arbeitet, wird es auch für alle anderen Daten gute Ergebnisse liefern. 18 9

Lern-Verfahren Eingabe: Beispiele zu f(x 1,...,x n ), initiales Netz N 0 Start: k:=0 Schritt k: Kann als Suchproblem im Suchraum N betrachtet werden. Falls Güte g(f,n i ) > ε : Exit mit Lösung N i. Andernfalls: N k+1 aus N k berechnen durch Anpassen der Gewichte w ji. Heuristik für Anpassung: Optimierung von g(f,n k ) anhand der Lernbeispiele. Weiter mit Schritt k+1. 19 Lernformen Überwachtes Lernen ( supervised learning, mit Lehrer ): Es werden Beispiele korrekter Zuordnungen präsentiert [x 1,...,x n ;f(x 1,...,x n )] Unüberwachtes Lernen ( unsupervised learning, ohne Lehrer ): Es werden Beispiele von Eingaben präsentiert [x 1,...,x n ] 20 10

Unüberwachtes Lernen Es werden Beispiele von Eingaben präsentiert [x 1,...,x n ] Das Netz soll z.b. Regularitäten (Clusterbildung) erkennen. Mögliche Verfahren: Hebbsche Lernregel: Verbindungen zwischen gleichzeitig aktivierten Neuronen verstärken ( festigen durch Wiederholung ) Competitive Learning (Winner takes it all): Eingänge hoch aktivierter Neuronen werden verstärkt. 21 Überwachtes Lernen für Perzeptron Gradientenabstieg Idee: Fehler bei Trainingsbeispielen minimieren Summe der Fehlerquadrate: E = d D ( N (x d 1,...,x d n) - f (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 22 11

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 E(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. 23 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 24 12

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 25 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) Delta-Regel 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 26 13

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 ( h (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 ] ] 27 Backpropagation Start: k:=0 w i := kleine zufällige Werte, Lernrate η festlegen. Schritt k: Für jedes Trainingsbeispiel d = [ [ x 1,...,x n ], [ t 1,...,t k ] ]: a) Vorwärtspropagierung b) Rückwärtspropagierung des Fehlers für Ausgabe-Neuronen bzw. schichtweise für innere Neuronen c) Korrekturwerte der Gewichte bestimmen: d) Gewichte korrigieren: e) Neues Netz N k mit modifizierten Gewichten Falls E(N k,f) < ε : Exit. Sonst N k+1 := N k, weiter mit Schritt k+1. 28 14

Backpropagation: innerer Zyklus Für jedes Trainingsbeispiel d = [ [ x 1,...,x n ], [ t 1,...,t k ] ]: a) Vorwärtspropagierung: Für jedes Ausgabe-Neuron u die Ausgabe o u berechnen. b) Berechnung des Fehlers für Ausgabe-Neuronen u δ u := o u ( 1- o u ) (t u -o u ) bzw. ( nach rückwärts ) schichtweise für innere Neuronen v δ v := o v ( 1 - o v ) u w vu δ u c) Korrekturwerte der Gewichte bestimmen: δw uv := η δ u x uv d) Gewichte korrigieren: w uv := w uv + δw uv e) Neues Netz N k mit modifizierten Gewichten 29 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 30 15

Korrekte Verallgemeinerung? 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 Lernergebnis genommen werden, wenn es die Trainingsbeispiele reproduziert. Es gibt aber zusätzliche Annahmen, die bestimmte Netze bevorzugen, z.b. - Stetigkeit: Ähnliche Eingaben erzeugen ähnliche Ausgaben. - Gleichmäßige Interpolation zwischen Trainingsbeispielen - Gradientenabstieg für Modifikation der Netze. Allgemeines Problem für Maschinelles Lernen: Welche Lösungen werden bevorzugt? Zusätzliche Annahmen: Inductive bias. 31 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 eigene Aufgaben erlauben. Untersuchung: Lernen der Binärkodierung in der verborgenen Schicht (nach Mitchell) 32 16

Welche Größe des Netzes ist sinnvoll? Entwicklung der Aktivierungen der verborgenen Neuronen während des Lernens 33 Welche Größe des Netzes ist sinnvoll? Gelernte Kodierung der verborgenen Neuronen 34 17

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

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. 37 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. 38 19

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 39 Overfitting 40 20

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

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 43 Spracherkennung Unterscheidung ähnlich klingender Silben 44 22

Spracherkennung Unterscheidung ähnlich klingender Silben 45 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 % 46 23