NeuroLab - Martins Homepage

Direkt zum Seiteninhalt

Hauptmenü:

NeuroLab

Softwareprojekte

Als Auftakt eine Bildschirmkopie des Programms NeuroLab. Es zeigt die Erkennung des Buchstabens „I“ durch das Kohonennetzwerk nach selbständigem Lernen des gesamten Alphabets:


NeuroLab – Selbstorganisierende Karten
Wie kommt die Welt in den Kopf? Dies zu verstehen wäre eine wunderbare Erkenntnis. Leider ist unser Gehirn ein so komplexes Gebilde, dass wir diese Frage kaum hinreichend beantworten können. Aber – anhand eines vergleichsweise simplen Modells können wir doch einige Prinzipien sichtbar machen und grundlegende Prozesse ausprobieren. Genau zu diesem Zweck habe ich das Programm NeuroLab entwickelt. Den letzten Anstoß dazu gab mir das Buch Geist im Netz vom deutschen Psychiater, Psychologen, Philosophen und Gehirnforscher Prof. Dr. Manfred Spitzer.

Beachte: Für das weitere Verständnis des Textes ist es hilfreich bis notwendig, über ein grundlegendes Wissen über Nervenzellen, Sinnesorgane etc. zu verfügen.

Einleitung
Unser Gehirn enthält über 100 Milliarden Neuronen vernetzt durch Billionen von Synapsen! Ein unvorstellbar kompliziertes Netzwerk arbeitet da Tag aus Tag ein, um eine Vielfalt von Lebensvorgängen zu steuern. Natürlich reicht hier nicht der Platz, um alle Bereiche auch nur anzusprechen. Der geneigte Leser möge hierzu z.B. die Bücher von Manfred Spitzer zu Rate ziehen!

Wir wollen uns auf grundlegende Vorgänge des Lernens beschränken, deren Eigenheiten wir anhand eines Simulationsprogramms selbst studieren können. Dazu betrachten wir folgendes Problem: Die Leistungen des Gehirns werden erst dadurch ermöglicht, dass die Gehirnzellen, Neuronen genannt, in der richtigen Weise miteinander verbunden werden, denn eine Zelle allein kann nur Nervenimpulse weiterleiten oder unterdrücken. Wenn nun alle Neuronen mit allen anderen über alles „sprächen“,  würde nur ein großes Durcheinander entstehen. Die Gebiete im Gehirn - Areale genannt  - müssen sich also auf Teilaufgaben spezialisieren, die sie durch geeignete Vernetzung der enthaltenen Neuronen bearbeiten. Da gibt es Bereiche für’s Sehen, Hören, Sprechen, Tasten, usw. Berücksichtigt man nun die immense Anzahl existierender Verknüpfungen, so stellt man fest: Die Information über eine „brauchbare“ Verschaltung würde weit mehr an Speicherplatz benötigen, als unser gesamtes Genom bereitstellt. Daraus folgt: Die Neuronen im Gehirn müssen im Verlauf des Lebens richtig verknüpft werden. Aber wer überblickt denn die Aufgabenstellung und kann gezielt Verknüpfungen erstellen oder lösen? Dies ist eine typisch „menschliche“ Fragestellung, die unserer Alltagslogik entspringt. Aber wie bei der Evolution passiert hier etwas sozusagen von innen heraus: Das Gehirn erschafft sich im gewissen Sinne von selbst, in dem es die Signale der Sinnesorgane ordnet und in Beziehung zueinander setzt. Diese Beschreibung ist gewiss eine starke Vereinfachung der Sachlage. Sie weist uns aber den Weg zu dem, was wir hier mit Hilfe von NeuroLab ausprobieren und demonstrieren können.

Selbst-organisierende Netzwerke
In NeuroLab wird nur eine spezielle Anordnung von Neuronen simuliert, die sogenannte Kohonen self-organizing map. Man kann hier mehrere Phänomene beobachten:

Es sei noch einmal darauf hingewiesen, dass diese Liste nur einige grundlegende Fähigkeiten unseres Gehirns darstellt! Die einzelnen Punkte sind im Folgenden etwas näher beschrieben.


> Erinnerungsvermögen
Sind Neuronen „richtig“ verschaltet, so „feuern“ bestimmte von ihnen immer dann, wenn entsprechende Erregungsmuster der Sinnesorgane anliegen. Man sagt, die Neuronen „repräsentieren“ das Muster, oder: sie „erinnern“ das Muster. Der abstrakte Begriff der Erinnerung erhält so eine materielle Grundlage. Überspitzt formuliert spricht man in der Literatur häufig vom „Großmutterneuron“, welches immer dann feuert, wenn das Bild der eigenen Großmutter gesehen wird.

