K ünstlich N euronale N etze Aufbau, Training und Visualisierung

18
Künstlich Neuronale Netze Aufbau, Training und Visualisierung auf der Stuttgarter Simulationsplattform SNNS v4.1 2. Anhand zweier Beispiele: - 2-Bit Decoder - Kennlinie Forschungsverbund Neuronale Fuzzy-Logik Martin Hardes

description

Forschungsverbund Neuronale Fuzzy-Logik. K ünstlich N euronale N etze Aufbau, Training und Visualisierung auf der Stuttgarter Simulationsplattform SNNS v4.1. Martin Hardes. 2. Anhand zweier Beispiele: - 2-Bit Decoder - Kennlinie. Z 0. Z 1. n. 0. 0. 0. 0. 1. 0,25. - PowerPoint PPT Presentation

Transcript of K ünstlich N euronale N etze Aufbau, Training und Visualisierung

Page 1: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Künstlich Neuronale Netze

Aufbau, Training und Visualisierungauf der Stuttgarter

Simulationsplattform SNNS v4.1

2. Anhand zweier Beispiele: - 2-Bit Decoder - Kennlinie

Forschungsverbund Neuronale Fuzzy-Logik

Martin Hardes

Page 2: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

2-Bit Decoder Kennlinie

0 0

0 1

1 0

1 11

0

1

2

3

4Z0

Z1

Input

Output

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Z0 Z1 n

0 0 0

0 1 0,25

1 0 0,50

1 1 0,75

Trainingsdaten Testdaten

Testdaten

Page 3: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

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

Decoder_train.pat Kennline_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

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

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

# Input 1:0.1500# target 1:0.1500# Input 2:0.2375# target 2:0.1527# Input 3:0.3250# target 3:0.1610

# Input 4:0.4125# target 4:0.1939# Input 5:0.5000# target 5:0.3257# Input 6:0.5875# target 6:0.6771# Input 7:0.6750# target 7:0.8089# Input 8:0.7625# target 8:0.8418# Input 9:0.8500# target 9:0.8500

Page 4: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

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

Decoder_valid.pat Kennline_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

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

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

# Input 1:0.63125# target 1:0.7750

Page 5: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

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

Decoder_test.pat Kennline_test.pat

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

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

# Input 1:0.63125

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

Page 6: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Bignet

Erstellen eines Feedforward Netzesfür das Decoder Beispiel

Page 7: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Decoder.net

Kennlinie.net

Darstellung der Netzstrukturen mit DISPLAY

Page 8: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der Aktivierungsfunktion

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,952

1

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

Page 9: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der NET-Dateien in Textformat

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

Page 10: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der NET-Dateien in Textformat

SNNS network definition file V1.4-3Dgenerated at Thu Aug 12 17:33:23 1999

network name : kennlinesource files :no. of units : 8no. of connections : 14no. 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 | | in | 0.00000 | 0.00000 | i | 2, 2, 0 | | | 2 | | h11 | 0.00000 | 0.00000 | h | 5, 2, 0 | | | 3 | | h12 | 0.00000 | 0.00000 | h | 5, 3, 0 | | | 4 | | h13 | 0.00000 | 0.00000 | h | 5, 4, 0 | | | 5 | | h14 | 0.00000 | 0.00000 | h | 5, 5, 0 | | | 6 | | h21 | 0.00000 | 0.00000 | h | 8, 2, 0 | | | 7 | | h21 | 0.00000 | 0.00000 | h | 8, 3, 0 | | | 8 | | out | 0.00000 | 0.00000 | o | 11, 2, 0 | | |----|---------------|--------------|------------|------------|----|-----------|----------|-------------|--

connection definition section :

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

Kennline.net

Page 11: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Durchführung des Lernvorgangs des Decodernetzes

decoder.net und dec_XXXX.pat laden

Page 12: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Durchführung des Lernvorgangs des Decodernetzes

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

Page 13: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Δ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)

Beschreibung des Lernverfahrens Resilient Propagation

Bestimmung des Betrags der Gewichtsveränderung Bestimmung Gewichtsveränderung

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

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

Page 14: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der Gewichtsveränderung im Decodernetzwährend des Lernvorgangs

Lernkurve im Graph

Bias und Gewichte

Aktivierung und Gewichte

0 Epochen10 Epochen20 Epochen50 Epochen100 Epochen225 Epochen

Page 15: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Beispiel zur Berechnung der Aktivierung mittels Aktivierungs- und Ausgangsfunktion

Ausgangssituation: Abschluß des Lernvorgangs nach 225 EpochenAusgangsfunktion (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

Page 16: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der Ergebnisse nach dem Lernvorgang

Gewichtsverteilung im Decodernetz mit

Ausgabe des Ausgangswertes bei

Verwendung der Testdaten

Gewichtsverteilung im Kennliniennetz mit Ausgabe des Ausgangswertes bei Verwendung der Testdaten

Page 17: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Darstellung der Ergebnisse nach dem Lernvorgang

Z1 Z2 Soll-Ausgangswert

Ausgangswert 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

Kennlinie mit vom KNN berechneten Y-Werten

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

x-Achse

y_Ac

hse

Kennlinie mit vom KNN berechneten Y-Werten

Tabelle mit vom KNN berechneten Ausgangswerten des Decoders

SollwerteGelernte Werte

Page 18: K ünstlich  N euronale  N etze Aufbau, Training und Visualisierung

Bewertung des Projektes

SNNS wurde für Unix Workstations geschrieben und ist auf Windows Rechnern nur mit X-Windows 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

++