Einsatz Neuronale Netze

Werbung
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 − oi  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
Herunterladen