• Keine Ergebnisse gefunden

Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich: Maschinelles Lernen

N/A
N/A
Protected

Academic year: 2022

Aktie "Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich: Maschinelles Lernen"

Copied!
73
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Wissensverarbeitung

Künstliche neuronale Netze

Jetzt: Backpropagation für Multilayer-Perzeptrons Gleich: Maschinelles Lernen

Dipl.-Inform. I. Boersch

Prof. Dr.-Ing. Jochen Heinsohn FB Informatik und Medien Mai 2014

(2)

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

(3)

Welche Funktion stellt ein Perzeptron dar?

(4)

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

(5)

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

MLP: 8 – 6 – 8 - 3

? ? ?

(6)

– ü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

(7)

Wer hat‘s erfunden?

(8)

Backpropagation - Arbeitsablauf

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

(9)

Backpropagation - Arbeitsablauf

(10)

• 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

(11)

Backpropagation – Berechnung

(12)

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

(13)

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

Welcher Fehler? Wie kann er gemessen werden?

(14)

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?

(15)

Backpropagation zum Nachrechnen

(16)

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

(17)

Next

Einordnung KNN in maschinelles Lernen

Jetzt

JNNS

Praktisches Lernen einer Buchstabenklassifikation (Dabei) Interpretation

Overfitting (ein Problem), Validierungsset (die Lösung) Übung

Validierungsset (die Lösung) Vor- und Nachteile, Anwendungsfelder

(18)

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

(19)

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.

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.

(20)

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

(21)

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

Lernzyklus

(22)

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

(23)

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

0 1 2 3 4 5

0 1 2 3 4 5 6 7 8 9 10

(24)

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

(25)

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)

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.

(26)

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

(27)

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.

(28)

Methoden des maschinellen Lernens

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

Supervised Learning Supervised Learning

künstliche neuronale Netze, Regression, Modellbäume, Bayes, Diskriminanzanalyse, Nearest Neighbor, 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), Simulated Annealing, Sintflut-Algorithmus, Simplexverfahren …

Im Master, im Bachelor

(29)

Lernalgorithmen in RapidMiner (Data Mining Tool)

(30)

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

(31)

Grundlagen der Wissensverarbeitung

Übung JNNS

Sie trainieren Ihr erstes MLP.

Dipl.-Inform. I. Boersch

Prof. Dr.-Ing. Jochen Heinsohn FB Informatik und Medien Mai 2014

(32)

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

(33)

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

• 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

(34)

Ü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

(35)

Zeichenerkennung

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

o Aufgabe: Klassifikation der Helligkeitsmatrix als Buchstabe

P

„Ich erkenne ein P“

o somit Lernen einer Abbildung: Merkmalsraum -> Klassen o Merkmalsraum: 35 Dimensionen (Grauwerte der Pixel) o Klassen: 26 Buchstaben

(36)

Trainingsdaten = Patternset in JNNS

Womit trainieren wir das Netz?

o Prototypen aller Klassen sind als Beispielmenge gegeben: Paare von Eingabe und gewünschter Ausgabe

gewü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

(37)

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)

?

o Anzahl Ausgabeneuronen: 26 (Buchstaben) o Anzahl versteckte Neuronen: 10

o Kurzschreibweise:

35 - 10 - 26

(38)

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

(39)

Ein trainiertes Netz

starke Links:

• Exzitatorische in Grün,

• Inhibitorische in Rot

• fast Null in Blau

L

0.014

= nicht aktiviert

input layer

hidden layer

output layer

(40)

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

(41)

• Ist h7 hier aktiviert?

• Welche Form hat die Aktivierungsfunktion?

Neuron ‚h7‘

Nr. des Neurons

Beliebiger Name

Neuron-Typ:

Input,Hidden,Output

Aktivierung Aktivierungs- und Ausgabefunktionen

Schwellwert

(42)

Aktivierungsfunktion beim Backpropagation-Verfahren

) (

i

ij i j

net f

a

a w net

=

= ∑

Aktivierungsfunktion f beim Backpropagation-Verfahren:

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

)

(

j

j

f net

a =

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) Funktionen z.B. Tangens hyperbolicus, logistische Funktion

(43)

Aktivierungsfunktion

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

1 e

net

net

f

= + 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?

langen Lernprozesses?

(44)

Unsichere Neuronen lernen stärker

• Neuron j ist unsicher, seine Aktivierung o

j

~ 0.5 (sicher wäre 0 oder 1)

) (

) 1

(

j j j

j i

ij

o o o y o

w = ⋅ ⋅ ⋅ − ⋅ −

∆ η

=

w η o o ( 1 o ) w

j ist ein Ausgabeneuron

=

k

k jk

j j

i

ij

o o o w

w η ( 1 )

j j i

ij

y o o

w

η

) 1

