7. Assoziative Netze - Technische Universität Chemnitz

Werbung
Konnektionistische Wissensverarbeitung
7.
7.1.
Seite 59
Assoziative Netze
Assoziative Mustererkennung
7.1.1. Rekurrente Netze und Typen assoziativer Speicher
Man kann zwischen drei Arten assoziativer Netze unterscheiden:
1. Heteroassoziative Netze bilden m Eingabevektoren x1, x2, ..., xm des n-dimensionalen Raums auf
m Ausgabevektoren y1, y2, ..., ym des k-dimensionalen Raums so ab, dass x i  y i gilt. Wenn
|| ~
x  x i || 2   , dann gilt ~
x  y i . Dies sollte durch einen Lernalgorithmus erreicht werden, ist
aber schwierig, wenn die Zahl der Eingabevektoren zu groß wird.
2. Autoassoziative Netze sind eine spezielle Art von heteroassoziativen Netzen, bei denen jeder
Vektor mit sich selbst assoziiert wird, d.h. yi = xi für i = 1, ..., m. Mit Netzen dieser Art sollen
verrauschte Eingaben korrigiert werden.
3. Mustererkennungsnetze sind ebenfalls eine spezielle Art von heteroassoziativen Netzen. Jeder
Vektor xi wird mit dem Skalar i assoziiert. Mit Netzen dieser Art sollen die „Namen“ von
Eingabemustern identifiziert werden.
Die drei Netztypen sind in Abbildung 7.1 veranschaulicht. Man kann sie sich als Automaten vorstellen, die bei einer Eingabe eine bestimmte Ausgabe liefern.
i
x1
i
x2
i
i
.
.
.
Heteroassoziatives
Netz
.
.
.
xn
i
i
yn
i
x1
i
x2
y1
i
y2
i
.
.
.
Autoassoziatives
Netz
xn
.
.
.
x1
i
x2
i
xn
i
x1
i
x2
i
.
.
.
Mustererkennungsnetz
i
xn
Abbildung 7.1
7.1.2. Die Struktur eines Assoziativspeichers
Die drei Typen assoziativer Netze von Abschnitt 7.1.1 können mit einer einzigen Schicht rechnender Einheiten implementiert werden. Abbildung 7.2 zeigt die Struktur eines heteroassoziativen
Netzes ohne Rückkopplung.
wij sei das Gewicht zwischen dem Eingabeplatz i und der Einheit j. W sei die n  k-Gewichtsmatrix
[wij]. Der Zeilenvektor x = (x1, x2, ..., xn) erzeugt den Erregungsvektor e durch folgenden Rechenschritt
e = xW
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 60
y1
x1
y2
x2
.
.
.
.
.
.
xn
yk
Abbildung 7.2
Dann wird die Berechnung durch die Aktivierungsfunktion durchgeführt. Falls sie die Identität ist,
sind die Einheiten einfach lineare Assoziatoren und die Ausgabe y ist gerade gleich xW. Im Allgemeinen müssen m verschiedene n-dimensionale Zeilenvektoren x1, x2, ..., xm mit m k-dimensionalen
Zeilenvektoren y1, y2, ..., ym assoziiert werden. Sei X die m  n-Matrix, deren Zeilen die Eingabevektoren sind, und Y die m  k-Matrix, deren Zeilen die Ausgabevektoren sind. Gesucht ist eine
Gewichtsmatrix W, für die gilt:
XW = Y
(7.1)
Bei einem autoassoziativen Netz wird jeder Vektor mit sich selbst assoziiert und man erhält die
Gleichung
XW = X
Wenn m = n, dann ist X eine quadratische Matrix. Wenn sie auch noch invertierbar ist, dann ist die
Lösung von Gleichung (7.1)
W = X-1Y
d.h. W zu berechnen bedeutet ein lineares Gleichungssystem zu lösen.
Wenn nun eine Rückkopplungsschleife vorliegt, so dass die Ausgabe des Netzes als Eingabe
benutzt wird, dann liegt eine Situation vor, wie sie in Abbildung 7.3 für ein autoassoziatives Netz
dargestellt ist.
x1
x1
x2
x2
.
.
.
.
.
.
xn
xn
Abbildung 7.3
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 61
Es wird angenommen, dass alle Einheiten ihre Ausgaben gleichzeitig berechnen, ein Netz dieser Art
heißt synchron. Im i-ten Schritt erhält das Netz die Eingabe x(i) und erzeugt die neue Ausgabe
x(i+1). Die Frage ist, ob es einen Fixpunkt  gibt, für den gilt:
W = 
Der Vektor  ist ein Eigenvektor von W mit Eigenwert 1. Das Netz verhält sich wie ein dynamisches System erster Ordnung, weil jeder neue Zustand x(i+1) vollständig durch seinen letzten Vorgänger determiniert ist.
7.1.3. Der Eigenvektor-Automat
Eine n  n-Matrix W hat höchstens n linear unabhängige Eigenvektoren und n Eigenwerte. Die
Eigenvektoren x1, x2, ..., xn erfüllen die Gleichungsmenge
xiW = ixi
für i = 1, ..., n
wobei 1, ..., n die Eigenwerte der Matrix sind. Eine Gewichtsmatrix mit einer vollständigen
Menge von Eigenvektoren definiert einen „Eigenvektor-Automat“. Ist ein initialer Vektor gegeben,
dann kann der Eigenvektor mit dem größten Eigenwert bestimmt werden (falls er existiert).
Angenommen, 1 sei der betragsgrößte Eigenwert von W, d.h. |1| > |j| für j  1. Sei 1 > 0. Ein
beliebiger n-dimensionaler Vektor a0 ungleich dem Nullvektor kann als Linearkombination der n
Eigenvektoren der Matrix W ausgedrückt werden:
a0 = 1x1 + 2x2 + ... + nxn
Angenommen alle Konstanten i sind ungleich Null. Nach der ersten Iteration mit der Matrix W
erhält man
a1 = a0W
= (1x1 + 2x2 + ... + nxn)W
= 11x1 + 22x2 + ... + nnxn
Nach t Iterationen ist das Ergebnis
at = 11tx1 + 22tx2 + ... + nntxn
7.2.
Assoziatives Lernen
7.2.1. Hebbsches Lernen – die Korrelationsmatrix
Bei einem assoziativen Netz wird das Hebbsche Lernen bei der Anpassung wij des Gewichts wij
verwendet. Das Inkrement wij misst für eine Einheit j die Korrelation zwischen der Eingabe xi am
Eingang i und der Ausgabe yj. Es ist definiert durch
wij = xiyj
Der Faktor  ist die Lernkonstante. Die Gewichtsmatrix wird auf Null gesetzt bevor der Lernprozess
beginnt. Die Lernregel wird auf alle Gewichte angewendet, die den n-dimensionalen Zeilenvektor
x1 mit dem k-dimensionalen Zeilenvektor y1 verknüpfen. Die aktualisierte Gewichtsmatrix W ist die
Korrelationsmatrix der beiden Vektoren und hat die Form
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 62
 
W  wij
 
 xi1 y1j
n k
n k
Im allgemeinen Fall, wenn m n-dimensionale Vektoren x1, x2, ..., xm ungleich 0 mit m k-dimensionalen Vektoren y1, y2, ..., ym assoziiert werden sollen, wird die Hebbsche Lernregel auf jedes
Eingabe/Ausgabepaar angewendet und man erhält die Gewichtsmatrix
W = W1 + W2 + ... + Wm
(7.2)
Dabei ist die Matrix Wl die n  k-Korrelationsmatrix der Vektoren xl und yl, d.h.

W l  xil yil

