ww einführung in die methoden der künstlichen intelligenzbachki/ss2009/folien/vl7... · eine...
Post on 06-Feb-2018
218 Views
Preview:
TRANSCRIPT
12.05.2009
1
ww
ww.is.cs.uni-fra
Einführung in die Methoden derKünstlichen Intelligenz
Vorlesung 7 – Künstliche Neuronale Netze12. Mai 2009ankfurt.de
Andreas D. Lattner, Ingo J. Timm, René Schumann
Aldebaran Robotics
Aldebaran Robotics?
2
Aldebaran Robotics
Aldebaran Robotics
12.05.2009
2
Inhalt der Vorlesung
1 Wie arbeitet unser Gehirn?1. Wie arbeitet unser Gehirn?2. Neuronale Netzwerke (Idealisiertes Modell)3. Perzeptron (single-layer Netzwerke)4. Multilayer Netzwerke5. Einsatz von neuronalen Netzen
3
6. Zusammenfassung
Funktionsweise unseres Gehirns
Menschlicher Kortex(Großhirnrinde) läßtverschiedene Neuronentypen
kerkennenEine hierarchische Strukturist zu erkennenUnterschiedliche Aufgaben(z. B. vierte Schicht zuständigfür Sinneswahrnehmungen)
93, S
. 11,
nac
h La
ssen
et a
l., 1
988
4
Que
lle: R
ojas
, 19
Wie arbeitet unser Gehirn?
12.05.2009
3
Motorische Zelle
Neuron wird auch Soma oder Zellkörper genannt.Sie enthält Zellkern oder Nucleus.Neuron besteht aus Zelleib mitNeuron besteht aus Zelleib mit dickem Zellfortsatz (Axon, Nervenfaser).Dendriten (astartige Wucherungen) leiten elektrische Impulse an den Zellkörper weiter.Aufbau einer elektrischen Spannung im Zellkern.Entladung bei Überschreitung einer Schwelle
5
einer Schwelle.Weiterleitung dieses Potentials an andere Zellen über Synapsen.Zellkern-Axon-Synapsen-Dendriten der anderen Zellen.Informationsweitergabe an 102 bis 104 Zellen.
Quelle: Rojas, 1993, S. 11, nach Stevens, 1992
Wie arbeitet unser Gehirn?
AktionspotentialPhase 1: RuhepotentialPhase 2: von außen, d. h. entweder von anderen Zellenoder von einem Rezeptor(z B Augen) kommt ein(z. B. Augen) kommt einelektrischer Impuls. DerSchwellenwert wird überstiegen, die Zelle “feuert” von -90 mV auf einen positiven Wert innerhalbeines Bruchteils einerMillisekundePhase 3: RepolarisierungPhase 4: Ruhepotential
6
Phase 4: RuhepotentialSynapsen exitatorisch (erregend) oder inhibitorisch (hemmend).Die Übertragung eines Potentials durch Synapsen sind entwederchemisch oder elektrisch.
Quelle: Köhler, 1990, nach Schmidt & Tewes, 1987
Wie arbeitet unser Gehirn?
12.05.2009
4
Vergleich Gehirn-Computer
Eine Kollektion von einfachen Zellen führt uns zumDenken, Agieren und BewußtseinVergleich zwischen Gehirnen und digitalen Computerng g p
Speicher, Verarbeitungsgeschwindigkeit, Parallelität, FehlertoleranzObwohl ein Computer millionenfach schneller bei Rechenoper-ationen ist als das Gehirn, ist das Gehirn schneller bei derVerarbeitung einer Aufgabe (z. B. Erkennung eines Gesichts)
7Wie arbeitet unser Gehirn?
2. Neuronale NetzwerkeNeuronale Netze (auch künstliche neuronale Netze, KNN)
Design ideal für induktives Lernen, können Generalisieren und gsind deshalb für die Modellierung von Wert.Breite Einsatzfelder
Ein neuronales Netz wird aus einer Anzahl von Units/Neuronen, zusammengesetzt, die durch Linksverbunden sind.
8
Jeder Link hat ein numerisches Gewicht. Sie stellen das ‘Gedächtnis’ in einem neuronalen Netz dar. Sie werdenwährend des Lernvorgangs verändert.
Neuronale Netzwerke
12.05.2009
5
2. Neuronale NetzwerkeEinige Neuronen sind mit derAußenwelt verbunden und
Die Idee ist: jedes Neuron berechnet sein eigenesAußenwelt verbunden und
heißen Input- oderOutputneuronen.
Jedes Neuron hat einen Satzvon Eingabelinks von anderenNeuronen, einAktivierungslevel und einen
berechnet sein eigenes Aktivierungslevel (abhängig von Gewichten und Eingaben der Nachbarn). Dabei gibt es keine ‘globale’ Kontrolle über die Neuronen.
Aufbau eines Netzwerkes:
9
Aktivierungslevel und einenSatz von Ausgabe-Links zuanderen Neuronen.
Aufbau eines Netzwerkes:Wieviele Neuronen braucht man?Welche Art von Neuronen braucht man?Wie sollen die Neuronen miteinander vernetzt sein?
Neuronale Netzwerke
Notation
10Neuronale Netzwerke
12.05.2009
6
Typisches Neuron
Typisches Neuron
11
lineare Komponente Inputfunktionnicht lineare Komponente Aktivierungsfunktionelementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:
Neuronale Netzwerke
⎟⎟⎠
⎞⎜⎜⎝
⎛== ∑
jjijii awginga ,)(
Aktivierungsfunktion
⎨⎧ ≥
=tx
xstep if,
)(1
⎨⎧ ≥+
=01 x
xsign if,
)(
12Neuronale Netzwerke
⎩⎨ <
=tx
xstept if,)(
0 ⎩⎨ <−
=01 x
xsign if,
)(
xexsigmoid −+
=1
1)(
12.05.2009
7
Logische Gatter
Neuronen mit einer Step-Funktion sind wie logische Gatter
13
Neuronen mit einer Step Funktion sind wie logische Gatter, wenn die Eingabewerte und die Schwellenwerte in einerbestimmten Art gesetzt sind.
Neuronale Netzwerke
Feed-Forward NetzwerkeLinks sind unidirektional, keine Zyklen
Jedes Neuron der einen Schicht istmit jedem Neuron der nächstenZyklen
Technisch gesehen sind sie gerichtete azyklische GraphenMeistens in Schichten geordnet
mit jedem Neuron der nächstenSchicht verlinkt (vollständig vernetzt)Keine Links innerhalb einer Schicht, keine zurück zur letzten Schicht und keine, die Schichten überspringen
14Netzwerkstrukturen
12.05.2009
8
BemerkungenFeed-Forward Netze haben keine internen Zustände außer deren
Perzeptrons sind Netzwerke ohne Hiddenschicht Das machtinternen Zustände außer deren
Gewichte, die Aktivierung vom letzten Schritt (zeitmäßig) spielt keine Rolle.Derartige Netzwerke können adaptive Versionen eines einfachen Reflex-Agenten implementieren.Gut verständlich deswegen in der
ohne Hiddenschicht. Das macht das Lernen einfacher, sie sind aber limitiert, was die Repräsentation angeht.Netzwerke mit ein oder mehreren Hiddenschichten werden Multilayer-Netzwerke genannt.Mit einer Hiddenschicht kann man jede kontinuierliche Funktion der
15
Gut verständlich, deswegen in der weiteren Betrachtung.Input-, Output- und Hiddenneuronen.
jede kontinuierliche Funktion der Eingaben repräsentieren, mit zwei Schichten sogar nicht kontinuierliche Funktionen.Lernen als nichtlineare Regression.
Netzwerkstrukturen
Recurrent NetzwerkeLinks können beliebig geformtwerden
Lernen ist schwieriger aber siekönnen komplizierterewerden.
Haben interne Zuständewegen Feedback. Sie sind in den Aktivierungslevelngespeichert.Das bedeutet auch, dassderartige Netzwerke wenigergeordnet sind und deshalb
können kompliziertereAgenten implementieren.Hopfield Netze und Boltzmann Maschine
16
geordnet sind und deshalb“unstabil” werden können.
Netzwerkstrukturen
12.05.2009
9
Hopfield NetzwerkeWahrscheinlich die am besten verstandenen Recurrent
Es funktioniert wie einAssoziativspeicher nach demverstandenen Recurrent-
Netzwerke.Sie benutzen bidirektionaleVerbindungen mit symmetrischen Gewichten.Alle Neuronen sind gleichzeitig Input- und Outputneuronen
Assoziativspeicher, nach demTraining versetzt ein neuerStimulus das Netzwerk in einstabiles Aktivierungsmuster. Dieses korrespondiert zu den Beispielen und zwar so, dasses möglichst ähnlich demStimulus ist.
17
Outputneuronen.Aktivierungsfunktion ist Sign.Aktivierungslevel können nur +-1 sein.
Interessantes theoretischesErgebnis: Hopfield Netzekönnen bis zu 0.138nTrainingsbeispiele speichern, n ist die Anzahl der units.
Netzwerkstrukturen
Boltzmann MaschineBenutzen auch symmetrischeGewichte haben aber auch
Sie unterliegen deshalbZustandsveränderungen wieGewichte, haben aber auch
Neuronen, die weder Input-noch Outputneuronen sind.
Sie benutzen auch einestochastischeAktivierungsfunktion, so dassdie Wahrscheinlichkeit der
Zustandsveränderungen wiesie bei der Simulated Annealing Suche vorkommt.
18
die Wahrscheinlichkeit derAusgabe 1 eine Funktion des totalen gewichteten Inputs ist.
Netzwerkstrukturen
12.05.2009
10
Assoziative Netzwerke – Beispiel
19
[Rojas, 1996]
Optimale NetzwerkstrukturenRichtige Struktur ist entscheidend für Lernverlauf
Ist Struktur zu klein, kann man die gewünschte Funktion nicht grepräsentieren.Ist sie zu groß, dann haben wir eine Art große lookup table ohne Generalisierung.Overfitting ist ein Problem.
20Netzwerkstrukturen
12.05.2009
11
Optimale NetzwerkstrukturenFeed-forward Netze mit einerHiddenschicht können jede
Man kann das Finden einer guten Netzwerkstruktur als einHiddenschicht können jede
kontinuierliche Funktionlernen, mit zweiHiddenschichten sogar jedeFunktion.Die Anzahl der benötigtenNeuronen ist allerdings einProblem, sie kann exponentiell
guten Netzwerkstruktur als ein Suchproblem definieren. Man hat versucht, es mit genetischen Algorithmen zu lösen, aber der Suchraum ist zu groß.Die meisten Netzwerke verfeinern eine einmal
21
, pwachsen.Keine gute Theorievorhanden, um NERFs (Network Efficiently Representable Functions) zurepräsentieren.
gesetzte Struktur (z. B. Cascade Correlation).Cross-Validation und Bootstrap-Methoden zum Testen.
Netzwerkstrukturen
Perzeptrons
EigenschaftenEinschicht Feed-forward Netzwerkforward NetzwerkJedes Ouptutneuron ist unabhängig, deshalb kann nur ein Perzeptron betrachtet werden.
22Perzeptron
12.05.2009
12
Ausdrucksfähigkeit von PerzeptronsNeuronen können AND, OR und NOT repräsentieren
Allerdings sind einfache Perzeptrons limitiert in ihrerund NOT repräsentieren,
also kann ein feed-forward Netzwerk jede Boolsche Funktion repräsentieren.
Gilt das auch für single-layer perceptrons?Einige Boolsche Funktionen können repräsentiert werden:
Perzeptrons limitiert in ihrer Repräsentationsfähigkeit
Sie können z. B. das Restaurantproblem nicht lösen, weil jeder Inputwert nur jeden Outputwert in eine Richtung beeinflussen kann, egal, was die anderen Inputwerte haben
23
können repräsentiert werden:MajorityEin Entscheidungsbaum braucht O(2n), ein Perzeptron 1 Neuron mit n Gewichten, also einfacher.
Inputwerte haben.
Perzeptron
Ausdrucksfähigkeit von Perzeptrons
I1 I2 O
0 0 0
0 1 1
Was können sie repräsentieren?
1 0 1
1 1 0
24
Was können sie repräsentieren?Probleme bei nicht linear separierbaren Funktionen.Aber: ein Perzeptron kann alle linear separierbaren Funktionen lernen, wenn genug Beispiele vorhanden sind.
Perzeptron
12.05.2009
13
Lineare Separierbarkeit
25
Drei EingabenEbene noch visualisierbarI1+I2+I3=1.5
NeuronPositive unter der Ebene(-I1)+(-I2)+(-I3) > -1.5implementiert die Funktion
Perzeptron
Lernen von linear separierbaren Funktionen
Die meisten Netzwerke folgendem current best hypothesis
Der einzige Unterschied zulogischen Algorithmen istdem current-best-hypothesis
Ansatz.Hier ist die Hypothese einNetzwerk, das durch die Gewichte bestimmt ist. Das Netzwerk wird dannaktualisiert, um es an die Beispiele anzupassen.
logischen Algorithmen ist, dass der Lernprozess einBeispiel mehrere Male benutzt.Der Updateprozess isttypischerweise in Epochenunterteilt. Nach jeder Epochewerden die Gewichte neu
26
p pDie Gewichte werdensukzessive und in kleinenSchritten verändert.
geformt.
Perzeptron
12.05.2009
14
Generelles Schema
Generelle generische Methode des Lernens in neuronalen NetzenO = Output T = Target Error = T O
27
O = Output, T = Target, Error = T - O
Gewichtsveränderung: Wj = Wj + α × Ij × Error, α ist die Lernrate
Perzeptron
Perzeptrons und Entscheidungsbäume
Lokales und verteiltes Kodieren
28
Diskret und reellLernkurve für zwei Probleme: Majority, WillWait-Problem
Perzeptron gut für Majority, weil linear separabel, Entscheidungsbaum hat ProblemeWillWait gut für Entscheidungsbaum aber nicht linear separabel, auch hart für Perzeptron (65% Genauigkeit)
Perzeptron
12.05.2009
15
Multilayer Feed-forward Netzwerke
Rosenblatt Ende der 50er Jahre mit single-layer P tPerzeptrons.
Lernalgorithmen in Multilayer Netzwerken nicht effizient. Keine Garantie für das Finden eines globalenMinimums.
29
Backpropagation als häufigste Lernmethode (Bryson & Ho, 1969), aber erst Mitte der 80er gab es Rückenwind.
Multilayer Netzwerke
Back-Propagation Lernen
Annahme: Konstruktion eines Netzwerkes zur Lösung des Restaurant-Problems. Ein Perzeptron ist nicht mächtig genug, aber versuchen wir es mit einem Zweischicht-Netzwerk.10 Attribute = 10 Inputneuronen, wieviel Hiddenunits?
30Multilayer Netzwerke
12.05.2009
16
Back-Propagation Lernen
Lernen bei Perzeptrons einfachNur ein Gewicht zwischen Input und Output Wenn Fehler vorhanden (T t O t t) d d
OutputschichtGewichtsveränderung ähnlich der des Perzeptrons. Zwei Unterschiede gibt es:
(Target, Output), dann werden die Gewichte verändert.
Bei Multilayer Netzwerken schwieriger
Viele Gewichte zwischen jedem Input und Output vorhanden
gAktivierung der Hiddenneuronen statt Inputneuronen.Regel enthält einen Term für den Gradienten der Aktivierungsfunktion. Wenn Erri = (T - O) der Fehler des Outputneurons ist, dann ist die Gewichtsveränderung zwischen
31
Back-Propagation AlgorithmusVerteilt die Gewichtsverän-derungen ‘vernünftig’ Auch hier wird versucht, den Fehler zwischen Ziel und aktuellem Output zu minimieren
gNeuron i und j
Multilayer Netzwerke
)´( ,, iijijij ingErraww ×××+= α
Back-Propagation LernenWj,i = Wj,i + α × aj × Erri × g’(ini)
g’(ini) ist die Ableitung der Aktivierungsfunktion g. Wir defineren einen neuen g ( i) g g gFehlerterm Δi, der für Outputneuronen als Δi = Erri g’(ini) definiert ist.
Wj,i = Wj,i + α × aj × Δi
Für die Veränderungen der Gewichte zwischen zwischen den Hidden- und den Inputneuronen wird Error-Back-Propagation eingesetzt. Die Idee ist, daß das Hiddenneuron j für einen Teil des Δi-Fehlers eines jeden Outputneurons, mit dem es verbunden ist, verantwortlich ist. Also werden die Δi-Werte
32
mit dem es verbunden ist, verantwortlich ist. Also werden die Δi Werte abhängig von der Stärke der Verbindung aufgeteilt und zu den Δj -Werten für die Hiddenschicht zurückpropagiert.
Δj = g’(inj) ∑i Wj,i Δi
Multilayer Netzwerke
12.05.2009
17
Back-Propagation LernenΔj = g’(inj) ∑i Wj,i Δi
Jetzt kann die Regel der Gewichtsveränderung zwischen der Hidden- und derJetzt kann die Regel der Gewichtsveränderung zwischen der Hidden und der Inputschicht folgendermaßen beschrieben werden:
Wk,,j = Wk,,j + α × Ik × Δj
Der Algorithmus funktioniert folgendermaßen:
Errechne die Δ-Werte für die Outputunits, verwende den beobachteten Fehler
33
Fehler.Starte mit der Outputschicht, wiederhole das Folgende für jede Schicht des Netzwerks, bis die erste Hiddenschicht erreicht ist.
Propagiere die Δ-Werte zurück zur vorhergehenden Schicht.Update der Gewichte zwischen den beiden Schichten.
Multilayer Netzwerke
Backpropagation Algorithmus
Feed forward
Error computation
34
[Russell & Norvig, 2003]
Backpropagation
12.05.2009
18
Backpropagation – IllustrationFeedforward network withinitial weights w13 w35
a1 a3 a5initial weightsLerning rate αTwo inputs and outputs
Compute output for firstexamplesCompare to desired targetvalue
1
2
3
4
5
6
w13
w14
w23
w24
w35
w36
w45
w46
1
1
1
1a2 a4 a6
35
I1 I2 T1 T21 1 1 00 0 0 1...
Backpropagation – Illustration (2)Compute error: Err=T-O
w13 w35
a1 a3 a5 Δ5
Wj,i = Wj,i + α × aj × Erri × g’(ini)Error term Δi = Erri g’(ini)
Wj,i = Wj,i + α × aj × Δi
Compute error terms for outputunits Δ5 and Δ6
1
2
3
4
5
6
w13
w14
w23
w24
w35
w36
w45
w46
1
1
1
1a2 a4 a6
Δ6
36
units Δ5 and Δ6
Adaptation of weights forw35 and w45
w36 and w46
I1 I2 T1 T21 1 1 00 0 0 1...
12.05.2009
19
Backpropagation – Illustration (3)Process hidden units
w13 w35
a1 a3 a5Δ3 Δ5
Compute error terms Δ3 and Δ4
Δj = g’(inj) ∑i Wj,i Δi
Wj,i = Wj,i + α × aj × Δi
Here: Wk,j = Wk,j + α × Ik × Δj
Adaptation of weights for
1
2
3
4
5
6
w13
w14
w23
w24
w35
w36
w45
w46
1
1
1
1a2 a4 a6
Δ4 Δ6
37
Adaptation of weights forw13 and w23
w14 and w24I1 I2 T1 T21 1 1 00 0 0 1...
Backpropagation – Illustration (4)Compute output for secondexample w13 w35
a1 a3 a5exampleCompare to desired targetvalue...
1
2
3
4
5
6
w13
w14
w23
w24
w35
w36
w45
w46
0
0
1
0a2 a4 a6
38
I1 I2 T1 T21 1 1 00 0 0 1...
12.05.2009
20
Trainingskurve
39
Trainingskurve mit einem Multilayer Netzwerk
Standard Lernkurve, Entscheidungsbaumlernen vs. neuronale Netze
Multilayer Netzwerke
Back-Propagation als Gradientenabstieg
BackProp-Lernen in Multilayer p yNetzwerken ist eine einfacheInterpretation des Gradientenabstiegsim Gewichtsraum.
Der Gradient ist hier auf derFehleroberfläche.
Back Propagation erlaubt es uns die
40
Back-Propagation erlaubt es uns, die Errechnung des Gradienten zwischenden Units so zu teilen, dass die Veränderung jeden Gewichts durch die Neuronen errechnet werden können(lokale Information).
Multilayer Netzwerke
12.05.2009
21
Diskussion: ist BackProp-Lernen in Multilayer Netzwerken eine gute Methode für das maschinelle Lernen?
AusdrucksfähigkeitAttribut orientierte
Rechenpower, -effizienzDie Effizienz hängt von derAttribut-orientierte
Repräsentation, haben nicht die Ausdrucksfähigkeit von generellen logischen Repräsentationen.Sind gut geeignet für kontinuierliche Funktionen (im Gegensatz zu Entscheidungsbäumen)
Die Effizienz hängt von derTrainingsphase ab. Wennman m Beispiele und |W| Gewichte hat, dann benötigtjede Epoche O(m |W|) Zeit.Aber: Man hat gezeigt, dassim schlimmsten Fall die Anzahl der Epochenexponentiell in n sein kann
41
Entscheidungsbäumen).2n/n Hiddenunits werden benötigt, um alle Boolschen Funktionen mit n Inputs zu repräsentieren.
exponentiell in n sein kann(Anzahl der Inputs).Lokale Minima sind einProblem, Simulated Annealing kann zumVerlassen lokaler Optima eingesetzt werden.
Multilayer Netzwerke
Diskussion: ist BackProp-Lernen in Multilayer Netzwerken eine gute Methode für das maschinelle Lernen?Generalisierung
Gut geeignet fürTransparenz
Gut geeignet fürGeneralisierung und für realeAnwendungen.Aber: keine Theorie dafürvorhanden.
Sensitivität zu NoiseSehr fehlertolerant, weil nichtlineare Regression durchgeführt
Black Box, aber: Regelextraktion aus NN schafftAbhilfe
A priori WissenGut, wenn vorhanden, KBANN, SHRUTI.
42
lineare Regression durchgeführtwird.Neuronale Netze sinduniverselle Approximatoren und finden die beste Lösung, die zuden Beispielen und den Constraints passt.
Multilayer Netzwerke
12.05.2009
22
Diskussion: ist BackProp-Lernen in Multilayer Netzwerken eine gute Methode für das maschinelleLernen?
Insgesamt: einfache Feed-forward-Netzwerke erfüllennicht unsere Wünsche für eine verständlicheLerntheorie, zumindest nicht in der gegenwärtigenForm.
43Multilayer Netzwerke
Anwendungen mit neuronalen Netzen
SpracheLernen von Text zu Phonemen, Sprachgenerator anschließendNETtalk von Sejnowski und Rosenberg, 1987
Erkennung von handgeschriebenen Buchstaben
44
handgeschriebenen BuchstabenCun et al. 1989
Anwendungen
12.05.2009
23
Fahren eines Fahrzeuges
Anwendungen mit neuronalen Netzen
ALVINN (Autonomous Land Vehicle In a Neural Network), Pomerleau199330x32 input units (Kamera)1 hidden layer mit 4 units30 output units (Lenkrichtung)Backpropagation learning
45
Backpropagation learningBis zu 55 miles per hour (~88 km/h)
Anwendungen
D. Pomerleau: Neural Network Vision for Robot Driving. In: The Handbook of Brain Theory and
Neural Networks, M. Arbib, ed., 1995.
ZusammenfassungEin Neuronales Netz ist ein Rechenmodell, das durch Funktionsweise einesGehirns motiviert ist. Es besteht aus vielen kleinen Einheiten, die parallel und ohne zentrale Kontrolle arbeiten.Das Verhalten eines neuronalen Netzes wird durch die Topologie und die Neuronen bestimmt. Feed-forward Netzwerke (Verbindungen sind azyklischeGraphen) sind einfach zu analysieren. Sie sind zustandsfreie Funktionen.Ein Perzeptron ist ein Feed-forward Netzwerk mit einer Neuronenschicht und kann nur linear separable Funktionen repräsentieren. Wenn die Daten linear separabel sind, kann die Perzeptron Lernregel auf die Gewichte angewandtwerden und die Daten werden exakt repräsentiert.Multilayer feed-forward Netzwerke können jede Funktion repräsentieren
46
Multilayer feed forward Netzwerke können jede Funktion repräsentieren, genug Neuronen vorausgesetzt.Der Back-Propagation-Lernalgorithmus wird für Multilayer Feed-forward-Netzwerke verwendet. Hier wird das Gradientenabstiegsverfahren durchgeführt, um den Gesamtfehler zu minimieren. Es konvergiert in ein lokales Optimum, hat aber viel Erfolg in realen Anwendungen. Keine Garantie für das Findeneines globalen Optimums (wie hill-climbing).
top related