next up previous contents
Nächste Seite: On-Line VERSUS Off-Line Aufwärts: DYNAMISCHE VERBINDUNGEN Vorherige Seite: PERFORMANZMASS   Inhalt

ABLEITUNG DER ALGORITHMEN

Für alle Gewichte $w_{ji} \in W_S$ (vom Knoten $i$ zum Knoten $j$) interessiert uns das Inkrement

\begin{displaymath}
\triangle w_{ji} = - \eta
\frac{\partial \bar{E}}{\partial...
... w_{ba}(t-1)}
\frac{\partial w_{ba}(t-1)}{\partial w_{ji}} .
\end{displaymath} (3.6)

$\eta$ bezeichnet dabei eine konstante positive Lernrate.

Zu jedem Zeitschritt $t >0 $ läßt sich der Faktor

\begin{displaymath}
\gamma_{ab}(t)= \frac{\partial E(t)}{\partial w_{ba}(t-1)}
\end{displaymath}

durch konventionelles BP bestimmen (siehe Kapitel 1). Wir schreiben für Knoten $k$ in $F$:

\begin{displaymath}
\delta_k(t) =
\frac{\partial E(t)}{\partial net_k(t)}.
\end{displaymath}

Falls $b$ einen Ausgabeknoten bezeichnet, so ist

\begin{displaymath}
\frac{\partial E(t)}{\partial w_{ba}(t-1)} =
\delta_b(t)o_a(t) ~~mit ~~ \delta_b(t) =
f_b'(net_b(t))e_b(t).
\end{displaymath}

Steht $b$ hingegen für einen versteckten Knoten der $r$-ten Lage von $F$, so gilt

\begin{displaymath}
\frac{\partial E(t)}{\partial w_{ba}(t-1)} =
\delta_b(t)o_...
...=
f_b'(net_b(t))
\sum_{l \in~Lagen~ > r} w_{lb}
\delta_l(t).
\end{displaymath}

Für $t >0 $ erhalten wir nun mit der Kettenregel die Rekursion

\begin{displaymath}
\frac{\partial w_{ba}(t)}{\partial w_{ji}} =
\frac{\partial...
... w_{ba}(t-1)}
\frac{\partial w_{ba}(t-1)}{\partial w_{ji}} +
\end{displaymath}


\begin{displaymath}
+ \frac{\partial \sigma(w_{ba}(t-1), \Box w_{ba}(t))}
{\par...
...w_{ba}(t)}
\frac{\partial \Box w_{ba}(t)}{\partial w_{ji}} .
\end{displaymath}

Wir verwenden eine durch den RTRL-Algorithmus (siehe Kapitel 2) inspirierte Methode: Für jedes $w_{ba} \in W_F$ und jedes $w_{ji} \in W_S$ führen wir eine Variable $p_{ij}^{ab}$ ein und initialisieren sie zu Beginn einer Trainingssequenz mit 0. $p_{ij}^{ab}$ läßt sich zu jedem Zeitschritt $t >0 $ aktualisieren:

\begin{displaymath}
p_{ij}^{ab}(t)=
\frac{\partial \sigma(w_{ba}(t-1), \Box w_{ba}(t))}
{\partial w_{ba}(t-1)} p_{ij}^{ab}(t-1) +
\end{displaymath}


\begin{displaymath}
+ \frac{\partial \sigma(w_{ba}(t-1), \Box w_{ba}(t))}
{\par...
...w_{ba}(t)}
\frac{\partial \Box w_{ba}(t)}{\partial w_{ji}} .
\end{displaymath} (3.7)

$\frac{\partial \Box w_{ba}(t)}{\partial w_{ji}} $ hängt davon ab, welche der beiden Architekturen wir benutzen wollen. Eine geeignete BP-Prozedur liefert uns jedenfalls für jedes $w_{ba} \in W_F$ den Wert $\frac{\partial \Box w_{ba}(t)}{\partial w_{ji}} $ für alle $w_{ji} \in W_S$. Nach Aktualisierung der $p_{ij}^{ab}$ Variablen wird (3.6) mittels der Formel

\begin{displaymath}
\frac{\partial E(t)}{\partial w_{ji}} =
\sum_{w_{ba} \in W_F} \gamma_{ab}(t)
p_{ij}^{ab}(t-1)
\end{displaymath}

bestimmbar.

(3.4) und (3.5) unterscheiden sich lediglich in der Art und Weise, in der Fehlersignale für $S$' Ausgabeknoten berechnet werden: Wird Architektur 1 verwendet, benützen wir konventionelles BP zur Berechnung von $\frac{\partial s_{ab}(t)}{\partial w_{ji}} $ in (3.7). Dann schreiben wir für Knoten $k$ in $S$:

\begin{displaymath}
\kappa_k(t) =
\frac{\partial s_{ab}(t)}{\partial net_k(t)}.
\end{displaymath}

Bezeichnet $j$ einen Ausgabeknoten (mit $o_j=s_{ab}$), so gilt

\begin{displaymath}
\frac{\partial s_{ab}(t)}{\partial w_{ji}} =
\kappa_k(t) o_i(t) ~~mit~~
\kappa_k(t) = f_j'(net_j(t))
\end{displaymath}

Stellt $j$ hingegen einen versteckten Knoten der $r$-ten Lage von $S$ dar, so ist

\begin{displaymath}
\frac{\partial s_{ab}(t)}{\partial w_{ji}} =
\kappa_k(t) o...
...= f_j'(net_j(t))
\sum_{l \in~Lagen~ > r} w_{lj}
\kappa_l(t).
\end{displaymath}

Bei Verwendung von Architektur 2 ist zu berücksichtigen, daß

\begin{displaymath}
\frac{\partial \Box w_{ba}(t)}{\partial w_{ji}} =
s_b(t) \...
...l w_{ji}} +
s_a(t) \frac{\partial s_b(t)}{\partial w_{ji}} .
\end{displaymath} (3.8)

Mit BP berechnet man am besten $\frac{\partial s_a(t)}{\partial w_{ji}} $ für jeden Ausgabeknoten $a$ und für alle $w_{ji}$. Die Resultate lassen sich in $\mid W_S \mid * \mid VON \cup ZU \mid$ Variablen unterbringen. Nun löst man Gleichung (3.7) in einem zweiten Durchgang.

Bei beiden Architekturen beträgt die Berechnungskomplexität pro Zeitschritt $O(\mid W_F \mid \mid W_S \mid)$.



Unterabschnitte
next up previous contents
Nächste Seite: On-Line VERSUS Off-Line Aufwärts: DYNAMISCHE VERBINDUNGEN Vorherige Seite: PERFORMANZMASS   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