nk
Wird der Vektor xp in das Netz eingegeben, dann ist der Vektor der Erregungen der Einheiten
xpW = x p ( W1  W 2    W m )
m
= x pW p 
x
p
Wl
l 1,l  p
= y p (x p  x p ) 
m
 y (x
l
l
xp)
l 1,l  p
Der Erregungsvektor ist gleich yp multipliziert mit einer positiven Konstanten plus einem zusätzlim
chen Perturbationsterm l 1,l  p y l (x l  x p ) , der Crosstalk („Nebengespräch“) genannt wird. Das
Netz erzeugt den Vektor yp als Ausgabe, wenn der Crosstalk Null ist. Das ist dann der Fall, wenn
die Eingabevektoren x1, x2, ..., xm paarweise orthogonal sind. Aber auch wenn der Crosstalk
ungleich Null ist, kann das Netz eine sinnvolle Ausgabe liefern. Er sollte nur ausreichend kleiner als
y p (x p  x p ) sein. Dann ist die Ausgabe des Netzes
m


sgn( x p W)  sgn  y p (x p  x p )   y l (x l  x p ) 
l 1,l  p


Da xpxp eine positive Konstante ist, gilt
m

(x l  x p ) 
sgn( x p W)  sgn  y p   y l p p 
(x  x ) 
l 1,l  p

Dieser Wert muss gleich yp sein um die gewünschte Ausgabe zu erhalten. Das ist der Fall, wenn alle
Komponenten des Ausdrucks
m

l 1,l  p
yl
(x l  x p )
(x p  x p )
kleiner als 1 sind. Das heißt, die skalaren Produkte x l  x p müssen klein sein im Vergleich zu der
quadratischen Länge des Vektors xp. Diese ist gleich n für n-dimensionale bipolare Vektoren.
Werden zufällig gewählte bipolare Vektoren mit ebenfalls zufällig gewählten bipolaren assoziiert,
dann ist die Wahrscheinlichkeit groß, dass sie fast paarweise orthogonal sind, so lange nicht allzu
viele gewählt werden. Dann ist der Crosstalk klein und das Hebbsche Lernen führt zu einer effizienten Menge von Gewichten für das assoziative Netz.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 63
Auch beim autoassoziativen Netz kann die Matrix W1 mit Hilfe des Hebbschen Lernens bestimmt
werden. Die Matrix ist definiert durch
W1  (x1 ) T x1
Sollen die m Zeilenvektoren x1, x2, ..., xm zu sich selbst assoziiert werden, dann ist die Gewichtsmatrix definiert durch
W = (x1 ) T x1  (x 2 ) T x 2    (x m ) T x m
= XTX
X ist dabei die m  n-Matrix, deren Zeilen die m gegebenen Vektoren sind. Die Matrix W ist jetzt
die Autokorrelationsmatrix für die Menge von m gegebenen Vektoren. Von W wird erwartet, dass
sie jeden der Vektoren x1, x2, ..., xm reproduzieren kann, d.h. es ist
sgn(xiW) = xi für i = 1, ..., m
oder alternativ
sgn(XW) = X
Die Funktion sgn(XW) ist ein nichtlinearer Operator. Aus der obigen Gleichung geht hervor, dass
die Vektoren x1, x2, ..., xm die Eigenvektoren dieses nichtlinearen Operators sind. Das Lernproblem
für autoassoziative Netze besteht in der Konstruktion der Matrix W, für die der nichtlineare Operator sgn(XW) die Vektoren x1, x2, ..., xm als Fixpunkte hat. Es handelt sich hier um eine Verallgemeinerung des Eigenvektorkonzepts auf nichtlineare Funktionen.
Der Zweck der autoassoziativen Netze ist verrauschte Eingabevektoren zu korrigieren. Vektoren die
in der Nähe gespeicherter Vektoren liegen, sollten von diesen angezogen werden. Ist W = XTX,
dann folgt aus obiger Gleichung
sgn(XXTX) = X
Wenn die Vektoren x1, x2, ..., xm paarweise orthogonal sind, dann ist XTX die Identitätsmatrix
multipliziert mit n, und damit ist die Gleichung erfüllt. Sind die Vektoren beinahe paarweise
orthogonal, dann ist XTX beinahe die Identitätsmatrix multipliziert mit n, und das autoassoziative
Netz funktioniert immer noch.
7.2.2. Geometrische Interpretation des Hebbschen Lernens
Die Matrizen W1, W2, ..., Wm in Gleichung (7.2) können geometrisch interpretiert werden. Dies
gibt eventuell einen Hinweis auf eine Verbesserung der Lernmethode. Man betrachte die Matrix
W1, die im autoassoziativen Fall definiert ist als
W1  (x1 ) T x1
Jeder Vektor z, der in das Netz eingegeben wird, wird in den linearen Teilraum L1 projiziert, der
durch den Vektor x1 aufgespannt wird, da
zW 1  z(x1 ) T x1  (z(x1 ) T )x1  c1x1
c1 ist eine Konstante. Die Matrix W1 repräsentiert im Allgemeinen einen nicht orthogonalen Projektionsoperator, der den Vektor z in L1 projiziert. Ähnlich können die Matrizen W2, ..., Wm interpre-
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 64
tiert werden. Deshalb ist die Matrix W  i 1 W i eine lineare Transformation, die einen Vektor z
m
in einen linearen Teilraum projiziert, der von den Vektoren x1, x2, ..., xm aufgespannt wird, da
zW = zW1 + zW2 + ... + zWm
= c1x1 + c2x2 + ... + cmxm
mit Konstanten c1, c2, ..., cm. Im Allgemeinen ist W keine orthogonale Projektion.
7.2.3. Netze als dynamische Systeme – einige Experimente
Im Folgenden wird untersucht, wie sich die Anziehungsgebiete verändern, wenn die Muster sukzessive mit Hilfe der Hebbschen Regel gelernt werden. Zur Messung der Größe eines Anziehungsgebiets wird die Hammingdistanz zwischen zwei bipolaren Vektoren als Metrik verwendet. Sie ist
genau die Anzahl verschiedener Komponenten in den beiden Vektoren. Tabelle 7.1 zeigt die Ergebnisse eines Experiments. Es wurden zehn 10-dimensionaleVektoren zufällig ausgewählt und in der
Gewichtsmatrix eines assoziativen Netzes durch Hebbsches Lernen gespeichert. Die Matrix wurde
iterativ für einen Vektor, zwei Vektoren usw. berechnet. Nach jeder Iteration wurde die Anzahl der
Vektoren mit Hammingdistanzen zwischen 0 und 4 (einschließlich), die vom Netz auf einen der
gespeicherten Vektoren abgebildet werden konnten, gezählt. Die Tabelle zeigt den Prozentsatz der
Vektoren, die in einem Durchlauf auf ein gespeichertes Muster abgebildet werden konnten. Die
Zahlen zeigen, dass jedes neu gespeicherte Muster die durchschnittliche Größe der Anziehungsgebiete verkleinert. Bei zehn gespeicherten Mustern werden z.B. nur noch 33% der Vektoren mit
Hammingdistanz 1 auf eines der Muster abgebildet.
Hammingdistanz
0
1
2
3
4
1
2
100.0 100.0
100.0 100.0
100.0 86.7
100.0 50.0
100.0
0.0
Zahl der gespeicherten Vektoren
3
4
5
6
7
8
9
10
100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
90.0 85.0 60.0 60.0 54.3 56.2 45.5 33.0
64.4 57.2 40.0 31.8 22.5 23.1 17.0 13.3
38.6 25.4 13.5
8.3
4.8
5.9
3.1
2.4
9.7
7.4
4.5
2.7
0.9
0.8
0.3
0.2
Tabelle 7.1
Die Werte von Tabelle 7.1 können mit einem rekurrenten Netz wie dem von Abbildung 7.3 verbessert werden. Der Operator sgn(xW) wird hier wiederholt verwendet. Konvergiert ein Eingabevektor
nicht gegen einen gespeicherten in einer Iteration, dann wird sein Bild immerhin in die Richtung
des Fixpunktes gedreht. Eine weitere Iteration kann dann zur Konvergenz führen. Beim Eigenvektorautomat bestand das Problem, dass bei der Iteration ein einzelner Vektor fast den ganzen Eingaberaum anzieht. Wegen des nichtlinearen Operators sgn(xW) ist das hier nicht der Fall. Einerseits
können mit ihm die gespeicherten Vektoren reproduziert werden, d.h. es ist sgn(xW) = x, andererseits wird durch die Nichtlinearität der Eingaberaum in Anziehungsgebiete der verschiedenen
gespeicherten Vektoren unterteilt. Tabelle 7.2 zeigt die Werte für ein autoassoziatives Netz mit fünf
Iterationen und bis zu sieben gespeicherten Vektoren.
Die Ergebnisse der Tabellen 7.1 und 7.2 können in Diagrammform dargestellt werden und dabei
miteinander verglichen werden, vgl. Abbildung 7.4. Die Werte sind dort ergänzt um Vektoren mit
Hammingdistanz 5 und die Diagramme sind jeweils für eine bestimmte Zahl gespeicherter Vektoren
dargestellt. Dabei stellen die durchgezogenen Linien die Prozentzahlen der richtig abgebildeten
Vektoren bei einer Iteration (Tabelle 7.1), die gestrichelten Linien die Prozentzahlen bei fünf
Iterationen (Tabelle 7.2) dar.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Hammingdistanz
0
1
2
3
4
Seite 65
Zahl der gespeicherten Vektoren
2
3
4
5
6
7
100.0 100.0 100.0 100.0 100.0 100.0
100.0 90.0 85.0 60.0 60.0 54.3
100.0 72.6 71.1 41.8 34.8 27.9
80.0 48.6 47.5 18.3 10.8
8.5
42.8 21.9 22.3
6.8
3.7
2.0
1
100.0
100.0
100.0
100.0
100.0
Tabelle 7.2
100
100
2 gespeicherte
Vektoren
80
60
60
40
40
20
20
0
3 gespeicherte
Vektoren
80
0
0
1
2
3
4
5
100
0
1
2
3
4
5
100
4 gespeicherte
Vektoren
80
60
60
40
40
20
20
0
5 gespeicherte
Vektoren
80
0
0
1
2
3
4
5
100
0
1
2
3
4
5
100
6 gespeicherte
Vektoren
80
60
60
40
40
20
20
0
7 gespeicherte
Vektoren
80
0
0
1
2
3
4
5
0
1
2
3
4
5
Abbildung 7.4
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
7.3.
Seite 66
Das Kapazitätsproblem
Der Crosstalk-Ausdruck für n-dimensionale bipolare Vektoren und m Muster im autoassoziativen
Fall ist
1 m l l p
 x (x  x )
