Home

NetLogo

Methoden

Umsetzungen

Aktuelles

Forschung

Sonstiges

Links

Kontakt




















Neuronale Netze


Zurück zum Inhaltsverzeichnis


Neuronale Netze

Das biologische Vorbild

Bei der Bewältigung einfacher Rechenaufgaben sind die Computer den Menschen schon heute weit überlegen. Für die Erkennung eines Gesichts benötigt der Mensch nur Bruchteile von Sekunden, wohingegen sich Computer mit solchen Aufgaben schwer tun. Selbst wenn die Eingaben ungenau sind, wie bei einem verschmutzten Photo, erreicht das menschliche Gehirn eine beachtliche Erkenntnisleistung. Eine Summe von Inputs (zum Beispiel eine visuelle Wahrnehmung) wird im Gehirn verarbeitet und ein entsprechender Output erzeugt (in diesem Fall die Erkennung des Gesichts). Die Neuronalen Netzen zu Grunde liegende Idee besteht darin, die Funktionsweise des menschlichen Gehirns zu imitieren.

Wie arbeitet das menschliche Gehirn? Die Hirnrinde ist der Sitz der intelligenten Leistungen das Gehirns. Jeder Quadratmillimeter beherbergt circa 100000 eng miteinander vernetzte Nervenzellen (Neuronen) (Ritter et al 1990, S. 17). Ein typisches Neuron besteht aus drei Komponenten: dem Dendritenbaum, dem Zellkörper und dem Axon, die ungefähr den Aufgaben Input, Verarbeitung und Output zugeordnet werden können. Der Dendritenbaum, eine verästelte Struktur von Verbindungen zwischen den Neuronen, summiert die Ausgabesignale der umgebenden Neuronen und führt sie in Form eines elektrischen Signals dem Zellkörper des Neurons zu. Überschreitet dieses Signal einen bestimmten Schwellwert, erzeugt der Zellkörper einen kurzen elektrischen Impuls, der vom Axon an bis zu mehrere tausend Zielneuronen weitergeleitet wird. Die Kontaktstellen der Axone der verschiedenen Neuronen heißen Synapsen. Je nach Art und Zustand der Synapse, wird ein eingehendes Signal verstärkt oder gehemmt. Sie funktionieren wie ein analoger Schalter und regeln die Kommunikation zwischen den Neuronen. Über mehrere Organisationsebenen hinweg werden die Signale an spezialisierte Rindenfelder geleitet. Die Rindenfelder sind spezielle Module im Gehirn, die für verschiedene Aufgaben wie Sprachverstehen oder Bilderkennung zuständig sind. Die eintreffenden Signale zeichnen im Rindenfeld ein bestimmtes Muster – eine "Karte". Am Beispiel des Photos bedeutet dies, daß die darauf abgebildete Person immer eine bestimmte Karte im Rindenfeld erzeugt, egal ob das Bild von vorne oder von der Seite aufgenommen wurde. Unterschiedliche Karten erzeugen im Gehirn unterschiedliche Verknüpfungen und Reaktionen (Output).

Bei Neugeborenen ist die Zahl der Verbindungen zwischen den Neuronen und die Anzahl der Muster, die in den Rindenfeldern entstehen können noch recht gering. Die Strukturen des Gehirns sind zwar angelegt, aber die Verknüpfungen zwischen den Neuronen und die Ausbildung der Synapsen erfolgt erst durch einen Lernprozeß. Das mehrmalige Zeigen eines Balls, verbunden mit dem Hinweis, daß es sich hierbei um einen Ball handelt, wird bei einem Kleinkind dazu führen, daß kugelförmige Gegenstände auch zukünftig als Ball erkannt werden. Zeigt das Kind jedoch auf einen Apfel und bezeichnet ihn als Ball, wird es mit dem Hinweis korrigiert werden, daß es sich um einen Apfel handelt. Sehr vereinfacht gesprochen, werden die Synapsen im Gehirn derart modifiziert, daß bei der visuellen Wahrnehmung eines Apfels der Output "Ball" gehemmt wird. Statt dessen werden Neuronen so mit einander verbunden, daß bei kugelförmigen Gegenständen mit apfelartiger Oberfläche eine andere Karte im Rindenfeld erzeugt wird, die zukünftig den Output "Apfel" generiert. Dieser Prozeß soll nun im Computer nachgebildet werden.

