Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
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
Welche Funktion stellt ein Perzeptron dar?
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 53
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
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
?? ?
– ü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
Wer hat‘s erfunden?
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 57
Backpropagation - Arbeitsablauf
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 58
Backpropagation - Arbeitsablauf
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 59
• 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
Backpropagation – Berechnung
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 61
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
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?
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?
Backpropagation zum Nachrechnen
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 67
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
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
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
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.
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
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
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
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
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
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.
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
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
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
Lernalgorithmen in RapidMiner(Data Mining Tool)
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 81
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
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
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
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
Ü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
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
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
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
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
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
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
• 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
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
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?
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
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
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
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
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
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
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
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
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
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
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!
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
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
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
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
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
Komplettes Beispiel
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 114
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
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.
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
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
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
Einfachste Lösung
Animation schon vorbei?
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 120
Beispiel: Vorhersage der Kreditrückzahlung
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 121
Kreditscoring - Lösung
I. Boersch, J. Heinsohn, FH Brandenburg, 13.06.2014 122
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)
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
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 -
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
...
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