• Aucun résultat trouvé

2 1 Représenter les réseau

Définition 2.6 On appelle type de l’activation d’une population ou simple ment type, le pattern des neurones activés, ceux-ci étant considérés comme

2.3.5 Activation synaptique

2.3.6.1 Fonction de transfert

Cette fonction caractérise la réponse, en fréquence de décharge de la popu- lation, à une intensité de courant synaptique variable. Tout comme la fonction d’agrégation, la fonction d’activation, notée F, caractérise en partie le rôle fonction- nel de la population considérée. Néanmoins, parce qu’elle modélise l’activation neuronale, il y a un certain nombre de remarques qui peuvent être faites. En pre- mier lieu, la fonction doit être bornée : les neurones ne déchargent pas avec une fréquence arbitrairement grande, mais ils atteignent un état de saturation. Dans la mesure où la définition de la magnitude n’impose pas qu’elle soit bornée, elle doit être maintenue «sous contrôle» par les mécanismes de traitement de l’information. Deuxièmement, la fonction est généralement seuillée : cela a d’autant plus de sens que l’activation synaptique dépend de la sélectivité de la population, et qu’il est normal que la population ne décharge pas si l’information en entrée n’est pas suf- fisamment reconnue. Ce n’est cependant pas obligatoire. On observe, par exemple, des populations qui déchargent régulièrement même en l’absence de stimulation, mais qui, lorsqu’une stimulation survient, voient leur activité spontanée inhibée. Un grand nombre de comportements sont possibles, et c’est pour cela que les fonc- tions d’agrégation et d’activation sont peu contraintes : la généralité du modèle est à ce prix. Néanmoins, dans la plupart des cas et avec un bon choix de la fonction d’agrégation, il est possible de se ramener à la fonction d’activation classiquement utilisée pour les équations 2.8 et 2.9, à savoir une fonction de type sigmoïde (ou son approximation linéaire par morceaux).

2.3.6.2 Dynamique

La fréquence de décharge r d’un prototype P en réponse à un courant synap- tique S est donnée par :

τrdr

dt = −r+F(S(t)) +knoise(t) (2.13)

Il ne s’agit que de la transcription de l’équation 1.5 dans les notations introduites précédemment, à laquelle s’ajoute un terme de bruit gaussien additif, de moyenne nulle et d’écart type égal à knoise. Ce terme modélise le caractère stochastique de

l’activation neuronale. τr, paramètre de la population, caractérise la vitesse à la-

tique. Cette constante est moins facilement comparable à une valeur expérimen- tale que la constante τs. En effet, en raison de la manière dont ces équations sont

dérivées, τr ne peut pas être directement reliée à la constante de membrane des

neurones qui caractérise en partie la dynamique de la fréquence de décharge des neurones biologiques. Cependant, son ordre de grandeur est de quelques dizaines de milli-secondes.

2.3.6.3 Exemple

En revenant à l’exemple des formes de couleur, si la fonction d’activation est l’approximation linéaire par morceaux d’une sigmoïde, de pente égale à 1 et de centre de symétrie égale à 0.5, et si τr = 30 ms, alors l’application de la fonction

d’activation à Scr puis de l’équation 2.13 donne la courbe d’évolution de la fré-

quence de décharge rcr au cours du temps (voir fig.2.13). Le bruit a été négligé

pour cet exemple (knoise = 0) pour mieux illustrer la dynamique des différentes

quantités, mais des simulations plus complexes incorporant du bruit sont présen- tées plus loin.

2.3.7

Génération de la sortie

2.3.7.1 Compétition

Une fois les fréquences de décharge calculées pour chaque prototype, il faut construire l’information en sortie. Tous les prototypes activés (ou plus exactement les patterns associés aux prototypes) représentent des interprétations, ou des clas- sifications, différentes des entrées par la population. De manière similaire à ce qui est fait dans les modèles neuronaux effectuant de la classification et de la caté- gorisation (voir les cartes de Kohonen, cf. section 1.3.3, p.62), ces interprétations sont en compétition. Plus exactement, les prototypes sont en relation inhibitrice les uns avec les autres. Ces inhibitions latérales amplifient les différences d’activa- tion en faveur du pattern le plus activé. Si elles sont suffisamment fortes, il se produit le phénomène de winner-takes-all : seul le pattern le plus activé reste activé, les autres voyant leur activation ramenée à 0. En revanche, des inhibitions laté- rales faibles laisseront plusieurs patterns activés simultanément, qui participeront collectivement à l’information en sortie. Les deux comportements ont des inté-

