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

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

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

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

Neuronale Netze Aufgaben 3

Konzepte der AI Neuronale Netze

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

Neuronale Netze Aufgaben 2

Praktische Optimierung

Künstliche Neuronale Netze

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

Neuronale Netze. Anna Wallner. 15. Mai 2007

Neuronale Netze in der Phonetik: Feed-Forward Netze. Pfitzinger, Reichel IPSK, LMU München {hpt 14.

Klassifikation linear separierbarer Probleme

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

Teil III: Wissensrepräsentation und Inferenz. Kap.5: Neuronale Netze

Proseminar Neuronale Netze Frühjahr 2004

Neuronale Netze. Gehirn: ca Neuronen. stark vernetzt. Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor)

Grundlagen neuronaler Netzwerke

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

Thema 3: Radiale Basisfunktionen und RBF- Netze

Neuronale Netze. Einführung i.d. Wissensverarbeitung 2 VO UE SS Institut für Signalverarbeitung und Sprachkommunikation

Hannah Wester Juan Jose Gonzalez

Neuronale Netze. Einführung i.d. Wissensverarbeitung 2 VO UE SS Institut für Signalverarbeitung und Sprachkommunikation

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

6.4 Neuronale Netze zur Verarbeitung von Zeitreihen

Schwellenwertelemente. Rudolf Kruse Neuronale Netze 8

Training von RBF-Netzen. Rudolf Kruse Neuronale Netze 134

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Mann-Whitney-U-Test: Tiefenstufen

Neural Networks: Architectures and Applications for NLP

Kapitel LF: IV. IV. Neuronale Netze

Neuronale Netze. Christian Böhm.

Künstliche neuronale Netze

Neuronale Netze (Konnektionismus)

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

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

Einführung in neuronale Netze

Wissensentdeckung in Datenbanken

Computational Intelligence I Künstliche Neuronale Netze

11. Neuronale Netze 1

Lineare Regression. Volker Tresp

Neuronale Netze mit mehreren Schichten

Radiale-Basisfunktionen-Netze. Rudolf Kruse Neuronale Netze 120

Exkurs Modelle und Algorithmen

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

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

Simulation neuronaler Netzwerke mit TIKAPP

Eine kleine Einführung in neuronale Netze

Theoretische Informatik 1

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

Neuronale Netze. Maschinelles Lernen. Michael Baumann. Universität Paderborn. Forschungsgruppe Wissensbasierte Systeme Prof. Dr.

Künstliche Neuronale Netze

Ausarbeitung zum Hauptseminar Machine Learning

Künstliche Neuronale Netze

BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON

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

Neuronale Netze (I) Biologisches Neuronales Netz

Klassifikationsverfahren und Neuronale Netze

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

Kapitel VI Neuronale Netze

Wissensentdeckung in Datenbanken

Künstliche neuronale Netze

Aufbau und Beschreibung Neuronaler Netzwerke

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Ein selbstmodellierendes System für die Wasserwirtschaft

Objekterkennung mit künstlichen neuronalen Netzen

Einführung in Neuronale Netze

Können neuronale Netze Vorhersagen treffen? Eine Anwendung aus der Stahlindustrie

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

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

Künstliche Intelligenz. Neuronale Netze

Virtuelles Labor für Neuronale Netze

Selbstorganisierende Karten

Überwachtes Lernen II: Netze und Support-Vektor-Maschinen

KNN für XOR-Funktion. 6. April 2009

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

Mustererkennung und Klassifikation

Reinforcement Learning

Echtzeitfähige Algorithmen für markerloses Tracking und Umfelderkennung , Dr.-Ing. Steffen Herbort, A.R.T. GmbH

Machine Learning - Maschinen besser als das menschliche Gehirn?

Kapitel VI Neuronale Netze

Allgemeine (Künstliche) Neuronale Netze. Rudolf Kruse Neuronale Netze 40

Validation Model Selection Kreuz-Validierung Handlungsanweisungen. Validation. Oktober, von 20 Validation

Einführung in die Computerlinguistik

Die Datenmatrix für Überwachtes Lernen

Proseminar Machine Learning. Neuronale Netze: mehrschichtige Perzeptrone. Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger

Lineare Regression. Christian Herta. Oktober, Problemstellung Kostenfunktion Gradientenabstiegsverfahren

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

Modellierung mit künstlicher Intelligenz

Neuronale Netze I. Proseminar Data Mining Florian Zipperle Fakultät für Informatik Technische Universität München

Einführung in die Methoden der Künstlichen Intelligenz

Multi-Layer Neural Networks and Learning Algorithms

Praktikum Simulationstechnik Rene Schneider, Benjamin Zaiser

Pareto optimale lineare Klassifikation

10. Neuronale Netze 1

Einführung in Neuronale Netze

Künstliche Neuronale Netze und Data Mining

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

auch: Konnektionismus; subsymbolische Wissensverarbeitung

Transkript:

kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation

