Biologisch motiviertes Training neuronaler Netze

Schon vor längerer Zeit habe ich mir Gedanken darüber gemacht, wie man neuronale Netze ,,biologischer“ trainiert.

Gegeben sei dazu ein neuronales Netz mit folgender Topologie:

Biologisch trainiertes NetzwerkEs gibt mehrere Schichten, die untereinander vollverknüpft sind, genau wie bei einem Multilayer Perceptron (blaue Verknüpfungen). Jedes Neuron übergibt während jedem Simulationsschritt seine Aktivierung — über eine gewichtete Verbindung (rot) — an jedes Gewicht weiter (aus Gründen der Übersicht habe ich das linke Gewicht mit seinen Verknüpfungen ausgelassen).

Während jedem Zeitschritt werden dann die einkommenden Aktivierungen in jedem Gewicht verarbeitet, indem alle Aktivierungen aufsummiert werden und dem Gewicht aufaddiert werden (es folgt daraus, dass die roten Verbindungen sehr schwach sein müssen, damit die Gewichtsveränderungen in den blauen Verbindungen nicht zu hoch sind).

Das Netz mit den roten Verbindungen ist also das ,,Lehrernetz“, das Netz mit den blauen Verbindungen ist das ,,Schülernetz“. Die beiden Netze teilen sich die Neuronen, haben aber eigene Verknüpfungen. Die Gewichte des Lehrernetzes müssen jetzt nur noch so verändert werden, dass sie in der Lage sind das Schülernetz zu trainieren. Das könnte mit einem evolutionären Algorithmus herbeiführen.
Jeweils ein Organismus besteht aus einem Lehrer- und einem Schülernetz. Zur Berechnung der Fitness werden zunächst die Gewichte des Schülernetzes zufällig initialisiert. Die Aufgabe des Lehrernetzes ist es dann dem Schülernetz ausgewählte Probleme beizubringen. Je nachdem wie gut das Schülernetz nach einer bestimmten Zeit oder Anzahl von Simulationsschritten im Lösen der Aufgabe ist, wird der Organismus bewertet. Die zu lehrenden Probleme müssen natürlich zunächst einfach sein und dürfen nicht zu ,,spezifisch“ oder zu ,,schwer“ werden.

Eine mögliche Erweiterung könnte sein, zwischen jedes Neuron des Schülernetzes und jedes Gewicht des Schülernetzes (die ja durch das Lehrernetz verbunden sind), ein Neuron zu platzieren, dass allein dem Lehrernetz vorbehalten ist. Dadurch ist das Lehrernetz ,,schlauer“.

Hier gibt es eine ausführlichere Version der obigen Grafik.

Anlass für diesen Artikel war übrigens dieser Thread im Board von David Kriesel