Information Technology Reference
In-Depth Information
Nun gilt es, die Eingabesynapsen mit den entsprechenden Eingabedaten zu versorgen. In
diesem Anwendungsfall wird eine FileInputSynapse verwendet, um die Daten aus
einer Textdatei auszulesen. Ein wesentliches Merkmal von JOONE ist dabei, dass mit
diesem Framework ein sehr flexibles Eingabeverhalten entwickelt werden kann. Hierzu
muss man lediglich die speziellen Eingabesynapsen entwickeln und entsprechend mit dem
Netz verbinden.
FileInputSynapse inputStream = new FileInputSynapse();
inputStream.setAdvancedColumnSelector("1,2");
inputStream.setInputFile(new File(inputFile));
input.addInputSynapse(inputStream);
Auf jeden Fall muss der FileInputSynapse mitgeteilt werden, welche Spalten der
Datei als Eingabeinformationen gelten sollen. In diesem Fall bilden die beiden ersten
Spalten die Eingabedaten. Es wird auch der Name der Datei benötigt, die diese Eingabe-
daten beinhalten, wobei diese Angabe über die Methode setInputFile() erfolgt.
Wie bereits erwähnt, muss man sich unter einer Synapse bildlich eine Pipeline oder ein
Verbindungsrohr vorstellen, das die Daten zwischen den einzelnen Schichten schleust.
Speziell die hier zum Einsatz kommende FileInputSynapse implementiert einen
initialen Zugang, mit denen das neuronale Netz mit Daten versorgt wird. Dazu muss der
Eingabeschicht diese Synapse explizit hinzugefügt werden.
inputStream.setInputFile(new File(inputFile));
input.addInputSynapse(inputStream);
Nun gilt es, einen Trainer für das neuronale Netz zur Verfügung zu stellen, um über die-
sen das Training zu überwachen. Damit ist die Arbeitsteilung klar festgelegt, indem der
Monitor die Parametrisierung des Trainings vornimmt, beispielweise die Anzahl der
Durchläufe festlegt und der Trainer daraufhin das Training übernimmt. Dabei werden bei
jedem Trainingslauf die Gewichte an den Synapsen entsprechend der Ergebnisse bzw. der
Fehler angepasst. Angestrebt wird dadurch, dass die Fehler mit jedem Trainingslauf ab-
nehmen. Die folgende Implementierungsequenz zeigt, wie der Trainer mit dem Monitor
verbunden bzw. wie ersterer eingesetzt wird.
TeachingSynapse trainer = new TeachingSynapse();
Es sei an dieser Stelle nochmals an den Aufbau der Datei der Testdaten erinnert, der drei
Spalten vorsieht. Dabei stellen die ersten beiden Spalten die Eingabedaten dar und folglich
ist die dritte Spalte zur Aufnahme der erwarteten Ausgabedaten reserviert. Für das neuro-
nale Netz bedeutet dies, dass die dritte Spalte das zum Ausdruck bringt, was das neuro-
nale Netz nach Einlesen der ersten beiden Spalten zu liefern hat. Auch dieser Sachverhalt
muss dem Trainer mitgeteilt werden, damit dieser Zugriff auf diese dritte Spalte enthält
Search WWH ::




Custom Search