KNN 8.1 Anwendungen von KNN Beispiel Kennline mit JNNS

Download Report

Transcript KNN 8.1 Anwendungen von KNN Beispiel Kennline mit JNNS

8. Anwendungen von
Künstlichen Neuronalen Netzen
Aufbau, Training und Visualisierung
auf der Stuttgarter Simulationsplattform JNNS 1.1
(basiert auf SNNS 4.2 (Freeware in C))
Michael Schneider, Ulrich Lehmann, Thorsten Bolz
8.0 Beispiel: Approximation und Simulation der
Kennlinie eines realen, nichtlinearen
Prozesses mit KNN
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
1
Ende
Inhalt
• Messaufbau
• Messwerte
• Architektur des KNN
• Patterndateien
• Initialisierung des KNN
• Training des KNN
• Darstellung der mit dem KNN
approximierten statischen Kennlinie
• Bewertung
• Quellen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
2
Ende
Messaufbau
Ue = Eingangsspannung
Lampe
Solarzelle
Ue
Ua
Usmax = 12V
Ua = Ausgangsspannung
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
3
Ende
Messwerte der Kennlinie
0,1
0,5
0,9
1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
2,2
2,6
2,8
3
3,2
3,4
3,6
3,8
4,2
UaUe/V
in [V]
0,174
0,174
0,204
0,241
0,444
0,616
0,841
1,073
1,296
1,55
1,77
2,563
3
3,163
3,27
3,344
3,398
3,435
3,471
3,52
Ua in [V]
UeUa/V
in [V]
Ue in [V]
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
4
Ende
Aufteilung in Trainings-, Validierungund Testdaten (normiert)
SS 2009
Ua in [V]
0,05
0,05
0,06
0,07
0,12
0,17
0,23
0,29
0,35
0,42
0,48
0,69
0,81
0,85
0,88
0,90
0,92
0,93
0,94
0,95
Kennlinie der Lichregelung
normiert
1,0
0,9
0,8
0,7
Ue/V
Ue in [V]
0,05
0,14
0,23
0,25
0,29
0,31
0,34
0,36
0,38
0,40
0,42
0,51
0,60
0,64
0,69
0,73
0,77
0,82
0,86
0,95
0,6
0,5
0,4
0,3
0,2
0,1
0,0
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
Ua/V
14 Trainingsdaten
4 Validierungsdaten
2 Testdaten
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
Inhalt
5
Ende
Netz erzeugen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
6
Ende
Pattern erzeugen
Pattern-Datei kann mit Text-Editor bearbeitet werden
Aufbau der Kopfzeile ist
zwingend einzuhalten
Bereitstellung der
Datensätze gemäß
diesem Muster
(hier: Trainingspattern)
Anzahl der
Datensätze
Anzahl der
Eingabeneuronen
Anzahl der
Ausgabeneuronen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
7
Ende
Pattern erzeugen
Patterndatei mit vier
Validierungsdatensätzen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
8
Ende
Pattern erzeugen
Patterndatei mit zwei
Testdaten
(nur Eingabewerte
und keine Ausgabewerte!)
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
9
Ende
Control Panel
Trainingspattern und Validierungspattern auswählen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
10
Ende
Control Panel
zufällige Belegung der Gewichte
zu Beginn des Trainings,
um keine Symmetrie in den
Gewichten zu erlangen
Festlegung des Intervalls,
aus dem die zufälligen Werte
für die Anfangsbelegung der Gewichte
ausgewählt werden sollen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
11
Ende
Control Panel
Maximaler
zulässiger Fehler
Auswahl des
Trainingsverfahrens
Anzahl der
Epochen, nach
denen validiert
werden soll
Lernrate 0,1 bis 0,9
Zufällige Wahl der
Trainingsdatensätze
Anzahl der
Epochen bis
Abbruch
Vor dem Lernen müssen die
Gewichte initialisiert werden, d. h.
mit zufälligen Startwerten belegt
werden
Mit „Learn All“ werden
alle Trainingsdatensätze
zum Training
herangezogen.
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
12
Ende
Training
Initialisieren der
Gewichte
Start des
Trainings
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
13
Ende
Training
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
14
Ende
Excel
Kennlinie
1,0000
0,9000
0,8000
0,7000
0,6000
Targets
0,5000
0,4000
0,3000
0,2000
0,1000
0,0000
0,1000
0,2000
0,3000
Trainingsdaten
Output nach 500 Cyclen
0,4000
0,5000
0,6000
Output nach 100 Cyclen
Output nach 1000 Cyclen
0,7000
0,8000
0,9000
Output nach 200 Cyclen
Output nach 2000 Cyclen
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
15
Ende
Targets
Training
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
16
Ende
Bewertung
+ Lernkurve konvergiert sehr gut gegen kleine Fehler für > 700
Epochen (Training (--) und Validierung(--))
+ Gute Übereinstimmung der realen Kennlinie mit dem Output
des KNN für > 1000 Epochen (Trainingszyklen)
+ Entwicklungsumgebung JNNS ist gut handhabbar auf
Windows XP
-
Lernkurve skaliert den Fehler linear  daher sind kleine Fehler
nicht mehr aufzulösen (log. Darstellung wäre günstiger)
-
Backpropagation-Algorithmus benötigt relativ viele Epochen
(hohe Trainingszeit) bis der Fehler minimal wird
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
Ende
Quellen
• Software „JNNS incl. Handbuch“:
http://www-ra.informatik.uni-tuebingen.de/software/
• Software „Java“:
http://www.java.com/de
• Andreas Zell: Simulation neuronaler Netze. 1994
• Ulrich Lehmann: Vorlesungsskript Neuronale Netze.
Iserlohn 2007
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
18
Ende
Fragen?
Vielen Dank für Ihre
Aufmerksamkeit !
Inhalt
SS 2009
Beispiel Approx. einer realen, nichtlinearen Prozess-Kennlinie mit JNNS
19
Ende