Dieter Kilsch Einsatz neuronaler Netze Einsatz Neuronale Netze Funktionsweise und Anwendungen Mainz, 14. Oktober 2005 Mainz, 18.10.05 1 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze • Modellbildung, Datenvorbereitung • Anwendungsbeispiele • Selbstorganisierende Karten (Kohonen-Netze) Mainz, 18.10.05 2 Dieter Kilsch Einsatz neuronaler Netze (Künstliche) Intelligenz: ● ● ● Individuelle Intelligenz Intelligenz einer Gruppe (Schwarmintelligenz) emotionale Intelligenz Künstliche Intelligenz: Alan Turing 1950: Turing Test: Eine Maschine hat künstliche Intelligenz, wenn ein Beobachter nicht unterscheiden kann, ob er es mit einem Menschen oder einer Maschine zu tun hat. Forschungsziel: Intelligente Leistungen analysieren und berechenbar machen. Mainz, 18.10.05 3 Dieter Kilsch Einsatz neuronaler Netze Problemlösungsprozeß: Algorithmisch: Expertensystem: ● Aufgabenstellung intuitiv lösen ● Aufgabenstellung intuitiv lösen ● In numerische Algorithmen umsetzen ● Regeln aufstellen ● Regeln anwenden ● Als Programm realisieren ● Voraussetzungen streng einhalten Mainz, 18.10.05 ● auf ähnliche Probleme anwendbar Neuronale Netze: ● Aufgabenstellung intuitiv lösen ● Vorgabe von Beispieldaten ● auf Basis der Lerndaten verallgemeinern ● auf ähnliche Probleme anwendbar 4 Dieter Kilsch Einsatz neuronaler Netze Physikalisches Wirkverhalten: Mainz, 18.10.05 5 Dieter Kilsch Einsatz neuronaler Netze Physikalisches Wirkverhalten eines Motors: Abstraktion: o = f(e) : Der Ausgang o hängt funktional vom Eingang e ab, dieser Zusammenhang wird durch eine Funktion f beschrieben: o = f(e). Mainz, 18.10.05 6 Dieter Kilsch Einsatz neuronaler Netze Optimieren: herkömmlich: Mainz, 18.10.05 mit neuronal. Netz: 7 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze • Modellbildung, Datenvorbereitung • Anwendungebeispiele • Selbstorganisierende Karten (Kohonen-Netze) Mainz, 18.10.05 8 Dieter Kilsch Einsatz neuronaler Netze Vergleich Gehirn - Rechner: Gehirn: Rechner: ● hohe Parallelität ● Fehlertoleranz ● Verallgemeinern ● Selbstorganisation ● Präzision ● Fehlerloses Speichern Mustererkennung ● ● ● ca. 10 11 Schnelles Ausführen eines Algorithmus ● von Neumann Architektur ● kaum vernetzt Neuronen Jedes Neuron ist im Schnitt mit 104 anderen verbunden Mainz, 18.10.05 ● 9 Dieter Kilsch Einsatz neuronaler Netze Das biologische Neuron: Mainz, 18.10.05 (Berns, Kolb) 10 Dieter Kilsch Einsatz neuronaler Netze Das Rechnerneuron: Eingabe: e = (e1, ..., en) Gewichte: w = (w1, ..., wn) Nettowert: net := <e, w> - Θ = ei·wi - Θ Aktivität: a = a(<e, w> - Θ) Mainz, 18.10.05 11 Dieter Kilsch Einsatz neuronaler Netze Die sigmoide Aktivierungsfunktion: Funktion: 1 a(x) = 1+e-gx Ableitung: a'(x) = g (1-a(x)) a(x) Steigung in x=0: a'(0) = g/4 Alternativ: - artanh: R -> (-1, 1), - Parabelstücke, .... Mainz, 18.10.05 12 Dieter Kilsch Einsatz neuronaler Netze Schwellenwertelement: Aktivierungsfunktion: Schwellenwertfunktion Funktion: a(x) = (x≥0) Nettowert: net := <e, w> - Θ ≥ 0 Schwellenwertelement trennt Eingabedaten linear, logisch verknüpfte Schwellenwertelemente legen konvexen Simplex fest. Mainz, 18.10.05 13 Dieter Kilsch Einsatz neuronaler Netze Lineare Trennung: Verdeckte Neuronen trennen linear: Ausgabeneuron fast Ergebnisse durch ODER zusammen: Die äußeren Punkte führen zu einer positiven Antwort . Mainz, 18.10.05 14 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze: Topologie, Lernverfahren, Bewertung • Modellbildung, Datenvorbereitung • Anwendungsbeispiele • Selbstorganisierende Karten (Kohonen-Netze) Mainz, 18.10.05 15 Dieter Kilsch Einsatz neuronaler Netze Neuronale Netze - Schichtenmodell: Mainz, 18.10.05 16 Dieter Kilsch Einsatz neuronaler Netze Schichtenmodell: Ein- und Ausgabe Eingabeschicht: ● analoge Eingabe: Lineare Transformation auf das Intervall [-1; 1] ● diskrete Eingabe: Für jeden Wert ein Neuron, Eingabe aus {-1, 1} Ausgabeschicht: Zielaktivitäten der Ausgabeschicht sollen gleichverteilt im Intervall [0.2; 0.8] sein! ● Umkehrung der Ausgabefunktion kann sein: ● ● Mainz, 18.10.05 f(x) = 0.2 + 0.6 ((x-m)/x-M))s : [m; M] Y[0.2; 0.8]; s>0. 17 Dieter Kilsch Einsatz neuronaler Netze Topologie des Schichtenmodells: Kolmogoroff 1957: Jede vektorwertige Funktion f: [0; 1]n → Rm kann durch ein dreischichtiges neuronales Netz abgebildet werden. Hierzu werden n Eingabeneuronen, 2n+1 verdeckte Neuronen und m Ausgabeneuronen benötigt. Die Aktivierungsfunktionen hängen von f und n ab. Bemerkungen: ● Der Beweis ist ein nicht-konstruktiver Existenzbeweis. ● Er enthält keine Angaben über die Aktivierungsfunktion. ● Der Satz hat keine praktische Bedeutung. Mainz, 18.10.05 18 Dieter Kilsch Einsatz neuronaler Netze Lernen im vorwärtsgerichteten Netz: Gewichte so ändern, dass die Abweichungen in den Lerndaten klein werden: n Fehler 1 E w = ∑ z i − oi w 2 i=1 ∥ 2 ∥ minimal: ∂ E w ∂ E w ∂ E w grad E w = , ,, = 0 ∂ w1 ∂ w2 ∂ wr weiter: Gradient berechnen, Null setzen ?? Mainz, 18.10.05 19 Dieter Kilsch Einsatz neuronaler Netze Fehlerrückverfolgung (Back Propagation): Nettofehler: Fehler in den Nettowerten jedes Neurons. Verfahren: Aus den Fehlern in der Ausgabeschicht die Nettofehler Schicht für Schicht in Richtung Eingabeschicht berechnen. Mainz, 18.10.05 20 Dieter Kilsch Einsatz neuronaler Netze Fehlerrückverfolgung (Back Propagation): Mainz, 18.10.05 21 Dieter Kilsch Einsatz neuronaler Netze Fehlerrückverfolgung: Delta-Regel: t = − grad E w w t − 1 w Geradensuche: Entlang des Gradienten wird das Minimum auf der durch 3 Punkte festgelegten Fehlerparabel bestimmt. Konjugiertenmethode: Nach der Delta-Regel wird eine Richtung orthogonal zum Gradienten gesucht, die den Fehler weiter verkleinert. Mainz, 18.10.05 22 Dieter Kilsch Einsatz neuronaler Netze Lernverfahren Levenberg-Marquardt: (Newton-Raphson mit Näherung für 2. Ableitung) gekoppelt mit Gradientenabstieg: ! LGS muss gelöst werden ! Mainz, 18.10.05 23 Dieter Kilsch Einsatz neuronaler Netze Beurteilung des Gelernten: Fehler in den Lerndaten: Fehler in Kontrolldaten: - maximaler Fehler - 20% der Lerndaten - durchschnittlicher Fehler - max., durchschn. Fehler - Standardabweichung - Standardabweichung Systemspezialist: Autokorrelation: - Beurteilung von Trendaussagen Mainz, 18.10.05 24 Dieter Kilsch Einsatz neuronaler Netze Modellstatistik: - s-Statistik über Anzahl Neuronen - Korrelationen über Anzahl Neuronen - Vergleich Lernund Testdaten Mainz, 18.10.05 25 Dieter Kilsch Einsatz neuronaler Netze Beispiel: Simulation am Rechner Mainz, 18.10.05 26 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze • Modellbildung, Datenvorbereitung: Parameterauswahl, -reduktion, transformation • Anwendungsbeispiele • Selbstorganisierende Karten (Kohonen-Netze) Mainz, 18.10.05 27 Dieter Kilsch Einsatz neuronaler Netze Modellbildung: • Einflussparameter des Systems bestimmen • Merkmale extrahieren: - Mittelwerte, geglättete Werte - Differenzen, Korrelationen zwischen Parametern - Zeitreihen: Fourier-, Hadamardkoeffizzienten, ... • Parameterreduktion durch Dimensionsanalyse: - dimensionslose Ein- und Ausgabeparameter (Ähnlichkeitsmechanik) Mainz, 18.10.05 28 Dieter Kilsch Einsatz neuronaler Netze Datenvorbereitung: • Eingabe: - auf Standardverteilung transformieren - Transformation auf [-1, 1] (sensibles Intervall) - Hauptachsenreduktion • Ausgabe: - auf [0.2, 0.8] transformieren - gleichverteilen in [0.2, 0.8] Mainz, 18.10.05 29 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze • Modellbildung, Datenvorbereitung • Anwendungsbeispiele • Selbstorganisierende Karten (Kohonen-Netze) Mainz, 18.10.05 30 Dieter Kilsch Einsatz neuronaler Netze Dipl-Ing. Th. Froese, Atlan-tec KG MessTec 4/1996 (vereinfacht) Sensorkorrektur: Neuronales Netz: Sensor liefert O2-Gehalt in Abhängigkeit von ● Temperatur (T) ● relativer Luftfeuchtigkeit (rL) Mainz, 18.10.05 ● Eingabe: S(O2,T,rL), T, rL ● Ausgabe: O2 (wahrer Wert) ● Lerndaten: mehrere hundert Datensätze 31 Dieter Kilsch Einsatz neuronaler Netze Prüfstandunterstützung: Ziel: ● Reduzierung der Prüfstandläufe typische Aufgaben: ● ● Ermittlung der optimierten stationären Kennfelder aus den Roh-Kennfeldern vorhandener Motoren Betriebsverhalten des Motors im Kaltbetrieb Mainz, 18.10.05 Dr. Ing. R. Stricker, BMW AG VDI-Berichte 1283, 1996 Problem-KnowHow-Basis: ● 9 Schichtennetze 31-65-1 ● 17000 Lerndatensätze ● Daten von 20 Motoren Task-KnowHow-Basis: ● ● ● Abweichung zu P-KH-Basis Schichtennetze 7-15-1 Experimente und Training bis Fehler klein 32 Dieter Kilsch Einsatz neuronaler Netze Mustererkennung: Fahrzeug-, Robotersteuerung: Potentielle Kündiger: Neuronales Netz steuert Fahrzeug oder Roboter korrekt. Es lernt durch "Probefahren". Auf der Grundlage von Verbrauchs- und Kundendaten werden potentielle Kündiger ermittelt und mit Sonderkonditionen gehalten. Insolvenzerkennung: Aktienvorhersage: Auf der Grundlage von Jahresbilanzen werden Muster ermittelt, die auf Insolvenzverdacht schließen lassen. Vorhersage auf der Grundlage des bisherigen Kursverlaufs und betriebswirtschaftlicher Daten. Mainz, 18.10.05 33 Dieter Kilsch Einsatz neuronaler Netze Anwendungen in der (Bio)chemie: Herkunft Olivenöl: Olfaktometer: Die Konzentrationen von neun Säuren bestimmen die Herkunft (Region) italienischer Olivenölsorten. Mikroquarzanlage mit 6 verschiedenen piezoelektrischen Sensoren. Reaktionsfähigkeit: Proteinstruktur: Aus quantitativen Eigenschaften einer Bindung wird auf ihre Reaktionsfähigkeit geschlossen. Aus der Primärstruktur der Proteine (Aminosäurenfolge) wird auf ihre (räumlich geometrische) Sekundärstruktur geschlossen. Mainz, 18.10.05 Ein neuronales Netz lernt, Duftstoffe zu erkennen. 34 Dieter Kilsch Einsatz neuronaler Netze Erkennen des Offsets bei Frontal-Crash Diplomarbeit Bremer - 40% Überdeckung - 4 Sensoren: SS, A-S - Offset: -500 - 500mm Offset-Bestimmung: - 3, 5 ms Intervalle: 60, 100 Datenpunkte - a, v, d: Mittelwert Betrag d - ca. 250 Datensätze - versch. Lernregeln - untersch. Topologien Mainz, 18.10.05 35 Dieter Kilsch Einsatz neuronaler Netze Überblick: • Künstliche Intelligenz, Problemlösungsverfahren • Rechnerneuron • Vorwärstgerichtete Netze • Modellbildung, Datenvorbereitung • Anwendungsbeispiele • Selbstorganisierende Karten (Kohonen-Netze): Optimaler Weg, Mainz, 18.10.05 Klassifizierung 36 Dieter Kilsch Einsatz neuronaler Netze Optimaler Bohrerverfahrweg: Mainz, 18.10.05 Anfang 37 Dieter Kilsch Einsatz neuronaler Netze Optimaler Bohrerverfahrweg: Mainz, 18.10.05 1.Schritt 38 Dieter Kilsch Einsatz neuronaler Netze Optimaler Bohrerverfahrweg: guter Weg Mainz, 18.10.05 39 Dieter Kilsch Einsatz neuronaler Netze Neuronale Netze • klassifizieren (erkennen Muster) • lernen Systemverhalten • optimieren • steuern Autos •••• Mainz, 18.10.05 40 Dieter Kilsch Einsatz neuronaler Netze Neuronale Netze • klassifizieren (erkennen Muster) • lernen Systemverhalten • optimieren • steuern Autos •••• Was macht der Mensch noch selbst ? Mainz, 18.10.05 41 Dieter Kilsch Einsatz neuronaler Netze Literatur: Kinnebrock, W.: Neuronale Netze. Oldenbourg, München, 1994. Braun, H., J. Feulner und R. Malaka: Praktikum Neuronale Netze. Springer, 1995. Rojas, R.: Neuronal Networks. A Systematic Introduction. Springer, New York, 1996. Theorie neuronaler Netze: eine systematische Einführung. Springer, 1996. Mainzer, K.: Künstliche Intelligenz. Wiss. Buchges., Darmstadt, 2003. URL: http://www.fh-bingen.de/~kilsch pdf: http://www.fh-bingen.de/~kilsch/sw/Mainz0510.pdf Mainz, 18.10.05 42