Beleg Neuronale Netze

MemBrain

Auf der Suche nach einem geeignet Tool zum Designen und Trainieren unserer Netze sind wir auf das Programm „MemBrain“ gestoßen. Der weitere Abschnitt soll eine Bewertung des Programms enthalten und dessen Möglichkeiten offen legen. MemBrain ist für den Privaten Gebrauch, sowie für die Lehre an Hochschulen kostenlos benutzbar. Entwickelt wurde das Programm von  Thomas Jetter und ist in C++ geschrieben. Aktuell (11/2007) ist die Version 3.0.  Da MemBrain mit Hilfe der Microsoft Foundation Classes (MFC) entwickelt würde, ist es auch nur unter Windows verfügbar.

Das Designen von Netzen

Im Hauptfenster von MamBrain ist immer das Netz zu sehen. Hier können mittels Drag & Drop neue Neuronen angelegt werden. MemBrain verfügt über eine automatische Netzanalyse. Dies bedeutet, dass der Nutzer keinerlei Angaben über den Aufbau seines Netzes MemBrain mitteilen muss. MemBrain erkennt automatisch, ob es sich um ein einfaches Feed-Forward-Netz oder bis hin zu Netzen mit beliebigen Rückkopplungen handelt. MemBrain ist so flexibel, dass sogar Rückkopplungen eines Neurons auf seinen eigenen Eingang möglich ist. Ebenso können Links (Link = Verknüpfung zwischen zwei Neuronen) beliebige logische Längen aufweisen, so dass ein echtes Laufzeitverhalten abgebildet werden kann.

1

Neuronen

In MemBrain gibt es 3 verschiedene Arten von Neuronen: „INPUT“, „OUTPUT“ und „HIDDEN“. Für jedes  Neuron kann eine Normalisierung angegeben werden, so dass Eingabedaten nicht normalisiert vorliegen müssen. Als Aktivierungsfunktion stehen folgende Funktionen Optionen zur Auswahl:

    • LOGISTIC
    • IDENTICAL
    • IDENT. 0 TO 1
    • TAN HYP
    • BINARY

Spezielle Einstellungen der ausgewählten Aktivierungsfunktion können ebenso bearbeitet werden.


1  1

 

MemBrain DLL

Ein weiteres Futur von MemBrain ist die DLL-Version mit Grundfunktionen, die in das eigene Projekt eingebunden werden kann. Somit kann mit geringem Aufwand die Funktionalität eines Neuronalennetzes in eine andere Software integriert werden. Die DLL-Version unterstützt das Laden von MemBrain Netzen (auch mehrere gleichzeitig), das Anlegen von Werten an Eingangsneuronen, Ausführen von Simulationschritten und das Auslesen der daraufhin entstandenen Werte der Outputneuronen. Veränderungen am Netz oder Neuronen kann man leider nicht vornehmen. Ebenso können keine Netze trainiert werden.

Trainieren von Netzen

  
Mit MemBrain ist es ebenso möglich Neuronale Netze zu trainieren. Momentan verfügt MemBrain über folgende Lernalgorithmen.
Überwachtes Lernen:

  • Standard Backpropagation (nur Vorwärtslinks werden trainiert)
  • Standard Backpropagation mit Momentum (nur Vorwärtslinks werden trainiert)
  • Backpropagation mit Unterstützung für Rückkopplungslinks
  • Backpropagation mit Unterstützung für Rückkopplungslinks und mit Momentum
  • Cascade Correlation mit Unterstützung für Rückkopplungslinks und mit Momentum

Unüberwachtes Lernen:

  • 'Winner Takes it All' Algorithmus für SOMs ('Self Organizing Maps')

Zum Eingeben bzw. Anzeigen der Testpattern ist der „Lessen Editor“ zuständig. In ihm können neue Testpattern eingegeben werden sowie bereits vorhandene Testpattern an das Netz angelegt werden. Über „File->Import Current Lessen (RAW CSV)“ können Testpattern im CSV Format importiert werden. In der Ersten Zeile der CSV – Datei erwartet MemBrain die Namen der Eingangs- sowie der Ausgangsneuronen. In den drauffolgenden Zeilen die Werte der Neuronen.


1

Über den Button „Think on Input“ kann man das aktuelle Test Pattern an das Netz anlegen.

1

Weiterführende Informationen zum Trainieren von Netzen mittels MemBrain unter "Trainingsdaten"

 

2007 Richard Wähner / Richard Meyer