(

j

j

o

o ⋅ −

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

o

j

(45)

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.

Versuch der Interpretation der Wichtungen:

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

(46)

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 Wichtung von u71 nach h7?

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

(47)

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

exzitatorisch inhibitorisch

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

(48)

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

(49)

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 Unten Pattern testen Ergebnis:

Alle 26 Pixelmuster werden sicher erkannt

(50)

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

(51)

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

(52)

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)

∑ ∑

=

Pattern p

neuronen Ausgabe j

pj pj

o y

SSE : ( )

2

n ahl Patternanz SSE

MSE := /

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

(53)

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

?

– kaum Aktivierungen > 0.1 – das fröhliche Funkeln fehlt – Warum?

200 Lernzyklen

(54)

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!

(55)

Einfluß der Lernrate

1 .

= 0

η η = 0 . 5 η = 3 . 0

0 .

= 4

η η = 10 . 0

Lernrate zu hoch => Fehler schwingt

Symptom: Fehler fällt sehr schnell, schwingendes Hängenbleiben

Lösung: kleinere Lernrate, leichtes Verrauschen der Wichtungen,

dynamische Anpassung der Lernrate durch Schrittweitensteuerung

(56)

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

(57)

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

η

MSE Validation set MSE Trainings set

Validierungsfehler

(58)

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

(59)

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

⇒ 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

(60)

Komplettes Beispiel

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

(61)

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) 1. Patternfile erzeugen (was soll das Netz lernen) 2. Netz erzeugen

3. Netz trainieren 4. Netz testen

(62)

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 wird o 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.

(63)

Netz erzeugen: 8-10-10-3

File -> New

Tools -> Create -> Layers

ManagerBIGNET feed_forward

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

A

A)

ManagerBIGNET 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

B

• Tools -> Create -> Connections

B

• Connect-feed-forward

• Connect erzeugt eine komplette Feedforward-Vernetzung des Netzes C) Kontrolle mit View -> Network

B

B)

(64)

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

(65)

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]

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

• Ablesen des MSE im Log-Fenster

(66)

Einfachste Lösung

Animation schon vorbei?

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

(67)

Beispiel: Vorhersage der Kreditrückzahlung

(68)

Kreditscoring - Lösung

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

(69)

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) Datenschutzrichtlinie)

(70)

Anwendungsfelder

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

2) Trainingsdaten

m

n

→ ℜ

Beispiel Aufgabe

Ausgabevektor

Zeitreihenprognose: Aktienkurse, Bevölkerungsentwicklung, Sonnenaktivität ++ Abverkaufsprognose im Supermarkt ++

Weltmodell eines Roboters, Vorhersage der auf eine Aktion folgenden Prognose

Vorhersage

Musterrekonstruktion und –bereinigung, Assoziativer Speicher Assoziation

Muster

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 Klassifikation

Klasse

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 Prozesse Regelung

Aktion

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

Vorhersage

(71)

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

+ -

– heuristische Konfiguration – zeitaufwändiges Training – kaum Transparenz

Alternativen prüfen

-

(72)

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 126

Abb. aus W. Ertel, Grundkurs KI, 2008

Evolutionäre Algorithmen

Master (aktuell) Abschlussarbeiten

(73)

...

Michael A. Arbib

in 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.“

adaptive architecture, especially in technological applications.“

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

Abbildung

Abb. aus W. Ertel, Grundkurs KI, 2008

Referenzen

ÄHNLICHE DOKUMENTE

Das gezeigte ideale Fachwerk besteht aus drei gelenkig gelagerten St¨aben und ist durch die Kraft F belastet. Ein technisches Bauteil ist aus zwei Quadern gleicher Deckfl¨ache

10 Punkte Lösung:.. Die Werte 7 und 8 sind mehr als einmal im Suchbaum enthalten. Die Methode insert gestattet also, dass Werte mehrfach im Suchbaum aufgenommen werden.. – 6 –.. Für

Von sachkundigster Seite ist es in letzter Zeit immer und immer wieder öffentlich und mit großem Ernst ausgesprochen worden, daß es sich in der Frage, ob

зомъ т. узле находится не два, а четыре колена. Отъ ущемленной подвздошной кишки, такимъ образомъ, одна или две петли, будутъ находиться влево въ тазу, а

➢ “Maschinelles Lernen und Deep Learning halten Einzug in eine neue Generation von Software, die in der Lage ist zu lernen, ohne explizit programmiert werden zu

Im Seminar sollen theoretische Betrachtungen über solche Verfahren im Vordergrund stehen wie die maximale erreichbare Genauigkeit und Konsistenz, Schranken zur Komplexität und

Flashcards: Was ich mit den Schulsachen mache (Bild /

Zu ordentlichen Mitgliedern wurden aufgenommen die Herren: Graf Gustav Dunten in Kuthern (Livland), Baron Theodor v. Drachenfels in Mitau, Bitterschaftsactuar Karl