n l 1, l  p
Wenn die betragsmäßige Größe dieses Ausdrucks größer als 1 ist, dann kann dieser Wert ein Bit
eines gespeicherten Musters kippen, wenn dieses entgegengesetztes Vorzeichen hat. Angenommen,
die gespeicherten Vektoren sind zufällig aus dem Eingaberaum ausgewählt worden. Dann ist der
Crosstalk-Ausdruck für das i-te Bit des Eingabevektors durch folgenden Ausdruck gegeben
1 m l l p
 x i (x  x )
n l 1, l  p
Dies ist eine Summe von (m –1)n bipolaren Bits. Die Komponenten der einzelnen Muster sind
zufällig gewählt worden, deshalb sind also rund mn Bits zufällig gewählt worden. Der Wert des
Ausdrucks wird also etwa 0 sein. Man kann zeigen, dass die Summe eine binomiale Verteilung hat,
und für große mn kann sie mit einer Normalverteilung angenähert werden. Die Standardabweichung der Verteilung ist   m / n . Die Fehlerwahrscheinlichkeit P, dass die Summe größer als 1
oder kleiner als –1 wird, ist durch die Fläche unter der Gaußschen Glockenkurve von 1 bis  oder
von –1 bis – gegeben, d.h.
P
1

e
2
 x 2 /( 2 2 )
