73
Grundlagen der Wissensverarbeitung Künstliche neuronale Netze Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich: Maschinelles Lernen I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 Dipl.-Inform. I. Boersch Prof. Dr.-Ing. Jochen Heinsohn FB Informatik und Medien Mai 2014

Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Grundlagen der Wissensverarbeitung

Künstliche neuronale Netze

Jetzt: Backpropagation für Multilayer-Perzeptrons

Gleich: Maschinelles Lernen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

Dipl.-Inform. I. Boersch

Prof. Dr.-Ing. Jochen Heinsohn

FB Informatik und Medien

Mai 2014

Page 2: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Rückblick

• Biolog. Vorbilder Gehirn und Nervenzelle

• Neuronenmodell, Perzeptron• Neuronenmodell, Perzeptron

• Neuronale Netze

• Ausdruckskraft

• Anwendungsbeispiele

• Lernen am Neuron: 2 Phasen, Deltaregel

Offene Frage: Wie lernen Multilayer-Perzeptrons?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 52

• Erste Übung: Perzeptron -> Funktion, Funktion -> Perzeptron, Training eines Perzeptrons

• Zweite Übung: lineare Separierbarkeit, Perzeptron als lin. Ungleichung, Lernen bis zum Erfolg (Programm/Tabellenkalkulation), Zusatz: XOR mehrschichtig konstruieren

Page 3: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Welche Funktion stellt ein Perzeptron dar?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 53

Page 4: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Multilayer-Perzeptron (kurz MLP)

– Zusammenschalten von Perzeptrons

– Darstellung des XOR möglich

– Mehrstufiges neuronales Netz, Layer– Mehrstufiges neuronales Netz, Layer

– Universelle Approximatoren mit 2 Wichtungsschichten

Beispiel:

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 54

Page 5: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wie lernen Multilayer-Perzeptrons?

Wie finden wir die Wichtungen - warum nicht einfach die Deltaregel nehmen?

Wir kennen zwar die Sollwerte der Ausgabeneuronen, aber nicht die Wir kennen zwar die Sollwerte der Ausgabeneuronen, aber nicht die Sollwerte der versteckten Neuronen!

?? ?Eingabe Ausgabe

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 55

MLP: 8 – 6 – 8 - 3

?? ?

Page 6: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

– üblich ist beim MLP die Verwendung der logistischen Funktion als Aktivierungsfunktion f

– Erinnerung beim Perzeptron: Schwellwertfunktion

Differenzierbare Aktivierungsfunktion f

– Erinnerung beim Perzeptron: Schwellwertfunktion

Beim Perzeptron: Beim Multilayer-Perzeptron:

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 56

Page 7: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wer hat‘s erfunden?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 57

Page 8: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Backpropagation - Arbeitsablauf

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 58

Page 9: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Backpropagation - Arbeitsablauf

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 59

Page 10: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

• Jetzt kommen die Formeln, um die Fehler und neuen Wichtungen zu berechnen.

• Entspannen Sie sich

• Neuronen bereithalten

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 60

Page 11: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Backpropagation – Berechnung

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 61

Page 12: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wie wird die Ableitung f‘(net) in der Lernformel berechnet?

• Wenn als Aktivierungsfunktion f die logistische Funktion verwendet wird, so gilt:

BP mit logistischer Aktivierungsfunktion

so gilt:

Alles in einer Formel, sieht so aus:

Wichtungsänderung eines Ausgabeneurons:

Wichtungsänderung eines versteckten Neurons:

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

Wichtungsänderung eines versteckten Neurons:

Warum sind es zwei Formeln?

Sie wollen es ganz genau wissen?Die (relativ einfache) Herleitung der BP-Formeln finden Sie im Artikel im Moodle: Learning internal representations by error propagation, D. E. Rumelhart, G. E. Hinton, and R. J. Williams, 1986

62

Page 13: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Was haben wir erreicht

Das Netz lernt die Muster!

• Universell einsetzbar, auf jedes Netz anwendbar• Universell einsetzbar, auf jedes Netz anwendbar

• Hohe Anzahl der Lernschritte -> Lernphase rechenintensiv

• Ständige Verbesserung beim Lernen, sinkender Fehler

• Nachteil: Man findet möglicherweise nicht das globale Minimum bei der Minimierung des Fehlers

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 65

Welcher Fehler? Wie kann er gemessen werden?

Page 14: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wie kann der Fehler gemessen werden?

• Soll-Ist-Vergleich:

• Summe der Abweichungsquadrate über alle Muster und Ausgabeneuronen: Mean Squared Error (kurz MSE)

