K ünstlich N euronale N etze

20
Aufbau, Training, Test und Visualisierung des Backpropagation-Algorithmus auf der Stuttgarter Simulationsplattform SNNS v4.1 Martin Hardes, Ulrich Lehmann 1. Beispiel: 2-Bit Decoder mit Analogausgang Forschungsverbund Neuronale Fuzzy-Logik Künstlich Neuronale Netze

description

Forschungsverbund Neuronale Fuzzy-Logik. K ünstlich N euronale N etze. Aufbau, Training, Test und Visualisierung des Backpropagation-Algorithmus auf der Stuttgarter Simulationsplattform SNNS v4.1 Martin Hardes, Ulrich Lehmann. 1. Beispiel:2-Bit Decoder mit Analogausgang. - PowerPoint PPT Presentation

Transcript of K ünstlich N euronale N etze

Page 1: K ünstlich  N euronale  N etze

Aufbau, Training, Test und Visualisierung des Backpropagation-Algorithmus

auf der Stuttgarter Simulationsplattform SNNS v4.1

Martin Hardes, Ulrich Lehmann

1. Beispiel: 2-Bit Decoder mit Analogausgang

Forschungsverbund Neuronale Fuzzy-Logik

Künstlich Neuronale Netze

Page 2: K ünstlich  N euronale  N etze

Validierungsdaten: Werden nicht für das Training, sondern für die Validierung des KNN während des Trainings nach jeder Epoche verwendet, um das Verhalten und den Fehler des KNN für unbekannte Datensätze während des Trainings zu validieren.

2-Bit Decoder

0

0,25

0,50

0,751

0

0

1

2

3Z0

Z1

Input

Output

Z0 Z1 n

0 0 0

0 1 0,25

1 0 0,50

1 1 0,75

Trainingsdaten Testdaten

Testdaten: Werden nicht für das Training, sondern für den späteren Test des trainierten KNN verwendet, um das Verhalten und den Fehler des KNN für unbekannte Datensätze zu testen.

Technologieschema

Page 3: K ünstlich  N euronale  N etze

Trainings-, Valid- und Testdaten werden in PATTERN-Dateien abgelegt

Decoder_train.pat

SNNS pattern definition file V3.2generated at Thu Jun 08 18:53:43 2000

No. of patterns : 3No. of input units : 2No. of output units : 1

# Input 1:0 0# target 1:0# Input 2:0 1# target 2:0.25# Input 3:1 1# target 3:0.75

Trainingsdaten

Page 4: K ünstlich  N euronale  N etze

Trainings-, Validierungs- und Testdaten werden in PATTERN-Dateien abgelegt

Decoder_valid.pat

SNNS pattern definition file V3.2generated at Thu Jun 08 18:53:43 2000

No. of patterns : 1No. of input units : 2No. of output units : 1

# Input 1:1 0# target 1:0.5

Validierungsdaten

Page 5: K ünstlich  N euronale  N etze

Trainings-, Valid- und Testdaten werden in PATTERN-Dateien abgelegt

Decoder_test.pat

SNNS pattern definition file V3.2generated at Thu Jun 08 19:50:56 2000

No. of patterns : 1No. of input units : 2

# Input 1:1 0

Testdaten

Page 6: K ünstlich  N euronale  N etze

Bignet

Erstellen eines Feedforward Netzes

für das Decoder Beispiel

Page 7: K ünstlich  N euronale  N etze

Decoder.net

Darstellung der Netzstrukturen mit DISPLAY

Display

Aktivierung des Neurons siehe nächste Folie

Page 8: K ünstlich  N euronale  N etze

Aufbau des Neurons mit Aktivierungs- bzw. Ausgangsfunktion a = f (net)

= net3

Neuron 3

w13

w23

x1 = a1= o1

x2 = a2 = o2

a = f (net3 +Bias)

3 bias 3

y3 = a3

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

1,1

-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

net

out

Aktivierung:0,144

-4,952

Aktivierung:0,144

-4,9521

2

3

Aktivierung:0,502Bias:1,437

Ausgabewerte Neuronen 1 und 2 (linear): oi = ai = 0,144

Netzeingabe: net3 = (w13 * o1) + (w23 * o2)net3 = (-4,952*0,144)+(-4,952*0,144) = -1,426

Aktivierungsfunktion (sigmoid): aj = 1/(1+e-(netj + bias))a3= 1/(1+e-(-1,426 + 1,437)) = 0,502

netj (t) = ( wij · oi )

