next up previous contents
Nächste Seite: SCHRANKEN DES ANSATZES Aufwärts: EXPERIMENTE Vorherige Seite: EIN EXPERIMENT MIT UNBEKANNTEN   Inhalt

EXPERIMENTE ZUR TEMPORÄREN VARIABLENBINDUNG

Wie schon eingangs in einer Fußnote erwähnt, haben sich Kritiker darüber beklagt, daß KNN keinen Mechanismus zur Variablenbindung anbieten würden. Mit der im vorliegenden Kapitel präsentierten Methode ist es jedoch möglich, dynamische Verbindungen à la von der Malsburg [138] für temporäre Bindungsprobleme auszunützen. Obiger Algorithmus erlaubt zu lernen, Variableninhalte solange an Variablennamen zu binden, wie es im Kontext einer gegebenen Aufgabe nötig ist.

Bei folgendem einfachen Experiment geht es darum, den gegenwärtigen Aufenthaltsort eines Fahrzeugs in einer Parkgarage abzuspeichern. Dies involviert das Binden eines Werts an eine den Standort des Autos repräsentierende Variable.

Weder $F$ noch $S$ benötigten versteckte Knoten zur Lösung des Problems. Als Aktivierungsfunktion aller beteiligten Ausgabeknoten fand erneut die Identitätsfunktion Verwendung. Alle Systemeingaben sowie $F$'s gewünschte Ausgaben bestanden aus Binärvektoren. $F$ besaß einen Eingabeknoten, der für den Namen der Variablen WO-IST-MEIN-AUTO? stand. Außerdem verfügte $F$ über 3 Ausgabeknoten (die sogenannten Parkplatzindikatoren) für die Namen dreier möglicher Parkplätze $P_1$, $P_2$, und $P_3$ (die möglichen Antworten auf WO-IST-MEIN-AUTO?). $S$ besaß 6 Eingabeknoten sowie 3 Ausgabeknoten, einen für jedes schnelle Gewicht (nebenbei bemerkt: hier sieht man, daß $S$ nicht immer dieselbe Eingabe haben muß wie $F$). Drei der sechs Eingabeknoten fungierten als `Parkplatzdetektoren' - $I_1$, $I_2$, $I_3$. Die Parkplatzdetektoren wurden immer nur für einen einzigen Zeitschritt aktiviert: Besaß der Eingabevektor für diese drei Knoten den Wert $(1, 0, 0)^T$, so bedeutete dies `Automobil wurde soeben im 1. Parkplatz abgestellt'. $(0, 1, 0)^T$ stand für `Automobil wurde soeben im 2. Parkplatz abgestellt'. $(0, 0, 1)^T$ stand für `Automobil wurde soeben im 3. Parkplatz abgestellt'. $(0, 0, 0)^T$ stand für `Automobil steht entweder auf irgendeinem Parkplatz oder fährt herum, wurde jedenfalls nicht soeben abgestellt'. Die drei zusätzlichen Eingabeknoten wurden zu jedem Zeitpunkt durch zufällig gewählte binäre Werte besetzt. Die Wahrscheinlichkeit, daß einer dieser Knoten die Aktivation 1.0 aufwies, betrug dabei stets 0.5. Diese Zufallsaktivationen dienten als ablenkende zeitveränderliche Eingaben aus der Umgebung eines Autobesitzers, dessen (leicht eintöniges) Leben folgenden Verlauf nimmt: Er fährt sein Auto für 0 oder mehr Zeitschritte durch die Gegend, wobei die Wahrscheinlichkeit für die Beendigung der Fahrt zu jedem Zeitpunkt bei 0.25 liegt (solange die Fahrt andauert, trägt der Eingabevektor für die Parkplatzdetektoren den Wert $(0, 0, 0)^T$). Daraufhin parkt er sein Fahrzeug auf einem der 3 möglichen Parkplätze (was für die Dauer eines Zeitschrittes den entsprechenden Parkplatzdetektor aktiviert). Anschließend tätigt er Geschäfte außerhalb seines Autos, was ihn für 0 oder mehrere Zeitschritte beansprucht, wobei die Wahrscheinlichkeit für die Beendigung der Geschäftstätigkeit zu jedem Zeitpunkt 0.25 beträgt (alle Parkplatzdetektoren sind während dieser Zeit ausgeschaltet). Schließlich erinnert sich der Autobesitzer seines Parkplatzes, steigt in sein Fahrzeug und beginnt von neuem, herumzufahren etc.. Dieses Verhalten erzeugt einen kontinuierlichen Strom von sechs-dimensionalen Eingabevektoren.

Die Aufgabe des Systems bestand darin, die gegenwärtige Position des Automobils abzuspeichern. Es wurde trainiert, indem der WO-IST-MEIN-AUTO?-Eingabeknoten zu zufällig gewählten Zeitschritten aktiviert wurde und $F$'s erwünschte Ausgabe (die Aktivierung des zum gegenwärtigen Parkplatz $P_i$ gehörigen Ausgabeknotens) gemäß (3.6) zur Berechnung der Gewichtsänderungen für $S$ diente.

$S$' Gewichte wurden wieder zufällig zwischen -0.1 und 0.1 initialisiert. Falls für 100 aufeinanderfolgende Zeitschritte $F$'s Ausgabefehler den Wert 0.05 nicht überstieg, galt die Aufgabe als gelöst. Mit Architektur 1 und Gewichtsmodifikationsfunktion (3.9) fand das System bei $T=10$ und $\eta = 0.02$ innerhalb von 6000 Zeitschritten eine Lösung.

Wie erwartet, lernte $S$ dabei, Parkplatzindikatoren durch kurzfristig starke Verbindungen an den WO-IST-MEIN-AUTO?-Knoten zu binden. Dank der lokalen Ausgaberepräsentation war es einfach, die Verbindungsmuster zu analysieren: Zu einem gegebenen Zeitpunkt wies die Verbindung vom WO-IST-MEIN-AUTO?-Knoten zum gegenwärtig relevanten Parkplatzindikator ein starkes schnelles Gewicht auf (vorausgesetzt, das Auto befand sich gerade in geparktem Zustand). Die übrigen schnellen Gewichte wurden währenddessen unterdrückt.



Unterabschnitte
next up previous contents
Nächste Seite: SCHRANKEN DES ANSATZES Aufwärts: EXPERIMENTE Vorherige Seite: EIN EXPERIMENT MIT UNBEKANNTEN   Inhalt
Juergen Schmidhuber 2003-02-20


Related links in English: Recurrent networks - Fast weights - Subgoal learning - Reinforcement learning and POMDPs - Unsupervised learning and ICA - Metalearning and learning to learn
Deutsche Heimseite