• Summe der Abweichungsquadrate über alle Muster und Ausgabeneuronen: Mean Squared Error (kurz MSE)

Ist o Soll y

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 66

• Der Fehler MSE kann nicht nur für Neuronale Netze, sonder auch für andere Klassifikatoren berechnet werden

• -> Vergleich von Klassifikations-Methoden möglich, bspw. eignet sich das neuronale Netz für diese Aufgabe besser als ein Entscheidungsbaum?

Page 15: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Backpropagation zum Nachrechnen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 67

Page 16: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Zusammenfassung

• Lernen im Gehirn

• Die Hebbsche These

• Lernen am Perzeptron

• Zwei Phasen

• Die Delta-Regel: Formel + Algorithmus + Rechnen

• Lernen am Multilayer-Perzeptron

• Das Backpropagation-Verfahren: Formel + Algorithmus

• MSE

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 68

• MSE

Page 17: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Next

Einordnung KNN in maschinelles LernenJetzt

JNNS

Praktisches Lernen einer Buchstabenklassifikation

(Dabei) Interpretation

Overfitting (ein Problem),

Validierungsset (die Lösung)

Übung

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 69

Validierungsset (die Lösung)

Vor- und Nachteile, Anwendungsfelder

Page 18: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Grundlagen der Wissensverarbeitung

Maschinelles Lernen

Treten wir einen Schritt zurück –Einordnen von künstlichen neuronalen Netzen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

Dipl.-Inform. I. Boersch

Prof. Dr.-Ing. Jochen Heinsohn

FB Informatik und Medien

Mai 2014

Page 19: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Maschinelles Lernen?

• Teilgebiet der Künstlichen Intelligenz

• Erinnerung: KI versucht, intelligente Fähigkeiten des Menschen auf den Computer zu übertragen (Erkennen, Verstehen, Lernen ...)zu übertragen (Erkennen, Verstehen, Lernen ...)

also, maschinelles Lernen = „Lernen durch Computer“

Es gibt keine einheitliche Definition für maschinelles Lernen

Was ist eigentlich Lernen?

• Lernen: jeder Vorgang, der ein System in die Lage versetzt, bei der zukünftigen Bearbeitung derselben oder einer ähnlichen Aufgabe diese besser zu erledigen.

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 71

Bearbeitung derselben oder einer ähnlichen Aufgabe diese besser zu erledigen. [Herbert Simon, 1983]

• Lernt ein ?Schuh

Kritik: „Jeder Vorgang“ ist uns zu allgemein: Informationen sollen verarbeitet werden, Erfahrungen berücksichtigt. Die Änderung sollte primär das Verhalten ändern.

Page 20: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Maschinelles Lernen

Lernen: die Verhaltensänderung eines informationsverarbeitenden Systems in Richtung auf die Optimierung eines Gütefunktionals (Wysotzki 2001)

Was ist nun Maschinelles Lernen?

Tom Mitchell im Buch ‚Machine Learning“, 1997

Ein Computerprogramm lernt aus einer Erfahrung E bezüglich einer Aufgabenklasse T und einer Bewertung P, wenn sich durch E seine

durch P gemessene Leistung bei Aufgaben aus T verbessert.

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 72

Also: Erfahrung E + Bewertung P � Systemänderung + Verbesserung von P

Nun Beispiele: ROT-BLAU, Tafel-Dart, Stift-Sortieren

Page 21: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Supervised Learning - Überwachtes Lernen

Beispiel:

• Durch Zeigen von Eingabe-Ausgabepaaren (Bild + Klasse) bildet sich bei Ihnen eine (Bild + Klasse) bildet sich bei Ihnen eine interne Repräsentation (operational: ein Klassifikator), anhand welcher Merkmale beide Klassen unterscheidbar sind.

Fehler

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 73

Lernzyklus

Page 22: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Unsupervised Learning - Unüberwachtes Lernen

Unsupervised Learning - Unüberwachtes Lernen

• Beispiel: Klasseneinteilung von Stiften

• Interne Abstandsfunktion• Interne Abstandsfunktion

• Feedback: Keines

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 74

Page 23: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Reinforcement Learning – Verstärkendes Lernen

• Beispiel: Tafel-Dart

• Feedback: Bewertung

• Lerner arbeitet an der Trainingsmenge mit• Lerner arbeitet an der Trainingsmenge mit

• cause and effect, trial and error

6

7

8

9

10

Tafel-Dart

Beispiel Reinforcement Learning Fitnessgebirge

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 75

0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10

Page 24: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Grundidee des Reinforcement-Lernens

