K ünstlich N euronale N etze

Post on 15-Jan-2016

56 views 0 download

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

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

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

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

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

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

Bignet

Erstellen eines Feedforward Netzes

für das Decoder Beispiel

Decoder.net

Darstellung der Netzstrukturen mit DISPLAY

Display

Aktivierung des Neurons siehe nächste Folie

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

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 )

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

decoder.net und dec_XXX.pat laden

Vorbereitung des Lernvorgangs des Decodernetzes

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

Durchführung des Lernvorgangs des Decodernetzes

Δ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

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

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

Gewichtsverteilung im

Decodernetz mit Ausgabe des

Ausgangswertes bei

Verwendung der Testdaten

Gewichtsverteilung im KNN nach dem Lernvorgang

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

+ 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

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

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