Praktikum Computational Intelligence 2 - FH-SWF Home · PDF fileErst durch die Einführung eines Hiddenlayers im Perzeptron . II Binär aktiviertes KNN mit JavaNNS für das XOR Problem

  • Upload
    vuongtu

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

  • 11.04.2011 2_CI2_Deckblatt_XORbinaer_JNNS_2

    Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

    Versuch: Training des XOR-Problems mit einem Knstlichen Neuronalen Netz (KNN)

    in JavaNNS

  • Inhaltsverzeichnis

    II-3

    Inhaltsverzeichnis

    Release 11.04.2011 2_XOR_binaer_JNNS_Till1_Schn7

    II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem ................................. II-5

    II.1 Versuchsanleitung ........................................................................................................ II-5 II.1.1 Versuchsziele ................................................................................................................ II-5 II.1.2 Grundlagen ................................................................................................................... II-5 II.1.3 Aufgabe 1 ...................................................................................................................... II-6 II.1.4 Aufgabe 2 ...................................................................................................................... II-7 II.1.5 Aufgabe 3 ...................................................................................................................... II-7

    Online-Anleitung ................................................................................................................................ II-8 II.1.6 KNN mit binrer Aktivierung fr Wiedergabe der XOR-Funktion ................................. II-8

    Glossar .................................................................................................................................... II-19

    Abbildungsverzeichnis ..................................................................................................................... II-21

    Sachwortverzeichnis ........................................................................................................................ II-22

    Literaturverzeichnis ......................................................................................................................... II-23

  • Inhaltsverzeichnis

    II-4

  • II.1 Versuchsanleitung

    II-5

    II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II.1 Versuchsanleitung

    II.1.1 Versuchsziele

    Realisierung von XOR mittels binr aktiviertem Netz wie in der Vorlesung gezeigt

    Auswertung der vom KNN erzeugten Ergebnisse fr die Eingabemuster in JavaNNS

    II.1.2 Grundlagen

    Es gibt zum Aufbau und Training von Knstlichen Neuronalen Net-zen (KNN) Entwicklungsumgebungen, mit denen sich Knstliche Neuronale Netze aufbauen, trainieren und testen lassen. Mit Hilfe dieser Entwicklungsumgebungen knnen Knstliche Neuronale Net-ze einfach erzeugt werden. Das KNN kann visualisiert und als C-Programm generiert werden. JavaNNS ist eine sehr anschauliche und bersichtliche Entwick-lungsumgebung fr Knstlich Neuronale Netze, da jedes Neuron mit seinen Gewichten und auch deren nderung visualisierbar ist. Die Inputdaten knnen dem Netz prsentiert und die Outputwerte und die Verbindungsgewichte der Neuronen knnen visualisiert werden. XOR- Verknpfung Erluterung des XOR- Verhaltens anhand einer Wahrheitstabelle mit zwei Eingngen (A, B) und einem Ausgang X:

    Tabelle II.1: XOR

    Fall A B X 1 0 0 0 2 1 0 1 3 0 1 1 4 1 1 0

    Ein XOR-Glied erhlt am Ausgang immer dann eine 1, wenn an einem der Eingnge der Zustand 1 liegt und am anderen Eingang eine 0 anliegt. Haben beide Eingnge den gleichen Wert, dann ist der Ausgang 0. Dieses Verhalten konnte viele Jahre, whrend der aktiven Forschung an KNN, nicht durch KNN wiedergegeben wer-den. Erst durch die Einfhrung eines Hiddenlayers im Perzeptron

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-6

    war die Wiedergabe der XOR-Funktion mglich. Heute stellt diese Funktion fr mehrschichtige Perzeptren, sogenannte MLP-Netze, berhaupt kein Problem dar. Binres XOR Das in der Vorlesung vorgestellte binr aktivierte Knstliche Neuro-nale Netz zur Realisierung des XOR-Problems soll in dieser Prakti-kumsaufgabe getestet werden. Dazu wurde ein Knstliches Neurona-les Netz generiert, das anhand seiner eingestellten Gewichte und Schwellwerte in der Lage ist, alle vorkommenden Varianten des logischen XOR-Operators korrekt zu berechnen.

    Abbildung II.1: KNN mit 4 Neuronen fr das XOR-Netzwerk [Zell, Simulation neuronaler Netze, 1994]

    II.1.3 Aufgabe 1

    Es soll ein Knstliches Neuronales Netze erstellt werden. Mit der dazugehrigen Pattern-Datei xor.pat soll die Visualisierung eines Knstlichen Neuronalen Netzes in JavaNNS analysiert und das Pr-sentieren von Trainingsmustern getestet werden. Durchfhrung des Praktikums:

    1. Starten Sie JavaNNS. 2. Erstellen Sie das KNN gem der Abbildung II.1 und konfi-

    gurieren Sie es dementsprechend. 3. Laden Sie die Dateien xor.pat aus dem Intranet

    (/Lehmann/Downloads/Computational Intelligence 2 - Praktikum)

    4. Aufrufen des Control Panels 5. ber das Arbeitsblatt Updating knnen dem Netz die In-

    putwerte prsentiert werden und in der Visualisierung des Netzes knnen die Outputwerte bzw. die Gewichte analysiert werden

  • II.1 Versuchsanleitung

    II-7

    Bitte speichern Sie Ihre Ergebnisse in Dateien mit mnemonischem Namen (z.B. xor_binaer_V2_A1_autor1) auf Ihrem USB-Stick oder auf dem Server o..

    II.1.4 Aufgabe 2

    Verndern Sie die Architektur dieses KNN so, dass das KNN weiter-hin das gewnschte Ergebnis berechnet. Berechnen Sie dazu bei Bedarf die Verbindungsgewichte und die Bias neu.

    II.1.5 Aufgabe 3

    Jetzt soll ein neues KNN erstellt und trainiert werden, so dass es das korrekte Ergebnis fr das XOR-Problem wiedergibt. Durchfhrung des Praktikums:

    1. Erstellen Sie die Architektur des KNN. Achtung: Aktivierungsfunktion!

    2. Verbinden Sie die Neuronen. 3. Laden der Patterndatei(en): Training, Validierung, Test 4. Trainingsverfahren auswhlen 5. Netz initialisieren 6. Training durchfhren 7. Trainiertes KNN anhand der Testdaten auswerten und do-

    kumentieren

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-8

    Online-Anleitung

    II.1.6 KNN mit binrer Aktivierung fr Wiedergabe der XOR-Funktion

    Im Folgenden sind die PPT-Folien dargestellt, die fr die Anleitung der Studierenden im Praktikum whrend der Veranstaltung gezeigt werden. Die aktuelle Version der PPT-Folien mit Notizen ist im In-tranet unter Lehmann/Download/Computational Intelligence 2-Praktikum zu finden.

  • 0 Online-Anleitung

    II-9

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-10

  • 0 Online-Anleitung

    II-11

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-12

  • 0 Online-Anleitung

    II-13

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-14

  • 0 Online-Anleitung

    II-15

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-16

  • 0 Online-Anleitung

    II-17

  • II Binr aktiviertes KNN mit JavaNNS fr das XOR Problem

    II-18

  • Glossar

    II-19

    Glossar

    Binre Aktivierung Die Aktivierungen der Neuronen im Netzwerk bestehen nur aus den Werten 0 und 1. Sigmoide Aktivierung Sigmoide (S-frmige) Aktivierungsfunktionen lsen das Problem, dass ein Netzwerk hufig sowohl auf Signale kleiner als auch sehr groer Amplitude reagieren muss, wobei es bei kleinen Amplituden wesentlich sensibler sein muss. Sigmoide Aktivierungsfunktionen haben daher ihre hchste Sensibilitt, d. h. ihre grte Steigung im Bereich um den Arbeitspunkt (Schwellenwert) . Anders als die bi-nre Schrittfunktion sind sie aber stetig und berall differenzierbar, so dass ihre Ableitung an jeder Stelle definiert ist. Hufig werden die Logistische-Aktivierung und die Tanh-Aktivierung angewandt, wenn es sich um nichtlineare Probleme handelt. Bei linearen Prob-lemen ist eine lineare Aktivierung oder lineare Aktivierung mit Sttigung hinreichend. Siehe dazu folgende Hinweise (auf dem Hiddenlayer wird blicherweise die Aktivierung mit dem Tanh ver-wendet und auf dem Input-/Outputlayer die lineare Aktivierung) Logistische-Aktivierung Diese Funktion ist punktsymmetrisch um den Schwellenwert , ste-tig, berall differenzierbar und hat als Wertebereich das offene Inter-vall ]0,1[.

    log1( )

    1 xf x

    e=

    +

    Tanh-Aktivierung Die Funktion tanh(x) ist ebenso sigmoid, stetig, differenzierbar und hat als Wertebereich das offene Intervall ]-1,1[. Die Aktivierungs-funktion tanh(x) lsst sich aus der logistischen Aktivierungsfunktion herleiten. Bei Verwendung des Lernverfahrens Backpropagation wird durch die Verwendung dieser Funktion hufig das Lernen er-leichtert, weil hier auch bei Nichtaktivierung des Vorgngerneurons (entspricht einer Aktivierung von -1) das Gewicht zwischen zwei Neuronen verndert (reduziert) wird Bei Verwendung der logisti-schen Aktivierungsfunktion geht in diesem Fall die Aktivierung 0 als Produkt in die Formel ein und verhindert eine Gewichtsnderung.

    tanh log( ) tanh( ) 2 (2 ) 1x x

    x xe ef x x f xe e

    = = =

    +

  • Glossar

    II-20

    JavaNNS JavaNNS ist ein Neural Network Simulator entwickelt von Prof. Dr. Andreas Zell an der Uni Tbingen. Der Download ist kostenlos. Es kann damit auch C-Code generiert werden. http://www-ra.informatik.uni-tuebingen.de/software/JavaNNS Pattern-Datei In der Pattern-Datei sind die Datenstze fr Training, Validierung und Test des KNN zusammengestellt.

    http://www-ra.informatik.uni-tuebingen.de/software/JavaNNS/welcome_e.html

  • Abbildungsverzeichnis

    I