Umgebung: Sensoren melden Zustand 10 (Sensor vorn links meldet schwaches Signal)Agent: wählt Aktion 5 (drehe nach links)Reinforcement: Aktion war schlecht gewählt, weil der Agent gegen die Wand gefahren ist. Wert für Reinforcement beträgt 0 (maximale Bestrafung). Wert für Reinforcement beträgt 0 (maximale Bestrafung). Agent merkt sich: (10,5) => schlecht

Umgebung: Sensoren melden Zustand 11 (Sensor vorn links meldet starkes Signal)Agent: wählt Aktion 8 (fahre rückwärts)Reinforcement: Aktion war gut, Sensoren melden keine Hindernisse mehr. Wert für Reinforcement 1 (max. Belohnung) (11,8) => gut

Umgebung: Sensoren melden Zustand 1 (keine Sensorsignale)Agent: wählt Aktion 8 (fahre rückwärts)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 76

Reinforcement: Aktion war gut, Sensoren melden keine Hindernisse. Wert für Reinforcement 1 (max. Belohnung) (1,8) => gut

Umgebung: Sensoren melden Zustand 1 (keine Sensorsignale)Agent: wählt Aktion 2 (fahre rechts)usw. Unglaublich schnelle LEGO-Roboter

Page 25: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Reinforcement Lernen – eine Methode

Beispiel Q-Lernen:

Lernen ist hier: Update einer Zustands/Aktionsmatrix Q Lernen ist hier: Update einer Zustands/Aktionsmatrix Q

Q(s,a) = Welche Belohnung bringt die Anwendung der Aktion a im Zustand s?

• Update der Q-Matrix aus erlebtem Reinforcement r :

Lernrate * (Reinforcement + Voraussicht)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 77

• Rene Eggert, Reinforcement Lernen für mobile Systeme, Diplomarbeit, FH Brandenburg, 2002

• Online-Buch zum Thema: R. S. Sutton und A. G. Barto. Reinforcement Learning I: An

Introduction. Cambridge: MIT Press, 1998. http://www.cs.ualberta.ca/~sutton/book/the-book.html, Stand 06/2014.

Page 26: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Lernen – eine Einteilung nach Art des Feedbacks

3 Lernparadigmen: supervised, unsupervised, reinforcement

In supervised learning, the learning algorithms receives inputs and the correct In supervised learning, the learning algorithms receives inputs and the correct outputs, and searches for a function which approximates the unknown target function.

In unsupervised learning, the agent receives only input data and uses an objective function (such as a distance function) to extract clusters in the input data or particular features which are useful for describing the data.

In reinforcement learning, the agent receives an input and an evaluation (reward) of

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 78

In reinforcement learning, the agent receives an input and an evaluation (reward) of the action selected by the agent, and the learning algorithm has to learn a policy which maps inputs to actions resulting in the best performance.

Quelle: Wiering, http://www.cs.uu.nl/groups/IS/learning/learning.html

Page 27: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Beispiel „Schriftliche Prüfung“

Welches Feedback erhalten Sie bei ...

Supervised learning: Lehrer sagt Ihnen nachher die richtige Lösung.Supervised learning:

Reinforcement learning :

Unsupervised learning:

Lehrer sagt Ihnen nachher die richtige Lösung.

Lehrer gibt Ihnen nur eine Note.

Sie hören nie wieder etwas von Ihrem Lehrer.

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 79

Page 28: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Methoden des maschinellen Lernens

Es gibt viele Wissensrepräsentationen – und viele von ihnen lassen sichautomatisch erzeugen (lernen), oft auf verschiedene Arten.

Supervised LearningSupervised Learningkünstliche neuronale Netze, Regression, Modellbäume, Bayes, Diskriminanzanalyse, NearestNeighbor, Supportvektor-Maschinen, Entscheidungsbäume, logische Ausdrücke, relationale Strukturen, Kausalmodelle (Bayessche Netze), Regelmengen, Fuzzyregeln …

Unsupervised Learning Clusteranalyse, Assoziationslernen, selbstorganisierende Karten, WTA-Netze (Grossberg), Fuzzy Cluster Means, k-Means …

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 80

Reinforcement Learning

Q-Lernen, TD-Lernen, aber auch Evolutionäre Algorithmen (GA, GP, ES, EP), SimulatedAnnealing, Sintflut-Algorithmus, Simplexverfahren …

Im Master, im Bachelor

Page 29: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Lernalgorithmen in RapidMiner(Data Mining Tool)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 81

Page 30: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Fassen wir zusammen

Wie lernen Multilayer-Perzeptrons?

Aktivierungsfunktion = logistische Funktion, differenzierbar

Backpropagation: Algorithmus, Backpropagation: Algorithmus,

