next up previous contents
Nächste Seite: Methoden der zeitlichen Differenzen Aufwärts: Generelle Lösungen für dynamische Vorherige Seite: Entfaltung eines zyklischen Netzes   Inhalt

Ein Verfahren, das lokal in der Zeit ist

Robinson und Fallside wiesen als erste darauf hin, daß die Fehlerpropagierungsphase nicht unbedingt notwendig ist [40](siehe auch [39]). Es ist möglich, schon zur Laufzeit der Aktivierungsausbreitungsphase Information aufzusammeln, die bei der Beobachtung von späteren Fehlern sofort zur Berechnung eines Fehlergradienten herangezogen werden kann. Vorteile des Algorithmus sind, daß er eingeschränkt lokal in der Zeit ist, und daß er bei fixer Netzgröße unabhängig von der Länge zu erlernender Sequenzen mit einer fixen Menge an Speicherplatz auskommt. Ein Nachteil ist, daß er nicht einmal eingeschränkt lokal im Raum ist. Der Speicherbedarf wächst schlimmstenfalls mit der dritten Potenz der Anzahl der Knoten.

Weil seine `Lokalität in der Zeit' das Verfahren für unsere Zwecke (siehe Kapitel 6) jedoch sehr interessant macht, und weil die Methode noch nicht gut bekannt ist, werden wir in diesem Abschnitt genauer auf sie eingehen und auch ihre Herleitung aufschreiben. Dabei halten wir uns nicht an Robinsons und Fallsides Originalarbeit, sondern lehnen uns an Williams und Zipsers Beschreibung an [80]. Verwandte Methoden finden sich in [37], [10] und [42].

Die Menge der Eingabeknoten des Netzes sei $I$. Die Menge der Knoten des Netzes, die keine Eingabeknoten sind, sei $U$. $y_{k}(t)$ ist die Aktivation des Knotens $k$ aus $U \cup I$ zur Zeit $t$, $d_{k}(t)$ ist die gewünschte Aktivation des Knotens $k$ zur Zeit $t$, falls diese von einem Lehrer definiert worden ist, $w_{ij}$ ist das Gewicht der gerichteten Verbindung von Knoten $j$ zum Knoten $i$, falls diese Verbindung existiert, $f_{k}$ ist die sigmoide differenzierbare monoton wachsende Aktivierungsfunktion des Knotens $k$, $ net_{k}(t) = \sum_{l}w_{kl}y_{l}(t)$, $y_{k}(t+1) = f_{k}(net_{k}(t))$, und $t$ rangiert im folgenden über alle Zeitschritte eines Trainingsintervalls.

$ J(t) = \frac{1}{2} \sum_{d_k~existiert} ( d_{k}(t)-y_{k}(t) )^{2}$ ist der zu einem Zeitschritt $t$ auftretende Fehler, und $ E = \sum_{t} J(t) $ ist die zu minimierende Fehlerfunktion.

Der Effekt der Lernregel soll sich wie folgt ausdrücken lassen:


\begin{displaymath}\triangle w =
-\alpha
\frac{\partial E}{\partial w}. \end{displaymath}

Dabei ist $w$ der Gewichtsvektor des Netzes, $\alpha$ eine positive Lernrate, und $\triangle w$ die von der Lernregel induzierte Gewichtsänderung.

Da der Gradient der Summe aller $J(t)$ gleich der Summe der entsprechenden Gradienten ist, genügt es, für jedes Gewicht $w_{ij}$ den Wert

\begin{displaymath}
\triangle w_{ij}(t) =
-\alpha
\frac{\partial J(t)}{\partial...
...d_{k}(t)-y_{k}(t))
\frac{\partial y_{k}(t)}{\partial w_{ij}}
\end{displaymath}

zu berechnen. $\sum_{t} \triangle w_{ij}(t)$ liefert dann die Gesamtgewichtsänderung für $w_{ij}$ am Ende des Trainingsintervalls.

Nun ist für alle Zeitschritte $t$ außer dem letzten

\begin{displaymath}
\frac{\partial y_{k}(t+1)}{\partial w_{ij}} =
f_{k}'(net_{k...
...\partial y_{l}(t)}{\partial w_{ij}}
+ \delta_{ik} y_{j}(t) ).
\end{displaymath}

($\delta_{ik}$ bezeichnet hier das Kroneckersche Delta und ist 1 für $i=k$ und $0$ sonst.)

Für den ersten Zeitschritt ist die entsprechende Ableitung $0$. Also kann man mit $0$ initialisierte Variablen $p_{ij_{new}}^{k}$ und $p_{ij_{old}}^{k}$ zur inkrementellen Berechnung der $ \frac{\partial y_{k}(t)}{\partial w_{ij}} $ einführen. Zu jedem Zeitpunkt $t$ werden diese Variablen gemäß

\begin{displaymath}
p_{ij_{new}}^{k}
\leftarrow
f_{k}'(net_{k}(t))
( \sum_{l \in U} w_{kl}
p_{ij_{old}}^{k}
+ \delta_{ik} y_{j}(t) )
\end{displaymath}

aktualisiert und anschließend, wie oben ausgeführt, zur Berechnung von $\triangle w_{ij}(t)$ herangezogen.

Das im letzten Abschnitt erwähnte Problem mit den vordefinierten Trainingsintervallsgrenzen kann man jetzt umgehen: Statt die Gewichte erst am Ende eines Intervalls zu ändern (wie es mathematisch eigentlich korrekt wäre), ändert man sie zu jedem Zeitschritt. Die Lernrate muß dabei klein genug gewählt werden, um Instabilitäten zu vermeiden. Der Effekt ist, daß sich alle Trainingsintervalle `überlappen'; die Intervallgrenzen verschwimmen und müssen nicht extern definiert werden.


next up previous contents
Nächste Seite: Methoden der zeitlichen Differenzen Aufwärts: Generelle Lösungen für dynamische Vorherige Seite: Entfaltung eines zyklischen Netzes   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