Neuronale Netze Motivation Perzeptron Übersicht Multilayer Neural Networks Grundlagen für praktische Übungen Aufgaben der letzten Stunde 2

NEURONALE NETZE 3

Motivation menschliches Gehirn und PC-Rechner komplementär in ihren Stärken und Schwächen Rechner sollen Vorteile des menschlichen Gehirns ebenfalls nutzen hohe Parallelisierung Robustheit etc. Gehirn besteht aus einzelnen Gehirnzellen (Neuronen), die durch Vernetzung erst Macht gewinnen 4

Aufbau Perzeptron einzelne künstliche Nervenzelle verarbeitet Eingabesignale zu einzelnem Ausgabesignal Aufbau: x Eingabevektor t Target (Soll-Ausgabe) x 0 =1 x 1 x 2 x n... w 2 w 1 w n w 0 Σ o = { 1 1 n i=1 Bias Trick x 0 =1 w ix i θ sonst w 0 = θ w Gewichtsvektor o Output (Ist-Ausgabe) 5

Perzeptron verstehen geometrische Interpretation: Trennhyperebene (in R 2 : Gerade) Gewichte definieren genaue Lage der Ebene (Gewichte = Normale der Ebene) Gewichtete Summe = Skalarprodukt aus Eingaben und Gewichtsvektor p 1 Gewichtsvektor > 0 p 2 Gewichtsvektor > 0 n 1 Gewichtsvektor < 0 n 2 Gewichtsvektor < 0 6

Lernen - Geometrische Interpretation Hilfsmenge { } N = x x = x, x N Neues Lernproblem xw > 0, x N P Im Beispiel: alle x i aus P

Perzeptron Lernalgorithmus Start: Gegeben Lerndatenmenge P N Der Gewichtsvektor w(0) wird zufällig generiert. Setze t:=0. Testen: Ein Punkt x in P N wird zufällig gewählt. Falls x P und w(t) x > 0 gehe zu Testen Falls x P und w(t) x 0 gehe zu Addieren Falls x N und w(t) x < 0 gehe zu Testen Falls x N und w(t) x 0 gehe zu Subtrahieren Addieren: Setze w(t+1) = w(t)+x. Setze t:= t+1. Gehe zu Testen. Subtrahieren: Setze w(t+1) = w(t)-x. Setze t:=t+1. Gehe zu Testen.

Multi Layer Neural Network (MLNN) Netzaufbau: mehrere versteckte (innere) Schichten Lernverfahren: Backpropagation-Algorithmus [Rumelhart86, Werbos74] Neuronenaufbau: nichtlineare Aktivierungsfunktion -1-1 i1-1 i2 i3 i4 i5 9

Aufbau der Neuronen x 1 w 1 x 0 =1 w 0 nichtlinear, wichtig für Lernalgorithmus x 2. w 2 Σ x n w n x ij = i-te Eingabe des Neurons j w ij = das Gewicht zwischen Neuron i und Neuron j net j = i w ij x ij Propagierungsfunktion o j = Ausgabe des Neurons j t j = Zielausgabe (target) des Ausgabeneurons j f(x) = Aktivierungsfunktion output = Menge der Ausgabeneuronen Downstream (j) = direkte Nachfolger des Neurons j 10

Vorgaben Backpropagation Algorithmus I Menge T von Trainingsbeispielen (Eingabevektor/ Ausgabevektor) Lernrate η Netztopologie Anzahl und Ausmaße der Zwischenschichten Schichten sind vollständig vorwärts gerichtet verbunden Lernziel Finden einer Gewichtsbelegung W, die T korrekt wiedergibt 11

Backpropagation Algorithmus II Initialisieren der Gewichte mit kleinen zufälligen Werten Wiederhole Auswahl eines Beispielmusters d Bestimmen der Netzausgabe Bestimmen des Ausgabefehlers (bzgl. Sollausgabe) Sukzessives Rückpropagieren des Fehlers auf die einzelnen Neuronen Anpassen der Gewichtsbelegung um solange ein gewähltes Abbruchkriterium nicht erfüllt ist! 12

Topologieauswahl Zusammenhang zwischen Anzahl der (hidden) layer und Zielfunktion? 3 Layer (1 hidden Layer - sigmoid): jede Boolsche Funktion jede kontinuierliche beschränkte Funktion [Cybenko 1989, Hornik et al. 1989] 4 Layer (2 hidden Layer -sigmoid) beliebige Funktionen mit beliebiger Genauigkeit [Cybenko 1988] Schon eine geringe Tiefe ist ausreichend 13

Lernverhalten - Topologieauswahl Anzahl der Neuronen pro Schicht im Bezug zu der Anzahl von (stochastisch unabhängigen) Lerndaten ist wichtig Aber: allgemeine Aussage nicht möglich Beispiel: gestrichelte Kurve soll eingelernt werden wenig Neuronen viele Neuronen wenig Lerndaten 14

Auswahl repräsentativer Trainingsbeispiele Lerndaten für die Anpassung der Gewichte Verifikationsdaten für das Testen der Generalisierung gute Verteilung der Beispiele Klassifikation: Daten aus allen Klassen Regression: gesamter Definitionsbereich Beispiele insbesondere aus komplexen Regionen Klassifikation: Randregionen zwischen Klassen Regression: Verlaufsänderungen 15

Overfitting Fehler auf Verifikationsdaten steigt ab einer Anzahl von Lernzyklen Mögliches Abbruchkriterium für Lernvorgang 16

GRUNDLAGEN FÜR PRAXIS- ÜBUNGEN 17

C++-Library Flood Open Source Neural Networks Library in C++ verfügbar unter http://www.cimne.com/flood/download.asp Bietet Perzeptronen Multi-layer Netzwerke verschiedene Trainingsalgorithmen weitere Utilities Verwendbar zur Lösung der folgenden Aufgaben 18

AUFGABEN AUS LETZTER STUNDE 19

Aufgabe 1: Einrichtung Einrichtung der Library für die weitere Verwendung Download Entpacken in Visual C++ geeignet einbinden von allen erfolgreich beendet? 20

Aufgabe 2: Perzeptronen (1) a) Verwende die Klasse Perceptron der Flood-Library, um von Hand einen logischen AND-Operator zu programmieren (2 Eingänge, 1 Ausgang, 1&1=1, 1&0=0, 0&1=0, 0&0=0). von allen erfolgreich beendet? mögliche Lösung: AndOp = new FL::Perceptron(2); FL::Vector<double> weights(2); AndOp.set_activation_function(FL::Perceptron::Linear); AndOp->set_bias(-0.75); weights[0] = 0.5; weights[1] = 0.5; AndOp->set_synaptic_weights(weights); FL::Vector<double> inputs(2); inputs[0] = INPUT1; inputs[1] = INPUT2; double outputsignal = AndOp->calculate_output(inputs); 21