Berechnung des Fehlers eines Neurons, Wichtungsänderung

The big picture

Was ist Maschinelles Lernen

Feedback -> 3 Lernparadigmen

KNN gehören zum überwachten Lernen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 82

KNN gehören zum überwachten Lernen

Next: Übung mit JNNS - Neuronale Netze praktisch

Page 31: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Grundlagen der Wissensverarbeitung

Übung JNNS

Sie trainieren Ihr erstes MLP.

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

Dipl.-Inform. I. Boersch

Prof. Dr.-Ing. Jochen Heinsohn

FB Informatik und Medien

Mai 2014

Page 32: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Von SNNS zu JNNS

• SNNS = Stuttgarter Neuronale Netze Simulator

• Entwickelt von Andreas Zell u.v.a. seit 1990

Entwurfs- und Testumgebung für künstliche neuronale Netze

• entwickelt: Universität Stuttgart

• heute: Universität Tübingen

• GPL, ANSI-C, UNIX

• JAVA-Version JNNS (seit 2002)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 85

[Zell et al. 92] A. Zell, N. Mache, R. Huebner, M. Schmalzl, T. Sommer und T. Korb. SNNS: Stuttgart Neural Network Simulator. Technical report,

Universität Stuttgart, Stuttgart, 1992

Page 33: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

SNNS / JNNS

• Oberfläche mit Visualisierung der Netzarchitektur

• Typen von neuronalen Netzen:

– Autoassociative Memory– Autoassociative Memory

– Adaptive Resonance Theory

– Bidirectional Associative Memory

– Time Delay Network

– ...

– Backpropagation und Variationen

• Recall: C-Codegenerierung für trainierte Netze

• an der FHB installiert

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 86

• an der FHB installiert

– Als X-Client auf gaia in /usr/local/SNNSv4.1

– Als JNNS auf Q:\Boersch\JNNS (Verzeichnis für eigene Versuche kopierbar)

• umfangreiches Manual

Page 34: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Überblick

o Problemstellung Zeichenerkennung

o Untersuchen eines trainierten Netzes

o Lernen

o Lernen mit Validierungsset

o Export als C-Code

o Entwurf eines eigenen Netzes

o Wettbewerb schnellstes Lernen

o Anwendungsbeispiel Bonitätsprüfung

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 88

o Anwendungsbeispiel Bonitätsprüfung

Page 35: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Zeichenerkennung

o Eingabesensor (CCD-Kamera, Scanner, ...) liefert eine Helligkeitsmatrix:

o Aufgabe: Klassifikation der Helligkeitsmatrix als Buchstabe

P„Ich erkenne ein P“

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 89

o somit Lernen einer Abbildung: Merkmalsraum -> Klassen

o Merkmalsraum: 35 Dimensionen (Grauwerte der Pixel)

o Klassen: 26 Buchstaben

Page 36: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Trainingsdaten = Patternset in JNNS

Womit trainieren wir das Netz?

o Prototypen aller Klassen sind als Beispielmenge gegeben: Paare von Eingabe und gewünschter Ausgabegewünschter Ausgabe=> Überwachtes Lernen einer Abbildung: dem Netz wird die „richtige Antwort“ beim Lernen mitgeteilt, Sollwert

P

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 90

P

Page 37: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Lösung mit neuronalem Netz

Phasen

o 1. Lernphase: Training mit Beispielmenge

=> Ergebnis ist ein trainiertes Netz=> Ergebnis ist ein trainiertes Netz

o 2. Einsatzphase: Test

Los gehts - Entwurf des neuronalen Netzes

o Multilayer-Perzeptron (Backpropagation-Netz) mit 3 Schichten

o Anzahl Eingabeneuronen: 35 (=5 * 7)

o Anzahl Ausgabeneuronen: 26 (Buchstaben)

?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 91

o Anzahl Ausgabeneuronen: 26 (Buchstaben)

o Anzahl versteckte Neuronen: 10

o Kurzschreibweise: 35 - 10 - 26

Page 38: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

o Q:\Boersch\JNNS\JavaNNS.jar mit Doppelclick starten

Netz letters.net laden:

JNNS starten, Netz laden

Netz letters.net laden:

o Menü -> File -> Open

o File ‚examples/letters.net‘ wählen

o Load corresponding configuration File: Ja

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 92

Page 39: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Ein trainiertes Netzstarke Links:• Exzitatorische in Grün, • Inhibitorische in Rot• fast Null in Blau

L

0.014= nicht aktiviert

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 93

inputlayer

hiddenlayer

output layer

Page 40: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Die Neuronen

Anzeige der Namen der Neuronen als Toplabel

