Assoziiertes Speichernetzwerk

Diese Arten von neuronalen Netzen arbeiten auf der Basis der Musterassoziation, was bedeutet, dass sie verschiedene Muster speichern können und zum Zeitpunkt der Ausgabe eine der gespeicherten Muster erzeugen können, indem sie sie mit dem gegebenen Eingabemuster abgleichen. Diese Arten von Erinnerungen werden auch genanntContent-Addressable Memory(NOCKEN). Der assoziative Speicher führt eine parallele Suche mit den gespeicherten Mustern als Datendateien durch.

Im Folgenden sind die beiden Arten von assoziativen Erinnerungen aufgeführt, die wir beobachten können:

  • Autoassoziativer Speicher
  • Heteroassoziatives Gedächtnis

Autoassoziativer Speicher

Dies ist ein einschichtiges neuronales Netzwerk, in dem der Eingabe-Trainingsvektor und die Ausgabe-Zielvektoren gleich sind. Die Gewichte werden so bestimmt, dass das Netzwerk eine Reihe von Mustern speichert.

Die Architektur

Wie in der folgenden Abbildung gezeigt, hat die Architektur des Auto Associative Memory Network ‘n’ Anzahl der eingegebenen Trainingsvektoren und ähnliches ‘n’ Anzahl der Ausgabezielvektoren.

Trainingsalgorithmus

Für das Training verwendet dieses Netzwerk die Hebb- oder Delta-Lernregel.

Step 1 - Initialisieren Sie alle Gewichte auf Null als wij = 0 (i = 1 to n, j = 1 to n)

Step 2 - Führen Sie die Schritte 3-4 für jeden Eingabevektor aus.

Step 3 - Aktivieren Sie jede Eingabeeinheit wie folgt: -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: bis \: n) $$

Step 4 - Aktivieren Sie jede Ausgabeeinheit wie folgt: -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: bis \: n) $$

Step 5 - Stellen Sie die Gewichte wie folgt ein -

$$ w_ {ij} (neu) \: = \: w_ {ij} (alt) \: + \: x_ {i} y_ {j} $$

Testalgorithmus

Step 1 - Stellen Sie die Gewichte ein, die während des Trainings für Hebbs Regel erhalten wurden.

Step 2 - Führen Sie die Schritte 3 bis 5 für jeden Eingabevektor aus.

Step 3 - Stellen Sie die Aktivierung der Eingabeeinheiten gleich der des Eingabevektors ein.

Step 4 - Berechnen Sie den Nettoeingang für jede Ausgabeeinheit j = 1 to n

$$ y_ {inj} \: = \: \ displaystyle \ sum \ limit_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Wenden Sie die folgende Aktivierungsfunktion an, um die Ausgabe zu berechnen

$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {case} +1 & if \: y_ {inj} \:> \: 0 \\ - 1 & if \: y_ {inj} \: \ leqslant \: 0 \ end {case} $$

Heteroassoziatives Gedächtnis

Ähnlich wie beim Auto Associative Memory-Netzwerk handelt es sich auch hier um ein einschichtiges neuronales Netzwerk. In diesem Netzwerk sind jedoch der Eingabe-Trainingsvektor und die Ausgabe-Zielvektoren nicht gleich. Die Gewichte werden so bestimmt, dass das Netzwerk eine Reihe von Mustern speichert. Das heteroassoziative Netzwerk ist statischer Natur, daher würde es keine nichtlinearen Operationen und Verzögerungsoperationen geben.

Die Architektur

Wie in der folgenden Abbildung gezeigt, hat die Architektur des Hetero Associative Memory-Netzwerks ‘n’ Anzahl der eingegebenen Trainingsvektoren und ‘m’ Anzahl der Ausgabezielvektoren.

Trainingsalgorithmus

Für das Training verwendet dieses Netzwerk die Hebb- oder Delta-Lernregel.

Step 1 - Initialisieren Sie alle Gewichte auf Null als wij = 0 (i = 1 to n, j = 1 to m)

Step 2 - Führen Sie die Schritte 3-4 für jeden Eingabevektor aus.

Step 3 - Aktivieren Sie jede Eingabeeinheit wie folgt: -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: bis \: n) $$

Step 4 - Aktivieren Sie jede Ausgabeeinheit wie folgt: -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: bis \: m) $$

Step 5 - Stellen Sie die Gewichte wie folgt ein -

$$ w_ {ij} (neu) \: = \: w_ {ij} (alt) \: + \: x_ {i} y_ {j} $$

Testalgorithmus

Step 1 - Stellen Sie die Gewichte ein, die während des Trainings für Hebbs Regel erhalten wurden.

Step 2 - Führen Sie die Schritte 3 bis 5 für jeden Eingabevektor aus.

Step 3 - Stellen Sie die Aktivierung der Eingabeeinheiten gleich der des Eingabevektors ein.

Step 4 - Berechnen Sie den Nettoeingang für jede Ausgabeeinheit j = 1 to m;

$$ y_ {inj} \: = \: \ displaystyle \ sum \ limit_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Wenden Sie die folgende Aktivierungsfunktion an, um die Ausgabe zu berechnen

$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {case} +1 & if \: y_ {inj} \:> \: 0 \\ 0 & if \ : y_ {inj} \: = \: 0 \\ - 1 & if \: y_ {inj} \: <\: 0 \ end {case} $$