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 = 11x1 + 22x2 + ... + nnxn Nach t Iterationen ist das Ergebnis at = 11tx1 + 22tx2 + ... + nntxn 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 nk 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 xpxp 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 mn 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 mn 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 X1 (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 iT1 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 n2 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 n2 n Sommersemester 2006 Konnektionistische Wissensverarbeitung Seite 78 .. . z n (0,0, , x1 , 0,0,, x 2 ,, xn , 0 ,0, ,1) n 1 n2 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)z1v > 0 sgn(x2)z2v > 0 sgn(xn)znv > 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 nm 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 2xi x j 2xi 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