• Menü-> View -> Display Settings

• Tab ‚Units & Links‘• Tab ‚Units & Links‘

• Toplabel auf ‚Name‘

• OK -> Wir sehen die Namen der Neuronen

Neuron ‚h7‘ im Detail:

• RMB (rechter Maus-Button)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

• RMB (rechter Maus-Button) auf ‚h7‘ -> ‚Edit Units‘

94

Page 41: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

• Ist h7 hier aktiviert?

• Welche Form hat die Aktivierungsfunktion?

Neuron ‚h7‘

Nr. des NeuronsBeliebiger Name

Neuron-Typ: Input,Hidden,Output

Aktivierung

Aktivierungs- und Ausgabefunktionen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 95

Schwellwert

Page 42: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Aktivierungsfunktion beim Backpropagation-Verfahren

)(

i

iijj

netfa

awnet

=

=∑

Aktivierungsfunktion f beim Backpropagation-Verfahren:

Muss: - nicht linear (Approximation der Schwellenwertfunktion)- stetig, differenzierbar

)( jj netfa =

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 96

Günstig: - Beschränkung nach oben und unten- streng monoton- Wendepunkt bei netj = 0 mit maximalem Anstieg

==> Klasse der sigmoiden (S-förmigen) Funktionenz.B. Tangens hyperbolicus, logistische Funktion

Page 43: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Aktivierungsfunktion

Die Logistische Funktion ist die häufigste Aktivierungsfunktion beim BPName in SNNS: Act_Logistic

1net

enetf

−+=

1

1)(

Unsichere Neuronen lernen stärker – Stimmt das?Wenn das so wäre - wie veränderten sich dann die Wichtungen im Laufe eines langen Lernprozesses?

Wie stark wird ein Neuron bei net=0 aktiviert?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 97

langen Lernprozesses?

Page 44: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Unsichere Neuronen lernen stärker

• Neuron j ist unsicher, seine Aktivierung oj ~ 0.5 (sicher wäre 0 oder 1)

)()1( jjjjiij oyooow −⋅−⋅⋅⋅=∆ η

∑ ∂⋅⋅−⋅⋅⋅=∆ wooow )1(η

j ist ein Ausgabeneuron

∑ ∂⋅⋅−⋅⋅⋅=∆k

kjkjjiij wooow )1(η

j

j

i

ij

y

o

o

w∆

η

)1( jj oo −⋅

j ist ein verstecktes Neuron

Änderung der Wichtung von

Neuron i nach j

Lernrate, positiv

Ausgabe von Neuron i

Ausgabe von Neuron j

Sollausgabe von Neuron j

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 98

k

jk

j

w

y

Sollausgabe von Neuron j

Wichtung von Neuron j

nach Neuron k

Fehler des Neurons k

Wichtungen, die zu wenig (oj bei 0) oder stark aktivierten (oj bei 1) Neuronen führen, werden wenig geändert.

Aktivierung oj

Page 45: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wo ist das Wissen eines neuronalen Netzes gespeichert?

• Wichtungsmatrix (bei BP ist die Menge der Wichtungen konstant)

• Änderung der Wichtungen durch Lernregeln

Ist die Wissensrepräsentation transparent?

Wie viele Wichtungen enthält dieses Netz 35-10-26?

• Freiheitsgrad eines neuronalen Netzes:

• • + • = Wichtungen

• Wissensrepräsentation hier = Menge von … reellen Zahlen

Ist die Wissensrepräsentation transparent? Kaum.

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

Versuch der Interpretation der Wichtungen:

• Nur die wichtigsten Links, dafür aber mit Wichtungsstärke anzeigen:

99

Page 46: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Nur die stärksten Links, dafür aber mit Wichtungsstärke anzeigen:

• Wieder Menü -> View -> Display Settings + Tab ‚Units & Links‘

• ‚Show weights‘ und ‚Hide weak links‘ einschalten

• ‚Weakest visible link‘ so einstellen, dass

Wissensrepräsentation - Starke Wichtungen

• ‚Weakest visible link‘ so einstellen, dass von h7 nur noch drei Links ausgehen

• Preview

Welchen Wert hat die Wichtungvon u71 nach h7?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 100

Page 47: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Ist die Wissensrepräsentation transparent?

Versuch der Interpretation der Wichtungen:

� Aktivierung von u71 zeigt einen schwarzen Pixel in der unteren linken Ecke eines Buchstaben

J

Interpretation als Regel:

8.6

-4.5

-5.0

-5.6

u71 h7

J

O

U

exzitatorischinhibitorisch

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 101

Interpretation als Regel:

Wenn Pixel u71 aktiviert ist, dann ist es eher kein J, O oder U.

... davon hunderte unscharfe Regeln dieser Art in dem Netz

Page 48: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Menge paralleler unscharfer Regeln

Kann dieses Netz tatsächlich tatsächlich Buchstaben erkennen?

Wie können wir das testen?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 102

Page 49: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Anlegen von Mustern

Laden des Patternfile (Lerndaten), Menge von Input-Outputpaaren

� Laden des Patternfiles mit File -> Open ‚letters.pat‘

� ‚letters.pat‘ wird Trainings pattern set:� ‚letters.pat‘ wird Trainings pattern set:

Testen der Pattern:

� Anlegen des Pattern an die Eingabeneuronen und Update der Aktivierungen bis zu den Ausgabeneuronen

� Tools -> Control Panel

� Tab ‚Updating‘� Unten Pattern testen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

� Unten Pattern testen

Ergebnis:

� Alle 26 Pixelmuster werden sicher erkannt

103

Page 50: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Training

Initialisieren der Wichtungen:

� kleine Zufallszahlen im Bereich [-0.3, 0.3]

� Tools -> Control Panel, Tab ‚Initializing‘� Eingabe -0.3 und 0.3 in die Initfelder� Eingabe -0.3 und 0.3 in die Initfelder

� INIT

� Sie haben alles Wissen im Netz zerstört!!

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 104

Page 51: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wie reagiert ein initialisiertes Netz?

Testen der Pattern:

� Ergebnis:

� Aktivierungen zwischen 0 und 1, überwiegend um 0.5

� unsichere Neuronen

� fröhliches Funkeln der Ausgabeneuronen

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 105

Page 52: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Lernen = Optimieren eines Gütefunktionals

Wie gut beherrscht das Netz die Lerndaten?

• Klassifizierungsfehler eines Netzes (Soll-Ist-Vergleich)

Sum Squared Error (SSE)

∑ ∑

• verschieden große Patternsets, dann der MSE besser geeignet:

Mean Squared Error (MSE)

∑ ∑∈ ∈

−=Patternp

neuronenAusgabej

pjpj oySSE2)(:

nahlPatternanzSSEMSE /:=

Ist o Soll y

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 106

Anzeige des Fehlerverlaufs beim Lernen:

• Menü -> View -> Error Graph• Umstellen auf SSE

• Exakte Fehlerwerte im Log

Menü -> View -> Log

Page 53: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Training

Lernparameter und Start

• Tools -> Control Panel, Tab ‚Learning‘• Einstellen Zyklenanzahl: 200

?

• Einstellen Zyklenanzahl: 200

• Lernrate eta: 0.2

• Start des Lernens mit LEARN ALL

• Verlauf im Log und im Fehlergraphen sichtbar

Testen einiger Muster: Hat sich die Reaktion verändert?

• Ergebnis:

– kaum Aktivierungen > 0.1

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014

?107

– kaum Aktivierungen > 0.1

– das fröhliche Funkeln fehlt

– Warum?

200 Lernzyklen

Page 54: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Weiterlernen

• weitere 1000 Zyklen lernen (insgesamt 1200) und Fehler beachten!

Testen des Netzes Beobachtung?Wie reagiert das Netz?

Testen des Netzes

� Ergebnis:

� Muster werden sicher beherrscht

� jeder von Ihnen besitzt nun ein persönliches, einmaliges Netz

Neuer Lernparameter: Lernrate auf 0.3

• initialisieren mit INIT

• 1200 Zyklen lernen

Wie reagiert das Netz?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 108

• 1200 Zyklen lernen

• Vergleichen Sie die Fehlerkurven.

Beobachtung: höhere Lernrate führt zu schnellerem Lernen,

aber es gibt Grenzen!

Page 55: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Einfluß der Lernrate

1.0=η 5.0=η 0.3=η

0.4=η 0.10=η

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 109

Lernrate zu hoch => Fehler schwingtSymptom: Fehler fällt sehr schnell, schwingendes HängenbleibenLösung: kleinere Lernrate, leichtes Verrauschen der Wichtungen, dynamische Anpassung der Lernrate durch Schrittweitensteuerung

Page 56: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Overfitting – nicht nur bei neuronalen Netzen

Overfitting

• Leistung auf Lerndaten zwar sehr gut, aber nicht im späteren Einsatz

• überangepasste Wissensrepräsentation, Auswendiglernen der Trainingsdaten,

• Generalisierungsfähigkeit fehlt• Generalisierungsfähigkeit fehlt

• nicht nur bei neuronalen Netzen

Ursachen für Overfitting

- zu große Speicherkapazität => nicht zu groß dimensionieren

- zu langes Lernen =>

Methode „Frühes Stoppen“, rechtzeitig aufhören – aber wann?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 110

Methode „Frühes Stoppen“, rechtzeitig aufhören – aber wann?

� Lerndaten aufteilen in Trainingsdaten und Validierungsdaten (z.B. 10%)

� Trainingsfehler, Validierungsfehler werden gemessen

� Training beenden, wenn der Fehler auf Validierungsdaten ansteigt

Page 57: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Overfitting im JNNS

• Laden 9_n10.pat und 9_n10_2.pat

• Lernset: 9_n10.pat ( 9 • 26 Muster, Noise = 10%)

• Validierungsset: 9_n10_2.pat ( 9 • 26 Muster, Noise = 10%)

• Zyklenanzahl + Lernrate: Ihre Wahl• Zyklenanzahl + Lernrate: Ihre Wahl

• Löschen der Fehlerkurve mit Clear (links unten) im Graphfenster

Initialisieren und Trainieren Sie ihr Netz bis zum Overfitting.

02.0=η

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 111

MSE Validation set

MSE Trainings set

Validierungsfehler

Page 58: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Trainingsfehler, Validierungsfehler

• Der Trainingsfehler ist keine gute Schätzung der späteren Leistung in der Einsatzphase auf unbekannten Daten

• Der Validierungsfehler schon eher

Testfehler, Validierungsfehler

Trainingsfehler

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 112

Trainingsfehler

Page 59: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

C-Code Generierung eines trainierten Netzes

• nur RECALL-Phase

Speichern des Netzes: Speichern des Netzes:

• NET im FILE-Dialog, SAVE als mynet

=> lesbare Datei mynet.net

Umwandeln .net zu C-Code

• Wechseln Sie in eine DOS-Box

• Q:\Boersch\JNNS\snns2c.exe mynet.net

⇒ mynet.c und mynet.h werden erzeugt

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 113

⇒ mynet.c und mynet.h werden erzeugt

⇒ Öffnen Sie mynet.h. Was enthält die Datei?

• mynet.h enthält die Deklaration der Funktion mynet, die eine Vorwärtspropagierung durch Ihr Netz durchführt!

• binden Sie mynet.h + .c beliebig in Ihre Programme ein, um das trainierte neuronale Netz zu verwenden

Page 60: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Komplettes Beispiel

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 114

Page 61: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Von der Aufgabe zum Netz: 8-zu-3-Decoder

Aufgabe:

• 8 Eingabebits sollen in 3 Ausgabebits dekodiert werden

• in den Eingabemustern ist genau ein Bit gesetzt• in den Eingabemustern ist genau ein Bit gesetzt

z.B. x = 00000100 oder x = 01000000

• das Ausgabemuster soll die Binärzahl der Position des gesetzten Bits sein

z.B. x = 00000100 � Bit an der Position 5 � y = 101 (dezimale 5)

Schritte:

1. Patternfile erzeugen (was soll das Netz lernen)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 115

1. Patternfile erzeugen (was soll das Netz lernen)

2. Netz erzeugen

3. Netz trainieren

4. Netz testen

Page 62: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

1. Patternfile erzeugen 2. Netz erzeugen 3. Netz trainieren 4. Netz testen

1. Patternfile erzeugen

o Vorlage encoder.pat in q:\boersch\JNNS\examples

o Vorlage kopieren

o Patternfile so anpassen, dass unsere Lernaufgabe dargestellt wirdo Patternfile so anpassen, dass unsere Lernaufgabe dargestellt wird

• Ausgabemuster soll die Binärzahl der Position des gesetzten Bits sein

• Beispiel:

– Eingabe = 00000100 dann Ausgabe = 101 (dezimale 5)

10000000 -> 001

01000000 -> 010

00100000 -> 011

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 116

00100000 -> 011

00010000 -> 100

usw.

Page 63: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Netz erzeugen: 8-10-10-3

File -> New

Tools -> Create -> Layers

Manager�BIGNET � feed_forward

1. Patternfile erzeugen 2. Netz erzeugen 3. Netz trainieren 4. Netz testen

A)A