Aufgabe 2: Perzeptronen (2) Wie kommt man zu den Parametern? Ausprobieren Grafisch überlegen (Gewichtsvektor = Normalenvektor) Gleichungssystem aufstellen: 1 w 1 +1 w 2 = w 1 + w 2 > θ 0 w 1 +1 w 2 = w 2 < θ 1 w 1 +0 w 2 = w 1 < θ 22

Aufgabe 2: Perzeptronen (3) b) Erweitere die Lösung von Teilaufgabe a), so dass der Benutzer die Anzahl der Eingaben auswählen kann und neben dem AND-Operator auch ein OR-Operator realisiert wird. alle erfolgreich? mögliche Lösung für AND: AndOp = new FL::Perceptron(numberOfInputSignals); FL::Vector<double> weights(numberofinputsignals); double andinputweight = 1.0 / numberofinputsignals; double andthreshold = 1.0 (andinputweight / 2.0); AndOp->set_bias(-andThreshold); for (int i=0; i<numberofinputsignals; i++){ weights[i] = andinputweight; } AndOp->set_synaptic_weights(weights); 23

Aufgabe 2: Perzeptronen (4) mögliche Lösung für AND: AndOp = new FL::Perceptron(numberOfInputSignals); FL::Vector<double> weights(numberofinputsignals); double andinputweight = 1.0 / numberofinputsignals; double andthreshold = 1.0 (andinputweight / 2.0); AndOp->set_bias(-andThreshold); for (int i=0; i<numberofinputsignals; i++){ weights[i] = andinputweight; } AndOp->set_synaptic_weights(weights); mögliche Lösung für OR: double orinputweight = 1.0 / numberofinputsignals; double orthreshold = orinputweight / 2.0); OrOp->set_bias(-orThreshold); for (int i=0; i<numberofinputsignals; i++){ weights[i] = orinputweight; } OrOp->set_synaptic_weights(weights); 24

Aufgabe 2: Perzeptronen (5) c) Für den Fall von genau 2 Eingängen: Realisiere einen XOR-Operator unter Einsatz mehrerer Perzeptronen. alle erfolgreich? mögliche Lösung: FL::Perceptron xorul(2), xorlr(2), xorout(2); double threshold = 0.25; FL::Vector<double> xulweights(2), xlrweights(2), xoroutweights(2); xulweights[0] = 0.5; xulweights[1] = -0.5; xlrweights[0] = -0.5; xlrweights[1] = 0.5; xoroutweights[0] = 0.5; xoroutweights[1] = 0.5; Normalisierung der jeweiligen Ausgaben 25

Fragen? Labor Wissensrepräsentation 26

Literatur Tom Mitchell: Machine Learning. McGraw-Hill, New York, 1997. M. Berthold, D.J. Hand: Intelligent Data Analysis. P. Rojas: Theorie der Neuronalen Netze Eine systematische Einführung. Springer Verlag, 1993. C. Bishop: Neural Networks for Pattern Recognition. Oxford University Press, 1995. Vorlesung Neuronale Netze 2006 : http://isl.ira.uka.de/ siehe auch Skriptum Ein kleiner Überblick über Neuronale Netze : http://www.dkriesel.com/