Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktische Optimierung

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Optimierung"—  Präsentation transkript:

1 Praktische Optimierung
Wintersemester 2007/08 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering

2 Radiale Basisfunktionsnetze (RBF) Kriging Neuronale Netze
Metamodellierung Inhalt Multilayer-Perceptron (MLP) Radiale Basisfunktionsnetze (RBF) Kriging Neuronale Netze 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) Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

4 Signal- Eingabe Signal- Verarbeitung Signal- Ausgabe
Künstliche neuronale Netze Abstraktion Axon Zellkern / Zellkörper Dendriten Synapse Signal- Eingabe Signal- Verarbeitung Signal- Ausgabe Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

5 Künstliche neuronale Netze
Modell x1 Funktion f x2 f(x1, x2, …, xn) xn McCulloch-Pitts-Neuron 1943: xi  { 0, 1 } =: B f: Bn → B 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 Was leistet ein MPP? J N 1 umstellen nach x2 liefert: J N 1 Bsp: 1 J N Trenngerade separiert R2 in 2 Klassen Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

7 ? Künstliche neuronale Netze AND OR NAND NOR XOR x1 x2 xor 1
= 0 = 1 AND 1 OR NAND NOR XOR 1 x1 x2 xor 1 ) 0 <  w1, w2 ≥  > 0 ) w2 ≥  ? ) w1 + w2 ≥ 2 ) w1 ≥  ) w1 + w2 <  Widerspruch! w1 x1 + w2 x2 ≥  Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

8 Künstliche neuronale Netze
1969: Marvin Minsky / Seymor Papert 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) Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

9 Künstliche neuronale Netze
Wege aus der „Sackgasse“: Mehrschichtige Perzeptrons: Nichtlineare Trennfunktionen: x1 x2 2 1 ) realisiert XOR XOR 1 g(x1, x2) = 2x1 + 2x2 – 4x1x mit  = 0 g(0,0) = –1 g(0,1) = +1 g(1,0) = +1 g(1,1) = –1 Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

10 Künstliche neuronale Netze
Wie kommt man zu den Gewichten und  ? bisher: durch Konstruktion Bsp: NAND-Gatter x1 x2 NAND 1 ) 0 ≥  ) w2 ≥  ) w1 ≥  ) w1 + w2 <  erfordert Lösung eines linearen Ungleichungssystems (2 P) (Bsp: w1 = w2 = -2,  = -3) jetzt: durch „Lernen“ bzw. Trainieren Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

11 Künstliche neuronale Netze
Perceptron-Lernen Annahme: Testbeispiele mit richtigem Ein-/Ausgabeverhalten bekannt Prinzip: wähle Gewichte irgendwie lege Testmuster an falls Perceptronausgabe falsch, dann verändere Gewichte gehe nach (2) bis richtige Perceptronausgabe für alle Testmuster grafisch: → Verschieben und Drehen der Trenngeraden Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

12 Verknüpfung mit AND in der 2. Schicht
Künstliche neuronale Netze Was kann man durch zusätzliche Schichten (Layer) erreichen? P N 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), 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! Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

13 Künstliche neuronale Netze
XOR mit 3 Neuronen in 2 Schichten 1 x1 x2 y1 y2 z 1 x1 y1 1 -1 ≥ 2 z 1 1 y2 x2 -1 konvexe Menge Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

14 Künstliche neuronale Netze
XOR mit 3 Neuronen in 2 Schichten ≥ 1 x1 x2 -1 1 y1 z y2 x1 x2 y1 y2 z 1 ohne AND-Verknüpfung in 2. Schicht Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

15 Künstliche neuronale Netze
XOR mit 2 Neuronen möglich x1 x2 y -2y x1-2y+x2 z 1 -2 ≥ 2 ≥ 1 x1 x2 1 1 y z -2 1 1 aber: keine Schichtenarchitektur Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

16 Künstliche neuronale Netze
Lernalgorithmus für Multi-Layer-Perceptron 1 vorteilhaft: sigmoide Aktivierungsfunktion (statt Signum-Funktion) 1 monoton wachsend differenzierbar nicht-linear Ausgabe 2 [0,1] statt 2 { 0, 1 } Schranke  in Aktivierungs- funktion integriert Bsp: Werte für Ableitungen direkt aus Funktionswerten bestimmbar 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 Ausgabeneuronen const. führt zur gleichen Lösung wie TSSE ) Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

18 Künstliche neuronale Netze
Lernalgorithmus für Multi-Layer-Perceptrons w11 y1 u11 Gradientenverfahren ... z1 x1 1 y2 f(wt, ut) = TSSE 1 x2 z2 ut+1 = ut - ru f(wt, ut) 2 wt+1 = wt - rw f(wt, ut) 2 ... zK xi : Eingabe an Eingabeschicht xI wnm yJ K yj : Ausgabe der verdeckten Schicht J zk = a(¢) zk: Ausgabe der Ausgabeschicht yj = h(¢) 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: Netzausgabe Sollausgabe bei Eingabe x 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) Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

21 Künstliche neuronale Netze
Gradient des Gesamtfehlers: Vektor der partiellen Ableitungen nach den Gewichten ujk und wij also: bzw. Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

22 Künstliche neuronale Netze
Annahme: ) und: Kettenregel der Differentialrechnung: äußere Ableitung innere Ableitung Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

23 Künstliche neuronale Netze
partielle Ableitung nach ujk: „Fehlersignal“ k Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

24 Künstliche neuronale Netze
partielle Ableitung nach wij: Faktoren umordnen Fehlersignal k aus vorheriger Schicht Fehlersignal j aus „aktueller“ Schicht Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

25 Künstliche neuronale Netze
Verallgemeinerung j 2 Sm → Neuron j ist in m-ter Schicht 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. Fehlersignal: Korrektur: beim Online-Lernen: Korrektur nach jedem präsentierten Beispiel 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, usw. bis zur ersten inneren Schicht. ) Fehler wird also von Ausgabeschicht zur ersten inneren Schicht zurückgeleitet. ) Backpropagation (of error) Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze

27 Künstliche neuronale Netze
Satz: MLPs mit einer verdeckten Schicht sigmoidaler Einheiten sind universelle Approximatoren für stetige Funktionen. Beweis: Hornik, K., Stinchcombe, M., and White, H. (1989). "Multilayer Feedforward Networks are Universal Approximators," Neural Networks, 2(5), Folgt im Grunde aus dem Satz von Weierstraß. Netz explizit hinschreiben und ausmultiplizieren. Sigmoidale Funktionen durch ihre Reihenentwicklung (Polynome!) ersetzen. Ausmultiplizieren → Polynom als Ersatzzielfunktion Rudolph: PO (WS 2007/08) ● Künstliche neuronale Netze


Herunterladen ppt "Praktische Optimierung"

Ähnliche Präsentationen


Google-Anzeigen