Manager�BIGNET � feed_forward

A) Schichten erzeugen 8-10-10-3

• Eingabe schichtweise von links

• Width = 1, Height , Typ der Schicht

• Create fügt rechts an

B) Wichtungen erzeugen

• Tools -> Create -> Connections B)

A

BB

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 117

• Tools -> Create -> Connections• Connect-feed-forward• Connect erzeugt eine komplette

Feedforward-Vernetzung des Netzes

C) Kontrolle mit View -> Network

B)B

Page 64: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

8-10-10-3

So sollte das Netz aussehen:

Training

1. Patternfile erzeugen 2. Netz erzeugen 3. Netz trainieren 4. Netz testen

Training

• Ihr Patternfile laden

• Training und Test

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 118

Page 65: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Schnellstes Training

Sie haben nun Zeit bis:

Ihr Netz zu optimieren und zu trainieren und zu testen!Ihr Netz zu optimieren und zu trainieren und zu testen!

Sie können ändern:

• Anzahl der hidden layer

• Anzahl der hidden Neuronen

• Parameter des Lernverfahrens: Lernrate, [Momentumterm]

• [Typ der Aktivierungsfunktion: Logistic, Momentumlernen]

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 119

Sieger ist das Netz, welches frisch initialisiert mit 20 Lernzyklen den kleinsten MSE erreicht.

