Wintersemester 27/8 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering
Metamodellierung Inhalt Multilayer-Perceptron (MLP) Radiale Basisfunktionsnetze (RBF) Kriging Neuronale Netze Rudolph: PO (WS 27/8) Künstliche neuronale Netze 2
Biologisches Vorbild Neuronen - Information aufnehmen (D) - Information verarbeiten (Z) - Information weiterleiten (A / S) Mensch: 2 Neuronen Strom im mv-bereich 2 m / s Zellkörper (Z) Axon (A) Kern Dendrit (D) Synapse (S) Rudolph: PO (WS 27/8) Künstliche neuronale Netze 3
Abstraktion Dendriten Zellkern / Zellkörper Axon Synapse Signal- Eingabe Signal- Verarbeitung Signal- Ausgabe Rudolph: PO (WS 27/8) Künstliche neuronale Netze 4
Modell x Funktion f f(x,,, x n ) x n McCulloch-Pitts-Neuron 943: x i {, } =: B f: B n B Rudolph: PO (WS 27/8) Künstliche neuronale Netze 5
Perzeptron (Rosenblatt 958) komplexes Modell reduziert von Minsky & Papert auf das Notwendigste Minsky-Papert-Perzeptron (MPP), 969 Was leistet ein MPP? J umstellen nach liefert: J N N Bsp: N J Trenngerade separiert R 2 in 2 Klassen Rudolph: PO (WS 27/8) Künstliche neuronale Netze 6
= = AND OR NAND NOR XOR? x xor w x + w 2 θ < θ w 2 θ w θ w + w 2 < θ w, w 2 θ > w + w 2 2θ Widerspruch! Rudolph: PO (WS 27/8) Künstliche neuronale Netze 7
969: 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 (~ 5 Jahre) Rudolph: PO (WS 27/8) Künstliche neuronale Netze 8
Wege aus der Sackgasse :. Mehrschichtige Perzeptrons: x 2 x 2 realisiert XOR 2. Nichtlineare Trennfunktionen: XOR g(x, ) = 2x + 2 4x - mit θ = g(,) = g(,) = + g(,) = + g(,) = Rudolph: PO (WS 27/8) Künstliche neuronale Netze 9
Wie kommt man zu den Gewichten und θ? bisher: durch Konstruktion Bsp: NAND-Gatter x NAND θ w 2 θ w θ w + w 2 < θ erfordert Lösung eines linearen Ungleichungssystems ( P) (Bsp: w = w 2 = -2, θ = -3) jetzt: durch Lernen bzw. Trainieren Rudolph: PO (WS 27/8) Künstliche neuronale Netze
Perceptron-Lernen Annahme: Testbeispiele mit richtigem Ein-/Ausgabeverhalten bekannt Prinzip: () 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 Rudolph: PO (WS 27/8) 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 N P Two-layer perceptron beliebige konvexe Mengen unterscheidbar Verknüpfung mit AND in der 2. Schicht Three-layer perceptron beliebige Mengen unterscheidbar (abh. von Anzahl der Neuronen), 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 27/8) Künstliche neuronale Netze 2
XOR mit 3 Neuronen in 2 Schichten x - y 2 z x y y 2 z - y 2 konvexe Menge Rudolph: PO (WS 27/8) Künstliche neuronale Netze 3
XOR mit 3 Neuronen in 2 Schichten x - y z x y y 2 z - y 2 ohne AND-Verknüpfung in 2. Schicht Rudolph: PO (WS 27/8) Künstliche neuronale Netze 4
XOR mit 2 Neuronen möglich x y -2y x -2y+ z x 2 y -2 z -2 aber: keine Schichtenarchitektur Rudolph: PO (WS 27/8) Künstliche neuronale Netze 5
Lernalgorithmus für Multi-Layer-Perceptron vorteilhaft: sigmoide Aktivierungsfunktion (statt Signum-Funktion) θ monoton wachsend differenzierbar nicht-linear Ausgabe [,] statt {, } Bsp: Schranke θ in Aktivierungsfunktion integriert Werte für Ableitungen direkt aus Funktionswerten bestimmbar Rudolph: PO (WS 27/8) Künstliche neuronale Netze 6
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 27/8) Künstliche neuronale Netze 7
Lernalgorithmus für Multi-Layer-Perceptrons Gradientenverfahren w y u x z f(w t, u t ) = TSSE y 2 u t+ = u t - γ u f(w t, u t ) 2 z 2 w t+ = w t - γ w f(w t, u t )...... 2... z K x i : Eingabe an Eingabeschicht y j : Ausgabe der verdeckten Schicht x I w nm J y J K z k = a( ) z k : Ausgabe der Ausgabeschicht y j = h( ) Rudolph: PO (WS 27/8) Künstliche neuronale Netze 8
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 27/8) Künstliche neuronale Netze 9
Fehler bei Eingabe x und Sollausgabe z*: Gesamtfehler für alle Beispiele (x, z*) B: (TSSE) Rudolph: PO (WS 27/8) Künstliche neuronale Netze 2
Gradient des Gesamtfehlers: Vektor der partiellen Ableitungen nach den Gewichten u jk und w ij also: bzw. Rudolph: PO (WS 27/8) Künstliche neuronale Netze 2
Annahme: und: Kettenregel der Differentialrechnung: äußere Ableitung innere Ableitung Rudolph: PO (WS 27/8) Künstliche neuronale Netze 22
partielle Ableitung nach u jk : Fehlersignal δ k Rudolph: PO (WS 27/8) Künstliche neuronale Netze 23
partielle Ableitung nach w ij : Faktoren umordnen Fehlersignal δ k aus vorheriger Schicht Fehlersignal δ j aus aktueller Schicht Rudolph: PO (WS 27/8) Künstliche neuronale Netze 24
Verallgemeinerung Das neuronale Netz habe L Schichten (layer) S, S 2,... S L. Seien Neuronen aller Schichten durchnummeriert von bis N. Alle Gewichte w ij sind in Gewichtsmatrix W zusammengefasst. Sei o j Ausgabe (output) von Neuron j. j S m Neuron j ist in m-ter Schicht Fehlersignal: Korrektur: beim Online-Lernen: Korrektur nach jedem präsentierten Beispiel Rudolph: PO (WS 27/8) Künstliche neuronale Netze 25
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) Rudolph: PO (WS 27/8) Künstliche neuronale Netze 26
Satz: MLPs mit einer verdeckten Schicht sigmoidaler Einheiten sind universelle Approximatoren für stetige Funktionen. Beweis: Hornik, K., Stinchcombe, M., and White, H. (989). "Multilayer Feedforward Networks are Universal Approximators," Neural Networks, 2(5), 359-366. 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 27/8) Künstliche neuronale Netze 27