1 / 20

K ünstlich N euronale N etze

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.

connor
Télécharger la présentation

K ünstlich N euronale N etze

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Technologieschema Z0 Z1 n 0 0 0 0 1 0,25 1 0 0,50 1 1 0,75 Testdaten Trainingsdaten 2-Bit Decoder 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. Output 0 0 1 Input 0,25 2 0,50 Z0 0 3 Z1 0,75 1 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.

  3. Trainingsdaten Trainings-, Valid- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_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

  4. Validierungsdaten Trainings-, Validierungs- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_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

  5. Testdaten Trainings-, Valid- und Testdaten werden in PATTERN- Dateien abgelegt Decoder_test.pat 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

  6. Erstellen eines Feedforward Netzesfür das Decoder Beispiel Bignet

  7. Darstellung der Netzstrukturen mit DISPLAY  Decoder.net Display Aktivierung des Neurons siehe nächste Folie

  8. Aufbau des Neurons mit Aktivierungs- bzw. Ausgangsfunktion a = f(net) 1 -4,952 Aktivierung:0,144 3 Aktivierung:0,502 -4,952 Bias:1,437 2 Aktivierung:0,144 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 3  bias 3 aj(t) = (1+e - ( net j (t)+ ) ) -1mit  bias x1 =a1= o1 w13 y3 =a3  = net3 a = f (net3 +Bias) netj (t) =  ( wij · oi ) w23 x2 =a2 = o2 Neuron 3

  9. Darstellung der Aktivierungs- bzw. Ausgangsfunktion 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 3  bias 3 net3 (t) =( wij · oi )

  10. NET-Dateien in Textformat 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 --------|------|---------------------------------------------------------------------------------------

  11. Vorbereitung des Lernvorgangs des Decodernetzes decoder.net und dec_XXX.pat laden

  12. Durchführung des Lernvorgangs des Decodernetzes Control-Panel und Graph-Panel öffnen und Lernparameter im Control-Panel einstellen

  13. Modifiziertes BPG-Lernverfahren Resilient Propagation 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 Bestimmung des Betrags der Gewichtsveränderung Bestimmung Gewichtsveränderung η+ = 1,2 und η- =0,5 (bei SNNS voreingestellt) wij (t+1) = wij (t) + Δwij (t)

  14. Lernkurve, Gewichtsveränderung und Bias- im Decodernetzwährend des Lernvorgangs 0 Epochen 10 Epochen 20 Epochen 50 Epochen 100 Epochen 225 Epochen Lernkurve im Graph Aktivierung und Gewichte Bias und Gewichte

  15. Beispiel zur Berechnung der Aktivierung mittels Aktivierungs- und Ausgangsfunktion 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 Ausgangssituation:Abschluß des Lernvorgangs nach 225 Epochen Eingangsfunktion (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

  16. Gewichtsverteilung im KNN nach dem Lernvorgang Gewichtsverteilung im Decodernetz mit Ausgabe des Ausgangswertes bei Verwendung der Testdaten

  17. Darstellung der Ergebnisse nach dem Lernvorgang Z0 Z1 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 Validierungsdaten Testdaten Trainingsdaten Tabelle mit vom KNN berechneten Ausgangswerten des Decoders

  18. Vor (+)- und Nachteile (-) von KNN • 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

  19. Bewertung der Simulationsumgebung SNNS 4.1 - 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.

  20. 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

More Related