Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

Ähnliche Dokumente
Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

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

Universität des Saarlandes

Wissensentdeckung in Datenbanken

Künstliche neuronale Netze

Neuronale Netze. Anna Wallner. 15. Mai 2007

Ideen und Konzepte der Informatik. Maschinelles Lernen. Kurt Mehlhorn

Wissensentdeckung in Datenbanken

Konzepte der AI Neuronale Netze

Neuronale Netze (Konnektionismus)

Künstliche Neuronale Netze

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

6.2 Feed-Forward Netze

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

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

Neuronale Netze. Christian Böhm.

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

Künstliche Neuronale Netze

Intelligente Algorithmen Einführung in die Technologie

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

Schwellenwertelemente. Rudolf Kruse Neuronale Netze 8

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

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

Neuronale Netzwerke: Feed-forward versus recurrent (d.h. feed-back )

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

Hannah Wester Juan Jose Gonzalez

Visuelle Bildsuche und Bildnavigation. Prof. Dr. Kai Uwe Barthel

Praktische Optimierung

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

Grundlagen zu neuronalen Netzen. Kristina Tesch

Was denken denkende Maschinen? WI-Award, Crowne Plaza Zürich, Thilo Stadelmann

Aufbau und Beschreibung Neuronaler Netzwerke

Praktikum Simulationstechnik Rene Schneider, Benjamin Zaiser

Statistical Learning

Image: (CC-0) Künstliche Intelligenz & Bildung Nicht nur für ExpertInnen

Einführung in die Computerlinguistik

Ein selbstmodellierendes System für die Wasserwirtschaft

DEEP LEARNING MACHINE LEARNING WITH DEEP NEURAL NETWORKS 8. NOVEMBER 2016, SEBASTIAN LEMBCKE

Kohonennetze Selbstorganisierende Karten

Analyse komplexer Szenen mit Hilfe von Convolutional Neural Networks

Das Modell: Nichtlineare Merkmalsextraktion (Preprozessing) + Lineare Klassifikation

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

Neuronale Netze Aufgaben 3

KALAHA. Erfahrungen bei der Implementation von neuronalen Netzen in APL. Dipl.Math. Ralf Herminghaus, April 2018

Radiale-Basisfunktionen-Netze. Rudolf Kruse Neuronale Netze 120

Künstliche Neuronale Netze

Leipziger Institut für Informatik. Wintersemester Seminararbeit. im Studiengang Informatik der Universität Leipzig

Rekurrente / rückgekoppelte neuronale Netzwerke

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

Artificial Intelligence. Deep Learning Neuronale Netze

Seminar K nowledge Engineering und L ernen in Spielen

Rekurrente Neuronale Netze

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

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

Adaptive Resonance Theory

Grundlagen Neuronaler Netze

Neuronale Netze. Prof. Dr. Rudolf Kruse

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

Theoretische Informatik 1

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

Faltungsnetzwerke. (Convolutional Neural Networks) Maximilian Schmidt. Faltungsnetzwerke

Modellierung mit künstlicher Intelligenz

6.4 Neuronale Netze zur Verarbeitung von Zeitreihen

Training von RBF-Netzen. Rudolf Kruse Neuronale Netze 134

Einführung in neuronale Netze

Kann SAS Ihre Handschrift lesen? Machine Learning am Beispiel von Stacked Denoising Autoencoders

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

Konvergenz von Hopfield-Netzen

Neuronale Netze (I) Biologisches Neuronales Netz

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

Klassifikation linear separierbarer Probleme

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

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

Das visuelle System. Das Sehen von Kanten: Das Sehen von Kanten ist eine trivial klingende, aber äußerst wichtige Funktion des visuellen Systems!

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

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

Einige überwachte Lernverfahren. Perzeptron, Mehrschicht-Perzeptronen und die Backpropagation-Lernregel

Von der Bestimmung zur Vorhersage: Wie sagt man den Netzzustand vorher?

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

Was sind Neuronale Netze?

Thema 3: Radiale Basisfunktionen und RBF- Netze

Big Data Künstliche Intelligenz Und das Ich

