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

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

Klassische Klassifikationsalgorithmen

Klassische Klassifikationsalgorithmen

Konzepte der AI Neuronale Netze

Einführung i.d. Wissensverarbeitung

Einführung i.d. Wissensverarbeitung

Neural Networks: Architectures and Applications for NLP

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

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

Neuronale Netze. Christian Böhm.

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

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

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

Weitere Untersuchungen hinsichtlich der Anwendung von KNN für Solvency 2. Tom Schelthoff

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

8. Vorlesung Neuronale Netze

Neuronale Netze (Konnektionismus)

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

Hannah Wester Juan Jose Gonzalez

Mustererkennung: Neuronale Netze. D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12

Neuronale Netze. Anna Wallner. 15. Mai 2007

Objekt Attributwerte Klassifizierung X Y

Neuronale Netze Aufgaben 3

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

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

Datenorientierte SA. Aufbau und Grundlagen. Aufbau und Grundlagen. Aufbau und Grundlagen. Was sind neuronale Netze?

Neuronale. Netze. Henrik Voigt. Neuronale. Netze in der Biologie Aufbau Funktion. Neuronale. Aufbau Netzarten und Topologien

Der Sprung in die Zukunft! Einführung in neuronale Netzwerke

Praktische Optimierung

Lineare Regression. Volker Tresp

Klassifikationsverfahren und Neuronale Netze

Kapitel 10. Maschinelles Lernen Lineare Regression. Welche Gerade? Problemstellung. Th. Jahn. Sommersemester 2017

Neuronale Netze u. Anwendungen, 17. Jan. 2012

Wissensentdeckung in Datenbanken

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

Grundlagen zu neuronalen Netzen. Kristina Tesch

Linear nichtseparable Probleme

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

RL und Funktionsapproximation

6.2 Feed-Forward Netze

Perzeptronen. Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004

Eine kleine Einführung in neuronale Netze

Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik. 8. Aufgabenblatt

Training von RBF-Netzen. Rudolf Kruse Neuronale Netze 134

Künstliche Neuronale Netze

Nichtlineare Klassifikatoren

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

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Theoretische Informatik 1

Adaptive Systeme. Mehrere Neuronen, Assoziative Speicher und Mustererkennung. Prof. Dr. rer. nat. Nikolaus Wulff

Wissensentdeckung in Datenbanken

Grundlagen neuronaler Netzwerke

Künstliche Neuronale Netze

Wissensbasierte Systeme

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

Lösungen zur letzten Stunde & Vorbereitung

Die Datenmatrix für Überwachtes Lernen

7. Vorlesung Neuronale Netze

Künstliche Intelligenz. Neuronale Netze

Neuronale Netze mit mehreren Schichten

Kapitel LF: IV. IV. Neuronale Netze

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

Modellierung mit künstlicher Intelligenz

Teil III: Wissensrepräsentation und Inferenz. Kap.5: Neuronale Netze. Was sind künstliche Neuronale Netze?

Neuronale Netze (I) Biologisches Neuronales Netz

BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON

Was sind Neuronale Netze?

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

Einführung in die Methoden der Künstlichen Intelligenz

Einfaches Framework für Neuronale Netze

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

Skriptum zum ersten Teil der Einführung in die Wissensverarbeitung

Lineare Regression. Christian Herta. Oktober, Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Backpropagation. feedforward Netze

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

Inhaltsverzeichnis. Einführung

Neuronale Netze. Seminar aus Algorithmik Stefan Craß,

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

Adaptive Systeme. Neuronale Netze: Neuronen, Perzeptron und Adaline. Prof. Dr. rer. nat. Nikolaus Wulff

Virtuelles Labor für Neuronale Netze

Das Perzeptron. Volker Tresp

Automatische Erkennung und Klassifikation von Körperhaltungen und Aktivitäten

Theoretische Informatik 1

Künstliche Neuronale Netze. 2. Optimierung des Trainings 3. Optimierung der Topologie 4. Anwendungen in der Medizin 5.

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

6.4 Neuronale Netze zur Verarbeitung von Zeitreihen

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Künstliche Neuronale Netze

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

5. Lernregeln für neuronale Netze

Einführung in neuronale Netze

Künstliche neuronale Netze

Übersicht. Definition Daten Problemklassen Fehlerfunktionen

Automatische Spracherkennung

11. Neuronale Netze 1

Thema 3: Radiale Basisfunktionen und RBF- Netze

Schwellenwertelemente. Rudolf Kruse Neuronale Netze 8

Transkript:

