ANNe Version 1.0 beta

ANNe ist ein Oberfläche zur Generierung von Künstlichen Neuronalen Netzen.

Aufbau

Das Programm erzeugt, trainiert und befragt Netze, die einen dreischichtigen Aufbau haben: Eine Input-Schicht Neuronen, ein hidden layer und eine Output- Schicht (vorwärtsgerichtetes zweistufiges Multilayer-Perzeptron ohne Rückkopplung). Jede Schicht kann hierbei beliebig viele Neuronen enthalten. Die Neuronen der benachbarten Schichten sind miteinander durch sog. Synapsen verbunden.

Abb.: Struktur eines Netzes mit 9 inputs, 14 hidden neurons und 3 outputs

Besonderheiten

Im Gegensatz zu den meisten Neuronalen Netzen wurde bei der Entwicklung dieser Software wert darauf gelegt, dass die Mathematischen Bezüge zwischen Eingangs- und Ausgangswerten, also die Wichtungsfakroren und Bias-Werte, nicht im Hintergrund verschwinden sondern als wichtiges Werkzeug weiterhin zugänglich bleiben. Diese sollen herangezogen werden, um die Einflüsse der einzelnen Input-Größen auf die Outputs beurteilen zu können, um hieraus letztendlich vereinfachte Formeln und Stoffkonstanten zur Berechnung der Produkteigenschaften ableiten zu können, welche die Grundlage für wissensbasierte Systeme wie das GSH, MAX etc. darstellen. Weiterhin bietet das System die Möglichkeit, sowohl den Lernvorgang als auch die Korrelation von tatsächlichen und prognostizierten Werten sowie die relativen Fehler der Prognosen für Trainings- und/oder Testdatensätze grafisch zu visualisieren.

Abb.: Korrelation und relative Fehler für eine Reihe mit 44 Datensätzen zu je drei Outputgrößen

Arbeiten mit dem Neuronalen Netz

Daten sammeln

Zunächst werden die Daten, die heterogenen Versuchsreihen entstammen können, gesammelt und tabellatisch erfasst. Dies kann z.B. mit MS-Excel erfolgen. Einige wenige Formalia zur Stuktur der Tabelle sollten dabei beachtet werden. Der relavante Datenbereich kann in die Zwischenablage übernommen und von dort aus direkt in ANNe übernommen werden.

Netzdesign und Training

Nach Festlegung der Neuronenanzahl in der verborgenen Schicht (ANNe schlägt hierzu ninput + noutput + 2 vor) und der Anzahl der als Testdatensätze zu verwendenden Zeilen wird das Netz erzeugt und kann sogleich im Backpropagation-Verfahren trainiert werden. Das Training kann dann als beendet angesehen werden, wenn Output-Fehler, Korrelationskoeffizient und/oder relativer Fehler zufriedenstellend ausfallen. Ein Output- Fehler kleiner 0.01 oder ein Korrelationskoeffizient besser als 0.9 können hier als Anhaltspunkt dienen. Hinsichtlich des relativen Fehlers ist zu bemerken, dass dieser natürlich bei Zielwerten in der Nähe von Null gleich ganz erhebliche Beträge aufweisen kann; selbst wenn nur sehr kleine Abweichungen auftreten. Die Hüllkurve der relativen Fehler wird daher auch bei einem gut trainierten Netz einer Funktion der Form y = k*1/x gehorchen. Aus diesem Grunde sollte man sinnvollerweise normalisierte Zielwerte größer als 0.7 betrachten: Deren relativer Fehler sollte auf jeden Fall unter 0.1 (entspr. 10%) liegen.

Auswertung

Anschliessend kann das Netz (Struktur und Wichtungsfaktoren sowie Bias-Werte) gespeichert werden. Ebenfalls kann an Ort und Stelle das Netz benutzt werden, um die Antworten auf vom Benutzer formulierte Fragestellungen zu prognostizieren, oder die Effekte auflisten zu lassen.