Künstliche Neuronale Netze

Künstliche Neuronale Netze (KNN) zeichnen sich durch ihre Lernfähigkeit aus. Anhand von Trainingsbeispielen können sie bestimmte Sachverhalte lernen, ohne dafür explizit programmiert werden zu müssen. Sie bestehen aus idealisierten Neuronen, die sich dem biologischen Vorbild entsprechend aus den Teilen Input, Verarbeitung und Output zusammensetzen. Jedes Neuron addiert die Signale, die es von anderen Neuronen übermittelt bekommt zu einem Summenwert. Mit Hilfe einer Übertragungsfunktion (in der Regel eine Sigmoidalfunktion) wird festgelegt, welcher Wert an die nächsten Neuronen weitergegeben wird. Die Stärke der Verbindungen (sie entsprechen den Synapsen) wird durch einen numerischen Wert, dem Kantengewicht dargestellt.

Funktionsweise eines künstlichen Neurons,
Quelle: verändert nach Stanley & Buk 1991, S. 20

Die nächste Abbildung  zeigt das Schema eines KNN. Die input layer besteht aus Inputneuronen. Sie repräsentieren die Eingabedaten. Je nach Komplexität der zu bearbeitenden Fragestellung folgen eine, zwei oder mehrere hidden layer. Auf der rechten Seite befindet sich die output layer, dessen Neuronen die Ausgabewerte des KNN liefern. Für die Auswahl einer geeigneten Netzarchitektur gibt es keine festen Regeln. Statt dessen müssen Intuition und Erfahrung herangezogen werden. Dies bezieht sich sowohl auf die Anzahl der hidden layer, die Anzahl der hidden neurons und die Verknüpfungen zwischen den Neuronen.

Soll nun ein KNN einen bestimmten Sachverhalt lernen, werden ihm über die Inputneuronen die entsprechenden Eingabedaten gezeigt. Die Kantengewichte werden zu Anfang in der Regel zufällig vergeben. Die Inputneuronen feuern nun Signale (numerische Werte) an alle mit ihnen verbunden Neuronen. Dem Kantengewicht entsprechend werden die Signale verstärkt oder gehemmt. Dieser Prozeß durchläuft alle Schichten des KNN und mündet in einem oder mehreren Outputneuronen, die einen Ausgabewert liefern. Ein gängiges Lernverfahren für KNN ist das backpropagation learning. Dazu werden die gelieferten Werte der Outputneuronen mit den tatsächlichen Ergebnissen verglichen und der Fehler bestimmt. Daraufhin erfolgt eine rückwärtige Fehlerkorrektur der Kantengewichte. Dieser Prozeß wird mit möglichst vielen Trainingsdaten mehrfach wiederholt. Durch ständige Anpassung der Kantengewichte versucht das KNN, den Fehler zu minimieren. Ein erfolgreich trainiertes Netz stellt als ganzes die nicht mathematische Funktion zwischen Input- und Outputdaten dar. Ein zu langer Lernprozeß führt zu einem overtraining. Das heißt, daß das KNN die ihm gezeigten Daten auswendig lernt und nicht mehr zur Generalisierung fähig ist. Deshalb ist die Verwendung eines Validierungsdatensatzes empfehlenswert. Dieser Datensatz wird nicht zum Training verwendet, sondern zur Überwachung des Lernprozesses. Das KNN wird parallel, aber separat auf den Validierungsdatensatz angewandt. Das Training sollte an dem Punkt abgebrochen werden, an dem die Fehlersumme des Validierungsdatensatzes wieder ansteigt. Das so trainierte Netz sollte nun in der Lage sein, das Gelernte zu abstrahieren und auf ungesehene Daten anzuwenden.