dx
1
Setzt man die obere Schranke für einen Bitfehler auf 0.01, dann kann dieser Ausdruck ausgewertet
werden. Man erhält für das Verhältnis von m und n die Beziehung m  0.18n.
7.4.
Die Pseudoinverse
7.4.1. Definition und Eigenschaften der Pseudoinversen
x1, x2, ..., xm seien n-dimensionale Vektoren, die mit den k-dimensionalen Vektoren y1, y2, ..., ym
assoziiert sind. Die Matrix X sei die m  n-Matrix mit den Vektoren x1, x2, ..., xm als Zeilen. Die
Matrix Y ist die m  k-Matrix mit den Vektoren y1, y2, ..., ym als Zeilen. Gesucht ist eine
Gewichtsmatrix W, für die gilt:
XW = Y
Definition 7.1: Die Pseudoinverse einer reellen m  n-Matrix X ist die reelle Matrix X+ mit den
folgenden Eigenschaften:
(a) XX+X = X
(b) X+XX+ = X+
(c) X+X und XX+ sind symmetrisch
Satz 7.1: Sei X eine reelle m  n-Matrix und Y eine reelle m  k-Matrix. Die n  k-Matrix W =
X+Y minimiert die quadratische Norm der Matrix XW – Y.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 67
Die quadratische Norm E hat eine direkte Interpretation im Kontext des assoziativen Lernens. E =
||XW – Y||2 zu minimieren bedeutet die Summe der quadratischen Normen der Vektoren xiW – yi
zu minimieren. Dabei sind (xi, yi), i = 1, ..., m, die Vektorpaare, die miteinander assoziiert werden
sollen. Es gilt die Gleichung
xiW = yi + (xiW – yi)
Das gewünschte Ergebnis der Berechnung durch das Netz ist yi, deshalb repräsentiert der Ausdruck
xiW – yi die Abweichung von der idealen Situation, d.h. der Crosstalk im assoziativen Netz.
Schreibt man die quadratische Norm E in folgender Weise um
m
E   || x i W  y i || 2
i 1
dann wird deutlich, dass die Minimierung von E die Minimierung der Abweichung von der perfekten Reproduktion der gespeicherten Vektoren bedeutet. Die Pseudoinverse kann dazu benutzt
werden eine optimale Gewichtsmatrix W zu berechnen.
Tabelle 7.3 zeigt die Ergebnisse einer Berechnung der Gewichtsmatrix mit der Pseudoinversen aus
einem Experiment, das dem der Tabellen 7.1 und 7.2 ähnlich ist. Es wurde nur eine Iteration durchgeführt. Die Werte sind besser als die mit der Korrelationsmatrix bestimmten, aber ab fünf gespeicherten Vektoren werden sie schlechter. Ab dieser Anzahl ist offensichtlich die Kapazität des
Netzes erschöpft. Die Pseudoinverse ist insbesondere besser als das Hebbsche Lernen, wenn die
Vektoren korreliert sind.
Hammingdistanz
0
1
2
3
4
Zahl der gespeicherten Vektoren
1
2
3
4
5
6
7
100.0 100.0 100.0 100.0 100.0 100.0 100.0
100.0 100.0 90.0 85.0 50.0 50.0 30.0
100.0 86.7 77.8 60.0 22.7 10.4
1.3
100.0 50.8 40.8 30.4
3.2
0.0
0.0
100.0
1.9
7.6
8.6
0.0
0.0
0.0
Tabelle 7.3
7.4.2. Orthogonale Projektionen
Seien x1, x2, ..., xm m n-dimensionale Vektoren mit m < n. Sei ~x die orthogonale Projektion eines
beliebigen Eingabevektors x  0 in den von den m Vektoren aufgespannten Teilraum. Dann ist
x~
x  xˆ
wobei x̂ orthogonal zu den Vektoren x1, x2, ..., xm ist. Gesucht ist eine n  n-Matrix W so dass gilt
xW  ~
x
x muss für die Matrix W gelten
Wegen xˆ  x  ~
xˆ  x(I  W )
(7.4)
Sei X die m  n-Matrix mit den Vektoren x1, x2, ..., xm als Zeilen. Dann gilt für x̂
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 68
Xxˆ T  0
da x̂ orthogonal zu allen Vektoren x1, x2, ..., xm ist. Eine Lösung dieser Gleichung ist
xˆ T  (I  X  X)x T
denn mit diesem Wert gilt
Xxˆ T  X(I  X  X)x T  ( X  X)x T  0
Wegen der Symmetrie der Matrix I  X  X gilt
xˆ  x(I  X  X)
(7.5)
Aus den Gleichungen (7.4) und (7.5) folgt unmittelbar, dass W  X  X , weil die orthogonale Projektion x̂ eindeutig ist. Also ergibt sich insgesamt, dass die orthogonale Projektion eines Vektors
dadurch bestimmt werden kann, dass man ihn mit der Matrix X  X multipliziert.
Im Fall dass m > n, ist nur eine näherungsweise Lösung möglich. Die m n-dimensionalen Vektoren
x1, x2, ..., xm seien mit m reellen Zahlen y1, y2, ..., ym assoziiert. Sei X die Matrix mit x1, x2, ..., xm als
Zeilen und y = (y1, y2, ..., ym). Gesucht ist die n  1-Matrix W für die gilt
XW  y T
Es liegt also ein System von m Gleichungen mit n Variablen vor, für das es im Allgemeinen keine
exakte Lösung gibt. Die beste Näherungslösung ist durch W  X  y T gegeben, sie minimiert den
quadratischen Fehler || XW  y T || 2 . Deshalb ist die Lösung X  X T die gleiche wie die, die man
durch lineare Regression findet.
Zur Berechnung der Pseudoinversen gibt es verschiedene Algorithmen. Eine einfache Möglichkeit
zur Berechnung einer näherungsweisen Lösung ist ein Backpropagationnetz. In Abbildung 7.5 ist
ein solches Netz dargestellt.
wij
i
x1
x2
i 2
+
(o1 – y1 )
+
(o2 – y2 )
+
.
.
.
i 2
i
.
.
.
.
.
.
+
Ei
i
xn
+
i 2
(ok – yk )
Abbildung 7.5
Die Einheiten der ersten Schicht sind lineare Assoziatoren. Die Lernaufgabe besteht darin die
Gewichtsmatrix W mit Elementen wij zu bestimmen, die die beste Abbildung der Vektoren x1, x2,
..., xm auf die Vektoren y1, y2, ..., ym liefert. Das Netz wird wie in 7.5 dargestellt erweitert und durch
die zusätzlichen Einheiten wird der quadratische Fehler berechnet. Der gesamte quadratische Fehler
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 69
E  i 1 Ei ist die quadratische Norm der Matrix XW – Y. Durch Backpropagation kann die
m
Matrix W bestimmt werden, die den Ausdruck || XW – Y ||2 minimiert. Sind die Eingabevektoren
linear unabhängig und ist m < n, dann findet man eine Lösung mit dem Fehler Null. Ist m  n und Y
= I, dann kann das Netz von Abbildung 7.5 dazu benutzt werden, die Pseudoinverse X+ oder die
Inverse X1 (falls sie existiert) zu berechnen.
7.4.3. Holografische Speicher
Assoziative Netze können für Aufgaben der Mustererkennung eingesetzt werden. Die Idee kann an
Hand von Abbildung 7.6 veranschaulicht werden.
Schlüssel
erkanntes Muster
Schlüssel
erkanntes Muster
Abbildung 7.6
Es wird eine Menge von Gesichtern gescannt und pixelweise durch Vektoren kodiert. Ein weißer
Pixel wird mit einer 1 kodiert, ein schwarzes mit einer 1. Die Bilder werden in einem assoziativen
Netz gespeichert. Wird dann ein so genannter Schlüssel, d.h. eine unvollständige oder verrauschte
Version eines der gespeicherten Bilder in das Netz eingegeben, dann vervollständigt das Netz dieses
Bild und sucht dasjenige unter den gespeicherten, das dem eingegebenen Bild am ähnlichsten ist.
Dies ist der so genannte assoziative Aufruf.
Man kann ein solches assoziatives Netz auf einer gewöhnlichen Workstation implementieren. Wird
aber die Dimension der Bilder zu groß (z.B. 106 Pixel für ein 1000  1000-Bild), dann muss man
eine andere Computerarchitektur wählen. Eine solche sind die holografischen Speicher. Sie arbeiten
im Prinzip wie assoziative Netze, aber sie sind hochgradig parallel und nutzen optische Elmente.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
8.
8.1.
Seite 70
Das Hopfield-Modell
Synchrone und asynchrone Netze
8.1.1. Rekursive Netze mit stochastischer Dynamik
Die bisher benutzten Methoden um das Synchronisationsproblem zu umgehen, nämlich die Annahme der simultanen Operation aller Einheiten, haben aus Sicht der Biologie und der Physik einen
wesentlichen Nachteil: Es ist eine globale Information erforderlich, nämlich eine globale Zeit. In
herkömmlichen Computersystemen wird die Synchronisation zwischen den einzelnen Bauteilen
durch ein Taktsignal hergestellt, in biologischen Systemen gibt es ein solches Signal dagegen nicht.
Will man Neuronale Netze als biologische Modelle betrachten, dann muss man auf globale
Synchronisation verzichten.
Netze, in denen die rechnenden Einheiten zu unterschiedlichen Zeiten aktiviert werden und variablen Zeitbedarf für die Berechnung haben, sind stochastische Automaten. Derartige Netze verhalten
sich wie stochastische dynamische Systeme.
8.1.2. Der bidirektionale assoziative Speicher
w11
x1
y1
x2
y2
x3
y3
.
.
.
.
.
.
xn
yk
wnk
Abbildung 8.1
Das Netz von Abbildung 8.1 bildet einen n-dimensionalen Zeilenvektor x0 auf einen k-dimensionalen Zeilenvektor y0 ab. Die n  k-Gewichtsmatrix des Netzes wird mit W bezeichnet, damit kann
die Abbildung im ersten Schritt in folgender Weise notiert werden:
y 0  sgn( x 0 W)
Im nächsten Schritt wird die Richtung umgekehrt und es ergibt sich die Berechnung
x1T  sgn( Wy T0 )
Der nächste Schritt erfolgt wieder in der ursprünglichen Richtung und liefert
y1  sgn( x1W)
Nach m Iterationen hat das Netz eine Menge von m + 1 Vektorpaaren (x0, y0), ..., (xm, ym) berechnet,
die die Gleichungen
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 71
und
y i  sgn( x i W)
(8.1)
x iT1  sgn( Wy iT )
(8.2)
erfüllen. Ein Fixpunkt (x, y) der Berechnung ist erreicht, wenn gilt
y  sgn( xW)
und
x T  sgn( Wy T )
(8.3)
Der bidirektionale Assoziativspeicher (BAM) ist also eine Generalisierung des unidirektionalen
Assoziativspeichers. Ein Eingabevektor, d.h. ein Schlüssel, kann von links oder von rechts in das
Netz eingegeben werden und das BAM findet nach einigen Iterationen den komplementären
Vektor.
Aus (8.3) kann man ableiten, dass bei einem gegebenen Vektorpaar (x, y) das BAM mittels
Hebbschem Lernen dazu konditioniert werden kann, dieses Vektorpaar als Fixpunkt anzunehmen,
d.h. eine adäquate Matrix W zu berechnen. Ist W, wie beim Hebbschen Lernen vorgeschrieben,
definiert durch W = xTy, dann ist
y  sgn( xW)  sgn( xxT y)  sgn(|| x || 2 y)  y
also auch
x T  sgn( Wy T )  sgn( x T yy T )  sgn( x T || y || 2 )  x T
Will man mehrere Vektorpaare (x1, y1), ..., (xm, ym) in einem BAM speichern, dann funktioniert das
Hebbsche Lernen besser, wenn die Vektoren x1, ..., xm und y1, ..., ym paarweise orthogonal in ihrer
jeweiligen Gruppe sind, weil dann der Perturbationsterm vernachlässigbar wird. Die Matrix W
berechnet sich zu
W  x1T y 1  x T2 y 2   x Tm y m
8.1.3. Die Energiefunktion
Definition 8.1: Die Energiefunktion E eines BAM mit der Gewichtsmatrix W, in dem die Ausgabe yi
der rechten Schicht von Einheiten in der i-ten Iteration nach Gleichung (8.1) berechnet wird, und
die Ausgabe xi der linken Schicht nach Gleichung (8.2) berechnet wird, ist definiert durch
E (x i , y i )   12 x i Wy iT
Will man auch Einheiten mit einem Schwellenwert und der Schrittfunktion als Aktivierungsfunktion zulassen, dann muss man eine allgemeinere Definition der Energiefunktion verwenden. Zu
diesem Zweck werden die Eingabevektoren um eine zusätzliche konstante Komponente erweitert.
Der n-dimensionale Vektor x = (x1, ..., xn) wird in den Vektor (x1, ..., xn, 1) umgeformt,
entsprechend der k-dimensionale Vektor y. Die Gewichtsmatrix W wird zu der Matrix W‘ erweitert
mit einer zusätzlichen Zeile und Spalte. Die negativen Schwellenwerte der Einheiten in der rechten
Schicht von Einheiten des BAM sind in der (n + 1)-ten Zeile von W‘ enthalten, die negativen
Schwellenwerte der Einheiten in der linken Schicht des Netzes in der (k + 1)-ten Spalte von W‘.
Das Element (n +1, k + 1) der Gewichtsmatrix W‘ wird auf Null gesetzt. Diese Transformation
entspricht der Einführung einer zusätzlichen Einheit mit konstanter Ausgabe 1 in jeder Schicht. Das
Gewicht an den Kanten einer der konstanten Einheiten zu den anderen ist der negative Schwellenwert der jeweiligen Einheit. Die Energiefunktion dieses erweiterten Netzes hat die Form
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 72
E (x i , y i )   12 x i Wy iT  12  r y iT  12 x i lT
(8.4)
Der Zeilenvektor der Schwellenwerte der n Einheiten der linken Schicht wird mit l bezeichnet, der
Zeilenvektor der Schwellenwerte der k Einheiten der rechten Schicht mit r.
8.2.
Definition der Hopfield-Netze
8.2.1. Asynchrone Netze
In einem asynchronen Netz berechnet jede Einheit ihre Erregung an zufällig gewählten Zeitpunkten
und ändert ihren Zustand zu 1 oder –1 entsprechend dem Vorzeichen ihrer Gesamterregung und
unabhängig von den anderen Einheiten. Die Wahrscheinlichkeit, dass zwei Einheiten gleichzeitig
feuern, ist Null. Man kann die Sache auch so betrachten, dass man in einem Netz eine Einheit
zufällig auswählt, ihre Erregung berechnet und ihren Zustand entsprechend aktualisiert, das ergibt
die gleiche Dynamik. Es wird angenommen, dass es zwischen der Berechnung der Erregung und
der Aktualisierung des Zustands keine zeitliche Verzögerung gibt. Der Zustand wird nicht verändert, wenn die Gesamterregung Null ist. Dies wird dadurch erreicht, dass die Signumsfunktion für
den Wert Null als undefiniert angenommen wird.
Satz 8.1: Ein bidirektionaler Assoziativspeicher mit einer beliebigen Gewichtsmatrix W erreicht in
einer endlichen Anzahl von Iterationen mit synchronen oder asynchronen Aktualisierungen einen
stabilen Zustand.
8.2.2. Beispiele für Hopfield-Netze
Ein Hopfield-Netz besteht aus n vollständig miteinander verknüpften Einheiten, d.h. jede Einheit ist
mit allen anderen Einheiten verknüpft außer sich selbst. Das Netz ist symmetrisch, denn das
Gewicht wij der Verbindung von der Einheit i zur Einheit j ist gleich dem Gewicht wji der Verbindung von der Einheit j zur Einheit i. Man kann die Verbindung also auch als eine bidirektionale
interpretieren. Abbildung 8.2 zeigt ein Hopfield-Netz mit drei Einheiten. Jede Einheit kann die
Zustände 1 und –1 annehmen.
x1
Einheit 1
w13
w12
Einheit 2
x2
w23
x3
Einheit 3
Abbildung 8.2
Man kann ein Hopfield-Netz als ein asynchrones BAM auffassen, in dem die linke und rechte
Schicht zu einer einzigen Schicht zusammengefasst sind. Die Verbindungen in einem HopfieldNetz mit n Einheiten können durch eine n  n-Gewichtsmatrix W = {wij} mit Nullen in der Diagonale repräsentiert werden.
Die Symmetrie der Gewichtsmatrix und die Nulldiagonale sind notwendige Bedingungen für die
Konvergenz eines asynchronen, vollständig verknüpften Netzes gegen einen stabilen Zustand. Man
kann zeigen, dass sie auch hinreichende Bedingungen sind.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 73
Man kann den Einheiten des Hopfield-Netzes Schwellenwerte  ungleich Null zuweisen. Dann
nimmt jede Einheit, die für eine Zustandsaktualisierung ausgewählt wird, den Zustand 1 an, wenn
ihre Erregung größer als  ist, sonst den Zustand –1. Das ist aber genau die Aktivierungsregel für
Perzeptrone, deshalb kann man Hopfield-Netze auch als asynchrone, rekurrente Netze von Perzeptronen auffassen. Die Energiefunktion für Hopfield-Netze mit Schwellenwerten ungleich Null wird
ähnlich definiert wie die von BAMs. Der Vektor y in Gleichung (8.4) wird gleich x gesetzt und  =
l = r.
Definition 8.2: Sei W die Gewichtsmatrix eines Hopfield-Netzes mit n Einheiten und  der ndimensionale Zeilenvektor der Schwellenwerte der Einheiten. Die Energie E(x) eines Zustands x
des Netzes ist definiert durch
E (x)   12 xWx T  θx T
Die Energiefunktion eines Hopfield-Netzes ist eine quadratische Form. Ein Hopfield-Netz findet
immer ein lokales Minimum der Energiefunktion. Um ein Beispiel für eine solche Energiefunktion
zu sehen wird das Netz von Abbildung 8.3 betrachtet. Es besteht aus zwei Einheiten mit den
Schwellenwerten Null. Die einzigen stabilen Zustände des Netzes sind (1, –1) und (–1, 1). In jedem
anderen Zustand zwingt eine der Einheiten die andere ihren Zustand zu ändern, um das Netz zu
stabilisieren. Ein solches Netz ist ein Flip-Flop, d.h. eine logische Komponente mit zwei Ausgaben
von komplementären Werten.
0
1
0
Abbildung 8.3
Die Energiefunktion eines Flip-Flop mit den Gewichten w12 = w21 = –1 und zwei Einheiten mit
Schwellenwerten 0 ist definiert durch
E( x1 , x2 )  x1 x2
x1 und x2 bezeichnen die Zustände der ersten bzw. zweiten Einheit. Abbildung 8.4 zeigt den Verlauf
der Energiefunktion für die so genannten stetigen Hopfield-Modelle, in denen die Zustände der
Einheiten alle reellen Werte zwischen –1 und 1 annehmen können. Im Netz von Abbildung 8.3
kommen nur die vier diskreten Zustände (1, 1), (1, –1), (–1, 1) und (–1, –1) vor. Die Energiefunktion hat lokale Minima an den Zuständen (1, –1) und (–1, 1). Ein Flip-Flop kann deshalb als ein
Netz aufgefasst werden, das die Zustände (1, –1) oder (–1, 1) speichern kann.
Mit Hopfield-Netzen lassen sich auch logische Funktionen berechnen. Zum Beispiel kann man die
Konjunktion mit einem Netz aus drei Einheiten berechnen. Die Zustände von zwei der Einheiten
werden zu Beginn gesetzt und bleiben während der Berechnung fest, nur die dritte Einheit kann
ihren Zustand ändern. Wenn die Netzgewichte und die Schwellen der Einheiten die geeigneten
Werte haben, dann nimmt die variable Einheit die Konjunktion der Werte der anderen beiden
Einheiten an. Die Disjunktion lässt sich mit dem Netz von Abbildung 8.5 berechnen. Die Eingabe
für die Variablen x1 und x2 wird fixiert und nach einer gewissen Zeit nimmt das Netz einen Wert an,
der der Disjunktion von x1 und x2 entspricht. Die Werte wahr und falsch entsprechen den Werten 1
bzw. –1. Die Schwellenwerte und die Verbindung zwischen den beiden fixierten Einheiten spielen
in diesem Netz keine Rolle.
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 74
Abbildung 8.4
x1
Einheit 1
1
x2
Einheit 2
1
0.5
Einheit 3
Abbildung 8.5
8.2.3. Isomorphie zwischen Hopfield- und Ising-Modellen
Mit dem Ising-Modell können Systeme beschrieben werden, die aus Partikeln bestehen, von denen
jedes zwei Zustände annehmen kann. Bei ferromagnetischem Material z.B. können die Atome als
Partikel betrachtet werden, die entweder Spin ½ (up) oder Spin –½ (down) haben. Der Spin zeigt in
die Richtung des magnetischen Feldes. Alle Partikel interagieren miteinander. Dadurch werden
einige der Atome veranlasst, ihren Spin zu kippen, bis ein Gleichgewicht erreicht ist und die
gesamte Magnetisierung des Materials ein konstantes Niveau erreicht, das der Summe der einzelnen
Spins entspricht. Mit diesen Annahmen hat die Energiefunktion für das Ising-Modell die gleiche
Form wie die für die Hopfield-Netze.
Das gesamte magnetische Feld hi, das auf ein einzelnes Atom i in einer Menge von Partikeln wirkt,
ist die Summe der Felder, die durch jedes einzelne Atom und das externe Feld h* (sofern vorhanden) induziert wird:
n
hi   wij x j  h *
(8.5)
j 1
wij repräsentiert die Größe der magnetischen Kopplung zwischen den Atomen i und j. Die Kopplung ändert sich mit dem Abstand zwischen den Atomen und der magnetischen Durchlässigkeit der
Umgebung. Aus (8.5) lässt sich die potentielle Energie E eines bestimmten Zustands (x1, x2, ..., xn)
eines Ising-Materials ableiten zu
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 75
n
n
i , j 1
i 1
E   12  wij xi x j    h * xi
In paramagnetischen Materialien sind die Kopplungskonstanten wij gleich Null. In ferromagnetischen Materialien sind sie alle positiv, was zu einer signifikanten Kopplung der Spinzustände führt.
8.3.
Konvergenz bei Hopfield-Netzen
8.3.1. Die Dynamik von Hopfield-Netzen
Abbildung 8.6 zeigt ein Netz mit drei Einheiten und beliebig gewählten Gewichten und Schwellenwerten. Das Netz kann acht verschiedene Zustände annehmen. Die Übergänge zwischen den
Zuständen und die Werte der Energiefunktion an den Zuständen sind in Abbildung 8.7 dargestellt.
0.5
Einheit 2
1
1
Einheit 1
0.5
1
0.5
Einheit 3
Abbildung 8.6
Energie
1 1 1
3.5
3.0
2.5
2.0
1.5
1.0
0.5
1 1 1
111
1 1 1
1 1 1
1 1 1
1 1 1
0.0
0.5
1.0
1.5
2.0
2.5
1 1 1
stabiler Zustand
Abbildung 8.7
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 76
Die einzelnen Zustände sind in Abbildung 8.7 an der Stelle ihrer jeweiligen Energieniveaus
platziert. Die Pfeile zeigen die möglichen Übergänge. Jeder Übergang hat dieselbe Wahrscheinlichkeit, weil die Wahrscheinlichkeit, mit der eine Einheit für eine Zustandsaktualisierung ausgewählt
wird, für alle drei gleich ist, nämlich 1/3.
8.3.2. Konvergenzbeweis
Satz 8.2: Ein Hopfield-Netz mit n Einheiten und synchroner Dynamik, das in einem beliebigen
Zustand startet, erreicht schließlich einen stabilen Zustand an einem lokalen Minimum der Energiefunktion.
8.3.3. Hebbsches Lernen in Hopfield-Netzen
Zur Realisierung des Hebbschen Lernens werden m ausgewählte n-dimensionale stabile Zustände
x1, x2, ..., xm in das Netz eingegeben. Dabei werden die zunächst auf Null gesetzten Gewichte nach
jeder Eingabe gemäß der Regel
wij  wij  xik x kj
für i, j  1,, n und i  j
aktualisiert. x ik und x kj sind die i-te bzw. j-te Komponente des Vektors xk. Der einzige Unterschied
zu einem autoassoziativen Netz ist die Forderung einer Nulldiagonale. Nach Eingabe des ersten
Vektors x1 ist die Gewichtsmatrix durch
W1  x1T x1  I
gegeben, wobei I die n  n-Identitätsmatrix ist. Die Subtraktion der Identitätsmatrix garantiert, dass
die Diagonale von W Null wird, denn für jeden bipolaren Vektor xi gilt xik xik  1 . W1 ist offensichtlich symmetrisch. Ein Minimum der Energiefunktion liegt bei x1, denn es ist
E (x)   12 xW1 x T   12 (xx1T x1 x T  xx T )
und für bipolare Vektoren ist xxT = n. Deshalb hat die Energiefunktion
E (x)   12 || xx1T || 2  n2
ein lokales Minimum für x = x1, x1 ist ein stabiler Zustand und der Wert der Funktion ist
n2 n
E ( x)   
2 2
Liegen m verschiedene Vektoren x1, x2, ..., xm vor, dann ist die Matrix W definiert durch
W  (x1T x1  I)  (x T2 x 2  I)    (x Tm x m  I)
 x1T x1  x T2 x 2    x Tm x m  mI