> Selbstorganisation
Wiederkehrende Erregungsmuster prägen die Vernetzung derart, dass sich nach einiger Zeit manche Neuronen auf diese Muster „spezialisieren“, diese also repräsentieren, wie oben schon erwähnt. Weil nun dieser Prozess der Spezialisierung ohne äußeren steuernden Eingriff passiert, spricht man von Selbstorganisation.

> Gruppierung anhand von Ähnlichkeiten
Wie man durch Ausprobieren feststellen kann, passiert die oben genannte Spezialisierung so, dass ähnliche Muster durch räumlich benachbarte Neuronen repräsentiert werden. Die Muster werden gleichsam sortiert. Kommt ein neues Muster nachträglich hinzu, wird es entsprechend „eingeordnet“.

> Vervollständigung von Teilinformationen
Werden nur Teile eines gelernten Musters dem Netzwerk gezeigt, so kann trotzdem die richtige Zuordnung erfolgen. Etwas lax formuliert könnte man sagen: Das Netzwerk ergänzt die fehlende Information.

> Robustheit gegenüber Ausfällen
Wie man beobachten kann, repräsentieren immer mehrere Neuronen ein Muster, d.h. falls einmal eins oder mehrere Neuronen ausfallen d.h. absterben, wird die Leistungsfähigkeit des Gehirns als Ganzes nicht betroffen. Und was schon für ein simuliertes Netzwerk mit z.B. 100 Neuronen gilt, kann für unser Gehirn mit über 100 Milliarden Neuronen allemal angenommen werden.

> Aufbau topologischer Karten
Für die Verarbeitung von Tastempfindungen an der Körperoberfläche existiert im Gehirn eine landkartenähnliche Repräsentation: Unser Körper wird sozusagen abgebildet auf verschiedene Gehirnbereiche. Dabei sind die Bereiche um so größer, je dichter die Körperregionen mit Tastsensoren besetzt sind bzw. je bedeutsamer der Tastsinn dort für uns ist. Das Gesicht ist auf dieser Karte ist also größer zu sehen als unser Rücken.
Ähnliche „Landkarten“ findet man u.a. für den Gesichts- und Gehörsinn (retinotope und tonotope Karten)

> Neuroplastizität
Die Vernetzung der Neuronen ist nicht an einem Punkt der Entwicklung des Individuums abgeschlossen:  Durch gezieltes Training oder im Extremfall durch Amputation eines Körperteils ergeben sich Verschiebungen und Erweiterungen der oben genannten Karten, auch noch im Erwachsenenalter. Beachte: Es verschieben sich nicht die Neuronen als solche, sondern nur deren Zuordnung zu bestimmten Körperregionen!

Das Modell
Damit ein solch komplexes Gebilde wie das Gehirn überhaupt fassbar wird, müssen wir es dramatisch vereinfachen. Wir definieren Bausteine, deren Eigenschaften wir mit Zahlen darstellen können und verbinden diese Bausteine, in dem wir Berechnungspfade und –formeln angeben. Erst dann haben wir eine Grundlage für die Simulation auf dem Computer geschaffen.

Unsere Bausteine sind eine Art künstliche Neuronen, die wir nur durch ihre wichtigste Eigenschaft beschreiben: Sie können weniger oder mehr erregt sein, dargestellt durch eine Zahl im Intervall 0..1. Ihre Erregung wird gesteuert durch andere, verbundene Neuronen, je nach Gewicht der Verbindung. Auch dieses Verbindungsgewicht (Synapsengewicht) wird durch eine Zahl dargestellt.

Die von uns betrachteten Neuronen sind in zwei Schichten angeordnet: Einer Eingangs- und einer Kohonenschicht. Der Name „Kohonen“ bezeichnet einen bekannten Forscher auf diesem Gebiet. Die Erregung der Eingangsneuronen wirkt auf die Neuronen der Kohonenschicht.

Die Eingangsschicht dient lediglich dazu, Erregungsmuster von Sinnesorganen darzustellen, auf die die Neuronen der Kohonenschicht reagieren können. Die Neuronen der Eingangsschicht sind untereinander weder verbunden noch stehen sie in irgendeinem Nachbarschaftsverhältnis zueinander. Im Programm NeuroLab werden sie der Anschaulichkeit halber in rechteckiger Anordnung dargestellt.

