Gewichte und Ausgabe

Betrachten wir jetzt den Fall mit vier Inputneuronen $i_{i}, i \in 4$, deren Ausgabewerte $o_{i}$ im Vektor $input$ repräsentiert werden (vgl. Schaubilder 6.2 und 6.3). Diese sollen auf zwei Ausgabeneuronen $o_{1}$ und $o_{2}$ abgebildet werden; beide werden im Vektor $output$ repräsentiert. Unter der Annahme, daß alle Inputneuronen $input$ auf alle Outputneuronen $output$ abgebildet werden, bräuchten wir eine Matrix $W$ für die Gewichte mit zwei Zeilen für die Outputneuronen und vier Spalten für die Inputneuronen, also:


$\displaystyle output$ $\textstyle =$ $\displaystyle input *_{ip} W$ (6.4)

Figure 6.2: Vier Inputneuronen senden zu zwei Ausgangsneuronen
\includegraphics[width=3.0in]{anns_4to2_bsp2.eps}

Figure 6.3: Vier Inputneuronen senden zu zwei Ausgangsneuronen (mit Vektoren/ Matrizen
\includegraphics[width=3.5in]{anns_4to2_bsp2_W.eps}

Dazu wird das scilab-Programm function[u]=vmprod2(M,v) benutzt (siehe Scilab-Anhänge).

Betrachten wir ein paar einfache Fälle. Wenn alle Werte von $W$ '0' sind -geschrieben $W_{0}$, dann blockiert die Nullmatrix $W_{0}$ alle Eingabewerte aus $input$. Umgekehrt, sind alle Gewichte grundsätzlich auf '1' gesetzt -geschrieben $W_{1}$-, dann verstärkt die Einsmatrix $W_{1}$ alle Eingabewerte; dann reicht schon ein einziger Wert aus, um bei jedem Ausgangsneuron eine '1' zu erzeugen (siehe Tabelle 6.6).


$\displaystyle output$ $\textstyle =$ $\displaystyle input *_{ip} W$ (6.5)

\begin{eqnarray*}
\left[\begin{array}{cc}
1 & 1
\end{array}\right] & = & \left[...
...n{array}{cccc}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1
\end{array}\right]
\end{eqnarray*}


Beide Ausgangsneuronen haben immer die gleichen Inputwerte. Es gibt keine Unterschiede. Nur der absolute Wert auf jedem Eingang erhöht sich, wenn die Anzahl der gesandten Impulse steigt.

\begin{eqnarray*}
\left[\begin{array}{cc}
4 & 4
\end{array}\right] & = & \left[...
...n{array}{cccc}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1
\end{array}\right]
\end{eqnarray*}


Soll also differenziert werden, dann muß die Gewichtung entsprechend unterschiedlich gestaltet werden, etwa wie in Tabelle 6.6: Eingang 1 und 4 werden für Ausgang 1 verstärkt und Eingänge 2 und 3 für Ausgang 2:

\begin{eqnarray*}
& & \left[\begin{array}{cccc}
1 & 0 & 0 & 1\\
0 & 1 & 1 & 0
\end{array}\right]
\end{eqnarray*}


Entsprechend reagiert das System -wie zu erwarten- auf Ausgang 1 nur noch bei Inputwerten von Eingang 1 oder 4 bzw. auf Ausgangswerte für Ausgang 2 nur noch bei Inputwerten von Eingang 2 oder 3. Hier ein Beispiel mit Mit den Eingängen 1 und 4 aktiv:

\begin{eqnarray*}
\left[\begin{array}{cc}
2 & 0
\end{array}\right] & = & \left[...
...n{array}{cccc}
1 & 0 & 0 & 1\\
0 & 1 & 1 & 0
\end{array}\right]
\end{eqnarray*}


Man kann bei diesem einfachen Beispiel mit bloßem Auge erkennen, daß das System in der aktuellen Konstellation nur zwei verschiedene Eingangsmuster unterscheiden kann, nämlich alle $[ 1 * * 1 ]$-Muster oder alle $[ * 1 1 * ]$-Muster. Man kann auch noch sehen, dass man dies bis zu vier Mustern verfeinern könnte ( $[ 1 * * * ], [ * 1 * * ], [ * * 1 *], [ * * * 1 ] $ ), aber damit wären alle Möglichkeiten erschöpft. Hier ist der Satz (vgl. 8.1) einschlägig, daß es in einem n-dimensionalen Vektorraum nicht mehr als n-viele linear unabhängige Vektoren geben kann. Im vorliegenden Fall gilt $n = 4$, also kann es nur maximal vier linear unabhängige Vektoren geben, und dies sind eben die zuvor angeführten vier Muster $[ 1,0,0,0 ], [ 0,1,0,0], [ 0,0,1,0], [ 0,0,0,1 ] $. Werden diese Muster gemischt -z.B. durch ein Eingabemuster wie $[1,1,0,0]$-, dann entsteht eine 'gemischte Ausgabe', wie sie in der nachfolgenden Tabelle zu sehen ist.

\begin{eqnarray*}
\left[\begin{array}{cc}
1 & 1
\end{array}\right] & = & \left[\...
...n{array}{cccc}
1 & 0 & 0 & 1\\
0 & 1 & 1 & 0
\end{array}\right]
\end{eqnarray*}


Implizit ist in dieser Ausgabe die Information enthalten, daß ein Muster vorliegt, das sich aus Teilen von Muster $[ 1 * * 1 ]$ und Teilen von Muster $[ * 1 1 * ]$ zusammensetzt, aber mit dem aktuellen einfachen System kann man nicht mehr Informationen extrahieren. Natürlich sind hier verschiedene Erweiterungen denkbar, die die Erkennensleistung des Systems verbessern könnten, etwa die Ausnutzung von zusätzlichen Schwellwerten $\theta$ oder/ und die Hinzunahme weiterer Neuronen in einer nachgeordneten Ebene ('layer'). Dies soll an dieser Stelle noch nicht geschehen. Stattdessen soll jetzt der Frage nach der Lernfähigkeit eines solchen Systems mittels der Hebbschen Regel nachgegangen werden.

Gerd Doeben-Henisch 2013-01-17