180 likes | 265 Views
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.
E N D
Forschungsverbund Neuronale Fuzzy-Logik Künstlich Neuronale Netze Aufbau, Training und Visualisierung auf der Stuttgarter Simulationsplattform SNNS v4.1 Martin Hardes 2. Anhand zweier Beispiele: - 2-Bit Decoder - Kennlinie
Z0 Z1 n 0 0 0 0 1 0,25 Output 1 0 0 1 0 0,50 2 Input 0 1 3 1 0 Z0 0 1 1 0,75 4 Z1 1 1 1 2-Bit DecoderKennlinie Testdaten Testdaten Trainingsdaten
Trainings-, Valid- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_train.pat Kennline_train.pat SNNS pattern definition file V3.2 generated at Thu Jun 08 18:53:43 2000 No. of patterns : 3 No. of input units : 2 No. 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.2 generated at Thu Jun 08 18:53:43 2000 No. of patterns : 9 No. of input units : 1 No. 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
Trainings-, Valid- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_valid.pat Kennline_valid.pat SNNS pattern definition file V3.2 generated at Thu Jun 08 18:53:43 2000 No. of patterns : 1 No. of input units : 2 No. of output units : 1 # Input 1: 1 0 # target 1: 0.5 SNNS pattern definition file V3.2 generated at Thu Jun 08 18:53:43 2000 No. of patterns : 1 No. of input units : 1 No. of output units : 1 # Input 1: 0.63125 # target 1: 0.7750
Trainings-, Valid- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_test.pat Kennline_test.pat SNNS pattern definition file V3.2 generated at Thu Jun 08 18:53:43 2000 No. of patterns : 1 No. of input units : 1 # Input 1: 0.63125 SNNS pattern definition file V3.2 generated at Thu Jun 08 19:50:56 2000 No. of patterns : 1 No. of input units : 2 # Input 1: 1 0
Erstellen eines Feedforward Netzes für das Decoder Beispiel Bignet
Decoder.net Kennlinie.net Darstellung der Netzstrukturen mit DISPLAY
1 -4,952 Aktivierung:0,144 3 Aktivierung:0,502 -4,952 Bias:1,437 2 Aktivierung:0,144 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 Aktivierungsfunktion
Decoder.net SNNS network definition file V1.4-3D generated at Thu Aug 12 16:15:18 1999 network name : dec_testd_x source files : no. of units : 5 no. of connections : 6 no. of unit types : 0 no. of site types : 0 learning function : Rprop update 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 --------|------|--------------------------------------------------------------------------------------- Darstellung der NET-Dateien in Textformat
Darstellung der NET-Dateien in Textformat Kennline.net SNNS network definition file V1.4-3D generated at Thu Aug 12 17:33:23 1999 network name : kennline source files : no. of units : 8 no. of connections : 14 no. of unit types : 0 no. of site types : 0 learning function : Rprop update 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 --------|------|-----------------------------------------------------------------------------
Durchführung des Lernvorgangs des Decodernetzes decoder.net und dec_XXXX.pat laden
Durchführung des Lernvorgangs des Decodernetzes Control-Panel und Graph-Panel öffnen und Lernparameter im Control-Panel einstellen
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) 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 Δij (t) Δwij (t) t-1 E Im Beispiel links: S(t-1) S(t) > 0 S(t) > 0 t t+1 Δwij (t) Δwij (t-1) wij 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)
0 Epochen 10 Epochen 20 Epochen 50 Epochen 100 Epochen 225 Epochen Darstellung der Gewichtsveränderung im Decodernetz während des Lernvorgangs Lernkurve im Graph Aktivierung und Gewichte Bias und Gewichte
3 1 Aktivierung: 0,144 -2,264 Aktivierung: 1,000 3 1 -4,952 Bias: 0,486 Bias: 0,000 -2,264 5 Aktivierung: 0,502 5 4 -1,552 2 Bias: 1,437 -4,952 Aktivierung: 0,144 Aktivierung: 0,000 Beispiel zur Berechnung der Aktivierung mittels Aktivierungs- und Ausgangsfunktion Ausgangssituation: Abschluß des Lernvorgangs nach 225 Epochen Ausgangsfunktion (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,552 2 4 Bias: 0,000 Bias: 0,486
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
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 Darstellung der Ergebnisse nach dem Lernvorgang Kennlinie mit vom KNN berechneten Y-Werten Sollwerte Gelernte Werte Tabelle mit vom KNN berechneten Ausgangswerten des Decoders Testdaten
- 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 Bewertung des Projektes