Wird das Netz mit dem Vektor x1 initialisiert, dann ist der Vektor e der Erregungen der Einheiten
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 77
e  x1 W
 x1 x1T x1  x1 x T2 x 2    x1 x Tm x m  mx1I
m
 ( n  m) x 1    1 j x j
j 2
Die Konstanten 12, 13, ..., 1m stellen die skalaren Produkte des ersten Vektors mit jedem der
übrigen Vektoren x2, ..., xm dar. x1 ist ein stabiler Zustand, wenn m < n und der Perturbationsterm
m
 j 2 1 j x j klein ist. Ist dies der Fall, dann gilt sgn(e) = sgn(x1). Dasselbe Argument kann auf die
übrigen Vektoren angewendet werden. Die besten Ergebnisse werden mit Hebbschem Lernen
erzielt, wenn die Vektoren x1, x2, ..., xm orthogonal oder fast orthogonal sind, wie bei anderen
Assoziativspeichern.
8.4.
Äquivalenz des Hopfield- und Perzeptron-Lernens
8.4.1. Perzeptron-Lernen in Hopfield-Netzen
Die im Folgenden betrachteten Hopfield-Netze haben Einheiten mit Schwellenwerten ungleich Null
und der Schrittfunktion als Aktivierungsfunktion. Die Einheiten nehmen den Zustand 1 an, wenn
die Erregung größer als der Schwellenwert ist, andernfalls den Zustand –1.
Sei n die Anzahl der Einheiten in einem Hopfield-Netz, W = {wij} die n  n-Gewichtsmatrix und i
der Schwellenwert der i-ten Einheit. Soll ein Vektor x = (x1, ..., xn) in dem Netz gespeichert werden,
dann stellt er nur dann einen stabilen Zustand dar, wenn sich bei Eingabe von x in das Netz der
globale Zustand des Netzes nicht ändert. Das ist dann der Fall, wenn für jede Einheit die Differenz
von Erregung und Schwellenwert dasselbe Vorzeichen wie der aktuelle Zustand hat (ist die Differenz Null, wird ihr das Minuszeichen zugeordnet). Das bedeutet, dass die folgenden Ungleichungen
gelten müssen:
Für Einheit 1:
Für Einheit 2:
..
.
sgn(x1)( 0
+ x2w12 + x3w13 + ...
sgn(x2)( x1w21 + 0
+ x3w23 + ...
Für Einheit n:
sgn(xn)( x1wn1 + x2wn2 + ...
+ xnw1n  1) > 0
+ xnw2n  2) > 0
 2) > 0