Jedes Neuron der Kohonenschicht ist mit jedem Eingangsneuron verbunden, wie das rot hervorgehobene im Bild oben. Der Grad jeder einzelnen Verbindung wird durch das sogenannte Synapsengewicht (s.o.) festgelegt. Das Verhalten jedes Neurons der Kohonenschicht ist damit durch dessen Synapsengewichte bestimmt. Im Bild oben wären dies 5 Werte pro Neuron, macht zusammen 25 Gewichte für die gesamte Schicht.

Die Synapsengewichte jedes einzelnen Neurons lassen sich als Eingangsschicht darstellen, sozusagen durch die Brille dieses Neurons gesehen.

Die Gesamtheit aller Synapsengewichte aller Neuronen der Kohonenschicht legen deren Verhalten fest. Die Lernfähigkeit des Netzwerks wird im Modell durch eine Rechenvorschrift realisiert, nach der die Gewichte aller Synapsen verändert werden, wenn ein Erregungsmuster an der Eingangsschicht anliegt. Ein Trainingslauf besteht darin, dass dem Netzwerk wiederholt alle Muster aus dem Vorrat „gezeigt“ werden und dabei jeweils die Synapsengewichte angepasst werden.

Das Simulationsprogramm NeuroLab
zeigt auf seiner Bedienoberfläche 3 Seiten (Karteikarten, engl. tabulator pages), die verschiedenen Arbeitsschritten zugeordnet sind: (Vergleiche „Geist im Netz“ Seite 113)

Tab Muster
Hier legt man eine Reihe von Mustern fest, mit denen die Eingangsneuronen erregt werden. Durch Klicken auf die Felder werden die Eingangsneuronen für ein gegebenes Muster auf  0 oder 1 gesetzt. Man kann Muster hinzufügen, entfernen oder verändern und ihnen einen Namen geben.

Tab Training
Auf dieser Seite werden Einstellungen für das Training vorgenommen. Auch kann man hier das Training selbst starten. Zu Anfang werden alle Synapsengewichte auf zufällige Werte gesetzt.

Tab Karte
Das Ergebnis des Trainings wird auf 3 Feldern sichtbar (hier wurden Würfelbilder gelernt):

  • Im linken wählt man ein Muster aus oder gibt die Erregung der Eingangsneuronen von Hand vor – der Einfachheit halber 0 (weiß) oder 1 (schwarz) - per Mausklick.

  • Im mittleren sieht man die Erregung der Neuronen in der Kohonenschicht als Reaktion auf das Eingangsmuster.

  • Rechts kann man sich die Synapsengewichte eines einzelnen Neurons anzeigen lassen, die ja nach dem Training konstant bleiben. Das dargestellte Neuron der Kohonenschicht wählt man aus, indem man mit der Maus auf das entsprechende Quadrat im mittleren Feld zeigt. Man kann diese Auswahl auch automatisch vom Programm treffen lassen: Wählt man im mittleren Feld die Option „gewinnendes Neuron“ an, wird immer das Neuron der Kohonenschicht mit der größten Erregung rot markiert.


Alle Daten zu einem Versuch lassen sich über das Menü „Datei“ laden und speichern.

Wichtig: Die Qualität der Trainingsergebnisse ist sehr abhängig von den eingestellten Parametern d.h. nicht alle Experimente zeigen die gewünschten Ergebnisse. Oft ist auch die Wahl der Zufallsfolge entscheidend. Diese Tatsache sollte ebenfalls zum Gegenstand der Diskussion gemacht werden!

Die Berechnung
Eine detaillierte Beschreibung der Rechenvorgänge findet man z.B. in Kruse, Mangold, Mechle, Penger: „Programmierung Neuronaler Netze“, Addison-Wesley 1991. Eine Kurzfassung soll auch hier später folgen.

Weiterführende Themen

  • Welche Bedeutung für die „Lebensbewältigung“ von Mensch und Tier haben die vorgestellten Leistungen des Netzwerks?

  • Wenn man das Gehirn mit einem Computer vergleicht, was sind die Gemeinsamkeiten, was die gravierenden Unterschiede?

  • Kann man das Gehirn als Videorecorder betrachten, in den ständig Bilder und andere Sinneseindrücke strömen?





 
Zurück zum Seiteninhalt | Zurück zum Hauptmenü