Ideen der Informatik. Maschinelles Lernen. Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Universität Leipzig. Fakultät für Mathematik und Informatik. Forschungsseminar Deep Learning. Prof. Dr. Erhard Rahm. Wintersemester 2017/18

BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON

Wissensbasierte Systeme

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

Nichtlineare Klassifikatoren

Quantenrechner. Ideen der Informatik

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

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

Quantenrechner. Ideen der Informatik Kurt Mehlhorn

Seminar über Neuronale Netze und Maschinelles Lernen WS 06/07

Proseminar Neuronale Netze Frühjahr 2004

Einführung in die Neuroinformatik Lösungen zum 5. Aufgabenblatt

Implementationsaspekte

Neuronale Netze. Seminar aus Algorithmik Stefan Craß,

Adaptive Systeme. Einführung. Grundlagen. Modellierung. Prof. Rüdiger Brause WS Organisation. Einführung in adaptive Systeme B-AS-1, M-AS-1

Transkript:

Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn Adrian Neumann 16. Januar 2014

Übersicht Biologische Inspiration Stand der Kunst in Objekterkennung auf Bildern Künstliche Neuronale Netze Künstliche Neuronen Neuronale Netze Realisierung von Und, Oder und Negation Trainieren von Neuronalen Netzwerken Prinzip Beispiel: Exklusives Oder Buchstaben Bilderkennung (Deep Convolutional Networks) Neuronale Netze 2

Stand der Kunst: Klassifikation (Krizhevsky et al, 2012) Neuronale Netze 3

Stand der Kunst: Suche (Krizhevsky et al, 2012) Neuronale Netze 4

Biologische Inspiration I Axonterminale = Input Dendriten = Output Zelle feuert, wenn Gesamterregung einen Schwellwert übersteigt Inputs können auch hemmend sein. Neuronale Netze 5

Biologische Inspiration II Visueller Kortex ist schichtenweise aufgebaut; 6 Schichten. Neuronen der ersten Schicht bekommen Input von einem kleinen Feld von Sehzellen, Neuronen höherer Schichten von einem kleinen Feld der davorliegenden Schicht. One-Learning Algorithm Hypothese Neuronale Netze 6

Künstliches Neuron Neuron hat k eingehende Kanten. Eingabewerte x 1 bis x k liegen zwischen 0 und 1. k + 1 Gewichte (Parameter) w 0, w 1,..., w k. w 0 heißt Grundgewicht (Bias); w i ist die Wichtung von x i. Ausgabe = g(w 0 + w 1 x 1 +... w k x k ). g = Sigmoid Funktion. Sigmoid Funktion ist differenzierbare Approximation einer Stufenfunktion. Neuronale Netze 7

Sigmoid Funktion g(z) = g(0) = 1/2. g(1) = 0.73 g(4) = 0.95 1 1 + e z symmetrisch zu (0, 1/2). differenzierbare Approximation einer Stufe von 0 nach 1 an der Stelle 0. wenn man e z durch e 10z ersetzt, wird Flanke steiler. Neuronale Netze 8

Realisierung von Oder und Nund (Negiertem Und) x1 x2 10 10 5 o1 o 1 = g( 5 + 10x 1 + 10x 2 ) x 1 x 2 o 2 = g(15 10x 1 10x 2 ) x 1 x 2 o 1 = o 1 o 2 = o 2 0 0 g( 5) 0 0 1 1 0 1 1 Neuronale Netze 9

Komplexeres Beispiel Welche Boolesche Funktion wird durch dieses Neuronale Netz berechnet? x1 x2 10 15 10 10 5 10 10 10 5 x 1 x 2 z 1 = z 1 z 2 = z 2 o = o 0 0 g( 15) 0 0 1 1 0 1 1 Neuronale Netze 10

Aufgabe Welche Boolesche Funktion wird durch dieses Neuronale Netz berechnet? x1 x2 10 5 10 10 15 10 10 10 15 x 1 x 2 z 1 = z 1 z 2 = z 2 o = o 0 0 g( 5) 0 0 1 1 0 1 1 Neuronale Netze 11