0 20 40 60 80 100 120 140 160 180 200 !0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 N1 Temps (ms) Activation carre!bleu carre!rouge triangle!bleu triangle!rouge

Fig. 2.13 – Évolution de l’activation synaptique des prototypes en réponse à la présentation d’un rectangle rouge, sans inhibitions latérales.

rêts fonctionnels différents : une compétition de type winner-takes-all force le choix d’un pattern et un seul, même en cas d’ambiguïté, auquel cas, la choix du pattern le plus activé sera dicté par le bruit dans le système. Cependant ce comportement n’est pas toujours souhaitable. Ainsi, pour construire une population servant de mémoire à court terme, on veut pouvoir activer plusieurs patterns simultanément qui représenteront les informations ayant circulé récemment par celle-ci (voir 3.2 pour un exemple). L’importance des inhibitions latérales est discutée plus en détail en section 2.5.1.3. La compétition se traduit formellement par un autre terme dans l’équation 2.13. Soit {Pj}j∈[1,...,p] la liste de prototypes de la population X. Soit

{rj}j∈[1,...,p] leurs activations neuronales telles que calculées par l’équation 2.13.

Après compétition, pour tout j, rj est mis à jour comme suit :

τr

drj

dt =kinh.i∈[1,...,m

], i6=j−ri(t) (2.14)

En pratique, la fréquence ne pouvant pas devenir négative, on prend le maximum entre 0 et la valeur de rj ainsi mise à jour. kinh caractérise la force des inhibitions

2.3.7.2 Exemple

Le tracé des courbes de la figure 2.13 présuppose en fait que les inhibitions latérales sont nulles. Avec une valeur de kinh égale à 1, seul Pcr reste activé à terme

(voir fig.2.14), l’activité des autres prototypes étant maintenue à 0.

2.3.7.3 Construction du type de sortie

Le type de sortie Tout est défini sur le domaine de définition Dout créé par les

patterns associés aux prototypes. La magnitude de sortie mout est égale à l’activation

rmax du pattern le plus activé après compétition. C’est aussi le type Tmax associé à

ce pattern qui sera à la base de Tout. Par contre, les autres prototypes sont aussi

pris en compte, mais à hauteur de leur activation et ce, de la manière suivante : on calcule l’activation des patterns relativement à celle du pattern vainqueur en divisant leur activation par mmax, puis on fait le max de tous les ensembles flous

associés aux patterns, mais pondéré par ces magnitudes. Donc, pour les patterns {Tj}j∈[1,...,p] et les magnitudes {rj}j∈[1,...,p], associés aux prototypes {Pj}j∈[1,...,p], on

a : Tout = max i∈[1,...,p]( rj rmax ·Tj) (2.15)

où l’opération a·T, avec a un scalaire et T un ensemble flou, représente la multi- plication élément par élément des degrés d’appartenance des membres de T par a. Il est facile de voir que dans le cas du winner-takes-all, Tout = Tmax. La figure 2.15

illustre cette équation sur un exemple.

2.3.7.4 Exemple

Avec kinh =1, on est dans un cas winner-takes-all et la sortie est facile à calculer

puisque le type sera (cr, 1), et la magnitude 0.7 une fois stabilisée. cr est le sym- bole du pattern associé à Pcr et le type associé est réduit à ce seul élément. A la

lumière des relations existant entre carré et rectangle (qui ont été présentés comme proches en entrée), il serait possible de modifier les relations entre les patterns de la population pour prendre cette similarité en compte et ainsi pouvoir la propager aux populations suivantes.

0 20 40 60 80 100 120 140 160 180 200 !0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 N1 Temps (ms) Activation carre!bleu carre!rouge triangle!bleu triangle!rouge

Fig. 2.14 – Évolution de l’activation synaptique des prototypes en réponse à la présentation d’un rectangle rouge, avec inhibitions latérales.

P1 P2 P3

=⇒

Activation relative 1 0

Fig. 2.15 – Construction du type de sortie de manière disjonctive. Trois prototypes sont représentés, P1, P2 et P3. A droite de chacun, le disque représente graphiquement l’activation relative de ce

prototype. Celle-ci est obtenue en divisant l’activation de ce prototype par l’activation du prototype le plus activé. Au vu de l’échelle fournie, P1est le prototype activé maximalement. Le type de sortie

est donc construit à partir de celui-ci, mais en prenant en compte de manière conjonctive les autres prototypes, au pro-rata de leur activation relative.

Cet exemple illustre une des capacités du formalisme qui est la reconnaissance partielle. La population ne possède pas de prototype pour reconnaître un rectangle. Mais la similarité du rectangle avec le carré permet quand même de conclure et donc de continuer le traitement.

