Praktische Optimierung

Slides:



Advertisements
Ähnliche Präsentationen
Präsentiert von Torben Pastuch
Advertisements

Seminarankündigung für das SS04
Perceptrons and the perceptron learning rule
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
Wismar Business School
VII. Differentialrechnung
Bayes-Netze KI 14-Bayes-Netze.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Marvin Minsky und das Perceptron
Neuronale Netze Von Kay-Patrick Wittbold.
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Adaptive Systeme Prof. Rüdiger Brause WS 2009.
Possibilistische Netze
Neuronale Netze Inhalt des Vortrags:
Entscheidungsunterstützungssysteme IWI Frankfurt 2003
Technische Informatik II Vorlesung 11: Netze Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Biologisches Vorbild Grundlagen
Uebung 01 ANN mit MATLAB.
Uebung 03 Perceptron Training INPUTINPUT b OUTPUTOUTPUT w1w1 w2w2.
Datenstrom (Propagation) Fehlerstrom (Backpropagation)
Neuronale Netze Romy Kuttner, Franco Haberland.
2. Biologische Neuronen Schematischer Aufbau einer Nervenzelle
Vorlesung KDD, Ludwig-Maximilians-Universität München, WS 2000/ Andere Paradigmen Inhalt dieses Kapitels 8.1 Induktive Logik-Programmierung.
Neuronale Netzwerke am Beispiel eines MLP
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Neuronale Netze Teil II.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Why connectionism? Backpropagation Netzwerke
Zeit: 13h-15h Datum: Raum: IFW B42
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Adaptive Systeme Prof. Rüdiger Brause WS 2013.
Adaptive Systeme-2 Grundlagen
Adaptive Systeme-2 Prof. Rüdiger Brause WS 2011 Organisation Einführung in adaptive Systeme B-AS-1, M-AS-1 Vorlesung Dienstags Uhr, SR9 Übungen.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Neuronale Netze.
Neuronale Netze Nachtrag Perzeptron
Mehrkriterielle Optimierung mit Metaheuristiken
Fundamente der Computational Intelligence
Neuronale Netze (1) Isabel Schwende
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Fourier-Analyse und technologische Anwendungen
Nichtlineare Optimierung
Projektgruppe KIMAS NN in MAS
Organisation Referate Materialien Dritter Termin Workshop 27.Oktober 2010 Projektseminar WS 09/10 Konnektionistische Sprachverarbeitung 1.
Praktische Optimierung
 Präsentation transkript:

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

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

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

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

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

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

? 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

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

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 – 4x1x2 -1 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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), 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 2007/08) ● Künstliche neuronale Netze