Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl...
-
Upload
adalwolf-schlater -
Category
Documents
-
view
106 -
download
2
Transcript of Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl...
![Page 1: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/1.jpg)
Praktische Optimierung
(Vorlesung)
Prof. Dr. Günter Rudolph
Fakultät für Informatik
Lehrstuhl für Algorithm Engineering
Wintersemester 2007/08
![Page 2: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/2.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 2
Metamodellierung
Inhalt
● Multilayer-Perceptron (MLP)
● Radiale Basisfunktionsnetze (RBF)
● Kriging
Neuronale Netze
![Page 3: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/3.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 3
Künstliche neuronale Netze
Biologisches Vorbild
● Neuronen
- Information aufnehmen (D)
- Information verarbeiten (Z)
- Information weiterleiten (A / S)
Mensch: 1012 Neuronen
Strom im mV-Bereich
120 m / s
Zellkörper (Z)
Dendrit (D)Kern
Axon (A)
Synapse (S)
![Page 4: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/4.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 4
Künstliche neuronale Netze
Abstraktion
Zellkern / Zellkörper
…
DendritenAxon
Synapse
Signal-Eingabe
Signal-Verarbeitung
Signal-Ausgabe
![Page 5: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/5.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 5
Künstliche neuronale Netze
Modell
…
x1
f(x1, x2, …, xn)x2
xn
Funktion f
McCulloch-Pitts-Neuron 1943:
xi { 0, 1 } =: B
f: Bn → B
![Page 6: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/6.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 6
Künstliche neuronale Netze
Perzeptron (Rosenblatt 1958)
→ komplexes Modell → reduziert von Minsky & Papert auf das „Notwendigste“
→ Minsky-Papert-Perzeptron (MPP), 1969
umstellen nach x2 liefert:
J
N 0
1
Was leistet ein MPP?
J
N 0
1
Bsp:
0 1
1
0
J
N
Trenngerade
separiert R2
in 2 Klassen
![Page 7: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/7.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 7
Künstliche neuronale Netze
OR NAND NOR
= 0 = 1
AND
0 1
1
0
XOR
0 1
1
0
?
x1 x2 xor
0 0 0
0 1 1
1 0 1
1 1 0
) 0 <
) w2 ≥
) w1 ≥
) w1 + w2 <
w1, w2 ≥ > 0
) w1 + w2 ≥ 2
Widerspruch!w1 x1 + w2 x2 ≥
![Page 8: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/8.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 8
Künstliche neuronale Netze
● Buch Perceptrons → Analyse math. Eigenschaften von Perzeptrons
● Ernüchterndes Ergebnis: Triviale Probleme können nicht mit Perzeptrons gelöst werden!
- XOR-Problem
- Parity-Problem
- Connectivity-Problem
● „Folgerung“: Alle künstliche Neuronen haben diese Schwäche! Forschung auf diesem Gebiet ist wissenschaftliche Sackgasse!
● Folge: Forschungsförderung bzgl. KNN praktisch eingestellt (~ 15 Jahre)
1969: Marvin Minsky / Seymor Papert
![Page 9: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/9.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 9
Künstliche neuronale Netze
Wege aus der „Sackgasse“:
1. Mehrschichtige Perzeptrons:
2. Nichtlineare Trennfunktionen:
x1
x2
2
x1
x2
21 ) realisiert XOR
XOR
0 1
1
0
g(x1, x2) = 2x1 + 2x2 – 4x1x2 -1 mit = 0
g(0,0) = –1g(0,1) = +1g(1,0) = +1g(1,1) = –1
![Page 10: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/10.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 10
Künstliche neuronale Netze
Wie kommt man zu den Gewichten und ?
bisher: durch Konstruktion
x1 x2 NAND
0 0 1
0 1 1
1 0 1
1 1 0
Bsp: NAND-Gatter
) 0 ≥ ) w2 ≥
) w1 ≥
) w1 + w2 <
erfordert Lösung eines linearen Ungleichungssystems (2 P)
(Bsp: w1 = w2 = -2, = -3)
jetzt: durch „Lernen“ bzw. Trainieren
![Page 11: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/11.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 11
Künstliche neuronale Netze
Perceptron-Lernen
Annahme: Testbeispiele mit richtigem Ein-/Ausgabeverhalten bekannt
Prinzip:
(1) wähle Gewichte irgendwie
(2) lege Testmuster an
(3) falls Perceptronausgabe falsch, dann verändere Gewichte
(4) gehe nach (2) bis richtige Perceptronausgabe für alle Testmuster
grafisch:
→ Verschieben und Drehen der Trenngeraden
![Page 12: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/12.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 12
Künstliche neuronale Netze
Was kann man durch zusätzliche Schichten (Layer) erreichen?
● Single-layer perceptron (SLP)
) Hyperfläche separiert Raum in zwei Teilräume
● Two-layer perceptron
) beliebige konvexe Mengen unterscheidbar
● Three-layer perceptron
) beliebige Mengen unterscheidbar (abh. von Anzahl der Neuronen),
P
N
Verknüpfung mit AND in
der 2. Schicht
weil mehrere konvexe Mengen bis 2. Schicht darstellbar,
diese können in 3. Schicht kombiniert werden
) Mehr als 3 Schichten sind nicht nötig!
![Page 13: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/13.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 13
Künstliche neuronale Netze
XOR mit 3 Neuronen in 2 Schichten
x1 x2 y1 y2 z
0 0 0 1 0
0 1 1 1 1
1 0 1 1 1
1 1 1 0 0
≥ 2
x1
x2
-11
-1
y1
z
1y2
1
1
konvexe Menge
![Page 14: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/14.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 14
Künstliche neuronale Netze
XOR mit 3 Neuronen in 2 Schichten
x1 x2 y1 y2 z
0 0 0 0 0
0 1 0 1 1
1 0 1 0 1
1 1 0 0 0
≥ 1
≥ 1
x1
x2
-11
1
y1
z
≥ 1 1y2
1
-1
ohne AND-Verknüpfung in 2. Schicht
![Page 15: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/15.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 15
Künstliche neuronale Netze
XOR mit 2 Neuronen möglich
≥ 2 ≥ 1
x1
x2
1
1
-2
1
1
y z
x1 x2 y -2y x1-2y+x2 z
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 0 1 1
1 1 1 -2 0 0
aber: keine Schichtenarchitektur
![Page 16: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/16.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 16
Künstliche neuronale Netze
Lernalgorithmus für Multi-Layer-Perceptron
vorteilhaft: sigmoide Aktivierungsfunktion (statt Signum-Funktion)
01
0
1
• monoton wachsend
• differenzierbar
• nicht-linear
• Ausgabe 2 [0,1] statt 2 { 0, 1 }
• Schranke in Aktivierungs- funktion integriertBsp:
●
●
Werte für Ableitungen direkt aus Funktionswerten bestimmbar
![Page 17: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/17.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 17
Künstliche neuronale Netze
Quantifizierung des Klassifikationsfehlers beim MLP
● Total Sum Squared Error (TSSE)
Ausgabe des Netzes für Gewichte w und Eingabe x
Soll-Ausgabe des Netzes für Eingabe x
● Total Mean Squared Error (TMSE)
TSSE
Anzahl der Beispiele Anzahl der Ausgabeneuronenconst.
führt zur gleichen Lösung wie TSSE
)
![Page 18: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/18.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 18
Künstliche neuronale Netze
Lernalgorithmus für Multi-Layer-Perceptrons
Gradientenverfahren
...
...
...
1...
2
J
1
2
x1
x2
xI
w11
wnm
u11
f(wt, ut) = TSSE
ut+1 = ut - ru f(wt, ut)
wt+1 = wt - rw f(wt, ut)
K
z1
z2
zK
y1
y2
yJ
yj : Ausgabe der verdeckten Schicht
zk: Ausgabe der Ausgabeschicht
xi : Eingabe an Eingabeschicht
yj = h(¢)
zk = a(¢)
![Page 19: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/19.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 19
Künstliche neuronale Netze
Ausgabe von Neuron j in der verdeckten Schicht
Ausgabe von Neuron k in der Ausgabeschicht
Fehler bei Eingabe x:
Sollausgabe bei Eingabe xNetzausgabe
![Page 20: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/20.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 20
Künstliche neuronale Netze
Fehler bei Eingabe x und Sollausgabe z*:
Gesamtfehler für alle Beispiele (x, z*) 2 B:
(TSSE)
![Page 21: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/21.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 21
Künstliche neuronale Netze
Gradient des Gesamtfehlers:
also:
bzw.
Vektor der partiellen Ableitungen nach den Gewichten ujk und wij
![Page 22: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/22.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 22
Künstliche neuronale Netze
Annahme: )
und:
Kettenregel der Differentialrechnung:
äußere Ableitung
innere Ableitung
![Page 23: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/23.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 23
Künstliche neuronale Netze
partielle Ableitung nach ujk:
„Fehlersignal“ k
![Page 24: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/24.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 24
Künstliche neuronale Netze
partielle Ableitung nach wij:
Fehlersignal k aus vorheriger Schicht
Faktoren umordnen
Fehlersignal j aus „aktueller“ Schicht
![Page 25: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/25.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 25
Künstliche neuronale Netze
Verallgemeinerung
Das neuronale Netz habe L Schichten (layer) S1, S2, ... SL.
Seien Neuronen aller Schichten durchnummeriert von 1 bis N.
Alle Gewichte wij sind in Gewichtsmatrix W zusammengefasst.
Sei oj Ausgabe (output) von Neuron j.
j 2 Sm → Neuron j ist in m-ter Schicht
Fehlersignal:
Korrektur:
beim Online-Lernen: Korrektur nach jedem präsentierten Beispiel
![Page 26: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/26.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 26
Künstliche neuronale Netze
Fehlersignal eines Neurons einer inneren Schicht bestimmt durch
● Fehlersignale aller Neuronen der nachfolgenden Schicht und
● zugehörige Verbindungsgewichte.
)
● Erst Fehlersignale der Ausgabeneuronen bestimmen,
● daraus Fehlersignale der Neuronen der vorhergehenden Schicht berechnen,
● daraus Fehlersignale der Neuronen der vorhergehenden Schicht berechnen,
● usw. bis zur ersten inneren Schicht.
)
Fehler wird also von Ausgabeschicht zur ersten inneren Schicht zurückgeleitet.
) Backpropagation (of error)
![Page 27: Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.](https://reader036.fdokument.com/reader036/viewer/2022081518/55204d7549795902118ca0da/html5/thumbnails/27.jpg)
Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze 27
Künstliche neuronale Netze
Hornik, K., Stinchcombe, M., and White, H. (1989). "Multilayer Feedforward Networks are Universal Approximators," Neural Networks, 2(5), 359-366.
Satz:
MLPs mit einer verdeckten Schicht sigmoidaler Einheiten sind universelle Approximatoren für stetige Funktionen.
Beweis:
Folgt im Grunde aus dem Satz von Weierstraß.
Netz explizit hinschreiben und ausmultiplizieren.
Sigmoidale Funktionen durch ihre Reihenentwicklung (Polynome!) ersetzen.
Ausmultiplizieren → Polynom als Ersatzzielfunktion