2.4

Vue d’ensemble

Cette section fournit un résumé des différents mécanismes présentés. La figure 2.16 retrace les différentes étapes du traitement de l’information au sein d’une population fonctionnelle. Les équations associées à ces étapes sont rappelées dans le tableau 2.1.

Ce formalisme a été baptisé SimBa (pour SIMilarity BAsed). La section suivante présente les détails de son implémentation pratique et discute de la manière de construire des réseaux fonctionnels.

2.5

Implémentation et discussion

Le formalisme théorique présenté, cette section détaille quelques considéra- tions pratiques concernant son implémentation. La première partie de la section s’attache à l’implémentation elle-même, en précisant les méthodes de résolution numérique utilisées et en montrant quelques simulations. La stabilité de ces si- mulations vis à vis des différents paramètres est aussi discutée. La seconde partie discute le modèle à la lumière des formalismes dont il s’inspire, mettant en évi- dence ses apports.

2.5.1

Implémentation pratique

Le formalisme SimBa a été implémenté sur ordinateur en C++. Cette implé- mentation est appelée SimBa++, pour rendre claire la différence entre formalisme mathématique et son implémentation informatique.

Compatibilité entre deux types

c(T1, T2) =sup

x∈Dmin(T1(x), T2(x))

2.1

Fonctions d’agrégation communes

Combinaison disjonctive : G(m, c) =

i∈[1,...,n]

mi.ci 2.10

Combinaison conjonctive : G(m, c) = min

i∈[1,...,n](mi.ci)

2.11

Activation synaptique S d’un prototype P

τsdS

dt = −S+G(m, c) 2.12

Fonction d’activation classique

Sigmoïde de pente a, de centre de symétrie b et de gain c : F(S) = c 1+e−a(S−b)

Approximation par morceaux : F(S) =max(min(c, a.c 4 (S+

2

a −b)), 0) (cf. figure 1.13)

Activation neuronale r d’un prototype P

τrdr

dt = −r+F(S(t)) +knoise(t) 2.13

Émission de la sortie (Tout, mout)

Compétition affectant Pj, ∀j∈ [1, . . . , m]: τr

drj

dt =kinh.i∈[1,...,m

], i6=j−ri(t) 2.14 Combinaison : Tout = max

i∈[1,...,p](

rj

rmax

·Tj), mout =mmax 2.15

E1 E2 Entr ées Activation synaptique (chaque prototype) Activation neuronale (chaque prototype) Compétition Génération de la sortie

Fig. 2.16 – Résumé des étapes successives du traitement de l’information par une population fonc- tionnelle. Les entrées permettent de calculer l’activation synaptique de chaque prototype. Cette ac- tivation est ensuite utilisée pour calculer la fréquence de décharge de chacun. Ces fréquences de décharge sont modifiées suite à la compétition (inhibitions latérales) entre les prototypes, pour que finalement l’information en sortie puisse être émise.

2.5.1.1 Résolution numérique des équations différentielles

Les différentes populations d’un réseau fonctionnel sont simulées informati- quement de manière synchrone, sur un temps échantillonné. Le traitement dans chaque population implique des équations différentielles. Une méthode de résolu- tion numérique est donc nécessaire pour permettre la mise à jour des activations à chaque pas de temps. Pour l’équation 2.12, une méthode d’Euler est utilisée. Elle permet une simulation rapide, ce qui, vu le grand nombre d’équations à simuler pour un grand réseau et la longueur des simulations (qui peuvent couvrir plusieurs dizaines de minutes en temps simulé), est crucial en termes de temps de calcul. La méthode d’Euler, cependant, génère des erreurs d’approximation vis-à-vis de la solution réelle qui peuvent devenir importantes en s’accumulant. L’importance de l’erreur étant directement proportionnelle à la finesse de l’échantillonnage, un pas de temps suffisamment petit (1 ms) permet de la conserver raisonnable. De plus, de manière plus globale, le modèle SimBa s’attache à reproduire la dynamique de l’activation plus que des valeurs quantitatives précises, et la méthode d’Euler donne de bons résultats dans ce contexte. En ce qui concerne l’équation 2.13, elle fait intervenir un terme stochastique, et il faut donc utiliser une méthode de réso- lution adaptée. C’est la méthode d’Euler-Maruyama qui a été choisie : elle utilise le même principe que la méthode d’Euler, mais en prenant en compte le bruit. Formellement, soit un prototype P, d’activation synaptique S, et d’activation neu- ronale r. Les expressions permettant de calculer S(tn+1) et de r(tn+1) à partir de