+ xn-1wnn-1 + 0
Durch den Faktor sgn(xi) erhält man in allen Ungleichungen dieselbe Relation „>“. In den Ungleichungen kommen nur die n(n – 1)/2 Einträge ungleich Null aus der Gewichtsmatrix sowie die n
Schwellenwerte vor. Sei v ein Vektor der Dimension n + n(n – 1)/2 mit den Elementen wij der
Gewichtsmatrix mit Ausnahme der Diagonalelemente als Komponenten, wobei i < j, d.h. jedes
Gewicht kommt nur einmal vor, sowie den Schwellenwerten mit negativem Vorzeichen. v ist also
definiert durch
v  ( w12 , w13 , , w1n , w23 , w24 , , w2 n , , wn 1,n ,   1 , , n )
 
 
n 1
n2
n
1
Nun wird der Vektor x in n Hilfsvektoren z1, z2, ..., zn der Dimension n + n(n – 1)/2 umgeformt:
z 1  ( x2 , x3 ,, xn ,0,0,,1
,0
,
,0)




n 1
n
z 2  ( x1 ,0,,0, x3 ,, xn ,0,0,, 0
,1
,
,0)





 


n 1
Technische Universität Chemnitz
n2
n
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 78
..
.
z n  (0,0, , x1 , 0,0,, x 2 ,, xn , 0
,0, 
,1)
 

 