Neuronale Netze Einführung in die Wissensverarbeitung 2 VO 708.560+ 1 UE 442.072 SS 2013 Institut für Signalverarbeitung und Sprachkommunikation TU Graz Inffeldgasse 12/1 www.spsc.tugraz.at Institut für Grundlagen der Informationsverarbeitung TU Graz Inffeldgasse 16b/1 www.igi.tugraz.at

Lehrveranstaltungsübersicht IGI Kapitel 1 Grundbegriffe des maschinellen Lernens Kapitel 2 Neuronale Netze Kapitel 3 Klassische Klassifikationsalgorithmen Kapitel 4 Modellselektion Kapitel 5 Aussagenlogik 2

Plan für heute: Kapitel 2 Wie sind Neuronale Netze aufgebaut? Wie werden Neuronale Netze gelernt? Welche Funktionen können Neuronale Netze lernen? Welche praktischen Tipps für die Anwendung gibt es? Welche Stärken und Schwächen haben Neuronale Netzwerke? 3

Hintergrund Biologische neuronale Netzwerke Informationsverarbeitung im menschlichen Gehirn wird mittels 1011 Nervenzellen (Neuronen) und 1015 Synapsen durchgeführt. 4

Anwendungen Künstliche Neuronale Netze werden angewendet in den Gebieten: Funktionsapproximation, Regression, e.g. Zeitreihenvorhersage Klassifikation, Muster- und Sequenzerkennung Datenverarbeitung, Filterung, Clustering Beispiele: Systemerkennung, Regelungstechnik (Fahrzeugsteuerung), Spiele (Backgammon, Steuerung von Rennspielen), Mustererkennung (Gesichtserkennung, Handschrifterkennung), Medizinische Diagnosen, Finanzanwendungen (Börse), Data mining (Erkenntnisgewinnung aus Datenbeständen), Spam-Filter 5

Lernbeispiel Bilderkennung Trainingsbeispiele -1 +1 +1-1 6

Lineare Klassifikation möglich? Nichlineare Probleme können meist nicht von linearen Modellen (linearen Klassifikatoren) gelöst werden Lernbeispiel Bilderkennung: Lineare Klassifikatoren liefern für dieses XOR Problem einen zero-one Fehler von mindestens 0.25: y = sign w T x =sign w 0 w 1 x 1... w d x d 7

Kapitel 2 Wie sind Neuronale Netze aufgebaut? 8

Architektur Netzwerke mit allgemeiner feedforward Architektur: Allgemein: Ein Netzwerk kann als gerichteter Graph G = (V,E) beschrieben werden mit Knoten V (Neuronen, inputs, outputs) und Kanten E (Verbindungen) Für jede Kante i, j E von Knoten i zu Knoten j gibt es ein Gewicht w i, j Für jeden nicht input Knoten i gibt es eine Aktivierungsfunktion hi 9

Architektur Wir betrachten ausschließlich feedforward Netzwerke mit layered Architektur. (auch genannt multi layer perceptrons) x ℝD y ℝK w 1 ℝ M D w 2 ℝ K M Input layer Hidden layer Output layer 10

Architektur x ℝD y ℝK w 1 ℝ M D w 2 ℝ K M Durch das Netzwerk implementierte Funktion: 2 yk x, w = h = h 2 M 2 ki w h i=1 M 2 ki 1 1 w h i=1 D 1 1 2 w x w w ij j i0 k0 j=1 D 1 w ij x j j =1 11