Training (Rummelhart/Hinton 86) Bisher: Wir haben bestimmt, welche Funktion durch ein Netz mit gegebenen Parameterwerten ausgerechnet wird. Nun: Wir möchten, dass das Netz eine bestimmte Funktion realisiert. Wie müssen wir die Parameter einstellen? x1 x2 w1 w2 w4 w5 w0 w3 w7 w8 w6 o x 1 x 2 o 0 0 1 0 1 0 1 0 0 1 1 1 Aufgabe: finde w 0 bis w 8, so dass die gegebene Funktion berechnet wird. Sprechweise: das Netz lernt die Parameter. Neuronale Netze 12

Training II Jedes Trainingsbeispiel (für ein Netz mit n Eingaben und einem Ausgang) besteht aus einem Eingabevektor x = (x 1,..., x n ) und einer Ausgabe y. Alle Werte liegen zwischen 0 und 1. W = Menge aller Parameter (alle w s). h W (x) = Ausgabe (Hypothese) des Netzes mit Parametersatz W bei Eingabe x = (x 1,..., x n ) x1 xn w0, w1, w2,... Ausgabe Training soll w s finden, so dass Hypothesen des Netzes und korrekte Ausgaben möglichst gut übereinstimmen. Was heißt gut übereinstimmen? Neuronale Netze 13

Training III Fehler am Trainingsbeispiel (x, y): (y h W (x)) 2 Gesamtfehler E = Summe der Einzelfehler über alle Trainingsbeispiele Ziel des Trainings ist die Bestimmung eines Parametersatzes, der den Gesamtfehler klein macht. Bestimmung von (lokalen) Minima durch Iterationsverfahren Neuronale Netze 14

Der Trainingsalgorithmus (Back Propagation) 1) Initialisiere die Parameter mit kleinen zufälligen Werten 2) Solange nicht zufrieden, d.h. Gesamtfehler E zu groß für jeden Parameter tue: ändere Parameter ein bißchen, so dass Gesamtfehler kleiner wird. x1 xn w0, w1, w2,... Ausgabe Neuronale Netze 15

Beispiel für Trainingsschritt 0 1 w1 w2 w0 erwünschte Ausgabe 0 Parameterwerte: w 0 = 0.2, w 1 = 0.1 und w 2 = 0.2. Trainingsbeispiel: an Eingabe (0, 1) soll die Ausgabe 0 sein. Im allgemeinen gibt es viele Trainingsbeispiele. Das Netz gibt aus: h W (0, 1) = g(0.2 + 0.1 0 0.2 1) = g(0) = 1/2. Um den Fehler zu reduzieren, sollten wir h W (0, 1) verringern. Dazu müssen wir z = w 0 + 0 w 1 + 1 w 2 verringern. Also w 0 und w 2 etwas verringern und w 1 gleich lassen. Neuronale Netze 16

Beispiel für das Ergebnis eines Trainings 16 Trainingsbeispiele: x 1 und x 2 in { 0, 0.1, 0.9, 1 } y = 1 genau wenn x 1 x 2 In 50 Tausend Iterationen wurden folgende Parameter bestimmt. x1 x2 6.2 2.8 9.1 4.4 4.4 2.0 6.1 6.1 2.1 Neuronale Netze 17

Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel sind Eins, die anderen sind Null. Bestimme ein neuronales Netz (einfacher Architektur), das T und C unterscheidet. einfach: alle Neuronen der ersten Schicht schauen sich eine 3 x 3 Matrix an und sind identisch, d.h. haben die gleichen Parameter. Ausgabeneuron hängt von allen Neuronen der ersten Schicht ab. Neuronale Netze 18

Eine Lösung Wenn die Mitte des Filter auf dem Fuß des T s liegt, liefert der Filter eine +1. Bei einem C erzeugt der Filter immer einen Wert kleiner gleich 0. Neuron der ersten Schicht = g( 5 + 20 Mittelpixel 10 Summe der Randpixel) Ausgabeneuron = Oderverknüpfung aller Neuronen der ersten Schicht Neuronale Netze 19

Lösungen durch Trainieren (Rumelhart/Hinton/Williams, 86) Training fand vier verschiedene Lösungen. Aufgabe: finde heraus, wie B und C funktionieren. D ist besonders interessant: es funktioniert weil ein C 20 Rezeptoren überlappt und ein T 21 Rezeptoren. 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 Neuronale Netze 20