S(tn) et de r(tn)(tn+1 =tn+∆t) sont données par : S(tn+1) = S(tn) + ∆t τs (−S(tn) +G(c, m)) (2.16) r(tn+1) = r(tn) + ∆t τr (−r(tn) +F(S(tn))) + knoise τr . √ ∆t.N (0, 1) (2.17)

où N (0, 1) dénote un échantillon aléatoire provenant d’une distribution normale de moyenne nulle et de variance égale à 1. Une description des méthodes d’Euler et d’Euler-Maruyama se trouve en annexe, avec la dérivation des expressions 2.16 et 2.17.

Une simulation est présentée dans la section suivante et servira de base à une discussion sur la stabilité du modèle et sur l’importance des différents paramètres.

2.5.1.2 Tests et simulations

Deux simulations sont proposées dans cette section. La première complète l’exemple simple du chapitre précédent en y ajoutant le bruit et en démontrant différents comportements de la population en fonction des divers paramètres. La seconde simulation montre un petit réseau composé de trois populations qui agit comme un détecteur de début d’un stimulus.

Intégrateur couleur-forme. Cette simulation reprend la population décrite en

exemple dans les sections précédentes. En plus des paramètres déjà détaillés, du bruit a été inclus en donnant au paramètre knoise une valeur de 0.1. Le stimulus

est cette fois un carré rouge, avec des magnitudes de 1 pour chacun des attributs (voir fig.2.17). La durée totale de la stimulation est de 1, 5 secondes, le stimulus commençant au bout de 500 ms et s’arrêtant au bout de 1000 ms. La figure 2.18 montre l’activation du pattern carre−rouge pour différentes valeurs de τr. Cette

comparaison fait apparaître les effets de la constante τr sur le filtrage du bruit in-

troduit par l’équation 2.13. Les deux constantes de temps ont une action filtrante, mais la constante τs influe uniquement sur le filtrage des entrées, tandis que τr

influe sur le filtrage des entrées et du bruit interne à la population. Le manque de réactivité induit par une constante de temps élevée peut s’observer par le fait que le prototype n’atteint pas sa valeur d’activation maximale avant la fin du stimulus.

0 500 1000 1500 0 0.2 0.4 0.6 0.8 1 N1 Temps (ms) Activation carré!bleu carré!rouge triangle!bleu triangle!rouge

Fig. 2.17 – Activation des différents prototypes de l’intégrateur forme-couleur, avec knoise=0.1. Le

stimulus est un carré rouge pur, avec des magnitudes égales à 1 pour les deux attributs.

0 500 1000 1500 0 0.2 0.4 0.6 0.8 1 N1 Temps (ms) Activation !r = 10 !r = 100

Fig. 2.18 – Comparaison de l’activation du prototype carre−rouge pour deux valeurs différentes de τr. Il apparaît clairement qu’un τrimportant permet de filtrer le bruit introduit dans l’équation

2.13. En revanche, dans ce cas, une constante de temps trop importante ne permet pas au prototype

Enfin, la figure 2.19 compare les résultats de la simulation en utilisant non pas la méthode d’Euler pour la résolution numérique de l’équation 2.12, mais une mé- thode plus précise, la méthode de Runge-Kutta d’ordre 2 (voir annexe). On peut voir que les deux courbes sont indiscernables graphiquement, et un calcul plus précis montre que l’écart moyen relatif entre les valeurs calculées est de 0, 25.10−3 pour cet exemple. D’autres tests montrent qu’il reste de l’ordre de 10−3 pour peu que l’échantillonnage du temps reste petit. Dans toutes les simulations présentées dans ce mémoire, l’échantillonnage est constant avec∆t=1 ms.

Détecteur de début d’un stimulus. Pour illustrer la construction d’un réseau plus

complexe, un autre exemple est proposé. Il s’agit de construire un réseau capable de détecter le début d’un stimulus de longue durée. Une telle capacité est indispen- sable, par exemple, pour déterminer la durée d’un événement. La solution propo- sée n’utilise pas la notion de type (c’est-à-dire que les populations ne sont pas sé- lectives et traitent uniquement la magnitude) mais il serait aisé d’étendre ce design à des populations sélectives. Le réseau s’appuie sur deux populations X1 et X2qui

reçoivent le stimulus simultanément, X1ayant une connexion inhibitrice vers X2et

la constante de temps τ(X1)

r de X1est plus grande que celle de X2 (voir figure 2.20).

Lorsqu’un stimulus est présent, l’activation des deux populations croît, puis, avec un retard qui dépend du délai de transmission et de la différence τ(X1)