n 1
n2
1
n
Mit diesen Hilfsvektoren können die obigen Ungleichungen in folgender Weise umgeschrieben
werden:
Für Einheit 1:
Für Einheit 2:
..
.
Für Einheit n:
sgn(x1)z1v > 0
sgn(x2)z2v > 0
sgn(xn)znv > 0
Die letzte Menge von Ungleichungen zeigt, dass die Lösung des ursprünglichen Problems dadurch
gefunden werden kann, dass man eine lineare Trennung der Vektoren z1, z2, ..., zn berechnet. In den
positiven Halbraum gehören diejenigen Vektoren, für die sgn(xi) = 1, in den negativen Halbraum
diejenigen, für die sgn(xi) = 1. Dieses Problem kann also durch Perzeptron-Lernen gelöst werden.
Damit lässt sich der Vektor v der Gewichte berechnen, und aus ihm lässt sich die Gewichtsmatrix
W direkt ableiten.
Sollen m Vektoren x1, x2, ..., xm in einem Hopfield-Netz gespeichert werden, dann muss die obige
Konstruktion auf jeden von ihnen angewendet werden. Jeder Vektor xi wird in n Hilfsvektoren umgeformt, wodurch insgesamt nm Hilfsvektoren entstehen, die linear getrennt werden müssen. Sind
sie linear trennbar, dann findet das Perzeptron-Lernen eine Lösung, die in dem Vektor v repräsentiert ist.
8.4.2. Komplexität des Lernens in Hopfield-Netzen
Im Allgemeinen ist das Lernen in Neuronalen Netzen ein NP-vollständiges Problem. Es gibt aber
einige spezielle Netzarchitekturen, die in polynomieller Zeit trainiert werden können. Dazu gehören
auch die Perzeptrone. Für sie gibt es Algorithmen, deren Trainingszeit polynomiell mit der Anzahl
der zu lernenden Vektoren und ihrer Dimension wächst. In Abschnitt 8.4.1 wurde gezeigt, dass sich
m gewünschte Zustände eines Hopfield-Netzes in nm linear zu trennende Vektoren in polynomieller
Zeit umformen lassen. Die Trennung kann durch ein Perzeptron in polynomieller Zeit berechnet
werden, also lässt sich auch ein Hopfield-Netz in polynomieller Zeit trainieren.
In Kapitel 5 (Abschnitt 5.3) wurde gezeigt, welche oberen Grenzen für die Zahl der linear trennbaren Funktionen bestehen. Diese Zahl gilt in entsprechender Weise für Hopfield-Netze. Wird ein
Hopfield-Netz als Assoziativspeicher benutzt, dann lässt sich damit seine Speicherkapazität berechnen.
8.5.
Parallele Kombinatorik
8.5.1. NP-vollständige Probleme und massiver Parallelismus
Viele schwierige Probleme können in vernünftiger Zeit mit Multiprozessorarchitekturen und parallelen Algorithmen gelöst werden. Dabei ist es von entscheidender Bedeutung, dass sich die Probleme in unabhängige Teilprobleme zerlegen lassen, die den einzelnen Prozessoren zugeordnet
werden. Die Lösung des Gesamtproblems ergibt sich durch Zusammenfassung der Lösungen der
Teilprobleme. Leider lassen sich viele bekannte und wichtige Probleme nicht in dieser Weise
zerlegen. Bei einer Zerlegung in Teilprobleme müssen die parallelen Prozesse kooperieren und
Information austauschen und deshalb ist eine Synchronisation erforderlich. Wenn die SynchronisaTechnische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 79
tion zu viele Ressourcen und zu viel Zeit verbraucht, dann bringt die Parallelisierung keinen
Gewinn.
Hopfield-Netze benötigen keinerlei Synchronisation, sie garantieren aber trotzdem, dass ein lokales
Minimum der Energiefunktion erreicht wird. Lässt sich ein Optimierungsproblem in einer analytischen Form, die äquivalent zu einer Hopfield-Energiefunktion ist, schreiben, dann kann es mit
einem Hopfield-Netz gelöst werden. Jede Einheit des Netzes wird von einem kleinen Prozessor
simuliert. Die aktuellen Zustände der einzelnen Einheiten werden jeweils an die Nachbareinheiten
weiter gegeben und asynchron berechnet.
8.5.2. Das Multiflop-Problem
Gesucht ist ein binärer Vektor der Dimension n, dessen Komponenten alle Null sind mit nur einer
Ausnahme. Dieses Problem kann für n = 4 durch das Hopfield-Netz von Abbildung 8.8 gelöst
werden. Wird eine der Einheiten auf 1 gesetzt, dann hindert sie die anderen Einheiten durch die
Kanten mit Gewicht –2 daran, ebenfalls den Wert 1 anzunehmen. Wird das Netz in dem Zustand
gestartet, in dem alle Einheiten auf Null gesetzt sind, dann ist die Erregung jeder Einheit Null. Da
dieser Wert größer als der Schwellenwert ist, ändert die als erste ausgewählte Einheit ihren Wert zu
1. Danach kann keine andere Einheit mehr ihren Wert ändern und ein stabiler Zustand ist erreicht
worden. Das Netz stellt eine Verallgemeinerung des Flip-Flop-Netzes für zweidimensionale
Vektoren (Abbildung 8.3) dar.
2
2
1
2
2
1
1
2
1
2
Abbildung 8.8
Zur Bestimmung der Gewichte des Netzes stellt man die folgende Überlegung an. Seien x1, x2, ..., xn
die binären Zustände der einzelnen Einheiten. Die Aufgabe ist, eine Minimum der Energiefunktion
 n

