SNNS Tutorial für
Backpropagation
Lernen
Marcus Trunkenpolz
9802525
LV-Nr: 407.248
LV: Wissensverarbeitung UE WS00/01
In diesem
Beispiel wird anhand einens XOR-Netzes mit SNNS ein Netz für Backpropagation
Lernen erstellt.
Um die einzelnen
Schritte zu erleichtern, werden Screenshots vom SNNS-Manager verwednet.
Folgende Schritte
werden erklärt:
1) Netz erstellen
2 Netz speichern und ansehen
3) Pattern-Files
fürs Trainieren und Testen definieren
4) Einstellungen
für Trainieren einstellen
5) Zu guter
Letzt, trainieren und dann testen
1) NETZ erstellen:
Man wählt im Menü BIGNET den Punkt „feed_forward“ aus.
Nun muss die Topologie des Netzes festgelegt werden. Also man braucht eine
Input-, mindestens eine Hidden- und eine Output-Schicht.
Die Art der zu erstellenden Schichten kann mit dem Typ Button geändert werden.
Weiters muss die Neuronenanzahl der Schicht angegeben werden, dies funktioniert
ähnlich der Definition der Größe einer Matrix. (Siehe Screenshot)
Nachdem alle Daten eingegeben wurden, muss nur noch der ENTER Knopf gedrückt
werden.
Nun müssen Sie nur noch eine Eingabe-, eine Hidden- und eine Ausgabeschicht
erstellen.
Nachdem Sie dies gemacht haben, einfach auf FULL CONNECTION klicken.
Jetzt sollten die Verbindungen erstellt sein, somit kann das Netz mit CREATE
NET erzeugt werden.
2) Netz speichern und ansehen
NETZ speichern:
Speichern ist immer wichtig, da Sie bei falscher Handhabung den SNNS Manager
zum Absturz bzw. zum unfreiwilligen beenden bringen können.
Drucken Sie einfach auf den FILE-Button, dann kommt der File Browser (Siehe
Screenshot)
Geben Sie nun den Filenamen ein, danach einfach auf SAVE klicken. Es muß dabei
NET schwarz unterlegt sein.
NETZ ansehen:
Um das Netz anzusehen, klicken Sie auf DISPLAY, danach erhalten Sie folgendes
Netz:
Um die Verbindungen zu sehen, muss unter
SETUP der ON und der 2,35-Button für den Punkt LINKS aktiviert werden.
3) Pattern-Files fürs Trainieren und Testen
definieren
In einem Musterfile (suffix: PAT) werden die Ein- und die dazugehörigen
Ausgabewerte angegeben. Dazu muss der Header, die Anzahl der Patterns, der
Eingabe- und Ausgabeneuronen angegeben werden. Danach folgen die einzelnen Ein-
und Ausgabemuster. Mit den Zeichen # wird ein Kommentar gestartet.
Trainingsdatei XOR
SNNS
pattern definition file V3.2
generated at Zeiselmauer März 20 10:20:23 2001
No. of patterns: 4
No. of input units 2
No. of outputs units: 1
#input pattern:1
0 0
# Output pattern: 1
0
#input pattern 2:
0 1
#Output pattern 2:
1
#input pattern 3:
1 0
#Output pattern 3:
1
#input pattern 4:
1 1
#Output pattern 4:
0
Diese obige Datei wird komplett übernommen und einfach mit der
Extension(suffix) .pat gespeichert.
Pattern Files werden über den File Browser mit LOAD geladen.
4)
Einstellungen für Trainieren einstellen
Bevor wir mit dem Lernen anfangen können, müssen noch einige
Einstellungen vorgenommen werden.
Die Anzahl der Durchläufe stellt man bei CYCLES ein.
Nun sollte auch das Test und Trainingsfile ausgewählt werden.
Durch Verwendung des Button USE könenn die verwendeten Muster ausgewählt
werden, wobei obiger für die Trainingsmuster und unterer für die Testmuster
steht.
Falls Sie ein Testmuster erstellt haben und dieses verwenden, müssen Sie darauf
achten, dass der VALID Wert ungleich Null ist. (entspricht der Toleranzgrenze,
ob ein Ausgabemuster zufriedenstellend ist)
Lernverfahren bestimmen(LEARN):
.) Lernverfahren mit SEL.FUNCTION
bestimmen (Std_Backpropagation)
.) Parameter einstellen, zB [0,3]
(Lernrate) und 0.1 (max erlaubte Abw.)
Updatemodus bestimmen (UPDATE)
.) Modus mit SEL.FUNCTION bestimmen (Topological_Order)
.) SHUFFLE-Button drücken (dadurch werden die Muster
in zufälliger
Reihenfolge ausgewählt)
Netzgewichte initialisieren (INIT)
.) Initialisierungsfunktion mit SEL.FUNCTION
bestimmen (zb
Randomize_Weights)
.) Bereich auswählen zB [+1,-1]
.) INIT Button drücken
5)
Trainieren
und TESTEN
Um die Ausgabe zu erleichtern, ist es beim Trainieren und Testen sinnvoll, das
Graph-Panel zu aktivieren.
Trainieren selbst, wird mit dem Button ALL im Control Panel gestartet. Bei
nichtzufriedenstellendem Ergebnis, kann dies nochmals wieder holt werden.
Wichitg ist jedoch, dass das Netz dabei mit RESET zurückgesetzt wird und die
Gewicht der Verbindungen mit INIT neu bestimmt werden.
Ergebnisse werden über den File Browser als RES-File gesichert.