Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08."—  Präsentation transkript:

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

2 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze2 Metamodellierung Inhalt Multilayer-Perceptron (MLP) Radiale Basisfunktionsnetze (RBF) Kriging Neuronale Netze

3 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze3 Künstliche neuronale Netze Biologisches Vorbild Neuronen - Information aufnehmen (D) - Information verarbeiten (Z) - Information weiterleiten (A / S) Mensch: Neuronen Strom im mV-Bereich 120 m / s Zellkörper (Z) Dendrit (D) Kern Axon (A) Synapse (S)

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

5 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze5 Künstliche neuronale Netze Modell … x1x1 f(x 1, x 2, …, x n ) x2x2 xnxn Funktion f McCulloch-Pitts-Neuron 1943: x i { 0, 1 } =: B f: B n B

6 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze6 Künstliche neuronale Netze Perzeptron (Rosenblatt 1958) komplexes Modell reduziert von Minsky & Papert auf das Notwendigste Minsky-Papert-Perzeptron (MPP), 1969 umstellen nach x 2 liefert: J N 0 1 Was leistet ein MPP? J N 0 1 Bsp: J N Trenngerade separiert R 2 in 2 Klassen

7 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze7 Künstliche neuronale Netze OR NAND NOR = 0= 1 AND XOR ? x1x1 x2x2 xor ) 0 < ) w 2 ) w 1 ) w 1 + w 2 < w 1, w 2 > 0 ) w 1 + w 2 2 Widerspruch! w 1 x 1 + w 2 x 2

8 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze8 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

9 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze9 Künstliche neuronale Netze Wege aus der Sackgasse: 1.Mehrschichtige Perzeptrons: 2.Nichtlineare Trennfunktionen: x1x1 x2x2 2 x1x1 x2x2 2 1 ) realisiert XOR XOR g(x 1, x 2 ) = 2x 1 + 2x 2 – 4x 1 x 2 -1 mit = 0 g(0,0) = –1 g(0,1) = +1 g(1,0) = +1 g(1,1) = –1

10 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze10 Künstliche neuronale Netze Wie kommt man zu den Gewichten und ? bisher: durch Konstruktion x1x1 x2x2 NAND Bsp: NAND-Gatter ) 0 ) w 2 ) w 1 ) w 1 + w 2 < erfordert Lösung eines linearen Ungleichungssystems ( 2 P) (Bsp: w 1 = w 2 = -2, = -3) jetzt: durch Lernen bzw. Trainieren

11 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze11 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

12 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze12 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!

13 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze13 Künstliche neuronale Netze XOR mit 3 Neuronen in 2 Schichten x1x1 x2x2 y1y1 y2y2 z x1x1 x2x2 1 y1y1 z 1 y2y2 1 1 konvexe Menge

14 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze14 Künstliche neuronale Netze XOR mit 3 Neuronen in 2 Schichten x1x1 x2x2 y1y1 y2y2 z x1x1 x2x2 1 1 y1y1 z 1 1 y2y2 1 ohne AND-Verknüpfung in 2. Schicht

15 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze15 Künstliche neuronale Netze XOR mit 2 Neuronen möglich 2 1 x1x1 x2x yz x1x1 x2x2 y-2yx 1 -2y+x 2 z aber: keine Schichtenarchitektur

16 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze16 Künstliche neuronale Netze Lernalgorithmus für Multi-Layer-Perceptron vorteilhaft: sigmoide Aktivierungsfunktion (statt Signum-Funktion) 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

17 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze17 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 BeispieleAnzahl der Ausgabeneuronen const. führt zur gleichen Lösung wie TSSE )

18 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze18 Künstliche neuronale Netze Lernalgorithmus für Multi-Layer-Perceptrons Gradientenverfahren J 1 2 x1x1 x2x2 xIxI w 11 w nm u 11 f(w t, u t ) = TSSE u t+1 = u t - r u f(w t, u t ) w t+1 = w t - r w f(w t, u t ) K z1z1 z2z2 zKzK y1y1 y2y2 yJyJ y j : Ausgabe der verdeckten Schicht z k : Ausgabe der Ausgabeschicht x i : Eingabe an Eingabeschicht y j = h( ¢ ) z k = a( ¢ )

19 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze19 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 x Netzausgabe

20 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze20 Künstliche neuronale Netze Fehler bei Eingabe x und Sollausgabe z*: Gesamtfehler für alle Beispiele (x, z*) 2 B: (TSSE)

21 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze21 Künstliche neuronale Netze Gradient des Gesamtfehlers: also: bzw. Vektor der partiellen Ableitungen nach den Gewichten u jk und w ij

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

23 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze23 Künstliche neuronale Netze partielle Ableitung nach u jk : Fehlersignal k

24 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze24 Künstliche neuronale Netze partielle Ableitung nach w ij : Fehlersignal k aus vorheriger Schicht Faktoren umordnen Fehlersignal j aus aktueller Schicht

25 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze25 Künstliche neuronale Netze Verallgemeinerung Das neuronale Netz habe L Schichten (layer) S 1, S 2,... S L. Seien Neuronen aller Schichten durchnummeriert von 1 bis N. Alle Gewichte w ij sind in Gewichtsmatrix W zusammengefasst. Sei o j Ausgabe (output) von Neuron j. j 2 S m Neuron j ist in m-ter Schicht Fehlersignal: Korrektur: beim Online-Lernen: Korrektur nach jedem präsentierten Beispiel

26 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze26 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)

27 Rudolph: PO (WS 2007/08) Künstliche neuronale Netze27 Künstliche neuronale Netze Hornik, K., Stinchcombe, M., and White, H. (1989). "Multilayer Feedforward Networks are Universal Approximators," Neural Networks, 2(5), 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


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

Ähnliche Präsentationen


Google-Anzeigen