Associer le réseau de mémoire
Ces types de réseaux de neurones fonctionnent sur la base d'une association de modèles, ce qui signifie qu'ils peuvent stocker différents modèles et, au moment de donner une sortie, ils peuvent produire l'un des modèles stockés en les faisant correspondre avec le modèle d'entrée donné. Ces types de souvenirs sont également appelésContent-Addressable Memory(CAME). La mémoire associative effectue une recherche parallèle avec les modèles stockés sous forme de fichiers de données.
Voici les deux types de mémoires associatives que nous pouvons observer -
- Mémoire associative automatique
- Mémoire associative hétéro
Mémoire associative automatique
Il s'agit d'un réseau neuronal à couche unique dans lequel le vecteur d'apprentissage d'entrée et les vecteurs cibles de sortie sont les mêmes. Les poids sont déterminés de sorte que le réseau stocke un ensemble de modèles.
Architecture
Comme le montre la figure suivante, l'architecture du réseau de mémoire auto-associative a ‘n’ nombre de vecteurs de formation d'entrée et similaires ‘n’ nombre de vecteurs cibles de sortie.
Algorithme de formation
Pour la formation, ce réseau utilise la règle d'apprentissage Hebb ou Delta.
Step 1 - Initialisez tous les poids à zéro comme wij = 0 (i = 1 to n, j = 1 to n)
Step 2 - Exécutez les étapes 3-4 pour chaque vecteur d'entrée.
Step 3 - Activez chaque unité d'entrée comme suit -
$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: à \: n) $$
Step 4 - Activez chaque unité de sortie comme suit -
$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: à \: n) $$
Step 5 - Ajustez les poids comme suit -
$$ w_ {ij} (nouveau) \: = \: w_ {ij} (ancien) \: + \: x_ {i} y_ {j} $$
Algorithme de test
Step 1 - Réglez les poids obtenus lors de la formation pour la règle de Hebb.
Step 2 - Exécutez les étapes 3 à 5 pour chaque vecteur d'entrée.
Step 3 - Réglez l'activation des unités d'entrée égale à celle du vecteur d'entrée.
Step 4 - Calculez l'entrée nette de chaque unité de sortie j = 1 to n
$$ y_ {inj} \: = \: \ displaystyle \ sum \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$
Step 5 - Appliquer la fonction d'activation suivante pour calculer la sortie
$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {cases} +1 & if \: y_ {inj} \:> \: 0 \\ - 1 & if \: y_ {inj} \: \ leqslant \: 0 \ end {cases} $$
Mémoire associative hétéro
Semblable au réseau de mémoire associative automatique, il s'agit également d'un réseau neuronal monocouche. Cependant, dans ce réseau, le vecteur d'apprentissage d'entrée et les vecteurs cibles de sortie ne sont pas les mêmes. Les poids sont déterminés de sorte que le réseau stocke un ensemble de modèles. Le réseau hétéro associatif est de nature statique, par conséquent, il n'y aurait pas d'opérations non linéaires et de retard.
Architecture
Comme le montre la figure suivante, l'architecture du réseau de mémoire associative hétéro ‘n’ nombre de vecteurs d'apprentissage d'entrée et ‘m’ nombre de vecteurs cibles de sortie.
Algorithme de formation
Pour la formation, ce réseau utilise la règle d'apprentissage Hebb ou Delta.
Step 1 - Initialisez tous les poids à zéro comme wij = 0 (i = 1 to n, j = 1 to m)
Step 2 - Exécutez les étapes 3-4 pour chaque vecteur d'entrée.
Step 3 - Activez chaque unité d'entrée comme suit -
$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: à \: n) $$
Step 4 - Activez chaque unité de sortie comme suit -
$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: à \: m) $$
Step 5 - Ajustez les poids comme suit -
$$ w_ {ij} (nouveau) \: = \: w_ {ij} (ancien) \: + \: x_ {i} y_ {j} $$
Algorithme de test
Step 1 - Réglez les poids obtenus lors de la formation pour la règle de Hebb.
Step 2 - Exécutez les étapes 3 à 5 pour chaque vecteur d'entrée.
Step 3 - Réglez l'activation des unités d'entrée égale à celle du vecteur d'entrée.
Step 4 - Calculez l'entrée nette de chaque unité de sortie j = 1 to m;
$$ y_ {inj} \: = \: \ displaystyle \ sum \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$
Step 5 - Appliquer la fonction d'activation suivante pour calculer la sortie
$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {cases} +1 & if \: y_ {inj} \:> \: 0 \\ 0 & if \ : y_ {inj} \: = \: 0 \\ - 1 & if \: y_ {inj} \: <\: 0 \ end {cases} $$