r −τ

(X2)

r , la

connexion inhibitrice vers X2 rétablit l’activation au niveau de base (il faut donc

pour cela que l’inhibition compense l’activation due au stimulus), alors que le sti- mulus continue. Un pic d’activité de la population X2 peut alors être interprété

comme le début d’un stimulus par une population en aval. La hauteur de ce pic dépend de la différence τ(X1)

r −τr(X2) : plus elle est grande, plus l’activation de X1

pourra monter et donc plus le pic sera haut. Les résultats de la simulation de ce réseau sont illustrés figure 2.21. La détection est robuste si on augmente l’inten- sité du bruit, comme illustré figure 2.22. En fait, même avec des valeurs d’intensité du bruit très importantes (knoise = 0.5 ou 0.6), la détection reste valide malgré un

rapport signal sur bruit assez faible. Ceci montre que le filtrage passe-bas effectué à toutes les étapes du traitement limite l’accumulation du bruit dans les réseaux. Cet exemple ne comprend que deux populations, mais nous verrons dans les ap-

0 500 1000 1500 !0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 N1 Temps (ms) Activation Euler Runge!Kutta 2

Fig. 2.19 – Comparaison de l’activation du prototype carre−rouge en utilisant la méthode d’Euler et de Runge-Kutta d’ordre 2. Les deux courbes sont indiscernables. Pour mieux mettre en évidence les différences introduites par le calcul numérique, il n’y a pas de bruit dans cette simulation.

X1

X2

Fig. 2.20 – Détecteur de début de stimulus à deux populations. Les flèches représentent des connexions excitatrices et les cercles vides des connexions inhibitrices. La population X1 a une

constante de temps τ(X1)

r plus élevée que celle de X2, ce qui influe sur le retard de l’inhibition vers

0 200 400 600 800 1000 1200 1400 1600 1800 0 0.2 0.4 0.6 0.8 1 Temps (ms) Activation X 1 X 2

Fig. 2.21 – Activation des populations X1 et X2 au cours du temps. Le stimulus est présenté au

bout de 500 ms et s’arrête au bout de 1300 ms. Pour cette simulation, τ(X1)

r =60ms, τr(X2)=30ms,

τs=10ms pour les deux populations, knoise=0.1 et la stimulation est de magnitude 1.

200 400 600 800 1000 1200 1400 1600 1800 0 0.2 0.4 0.6 0.8 1 Temps (ms) Activation X 1 X 2

Fig. 2.22 – Même simulation qu’à la figure 2.21 mais avec knoise =0.3. La détection reste robuste

même pour des valeurs d’intensité du bruit de 0.5 ou 0.6, ce qui correspond à un rapport signal sur bruit assez faible. On peut aussi voir que la hauteur du pic marquant le début du stimulus est plus élevée car, dans cet cet exemple, τ(X2)

r =20ms, ce qui augmente la différence des constantes de

plications du chapitre suivant des réseaux comprenant bien plus de populations et restant stables face au bruit.

Pour conclure sur cet exemple de simulation, il est aisé de l’adapter pour qu’il détecte aussi la fin du stimulus. Pour cela, la population X2 doit être activée passi-

vement, c’est-à-dire qu’elle a une activité non nulle au repos. Lorsque le stimulus arrive, il se passe la même chose que précédemment (sauf que cette fois le pic de début est observé relativement à l’activité de repos de X2). En revanche, lorsque le

stimulus s’arrête, l’activation qu’il entraîne dans X2chute et X2est inhibée en-deçà

de son activité de repos par X1. Puis l’inhibition cesse et X2 retrouve son activation

de base. Un pic «négatif» (par rapport à l’activité de base) marque donc la fin du stimulus. Pour obtenir une activation de base, il est possible de jouer sur la fonc- tion G ou F. La figure 2.23 illustre le cas où c’est la fonction G qui est modifiée pour fournir une activité non nulle au repos.

2.5.1.3 Stabilité vis-à-vis des paramètres

Comme pour toute simulation numérique s’appuyant sur un modèle complexe, il y a un certain nombre de paramètres qui doivent être évalués pour obtenir les résultats attendus. Certains auront une importance particulière car une valeur in- correcte pourra entraîner des résultats de simulation entièrement faux. Un modèle robuste se caractérise en particulier par une certaine tolérance vis-à-vis des pa- ramètres numériques, lui permettant de fournir des résultats exploitables même lorsque les paramètres sont mal choisis (mais qu’ils restent dans une fourchette raisonnable). SimBa, en particulier, n’est pas doté d’un mécanisme d’évaluation