Stand der Kunst (Krishevsky et al., 2012) 1.2 Millionen Trainingsbeispiele aus 1000 Klassen. Eingabe sind 224 x 224 Pixel jeweils mit 3 Farbwerten (0 bis 255) Ausgabeschicht hat 1000 Neuronen, eins pro Klasse Netzwerk hat 8 Schichten, 650000 Neuronen, 60 Millionen Parameter die ersten 5 Schichten sind konvolutional konvolutional: Kopien des gleichen Neurons schauen auf Teilbilder Training dauerte 1 Woche Neuronale Netze 21

Klassifikation: Rechtecke = Erregung der Ausgabeneuronen Neuronale Netze 22

Suche: Suchbild in Spalte 1, Trainingsbilder mit ähnlichster Erregung der Ausgabeneuronen Neuronale Netze 23

Stand der Kunst (Krishevsky et al., 2012) Eingabe: 224 x 224 mit jeweils 3 Farbwerten Schicht 1: 96 verschiedene Neuronen in 55 x 55 Matrix; jedes Neuron sieht 11 x 11 Feld der Eingabe; Shift von 4. Schicht 2: 256 verschiedene Neuronen in 27 x 27 Matrix; jedes Neuron sieht 5 x 5 Feld der Schicht 1, also 31 x 31 Feld der Eingabe. Schicht 3, 4, 5: ähnlich Schichten 6, 7: 4096 Neuronen, sehen ganze vorherige Schicht Schicht 8, Ausgabeschicht: 1000 Neuronen Neuronale Netze 24

Stand der Kunst (Krishevsky et al., 2012) Eingabe: 224 x 224 mit jeweils 3 Farbwerten Schicht 1: 96 verschiedene Neuronen in 55 x 55 Matrix; jedes Neuron sieht 11 x 11 Feld der Eingabe; Shift von 4. Schicht 2: 256 verschiedene Neuronen in 27 x 27 Matrix; jedes Neuron sieht 5 x 5 Feld der Schicht 1, also 31 x 31 Feld der Eingabe. Informationsreduktion: 11 x 11 Fenster der Eingabe, 3 Farbwerte: 363 Zahlen erste Schicht: Ausgabe von 96 Neuronen, 96 Zahlen Neuronale Netze 24

Wie funktioniert das? Neuronen der ersten Schicht entdecken Kanten, Linien, Bögen in 11 x 11 Feldern der Eingabe. Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen der ersten Schicht besonders stark ansprechen. Neuronale Netze 25

Wie funktioniert das? Neuronen der zweiten Schicht entdecken komplexere Merkmale in 31 x 31 Feldern der Eingabe. Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen der zweiten Schicht besonders stark ansprechen. Neuronale Netze 26

Wie funktioniert das? Neuronen der dritten Schicht entdecken noch komplexere Merkmale in wiederum größeren Feldern der Eingabe. Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen der dritten Schicht besonders stark ansprechen. Neuronale Netze 27

Wie funktioniert das? Neuronen der vierten Schicht entdecken noch komplexere Merkmale in wiederum größeren Feldern der Eingabe. Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen der vierten Schicht besonders stark ansprechen. Neuronale Netze 28

Wie funktioniert das? Neuronen der fünften Schicht entdecken noch komplexere Merkmale in wiederum größeren Feldern der Eingabe. Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen der fünften Schicht besonders stark ansprechen. Neuronale Netze 29

Zusammenfassung Neuronale Netze mit vielen Schichten (deep networks) haben Durchbruch in Bilderkennung, Handschriftenerkennung, und Spracherkennung geschafft. Je höher die Schicht, desto komplexere Merkmale werden erkannt; Merkmale auf einer Schicht sind Kombinationen von Merkmalen auf der vorherigen Schicht. Training braucht sehr große Datensätze, die seit einigen Jahren durch soziale Netzwerke und Crowdsourcing zur Verfügung stehen. Training ist aufwendig und dauert lange, aber das ist auch bei Gehirnen so (meine 18 Monate alten Enkel beginnen gerade die Verbindung zwischen dem Wort Elefant und dem Bild eines Elefanten herzustellen). Neuronale Netze 30