next up previous contents
Nächste Seite: Ein Verfahren, das lokal Aufwärts: Generelle Lösungen für dynamische Vorherige Seite: Generelle Lösungen für dynamische   Inhalt

Entfaltung eines zyklischen Netzes zu einem azyklischen Netz

Es gibt eine Erweiterung des Algorithmus für azyklische Netze auf den zyklischen Fall. Das Verfahren beruht auf einem Prinzip, das den etwas unglücklichen Namen `unfolding in time' trägt (`unfolding in space' wäre vernünftiger gewesen, wie man im folgenden sehen wird). Das Prinzip geht zurück auf Minsky und Papert [29], die darauf hinwiesen, daß die Aktivationsausbreitungsphase eines zyklischen dynamischen Netzes durch die Aktivationsausbreitungsphase eines wesentlich größeren azyklischen statischen Netzes beschrieben werden kann.

Für jeden Zeitschritt der Aktivationsausbreitungsphase, die ein Netzwerk mit rekurrenten Verbindungen durchläuft, legt man eine neue Kopie aller Knoten samt ihrer gegenwärtigen Aktivationen an. Die Topologie des zu konstruierenden `virtuellen' azyklischen Netzes ergibt sich sofort dadurch, daß jede Kante des ursprünglichen Netzes transformiert wird in eine `virtuelle' Kante, die in dem azyklischen Netz die Kopien der entsprechenden Knoten zu aufeinanderfolgenden Zeitschritten verbindet. Mit dem azyklischen Netz kann nun Back-Propagation betrieben werden wie gehabt. Da jeder Originalkante in der Regel eine Reihe von virtuellen Kanten (zwischen zu verschiedenen Zeitpunkten gehörigen Knotenkopien) entspricht, muß jede Gewichtsänderung einer Kante im zyklischen Netz gleich der Summe der Gewichtsänderungen der entsprechenden virtuellen Kanten im azyklischen Netz sein, um einen Gradientenabstieg im Gewichtsraum zu gewährleisten.

Es ist dabei natürlich nicht nötig, auch die Verbindungen und ihre Gewichte mehrfach zu kopieren, da es sich ja für jeden Zeitschritt um dieselben Verbindungen handelt. Zweckmäßigerweise führt man für jeden Knoten des zyklischen Netzes einen Stapel ein, auf den bei sukzessiven Zeitschritten der Aktivationsausbreitungsphase die jeweiligen Aktivationen gestapelt werden. Bei der anschließenden Fehlerpropagierungsphase werden die Aktivationen nach dem `last-in-first-out'-Prinzip wieder vom Stapel geholt, um die neuen Fehlersignale zu berechnen (siehe den Abschnitt über azyklische Netze).

Egal, wie man den Algorithmus implementiert, in jedem Fall braucht man Speicherplatz unbekannter Größe für den Fall, daß die Zeitdauern der Trainingsintervalle nicht alle bekannt sind. Bei vollständig zyklischen Netzen beträgt die Speicherkomplexität für einen Durchgang $O(sn + n^{2})$, wobei $s$ die Anzahl der Zeitschritte des Durchgangs und $n$ die Anzahl der Knoten des Netzes ist. Die Zeitkomplexität beträgt $O(sn^{2})$.

Beim `On-line'-Lernen beträgt der Spitzenberechnungsaufwand pro Verbindung und Zeitschritt $O(s)$. Das Verfahren ist also weit davon entfernt, lokal in der Zeit (im eingeschränkten Sinne) zu sein. Das liegt natürlich daran, daß im jeweils letzten Zeitschritt eines Trainingsintervalls der gesamte Fehlerpropagierungs- und Gewichtsänderungsprozeß untergebracht werden muß.

Auch ist die Methode darauf angewiesen, daß der externe Lehrer über Trainingsintervallsgrenzen Bescheid weiß.

All diese unangenehmen Begleiterscheinungen des Algorithmus lassen ihn biologisch unplausibel erscheinen. Falls jedoch die erwähnten Einschränkungen bei einer technischen Anwendung keine Rolle spielen, kann sich die Methode als brauchbarer erweisen als das im nächsten Abschnitt beschriebene Verfahren, welches dieselbe Fehlerfunktion minimiert.


next up previous contents
Nächste Seite: Ein Verfahren, das lokal Aufwärts: Generelle Lösungen für dynamische Vorherige Seite: Generelle Lösungen für dynamische   Inhalt
Juergen Schmidhuber 2003-02-20


Related links in English: Recurrent neural networks - Subgoal learning - Reinforcement learning and POMDPs - Reinforcement learning economies - Selective attention
Deutsche Heimseite