Aktivierungsfunktionen Die Wahl der Aktivierungsfunktion hängt vom Lernproblem ab: Lineares Gatter Sigmoides Gatter Schwellengatter h(a) h a =a h a = 1 a 1 e { h a = 0 a 0 1 a 0 a a a Lineare Regression Nichtlineare Funktionen (auch Klassifikation) Klassifikation 12

Aktivierungsfunktionen Die Wahl der Aktivierungsfunktion hängt vom Lernproblem ab: Lineares Gatter Sigmoides Gatter Schwellengatter h(a) h a =a h a =tanh a { h a = 1 a 0 1 a 0 a a a Lineare Regression Nichtlineare Funktionen (auch Klassifikation) Klassifikation 13

Eigenschaften Durch die Verknüpfung simpler Elemente entsteht komplexes Verhalten. Berechnung ist verteilt und parallel. Einigermaßen robust gegenüber Defekten (verteiltes Rechnen). Funktion wird programmiert anhand der Justierung der Gewichte. 14

Kapitel 2 Wie werden Neuronale Netze gelernt? 15

Wie können Neuronale Netze die XOR Funktion lösen? y z1 z2 x1 x2 16

Fehlerfunktion Die (empirische und wahre) Fehlerfunktion von mehrschichtigen Neuronalen Netzen sind im Allgemeinen komplexe Funktionen mit mehreren lokalen Minima. Allgemein: XOR: MSE MSE MSE w2 ' MSE w1 ' MSE MSE w1 w 21 w2 w0 ' w1 ' MSE w 11 w 22 w 12 17

Ansatz: Gradientenabstieg Wie findet man das optimale w welches MSE w minimiert? Der Gradient W E w zeigt immer in Richtung des steilsten Anstiegs von E w (Wir verwenden ab hier die kürzere Notation E anstatt MSE.) E w W E w 18

Arten von Minima E w w Globale global minima: Punkte w mit E w E w Lokale Minima : für alle w Minima für welche Punkte mit kleinerem E existieren Um eine gute Lösung zu finden benötigt man kein globales Minimum, aber man sollte mehrere lokale Minima überprüfen und das Beste nehmen. 19

Gradientenabstieg Da es keine Hoffnung gibt eine analytische Lösung für W E w = 0 zu finden, führen wir folgende iterative numerische Prozedure durch Wähle w 0 w 1 =w w mit = 0, 1, 2,... Es gibt viele Algorithmen, welche nach diesem Prinzip funktionieren, und viele verwenden Information über den Gradienten. 20

Batch learning Mache einen kleinen Schritt in Richtung des negativen Gradienten w 1 = w E w wo 0 eine kleine Lernrate ist. Für die exakte Berechnung des Gradienten benötigt man alle Trainingsbeispiele batch mode. 21

Online Learning Die Fehlerfunktion kann aufgeteilt werden in L E w = l=1 E l w In der online version erfolgt der update nach jedem einzelnen Trainingsbeispiel. w 1 = w E mod N 1 w E w Er konvergiert schneller und kann lokalen Minima entkommen. 22

Backpropagation Eingeführt 1973 von Paul Werbos in dessen Ph.D. Thesis (Harvard University). In den 80ern einige Male neu erfunden (Parker, LeCun). Bekannt geworden durch das Buch Parallel Distributed processing von Rummelhart und McClelland (1987). Lösung für das Credit Assignment Problem: Wer hat wieviel Schuld am Fehler? 23

Voraussetzungen für Backprop Allgemeine feed-forward Architektur Differenzierbare Aktivierungsfunktionen (e.g. sigmoide Gatter) Für die Klasse von Fehlerfunktionen gilt E w = l n=1 E n w h(x) 24

Backpropagation Der Gradient der Fehlerfunktion wird durch den lokalen Austausch von Nachrichten ermittelt (message passing): Vorwärts Übertragung... von Aktivierungen, d.h. x y, um den output aller Neuronen und des gesamten Netzwerkes zu bestimmen. Rückwärts Übertragung... der Fehlerzuweisung für jedes Gatters. 25

Algorithmus Fehlerberechnung: l E w = n=1 E n w E n w = k z j w kj Fehler * input Vorwärts Übertragung: Berechnung des outputs z j des Gatters j Rückwärts Übertragung: Berechnung der Fehlers k des Gatters k 2 a k y k l h k a k r w rk Hidden Gatter: k = r post k ak Output Gatter: k = 26

Pseudocode Begin initialize network architecture (# hidden neurons), Goal, und w, m 0 do m m 1 m x randomly chosen pattern input forward propagation, error back propagation 1 w 1 w ji ji j x i, 2 w 2 w kj kj k z j until E w return end 27

Kapitel 2 Welche Funktionen können Neuronale Netze lernen? 28

Neuronale Netze: Rechenkraft XOR Problem: 29

Neuronale Netze: Rechenkraft Theorem 1: D K Jede Boolesche Funktion f :{0,1} {0,1} kann durch einen Schwellenschaltkreis (also durch ein neuronales Netz bestehend aus Schwellengattern) der Tiefe 2 (ein hidden layer) berechnet werden. 30

Neuronale Netze: Rechenkraft Theorem 2: D K Zu jeder kontinuierlichen Funktion f :[0,1] [0,1] und jedem 0 gibt es ein neuronales Netz N der Tiefe 2 (ein hidden layer), bestehend aus sigmoiden Gattern auf dem hidden layer und linearen (oder sigmoiden) Gattern auf dem output layer, welches die Funktion f mit der Genauigkeit approximiert, d.h. für alle x 1,..., x D [0, 1] D gilt f x 1,..., x D N x 1,..., x D y Netzwerk mit 3 hidden Neuronen blau... rot... --... y x Zielfunktion Approximation ouput der hidden Neuronen x 31

Neuronale Netze: Rechenkraft Klassifikation: Neuronale Netze können beliebig komplexe Entscheidungsregionen definieren (output = Schwellengatter) Netzwerk mit 2 hidden Neuronen grün... rot... --... Zielfunktion Approximation ouput der hidden Neur. 32

Kapitel 2 Welche praktischen Tipps für die Anwendung gibt es? 33

Tipp 1: Setzen der Lernrate Die Lernrate darf nicht zu klein oder zu groß gewählt werden, um Konvergenz zum Minimum zu garantieren. MSE Für quadratische Fehlerfunktionen kann man die optimale Lernrate berechen, um in einem Schritt zum globalen Minimum zu gelangen. 34

Adaptive Lernrate In der Praxis verwendet man häufig eine adaptive Lernrate. Z.B: Intialize 0.1 if error T 1.04 error T 1 then 0.7 elseif error T error T 1 1.05 end 35

Tipp 2: Impulsterm Idee: Man gibt dem Gewichtsvektor einen Impuls. Die Lernregel für stochastisches backpropagation wird verändert, sodass der Gewichtsupdate einen Anteil des letzten updates enthält. w 1 =w 1 w w 1 für 0 1. Ein typischer Wert von ist 0.9. 36

Impulsterm gleicht stochastische Gewichtsänderungen aus Matlab: traingdm Gradient descent mit Impulsterm (momentum) traingda Gradient descent mit adaptiver Lernrate traingdx GD mit Impulsterm und adaptiver Lernrate 37

Klassifikation mit Neuronalen Netzen Binäre Klassifikation: Man rundet den output eines linearen oder sigmoiden output Neurons, um ihn als Klassifikation mit Werten {0,1} zu interpretieren. 38

Klassifikation mit Neuronalen Netzen Klassifikationsprobleme mit K > 2 Klassen: Man rundet den output eines linearen ouput Neurons, e.g. Problem: Impliziert Nähe zwischen den Klassen, d.h. Klassifikationsbias Man verwendet für jede Klasse c ein output Neuron. Für jedes Trainingsbeispiel aus Klasse ck wird der Zielwert yc von output Neuron c auf 1 gesetzt. Man verwendet mehrere (M > K) output Neuronen und kodiert die Klasse anhand binärer Vektoren mit möglichst großem (Hamming-) Abstand. c=1 1 0 y= 1... 1 c=2 c=k 0 1 y= 0... 1... 0 1 y= 1... 0 39

Beobachtete Generalisierung Je größer die Anzahl der Neuronen k, desto komplexer wird der Klassifikator. Je kleiner die Anzahl der Neuronen k, desto einfacher wird der Klassifikator. Underfitting: Hypothesenklasse ist nicht ausdrucksstark genug Wahrer Fehler Optimale Anzahl k Trainingsfehler Overfitting Hypothesenklasse ist zu groß Anzahl der Neuronen k Man spricht von overfitting, wenn error P H error L H 40

Generalisierung allgemein (für alle Hypothesenklassen) Underfitting: Hypothesenklasse ist nicht ausdrucksstark genug Wahrer Fehler Trainingsfehler Overfitting Hypothesenklasse ist zu groß Komplexität m Gesuchte Hypothesenklasse mit Komplexität mf 41

Methoden für Neuronale Netze um overfitting zu vermeiden Ansatz: Man versucht zusätzlich zu einem geringen Trainingsfehler die Gewichte des Neuronalen Netzes möglichst klein zu halten. Kleine Gewichte, haben kleine Aktivierungen der Neuronen zur Folge, wodurch diese und damit auch teilweise das Netzwerk im linearen Bereich arbeiten. Weight decay Early stopping 42

Weight decay Gewichte des Neuronalen Netzes werden durch einen zusätzlichen Regularisierungsterm in der Fehlerfunktion klein gehalten. 2 E w = MSE w i, j wij 2 43

Weight decay Andere Strafterme: 1. 2. = ij w ij = ij w 2ij wij2 const w ij 44

Early stopping Ablauf: 1. Die Gewichte werden mit sehr kleinen Werten initialisiert (Warum nicht 0?). 2. Das Lernen wird abgebrochen, wenn der Fehler auf Validierungsdaten steigt. error 45

Warum funktioniert early stopping? outputs inputs 46

Kapitel 2 Welche Stärken und Schwächen haben Neuronale Netzwerke? 47

Auswahlkriterien für Lernalgorithmen Qualität des Lernalgorithmus (siehe Kapitel 1) Benötigte Rechenzeit beim Trainieren und Testen Speicherbedarf Intuitive Interpretierbarkeit 48

Auswahlkriterien für Neuronale Netze Qualität des Lernalgorithmus (siehe Kapitel 1) Gute performance (für Klassifikation meist schlechter als SVM). Benötigte Rechenzeit beim Trainieren und Testen Benötigt relativ viel Zeit um zu lernen. Testen dauert auch bei vielen Testbeispielen nicht lange. Speicherbedarf Gering. Intuitive Interpretierbarkeit Sehr schlecht. 49