Théorie de la résonance adaptative

Ce réseau a été développé par Stephen Grossberg et Gail Carpenter en 1987. Il est basé sur la concurrence et utilise un modèle d'apprentissage non supervisé. Les réseaux de la théorie de la résonance adaptative (ART), comme leur nom l'indique, sont toujours ouverts à de nouveaux apprentissages (adaptatifs) sans perdre les anciens modèles (résonance). Fondamentalement, le réseau ART est un classificateur vectoriel qui accepte un vecteur d'entrée et le classe dans l'une des catégories en fonction du motif stocké auquel il ressemble le plus.

Directeur d'exploitation

L'opération principale de la classification ART peut être divisée en les phases suivantes -

  • Recognition phase- Le vecteur d'entrée est comparé à la classification présentée à chaque nœud de la couche de sortie. La sortie du neurone devient «1» si elle correspond le mieux à la classification appliquée, sinon elle devient «0».

  • Comparison phase- Dans cette phase, une comparaison du vecteur d'entrée avec le vecteur de couche de comparaison est effectuée. La condition pour la réinitialisation est que le degré de similitude soit inférieur au paramètre de vigilance.

  • Search phase- Dans cette phase, le réseau recherchera la réinitialisation ainsi que la correspondance effectuée dans les phases ci-dessus. Par conséquent, s'il n'y a pas de réinitialisation et que le match est assez bon, le classement est terminé. Sinon, le processus serait répété et l'autre modèle stocké doit être envoyé pour trouver la correspondance correcte.

ART1

C'est un type d'ART conçu pour regrouper les vecteurs binaires. Nous pouvons comprendre cela avec l'architecture de celui-ci.

Architecture d'ART1

Il se compose des deux unités suivantes -

Computational Unit - Il est composé des éléments suivants -

  • Input unit (F1 layer) - Il comporte en outre les deux parties suivantes -

    • F1(a) layer (Input portion)- Dans ART1, il n'y aurait pas de traitement dans cette partie plutôt que d'avoir uniquement les vecteurs d'entrée. Il est connecté à la couche F 1 (b) (partie d'interface).

    • F1(b) layer (Interface portion)- Cette partie combine le signal de la partie d'entrée avec celui de la couche F 2 . La couche F 1 (b) est connectée à la couche F 2 par des poids de bas en hautbijet la couche F 2 est connectée à la couche F 1 (b) par des poids de haut en bastji.

  • Cluster Unit (F2 layer)- C'est une couche compétitive. L'unité ayant la plus grande entrée nette est sélectionnée pour apprendre le modèle d'entrée. L'activation de toutes les autres unités de cluster est définie sur 0.

  • Reset Mechanism- Le travail de ce mécanisme est basé sur la similitude entre le poids descendant et le vecteur d'entrée. Maintenant, si le degré de cette similitude est inférieur au paramètre de vigilance, alors le cluster n'est pas autorisé à apprendre le modèle et un repos se produirait.

Supplement Unit - En fait, le problème avec le mécanisme de réinitialisation est que la couche F2doit être inhibé dans certaines conditions et doit également être disponible lorsqu'un apprentissage se produit. C'est pourquoi deux unités supplémentaires à savoir,G1 et G2 est ajouté avec l'unité de réinitialisation, R. Ils s'appellentgain control units. Ces unités reçoivent et envoient des signaux aux autres unités présentes dans le réseau.‘+’ indique un signal excitateur, tandis que ‘−’ indique un signal inhibiteur.

Paramètres utilisés

Les paramètres suivants sont utilisés -

  • n - Nombre de composants dans le vecteur d'entrée

  • m - Nombre maximum de clusters pouvant être formés

  • bij- Poids de la couche F 1 (b) à F 2 , c.-à-d. Poids ascendant

  • tji- Poids de la couche F 2 à F 1 (b), c'est-à-dire poids de haut en bas

  • ρ - Paramètre de vigilance

  • ||x|| - Norme du vecteur x

Algorithme

Step 1 - Initialisez le taux d'apprentissage, le paramètre de vigilance et les poids comme suit -

$$ \ alpha \:> \: 1 \: \: et \: \: 0 \: <\ rho \: \ leq \: 1 $$

$$ 0 \: <\: b_ {ij} (0) \: <\: \ frac {\ alpha} {\ alpha \: - \: 1 \: + \: n} \: \: et \: \: t_ {ij} (0) \: = \: 1 $$

Step 2 - Continuez l'étape 3-9, lorsque la condition d'arrêt n'est pas vraie.

Step 3 - Continuez l'étape 4-6 pour chaque entrée d'entraînement.

Step 4- Réglez les activations de toutes les unités F 1 (a) et F 1 comme suit

F2 = 0 and F1(a) = input vectors

Step 5- Le signal d'entrée de la couche F 1 (a) à F 1 (b) doit être envoyé comme

$$ s_ {i} \: = \: x_ {i} $$

Step 6- Pour chaque nœud F 2 inhibé

$ y_ {j} \: = \: \ sum_i b_ {ij} x_ {i} $ la condition est yj ≠ -1

Step 7 - Exécutez les étapes 8 à 10, lorsque la réinitialisation est vraie.

Step 8 - Trouver J pour yJ ≥ yj pour tous les nœuds j

Step 9- Calculez à nouveau l'activation sur F 1 (b) comme suit

$$ x_ {i} \: = \: sitJi $$

Step 10 - Maintenant, après avoir calculé la norme du vecteur x et vecteur s, nous devons vérifier la condition de réinitialisation comme suit -

Si ||x||/ ||s|| <paramètre de vigilance ρ, Puis⁡inhiber le nœud J et passez à l'étape 7

Sinon si ||x||/ ||s|| ≥ paramètre de vigilance ρ, puis continuez.

Step 11 - Mise à jour du poids pour le nœud J peut être fait comme suit -

$$ b_ {ij} (nouveau) \: = \: \ frac {\ alpha x_ {i}} {\ alpha \: - \: 1 \: + \: || x ||} $$

$$ t_ {ij} (nouveau) \: = \: x_ {i} $$

Step 12 - La condition d'arrêt de l'algorithme doit être vérifiée et elle peut être la suivante -

  • N'ayez aucun changement de poids.
  • La réinitialisation n'est pas effectuée pour les unités.
  • Nombre maximum d'époques atteint.