E ( x1 ,, xn )    xi  1
 i 1

2
zu bestimmen. Die Funktion kann umgeschrieben werden in
n
n
n
i 1
i , j 1
i j
i 1
E  x1 ,, x n    xi2   xi x j  2 xi  1
Für binäre Zustände ist xi  xi2 , deshalb gilt
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 80
E x1 ,, x n  
n
n
i , j 1
i j
i 1
 x i x j  2 x i  1
  12
n
n
i , j 1
i j
i 1
  2xi x j    2xi  1
In der letzten Form ist der Ausdruck isomorph zu der Energiefunktion des Hopfield-Netzes von
Abbildung 8.8. Die Konstante 1 wird nicht berücksichtigt, da sie für die Aufgabe irrelevant ist.
8.5.3. Das n-Türme-Problem
Beim n-Türme-Problem müssen n Türme so auf einem n  n-Schachbrett positioniert werden, dass
sie sich gegenseitig nicht attackieren. Dazu muss jeder Turm auf einer anderen Reihe und Spalte als
die übrigen gesetzt werden. Das Problem kann als eine zweidimensionale Erweiterung des Multiflop-Problems betrachtet werden. Jede Reihe ist eine Kette von Zellen und nur eine von ihnen kann
auf 1 gesetzt werden, entsprechend jede Spalte. In Abbildung 8.9 ist ein Netz dargestellt, das dieses
Problem für ein 4  4-Brett löst.
2
2
1
2
2
1
1
2
1
2
1
2
2
1
1
1
1
1
1
1
1
1
2
1
2
1
Abbildung 8.9
Um die Gewichte des Netzes herzuleiten wird xij als Wert des Zustands der Einheit betrachtet, die
n
dem Quadrat ij im n  n-Brett entspricht. Die Zahl der Einsen in Spalte j ist i 1 xij . Da in jeder
Spalte nur eine 1 vorkommen darf, muss die folgende Funktion minimiert werden:
 n

E1 ( x11 ,, xnn )     xij  1
j 1  i 1

n
2
Das Minimum der Funktion beschreibt die Situation, in der genau ein Turm in jeder Spalte positioniert worden ist. Für die Spalten wird in entsprechender Weise die Funktion
 n

E2 ( x11 ,, xnn )     xij  1
i 1  j 1

n
Technische Universität Chemnitz
2
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 81
definiert. Die Funktion E = E1 + E2 soll minimiert werden. Dazu wird die analytische Form dieser
Funktion auf eine Hopfield-Form zurückgeführt.
8.5.4. Das Traveling-Salesman-Problem (TSP)
Beim TSP wird versucht einen Weg durch n Orte S1, S2, ..., Sn so zu bestimmen, dass jeder Ort
mindestens einmal besucht wird und die Länge des Rundwegs minimal ist. Sei dij die Entfernung
zwischen den Orten Si und Sj. Ein Rundweg kann mittels einer binären n  n-Matrix dargestellt
werden. Jede der n Zeilen entspricht einem Ort. Die n Spalten entsprechen den n Besuchen. In jeder
Zeile und jeder Spalte ist nur eine 1 erlaubt, andernfalls würde der Handlungsreisende einen Ort
zweimal besuchen oder zwei verschiedene Orte gleichzeitig.
Die Lösung des TSP verlangt die Minimierung der Länge des Rundwegs, also der folgenden
Funktion:
L
n
1
2
d
i , j , k 1
ij
xik x j ,k 1
xik repräsentiert den Zustand der Einheit, die dem Eintrag ik in der Matrix entspricht. Haben sowohl
xik als auch xj,k+1 den Wert 1, dann bedeutet das, dass der Ort Si im k-ten Schritt besucht worden ist
und der Ort Sj im (k + 1)-ten Schritt. Die Entfernung zwischen beiden Orten muss also zur gesamten
Länge des Rundwegs addiert werden. Die (n + 1)-te Spalte der Matrix wird gleich der ersten
gesetzt, so dass auf jeden Fall ein Rundweg entsteht.
Für die Minimierung muss zu der Energiefunktion des n-Türme-Problems noch die Weglänge L als
zusätzliches Constraint addiert werden. Damit ergibt sich die neue Energiefunktion zu
2
2
n  n
 
 n

  xij  1
E   d ij xik x j ,k 1 
   xij  1  

 
2  j 1  i 1
i , j , k 1
i 1  j 1
 

n
1
2
 
n
Durch die Konstante  kann gesteuert werden, wie viel Gewicht der Minimierung der Länge und
wie viel der Erzeugung zulässiger Wege gegeben wird. Der Ausdruck rechts vom Gleichheitszeichen hat die Form einer Hopfield-Energiefunktion, deshalb können aus ihm die Gewichte für das
Netz abgeleitet werden. Zunächst werden die Gewichte der Kanten zwischen Einheiten in derselben
Reihe oder Spalte auf  gesetzt, die der übrigen Kanten auf 0. Die Schwellenwerte der Einheiten
werden auf /2 gesetzt. Nun müssen die Kantengewichte noch durch die Länge zwischen den
Orten modifiziert werden. Das Gewicht der Kante zwischen den Einheiten ik und j,k+1 wird
dadurch zu
wik , jk 1  d ij  t ik , jk 1
wobei t ik , jk 1   , wenn die beiden Einheiten zur selben Reihe oder Spalte gehören, sonst
t ik , jk 1  0 .
8.5.5. Die Grenzen von Hopfield-Netzen
Ist ein Problem in der Klasse P enthalten, dann auch das zu ihm komplementäre Problem. Zum
Beispiel ist das Komplement des Entscheidungsproblems „Ist X wahr für das Problem I?“ das
Problem „Ist X falsch für das Problem I?“. Gibt es einen deterministischen Algorithmus, der das
Problem in polynomieller Zeit entscheidet, dann entscheidet er auch das komplementäre Problem in
Technische Universität Chemnitz
Sommersemester 2006
Konnektionistische Wissensverarbeitung
Seite 82
polynomieller Zeit, man braucht nur „wahr“ und „falsch“ zu vertauschen. Für Probleme aus NP
verhält es sich aber nicht notwendigerweise so. Ein Beispiel ist das Traveling Salesman Decision
Problem (TSDP). Bei ihm wird die Länge einer Tour berechnet und mit einem vorgegebenen
Schwellenwert verglichen. Dies ist in polynomieller Zeit möglich. Das Komplement des Problems
lautet: „Gibt es keine Tour mit einer Länge kleiner als R?“ Falls die Antwort „Ja“ ist, ist kein
Algorithmus bekannt, der die Antwort in polynomieller Zeit ermitteln kann. Man nimmt an, dass
das Komplement des TSDP wahrscheinlich nicht zur Klasse NP gehört. Die Klasse der zu Problemen aus NP komplementären Probleme heißt co-NP. Es wird allgemein angenommen, dass NP 
co-NP. Das impliziert, dass P  NP, denn andernfalls wäre co-P = co-NP = P = NP und damit coNP = NP. Theoretiker erwarten, dass irgendwann NP  co-NP beweisen wird.
Lemma 8.1: Wenn es ein NP-vollständiges Problem X gibt, dessen Komplement Xc zu NP gehört,
dann ist NP = co-NP.
Satz 8.3: Sei L ein NP-vollständiges Entscheidungsproblem und H ein Hopfield-Netz, dessen Zahl
der Gewichte polynomiell in Abhängigkeit von der Größe des Problems beschränkt ist. Wenn H L
mit hundertprozentiger Sicherheit lösen kann, dann gilt NP = co-NP.
Technische Universität Chemnitz
Sommersemester 2006
Herunterladen