Art-Netze


Die Netze der Adaptiven Resonanz Theorie (ART) sind wie die Kohohen-Netze selbstorganisierend. Sie definieren eine ganze Klasse verschiedener Ansätze. Wichtige Namen in diesem Zusammenhang sind Carpenter und Grossberg. Es besteht der Wunsch, neuronale Netze in Realzeitanwendungen einzusetzen. Dort sollen sie dann dauerhaft funktionieren. Das Problem in der realen Welt ist, daß die Umgebung sich laufend ändert. Für das neuronale Netz bedeutet dies, daß die Daten nicht stabil und vollständig sind. Dieses führt zum sogenannten Plastizitäts-Stabilität-Dilemma. Da in der realen Umgebung Daten hinzukommen müssen diese neuen Daten gelernt werden können (Plastizität). Dabei sollen jedoch die bereits gelernten Daten nicht überdeckt werden (Stabilität). Das Lernen neuer Daten sollte dann auch noch möglichst schnell erfolgen. Dieses Problem wird durch die Klasse der Art-netze gelöst.
die Klasse der Art-Netze

Versucht man das Backpropagation-Verfahren in einer dynamischen Umgebung einzusetzen, treten eine Reihe von Problemen auf. Soll mittels Backpropagation ein neues Muster gelernt werden, muß im günstigsten Fall nur das Netz neu trainiert werden. Reicht die Klassifikationsleistung des Netzes nicht mehr aus, also übersteigt die Anzahl der Trainingsdaten die Fähigkeiten des Netzes, so muß die Topologie des Netzes geändert werden und alle Daten neu gelernt werden. Auch bei Hinzukommen einer neuen Ausgabeklasse ist eine Topologieänderung notwendig. Das Ändern der Topoplogie und das sich daran anschließende Neulernen braucht Zeit und ist daher für Realzeitanwendungen ungeeignet.

ART-1_Netze


Abbildung : Ein ART-1-Netz
Initialisierung
Die Gewichte der reellwertigen buttom-up-Matrix werden alle mit dem gleichen kleinen Wert initialisiert:
Anfangsgewichte
Die Konstante L ist eine Zahl > 1. m ist die Anzahl der Neurone der Vergleichschicht. Es wird ein Toleranzparameter p aus [0,1] definiert. Dieser steuert die Genauigkeit der Klassenbildung. Ist p=0, wso werden alle Vektoren auf die gleiche Klasse abgebildet. Ist p jedoch 1, wird für jeden Eingabevektor eine eigene Ausgabeklasse erzeugt. Die Geiwchte der binären top-down-Matrix werden alle mit 1 initialisiert. Arbeitsweise Zu Beginn einer Berechnung werden alle Neuron der Erkennungsschiht auf 0 gesetzt. Die Ausgabe der Erkennungschicht ist mit dem Vektor U bezeichnet. Da der Erwartungsvektor V gleich dem Produkt aus U mit der binären Matrix ist, wird also gleichzeitig der Erwartungsvektor V auf den Nullvektor gesetzt. Somit ist der Verstärkungswert g2 = 0, da dieser das logische Oder der Komponenten des Erwartungsvektors V implementiert. g1 hat genau dann den Wert 1, wenn kein Neuron in der Erkennungsschicht gefeuert hat. und mindestens eine Komponente der Eingabe eine 1 aufweist. Somit ist g1 zu Beginn einer Berechnung 1, wenn die Eingabe nicht dem Nullvektor entspricht. Nun wird die Eingabe mittels der sogenannten 2/3-Regeln in der Vergleichsschicht F1 zum Vektor S modifiziert. Diese Regel sagt aus, das eine Komponente von S genau dort eine 1 bekommt, wo mindestens zwei der drei folgenden Komponenten eine 1 haben : Da ja der Erwartungsvektor mit Null initialisiert wurde und daher g1 nur dann Null ist, wenn die Eingabe dem Nullvektor entspricht, ist S zu Beginn einer Berechnung die unveränderte Eingabe. Es wird nun die Klasse herausgesucht, deren Gewichtsvektor mit der Eingabe das größte Skalarprodukt bildet. Somit ist in einem ART-1-Netz das Skalarprodukt ein Zeichen für die Ähnlichkeit.
Formel : Index mit maximalem Skalarprodukt
Da dies nichts weiter ist, als die gewichtete Summe der Eingabe gewinnt das Neuron mit der größten Ausgabe. Dieses Neuron bekommt als Ausgabe eine 1, alle anderen werden auf Null gesetzt. Also enthält der Vektor U (Ausgabe der Erkennungsschicht) genau an der Stelle eine 1, an der sich das Gewinnerneuron befindet. Da der Erwartungsvektor V immer noch das Produkt aus U und der binären Matrix ist, entspricht V somit der j-ten zeile dieser Matrix, wenn j der Index des Gewinnerneurons ist.

Dadurch gilt nun, das g1 nicht mehr Eins ist, da ein Neuron in der Erkennungsschicht gefeuert hat. Dadurch entspricht S nun gemäß der 2/3-regel dem komponentenweisen AND von Erwartungsvektor V und Eingabe I .
Die Reset-Komponente berechnet nun den Quotient aus der Anzahl der 1sen von S und der Anzahl der 1_en der Eingabe I. Dieser Quotient 'sim' dient als Maß für die Ähnlichkeit zwischen erkanntem und angelegten Vektor. Ist sim größer als der Toleranzparameter p, so gilt die Eingabe als erkannt und die Gewichte werden modifiziert (siehe später). Ist dies nicht der Fall, beginnt die Erkennung von neuem. Die Resetkomponente blockiert das aktuelle Gewinnerneuron in der Erkennungsschicht. Dadurch sind wieder alle Neurone der Erkennungsschiht auf Null gesetzt. Da jedoch die Resetkomponente alle Neurone in der Erkennungsschicht blockiert, die auf der Suche nach der richtigen Klasse bereits aktiv waren, wird ein anderes Neuron feuern. Diese Suche wird solange wiederholt, bis eine entsprechende Klasse gefunden ist oder alle Neuronen der Erkennungsschicht blockiert wurden.
Im zweiten Fall wird in der Erkennungsschicht eine neue Klasse gebildet. Die Gewichte der reellwertigen Matrix werden so eingestellt, daß sie für die Eingabe das maximale Skalarprodukt bilden. Die Gewichte der binären matrix werden auf die Eingabe gesetzt.
Wir eine Klasse gefunden, die ähnlich genug zur Eingabe ist, werden die Gewichte von der reellwertigenb Matrix wie folgt angepaßt :
Gewichtsmodifikation
L ist die gleiche Konstante wie bei der Initialisierung und j ist der Index der zugeordneten Klasse. Die Gewichte der binären matrix werden wie folgt angepaßt :
Gewichtsmodifikation