aj(t) = (1+e - ( net j (t) + ) ) -1

mit bias

Page 9: K ünstlich  N euronale  N etze

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

1,1

-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

net

out

Aktivierung:0,144

-4,952

Aktivierung:0,144

-4,9521

2

3

Aktivierung:0,502Bias:1,437

Ausgabefunktion (linear) : oi = ai = 0,144

Netzeingabe: net3 = (w13 * o1) + (w23 * o2)net3 = (-4,952*0,144)+(-4,952*0,144) = -1,426

Aktivierungsfunktion (sigmoid) : aj = 1/(1+e-(netj + bias))a3= 1/(1+e-(-1,426 + 1,437)) = 0,502

Darstellung der Aktivierungs- bzw. Ausgangsfunktion

3 bias 3

net3 (t) = ( wij · oi )

Page 10: K ünstlich  N euronale  N etze

SNNS network definition file V1.4-3Dgenerated at Thu Aug 12 16:15:18 1999

network name : dec_testd_xsource files :no. of units : 5no. of connections : 6no. of unit types : 0no. of site types : 0

learning function : Rpropupdate function : Topological_Order

unit default section :

act | bias | st | subnet | layer | act func | out func-----------|-----------|----|----------|------- |------------------|------------- 0.00000| 0.00000| h | 0| 1 | Act_Logistic | Out_Identity -----------|-----------|----|----------|--------|------------------|-------------

unit definition section :

no. | typeName | unitName | act | bias | st | position | act func | out func |----|--------------|---------------|------------|------------|----|------------|----------|------------|- 1 | | in1 | 0.00000 | 0.00000 | i | 2,2,-4349 | | | 2 | | in2 | 0.00000 | 0.00000 | i | 2,3,-4349 | | | 3 | | h1 | 0.00000 | 0.00000 | h | 5,2,-4349 | | | 4 | | h2 | 0.00000 | 0.00000 | h | 5,3,-4349 | | | 5 | | out | 0.00000 | 0.00000 | o | 8,2,-4349 | | |----|--------------|---------------|------------|------------|----|------------|----------|------------|-

connection definition section :

target | site | source:weight--------|------|--------------------------------------------------------------------------------------- 3 | | 1: 0.00000, 2: 0.00000 4 | | 1: 0.00000, 2: 0.00000 5 | | 3: 0.00000, 4: 0.00000--------|------|---------------------------------------------------------------------------------------

Decoder.net

NET-Dateien in Textformat

Page 11: K ünstlich  N euronale  N etze

decoder.net und dec_XXX.pat laden

Vorbereitung des Lernvorgangs des Decodernetzes

Page 12: K ünstlich  N euronale  N etze

Control-Panel und Graph-Panel öffnen und Lernparameter im Control-Panel einstellen

Durchführung des Lernvorgangs des Decodernetzes

Page 13: K ünstlich  N euronale  N etze

Δwij (t) Δwij (t-1)

t+1

t

t-1

Im Beispiel links:

S(t-1) S(t) > 0 S(t) > 0

E

wij

ij (t-1) + falls S(t-1) S(t) > 0

ij (t-1) - falls S(t-1) S(t) < 0

ij (t-1) sonst

Δij (t)

-ij (t) falls S(t-1) S(t) > 0 S(t) > 0

ij (t) falls S(t-1) S(t) > 0 S(t) < 0

-wij (t-1) falls S(t-1) S(t) < 0

-sgn (S(t)) ij (t) sonst

Δwij (t)

Bestimmung des Betrags der Gewichtsveränderung Bestimmung Gewichtsveränderung

η+ = 1,2 und η- =0,5 (bei SNNS voreingestellt)

wij (t+1) = wij (t) + Δwij (t)

Modifiziertes BPG-Lernverfahren Resilient Propagation

Page 14: K ünstlich  N euronale  N etze

Lernkurve im Graph

Bias und Gewichte

Aktivierung und Gewichte

0 Epochen10 Epochen20 Epochen50 Epochen100 Epochen225 Epochen

Lernkurve, Gewichtsveränderung und Bias- im Decodernetz

während des Lernvorgangs

Page 15: K ünstlich  N euronale  N etze

Ausgangssituation: Abschluß des Lernvorgangs nach 225 EpochenEingangsfunktion (linear): netj (t) = ( wij · oi )

Aktivierungsfunktion (sigmoid): aj(t) = (1+e - ( net j (t) + ) ) -1 mit bias

 

Berechnung der Aktivierung im Neuron 3:

net3= (1.000 · -2.264) + (0.000 · -1.552) = -2.264

a3= (1 + e-(-2.264+0.486))-1 = 0.144

 Berechnung der Aktivierung im Neuron 5

net5= (0.144 · -4.952) + (0.144 · -4.952) = -1.426

a5= (1 + e-(-1.426+1.437))-1 = 0.502

-1,55242 Bias: 0,000 Bias: 0,486

Aktivierung: 0,144-4,952

Aktivierung: 0,144-4,952 Bias: 0,486

Aktivierung: 0,000-1,552

Aktivierung: 1,000-2,264-2,264

31

5 Aktivierung: 0,502

1

2

3

4

5Bias: 0,000

Bias: 1,437

Beispiel zur Berechnung der Aktivierung mittels Aktivierungs- und Ausgangsfunktion

Page 16: K ünstlich  N euronale  N etze

Gewichtsverteilung im

Decodernetz mit Ausgabe des

Ausgangswertes bei

Verwendung der Testdaten

Gewichtsverteilung im KNN nach dem Lernvorgang

Page 17: K ünstlich  N euronale  N etze

Z0 Z1Soll-

AusgangswertAusgangswert nach [TEST]

0 0 0,000 0,009

0 1 0,250 0,250

1 0 0,500 0,502

1 1 0,750 0,749

Testdaten

Tabelle mit vom KNN berechneten Ausgangswerten des Decoders

Trainingsdaten Validierungsdaten

Darstellung der Ergebnisse nach dem Lernvorgang

Page 18: K ünstlich  N euronale  N etze

+ keine mathematischen Prozessmodelle erforderlich (besonders vorteilhaft, bei nichtlinearen oder unbekannten Zusammenhängen)

+ Fähigkeit zur Generalisierung

+ beispielbasiertes Lernen (wie bei den Kindern!!!)

+ Selbstorganisation und Adaptionsfähigkeit

+ massive Parallelität (pro Neuron ein Prozessor möglich)

+ Echtzeitfähigkeit (in der Produktionsphase)

+ Fehlertoleranz (ein bis zu 60% zerstörtes Netz bleibt funktionsfähig)

- Ergebnisse nicht nachvollziehbar

- je nach Problemstellung viele Lernmuster erforderlich ( 0,5 nm mit n-Eingängen und m-Datenmuster pro Eingang sowie 50% der Muster als Trainingsdaten)

- bei komplexen Aufgaben hohe Trainingszeiten (bis zu einigen Stunden auf High Performance PC)

- schlechte, nicht gesicherte Konvergenz des Trainingsergebnisses

- Abhängigkeit des Lernergebnisses von der Qualität der Merkmalextraktion

- Vielfalt von Modellen und KNN-Typen

Vor (+)- und Nachteile (-) von KNN

Page 19: K ünstlich  N euronale  N etze

SNNS wurde für Unix Workstations geschrieben und ist auf Windows Rechnern nur mit X-Windows (X-Server) lauffähig (X-Windows ist kostenlos nur als Testversion mit max. Laufzeit 2 h verfügbar).

--

Grafische Oberfläche von SNNS unter Windows schwer zu bedienen (ein Button muss mit der Maus genau fokussiert werden).

--

Mit SNNS sind umfangreiche Netztopologien und Parametrierungen der Netze möglich.

++

Unkomplizierter Einstieg mit Durchführungsbeispiel im Bedienerhandbuch. ++

Umfangreiche Beispieldatenbank mit vielen untrainierten und trainierten Netzen verschiedenster Struktur.

++

Bewertung der Simulationsumgebung SNNS 4.1

Page 20: K ünstlich  N euronale  N etze

Literaturverzeichnis und Quellen

• Lehmann, Herold, Leupold: Digitale Regelungen / Prozessrechner. Vorlesungsskript, MFH Iserlohn 1991

• Zell, A.: Simulation Neuronaler Netze, Addison-Wesley Verlag 1996

• Zell, A. et. al.: SNNS-Manual (PDF). At2-Server des CAS.Lab (Computer Architecture & Systems) der FH SW Campus Iserlohn

• Lehmann, U.; Bongards, M.; Johannes, H.: Fortschritt-Bericht VDI: Neuronale Fuzzy-Logik. VDI Verlag GmbH Düsseldorf 2000

• Ulrich Lehmann: Neuro-Fuzzy-Systeme, Vorlesung an der FH Südwestfalen Campus Iserlohn, Iserlohn 2000