next up previous contents
Next: Agents Up: Réseau de Concepts Previous: Les liens.

Propagation d'activation

  Pour rendre ce modèle dynamique, il suffit de propager l'activation entre les noeuds à travers les liens pondérés. Par exemple, la figure 3.8 montre le résultat de la propagation de l'activation dans le réseau déjà présenté à la figure 3.7.


  
Figure: État du Réseau de Concepts après propagation de l'activation.
État du Réseau de Concepts après propagation de l'activation.

L'activation Ait+1 d'un noeud i à l'instant t+1, après propagation, s'exprime comme la somme de son ancienne activation Ait et de l'influence des autres noeuds Ii moins une certaine désactivation Di.  

Les deux processus se retrouvent dans les réseaux de neurones. La raison d'être de la désactivation est d'empêcher une saturation trop rapide du réseau. De plus, il faut considérer aussi le fait qu'un noeud qui a été activé à un moment donné n'est plus forcément pertinent plus tard. La désactivation est là pour assurer que les noeuds actifs sont pertinent. Elle représente une sorte de perte d'intérêt pour un noeud. Cela permet de porter l'« attention » du système sur d'autres concepts. Pour qu'un noeud soit actif, il est donc indispensable, qu'il reçoive régulièrement de l'activation.

 
Ait+1 = Ait + Ii - Di

(1)

L'influence des autres noeuds pourrait être donnée par la formule classique, sommant les activations pondérées par les poids des liens (comme dans la formule 3.2), mais cette formule entraîne un déséquilibre entre les noeuds ayant beaucoup de noeuds voisins (influençant) et ceux qui en ont moins. Ce n'est pas parce qu'un noeud est influencé par peu d'autres noeuds qu'il doit être moins activé que d'autres noeuds un peu influencés par bien plus de voisins.

 
  Ii = Somme pour i != j (Aj x Poidsij) / 100 (2)

 La valeur moyenne des influences n'étant pas non plus une bonne solution (une grosse influence et toutes les autres influences nulles donneraient une influence quasi nulle), on introduit une notion de diviseur , tenant compte du nombre de liens arrivants (NbLa). Ce diviseur est logarithmique, donne une valeur de 1 lorsqu'aucun lien n'arrive au noeud et de 3 pour 24 liens afférents (cf. figure 3.9). Nous avons jugé ce comportement valable après quelques expérimentations. Nous avons fixé cette fonction afin d'avoir des paramètres stables sur lesquels baser nos interprétations du comportement du système. Comme pour beaucoup des paramètres de BASCET, nous pourrions revoir sa définition, en étudiant par exemple son comportement en adoptant une fonction sigmoïde plutôt que logarithmique.


  
Figure: Div en fonction du nombre de liens afférents.
Div en fonction du nombre de liens afférents.

De cette manière, la nouvelle influence des voisins s'écrit :  
  Ii = Somme pour i != j (Aj x Poidsij) / ( 100 x Div ) (3)
avec une valeur maximale de 100.


Et la désactivation se calcule ainsi[*]:

 
  Di = Ai x TDi / 100 (4)

 Le taux de désactivation TDi étant comprise entre 0 et 100, Di représente bien le pourcentage de l'activation du noeud i correspondant à son taux de désactivation.

Étant donné que le noeud anniversaire n'a pas de lien afférent,Iannniversaire est nul.


Danniversaire = 100 x 2 / 100 = 2.


Donc sa nouvelle activation A1 = A0 + I - D = 100 + 0 - 2 = 98.

Pour le noeud gâteau, c'est différent : son activation est nulle, donc sa désactivation aussi, par contre, il est influencé par anniversaire, et selon l'équation 3.3,


Igâteau = A0anniv. x Poidsanniv. -> gâteau / (100 x Div gâteau).


Or Divgâteau = ln 4 / ln 3, donc Igâteau ~ 86.


Enfin, d'après l'équation 3.1 (page [*]), A1 = 0 + 86 -0 = 86.

Dans l'exemple présenté, on peut ajouter un noeud bougie à ce réseau, qui serait associé aux symboles gâteau et anniversaire. Il faudrait ajouter un lien allant de gâteau à bougie étiqueté par anniversaire ; ainsi, lorsque anniversaire est activé et gâteau aussi, ce lien activerait bougie[*].

Le but du «jeu» dans le Réseau de Concepts est bien entendu d'activer les noeuds les plus pertinents afin de pouvoir lancer des agents chargés de découvrir et de créer des instances de ces noeuds.

L'initialisation du Réseau de Concepts se fait par création dans le Blackboard d'une instance d'un ou plusieurs noeuds sensés représenter le problème à traiter. Sachant que la création de telles instances active leurs pères, le problème de l'initialisation est partiellement résolu. Il reste ensuite à bâtir le réseau avec ce mode de fonctionnement en tête.


next up previous contents
Next: Agents Up: Réseau de Concepts Previous: Les liens.
Francois Parmentier
6/19/1998