next up previous contents
Nächste Seite: EXPERIMENT MIT DER KOLLAPS-ARCHITEKTUR Aufwärts: KOLLAPS DER HIERARCHIE Vorherige Seite: PRINZIP   Inhalt

ARCHITEKTURDETAILS

Das hier beschriebene System sollte als on-line Repräsentant einer Menge von Variationen des in Abschnitt 7.5.1 beschriebenen Prinzips angesehen werden.

Tabelle 7.1 liefert einen Überblick über verschiedene zeitabhängige Aktivationsvektoren, die für die Beschreibung von Architektur und Algorithmus relevant sind. $ \delta_d(t) =1$, falls ein externer Lehrer zur Zeit $t$ einen Zielvektor $d(t)$ bereitstellt, und 0 sonst. Falls $ \delta_d(t) = 0 $ gilt, nimmt $d(t)$ einen `Defaultwert' an, z.B. den Nullvektor.


Tabelle: Definitionen von Symbolen, die zeitabhängige Aktivationsvektoren bezeichnen. $h_A(t)$ und $o_A(t)$ basieren auf vergangenen Eingaben und werden ohne Wissen über $d(t)$ und $x(t)$ berechnet.
Vektor Beschreibung (bzgl. Zeitpunkt $t$) Dimension
$x(t)$ `normale' Umgebungseingabe $n_I$
$d(t)$ Zielvektor (vom Lehrer definiert) $n_D$
$i_A(t)= x(t) \circ d(t)$ A's Eingabe $n_I+n_D$
$h_A(t)$ A's versteckte Aktivationen $n_{H_A}$
$d_A(t)$ A's Vorhersage von $d(t)$ $n_D$
$p_A(t)$ A's Vorhersage von $x(t)$ $n_I$
$time(t)$ eindeutige Repräsentation von $t$ $n_{time}$
$h_C(t)$ C's versteckte Aktivationen $n_{H_C}$
$d_C(t)$ C's Vorhersage von $C$'s nächster Zieleingabe $n_D$
$p_C(t)$ C's Vorhersage von $C$'s nächster `normalen' Eingabe $n_I$
$s_C(t)$ C's Vorhersage von $C$'s nächster `time' Eingabe $n_{time}$
$o_C(t)$ $d_C(t) \circ p_C(t) \circ s_C(t)$ $n_{O_C} = n_{D} + n_{I} + n_{time} $
$q_A(t)$ A's Vorhersage von $h_C(t) \circ o_C(t)$ $n_{H_C}+n_{O_C}$
$o_A(t)$ $d_A(t) \circ p_A(t) \circ q_A(t)$ $n_{O_A} = n_{D} + n_{I} + n_{H_C} + n_{O_C} $


A besitzt $n_{I}+ n_D$ Eingabeknoten, $n_{H_A}$ versteckte Knoten, und $n_{O_A}$ Ausgabeknoten (siehe Tabelle 7.1). Bei reinen Vorhersageproblemen ist $n_D=0$. C verfügt über $n_{H_C}$ versteckte Knoten und $n_{O_C}$ Ausgabeknoten. Alle Nichtausgabeknoten von $A$ weisen gerichtete Verbindungen zu allen Nichteingabeknoten von $A$ auf. $A$'s Eingabeknoten besitzen gerichtete Verbindungen zu allen Nichteingabeknoten von $C$. Dies ermöglicht $A$'s Eingabeknoten, zu bestimmten (kritischen) Zeitpunkten als Eingabeknoten für $C$ zu fungieren. Weitere $n_{time}$ Eingabeknoten für $C$ dienen zur eindeutigen Repräsentation `kritischer' Zeitschritte. Diesen zusätzlichen Eingabeknoten entspringen gerichtete Verbindungen zu allen Nichteingabeknoten von $C$. Schließlich sind alle versteckten Knoten von $C$ Quellen gerichteter Verbindungen zu allen Nichteingabeknoten von $C$. Siehe Abbildung 7.2.

Abbildung: Zur Illustration der 2-Netz-Architektur: Der `Automatisierer' $A$ und der `Chunker' $C$. Der besseren Übersichtlichkeit halber (sowie aus ästhetischen Gründen) sind nicht alle Verbindungen eingezeichnet. Siehe nähere Erläuterungen im Text.
\begin{figure}\psfig{figure=fig7.2} \end{figure}

Falls $ \delta_d(t) =1$ gilt, versucht $A$, seine Vorhersage $d_A(t)$ dem Wert $d(t)$ anzugleichen. Weiterhin bemüht sich $A$, $p_A(t)=x(t)$ zu erreichen und damit $x(t)$ vorherzusagen. Hierbei sehen wir das Zielvorhersageproblem wieder als speziellen Fall eines Eingabevorhersageproblems an. Ist $ \delta_d(t) =1$ und konnte $A$ $d(t)$ nicht korrekt vorhersagen, so versucht $C$, $d_C(t) = d(t)$ zu erreichen. $C$ legt es weiterhin darauf an, $p_C(t) \circ s_C(t)$ der nächsten nicht vom Lehrer definierten Eingabe für $C$ gleichzusetzen. Diese Eingabe mag unter Umständen noch weit in der Zukunft liegen. Schließlich versucht $A$, $q_A(t) = h_C(t) \circ o_C(t)$ zu erreichen und damit den Zustand von $C$ zu rekonstruieren. Dies ermöglicht die Kollapsoperation. Die Aktivationen von $C$'s Ausgabeknoten werden dabei als Teil von $C$'s Zustand angesehen.

Sowohl $C$ als auch $A$ werden gleichzeitig durch einen konventionellen Algorithmus für rekurrente Netze trainiert. Häufig (siehe z.B. das in Abschnitt 7.4.1 besprochene Experiment) bietet sich `abgeschnittenes BPTT' an (siehe Kapitel 2).

Die (inzwischen geläufige) Aktualisierungsprozedur für jedes der beteiligten rekurrenten Netze sieht wie folgt aus:



Wiederhole für eine konstante Iterationsanzahl (typischerweise 1 oder 2):



$\textstyle \parbox{12.5cm}{{\em
1. F\uml {u}r jeden Nichteingabeknoten $j$\ aus...
.... F\uml {u}r alle Nichteingabeknoten $j$: Setze
$a_j \leftarrow \hat a_j $.
}
}$

Nun die Details des Ein-/Ausgabeverhaltens und der zu minimierenden Zielfunktionen (in pseudo-algorithmische Form gefaßt):



$\textstyle \parbox{12.5cm}{{\em
INITIALISIERUNG: Alle Gewichte werden zuf\uml {...
...ern,
und aktualisiere $C$, um
$h_C(t+1)$\ und $o_C(t+1)$\ zu erhalten.
\par
}}$


next up previous contents
Nächste Seite: EXPERIMENT MIT DER KOLLAPS-ARCHITEKTUR Aufwärts: KOLLAPS DER HIERARCHIE Vorherige Seite: PRINZIP   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