• Ablesen des MSE im Log-Fenster

Page 66: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Einfachste Lösung

Animation schon vorbei?

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 120

Page 67: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Beispiel: Vorhersage der Kreditrückzahlung

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 121

Page 68: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Kreditscoring - Lösung

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 122

Page 69: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Applikation

• Q:\Boersch\Kreditdaten\Implementierung\kredit5\Release\kredit3.exe

Beantragen Sie einen Kredit von 50.000 €Kredit von 50.000 €

Was fällt auf?

= Automatisierte Einzelentscheidung

(§ 6a BDSG, A15 Europäische Datenschutzrichtlinie)

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 123

Datenschutzrichtlinie)

Page 70: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Anwendungsfelder

Was muss vorliegen: 1) Aufgabe ist das Lernen einer Abbildung

2) Trainingsdaten

mn ℜ→ℜ

BeispielAufgabeAusgabevektor

Zeitreihenprognose: Aktienkurse, Bevölkerungsentwicklung, Sonnenaktivität ++ Abverkaufsprognose im Supermarkt ++ Weltmodell eines Roboters, Vorhersage der auf eine Aktion folgenden

Prognose

Vorhersage

Musterrekonstruktion und –bereinigung, Assoziativer SpeicherAssoziationMuster

Entscheidungsunterstützung: Ausfallrisiko von Krediten, Bonitätsprüfung ++ Beurteilung von Unternehmenskennziffern ++ Aufklärung von Kreditkartenbetrug ++ Situationsbewertung in Computerspielen

Beurteilung

Wertung

Mustererkennung: Postleitzahlen, Handschrift ++ Objekterkennung: Gesichter, Sprache ++ Diagnose: Krankheiten, Motorfehler

KlassifikationKlasse

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 124

• Datenkompression, Feature-Selektion: Verkleinerung der versteckten Schicht bei identischer Ein- und Ausgabe

• Medizin: Ersetzen von Nervengewebe durch Neurochips (Retina, künstliche Hand)

Robotik, Hindernisvermeidung ++ Regelung chemischer ProzesseRegelungAktion

Weltmodell eines Roboters, Vorhersage der auf eine Aktion folgenden Situation ++ Interpolation

Vorhersage

Page 71: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

Wertung künstlicher neuronaler Netze

Was Sie erwarten können ...– Adaptivität - Problemlösung durch Präsentation von Beispielen!– Generalisierungsfähigkeit – Funktioniert nicht nur auf den Lerndaten!– Ausdrucksmächtigkeit

+– Ausdrucksmächtigkeit– Fehlertoleranz– Domänenunabhängigkeit– hohe Geschwindigkeit beim Recall– Anytime-Algorithmus– motiviert durch Physiologie

Nachteile ...– heuristische Konfiguration

+-

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 125

– heuristische Konfiguration– zeitaufwändiges Training – kaum Transparenz

� Alternativen prüfen -

Page 72: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

bisher im Studium

im nächsten Semester:• Autonome Mobile Systeme• Wissensbasierte Systeme in der Medizin

• KI-Projekt

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 126Abb. aus W. Ertel, Grundkurs KI, 2008

EvolutionäreAlgorithmen

Master (aktuell)

Abschlussarbeiten

Page 73: Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich ...ots.fh-brandenburg.de/downloads/scripte/gdw/2014 - Neuronale Netze - Teil 2.pdf · Was haben wir erreicht Das Netz lernt

...

Michael A. Arbibin The Handbook of Brain Theory in The Handbook of Brain Theory and Neural Networks, MIT Press, 2003:

„Backpropagation has been perhaps the most diversely used

adaptive architecture, especially in technological applications.“

I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 127

adaptive architecture, especially in technological applications.“

Bild: http://www.usc.edu/programs/neuroscience/faculty/profile.php?fid=16