dic9310-6 - labunixboukadoum_m/dic9310/notes/6-dic9310... · web viewinitialiser les activations...

51
Réseaux simples pour mémoires associatives Extensions du cas à une sortie ; chaque vecteur d’entrée est associé avec un vecteur de sortie au lieu d’un scalaire. Le vecteur de sortie peut : o Représenter une forme identifiée par le réseau o Classer le vecteur d’entrée dans une parmi plusieurs catégories, chacune représentée par un neurone de sortie. Plusieurs types : o Mémoire hétéro-associative : la dimension du vecteur de sortie est différente de celle du vecteur d’entrée o Mémoire associative par interpolation : les deux dimensions sont égales Si les neurones d’entrée et ceux de sortie sont fusionnés en une seule couche, la mémoire est dite auto- associative.

Upload: vuongminh

Post on 15-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Réseaux simples pour mémoires associatives

Extensions du cas à une sortie ; chaque vecteur d’entrée est associé avec un vecteur de sortie au lieu d’un scalaire.

Le vecteur de sortie peut :

o Représenter une forme identifiée par le réseauo Classer le vecteur d’entrée dans une parmi plusieurs catégories,

chacune représentée par un neurone de sortie.

Plusieurs types :o Mémoire hétéro-associative : la dimension du vecteur de sortie est

différente de celle du vecteur d’entréeo Mémoire associative par interpolation : les deux dimensions sont

égales Si les neurones d’entrée et ceux de sortie sont fusionnés en

une seule couche, la mémoire est dite auto-associative.

Les mémoires hétéro-associatives sont des extensions des réseaux de Hebb, du perceptron et des adalines

Les mémoires auto-associatives introduisent, en plus :o le réseau de Hopfield,o le réseau BSB (« Brain State in a Box ») o le réseau BAM (« Bi-directional Associative Memory »)

Tous ces mémoires utilisent des règles d’apprentissage d’inspiration hebbienne ou tirées de la règle delta.

Page 2: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

La règle de Hebb appliquée aux mémoires associatives (le réseau associateur linéaire)

On utilise le même algorithme que pour le problème de la classification des données.

Puisque la sortie du réseau comprend plusieurs neurones, ils interagissent, chacun, avec tous les neurones de la couche d’entrée.

La règle de Hebb devient, pour un neurone yj : , ou encore, .

Pour un vecteur de sortie , dont chaque composante et l’un des neurones de sortie, la règle de Hebb est

  et w est une matrice dont chaque colonne représente les poids synaptiques d’un neurone de sortie.

Algorithme d’apprentissage du réseau de Hebb :

1) Initialiser tous les poids à 0 : wij=0 pour i=1…n+1(le biais compte comme un poids relié à une entrée supplémentaire xn+1=1), j=1..m;

2) Pour chaque paire d’apprentissage , répéter :a) Régler les unités d’entrée aux valeurs des composantes de , xi=si,

i=1…n, poser xn+1=1 pour le biais si désiré; b) Régler les activations des unités de sortie, ;c) Ajuster les poids synaptiques du neurone : .

Page 3: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Conséquences :

D’un point de vue analytique, l’algorithme consiste simplement à construire la matrice

où est un des L patrons d’apprentissage et la réponse désirée correspondante.

Comme pour le classifieur à un neurone, « l’apprentissage » s’arrête dès que tous les patrons ont été présentés au réseau, avec les mêmes problèmes potentiels.

Dans le cadre des mémoires associatives, le réseau de Hebb est particulièrement sensible aux vecteurs d’entrée corrélés (non–orthogonaux). o En effet, le niveau d’activation du réseau est pour un vecteur

d’entrée  : Si on pose que , on constate que des termes indésirables interviennent dans la réponse lorsque le produit scalaire est différent de 0 pour ij, c.à.d. lorsque l’ensemble n’est pas formé de vecteurs orthogonaux.

Si l’effet de ces termes de bruit (e.g. dus aux vecteurs non orthogonaux) n’est pas important, il peut être corrigé par une fonction de seuil appliquée à la sortie; autrement, une modification de l’algorithme d’apprentissage est nécessaire.

La règle delta appliquée aux mémoires associatives

La règle delta peut facilement être étendue aux mémoires associatives : il suffit de rendre les poids synaptiques bidimensionnels.

Pour une paire d’apprentissage , le niveau d’activation du neurone de sortie j est, après avoir posé  :

Page 4: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

La règle delta modifiée est alors :

, i=1…n+1, (ou , ou encore )

Si on utilise une fonction d’activation f() qui est dérivable, la règle delta peut être réécrite pour en tenir compte.

o Partant de l’expression E=(tj-yj)2 - au lieu de (tj-aj)2 – on a

Par conséquent, la règle delta devient :

Page 5: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Algorithme d’apprentissage :

1. Initialiser tous les poids  wji i=1…n+1, j=1..m ( habituellement de petites valeurs tirées au hasard)2. Régler le coefficient de convergence (0 < 1 ; typiquement 0.1 m 1) ; choisir les paramètres de la fonction de soiite si utilisée;3. répéter :

Pour chaque paire d’apprentissage  :a) Régler les unités d’entrée aux valeurs des composantes de , xi=si,

i=1…n, poser xn+1=1 pour le biais;b) Pour chaque neurone de sortie j :

1. Calculer l’activation de l’unité de sortie :

( yj=f(aj) aussi au besoin);

c) Ajuster les poids synaptiques du neurone : ou

i=1…n+1, j=1..m;

jusqu’à ce que les poids ne changent plus de façon significative d’une itération à l’autre

Page 6: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Cas des mémoires associatives par interpolation

Les paires d’apprentissage sont formées de vecteurs tirés d’un même ensemble ou d’ensembles de dimensions (au sens algébrique) identiques.

L’algorithme d’apprentissage reste le même que précédemment, qu’on applique la règle de Hebb ou la règle delta.

Le réseau le plus connu est le BAM (Bidirectional Associative memory) développé par Bart Kosko en 1987.

o De part son architecture, le BAM peut aussi servir de mémoire hétéro-associative.

o Le BAM représente un des premiers types de RNA pour lequel une preuve de convergence à été établie.

Page 7: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Le Réseau BAM

Le perceptron améliore la performance du réseau de Hebb par l’introduction d’un apprentissage itératif; le réseau BAM utilise une approche différente : Il conserve l’apprentissage en une étape du réseau de Hebb mais utilise une procédure itérative en phase de rappel.

Deux couches de neurones X et Y s’alimentent mutuellement avec leurs sorties et qui sont telles que chacune calcule et renvoie les activations de ses neurones à l’autre. Une fois qu’un vecteur à reconnaître est présenté dans la couche X il est transmis à la couche Y qui détermine les activations correspondantes et les renvoie vers la couche X ; cette dernière détermine alors ses propres activations pour le signal reçu et renvoie à nouveau le résultat vers la couche Y ; le cycle continue jusqu’à ce que l’une des activations calculées dans X ou Y corresponde à un patron emmagasiné.

Il existe plusieurs types de BAM, dont deux versions de base : le BAM discret et le BAM continu. Ces derniers diffèrent essentiellement par leurs fonctions de sortie, à seuil pour le premier et sigmoïde pour le second.

La fonction de sortie du BAM comprend trois états mais est légèrement différente de celle du perceptron. Elle est identique pour les deux couches de neurones. Ainsi, on a pour deux niveaux d’activation aX et aY :

Page 8: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Algorithme d’usage du BAM

1) Partant de L paires d’apprentissage , calculer la matrice synaptique

pour la couches X, , et pour la couche y, ;

2) Pour reconnaître un vecteur stimulus  :a) Considérer X comme couche d’entrée et Y comme couche de sortie ;b) Régler les unités de X aux valeurs des composantes de , xi=zi, i=1…

n, poser xn+1=1 pour le biais si désiré;c) Répéter :

1. Calculer l’activation de chaque neurone de la couche de sortie :

; yj=f(aj);

2. Inverser les rôles de la couche X et de la couche Y ;

jusqu’à ce que les activations ne changent plus d’une itération à l’autre dans la couche Y.

Page 9: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Cas des mémoires auto-associatives

Cas spécial dans lequel les entrées et les sorties du réseau sont confondues.

o Les poids le long de la diagonale de la matrice synaptique représentent la retro action du chaque neurone sur lui-même.

Les mémoires auto-associatives sont caractérisées par des matrices synaptiques carrées :

o Souvent symétriques;

o Dont les éléments diagonaux sont souvent mis à zéro pour

Améliorer la plausibilité biologique du réseau (Anderson), Assurer sa convergence vers des états non dominés par les

éléments diagonaux (McClelland et Rummelhart) Respecter sa topologie (Hopfield).

Page 10: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Les réseaux de Hopfield

Premiers réseaux dont on a pu établir une preuve de convergence Premières tentatives de mise en œuvre d’un RNA qui tienne compte de

la nature asynchrone des PSP et du fait que ces derniers ont une durée dans les neurones biologiques.

Une variante à temps continu du réseau essaie même de modeler la capacitance de membrane et la résistance des axones.

Premières applications d’un RNA pour résoudre des problèmes d’optimisation.

Du point de vue architectural :

o Peut être vu comme un réseau BAM dont on a fusionné les couches X et Y (mais le BAM est venu après !) et où l’entrée initiale est toujours présente, en plus des copies réverbérées.

o La matrice synaptique du réseau est carrée et symétrique, avec des poids nuls le long de la diagonale (wij=wji et wii=0)

Page 11: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Le réseau de Hopfield discret

La matrice synaptique est calculée de la même façon que pour le BAM (mais avec une diagonale nulle).

La fonction de sortie de ce réseau est similaire à celle du BAM discret mais utilise un seuil qui peut varier d’un neurone à l’autre; l’activation d’un neurone j au début de l’itération k+1 est :

Souvent, on pose j=0, ce qui ramène l’expression précédente à celle du BAM.

La mise à jour de l’activation des neurones est accomplie de manière asynchrone, un à la fois ; on pige un neurone au hasard, on calcule son activation et on utilise le résultat pour le prochain neurone, tiré à nouveau au hasard parmi les neurones restants.

La conséquence de cette manière de mettre à jour les neurones est que, lors d’une itération, des activations différentes peuvent servir pour chacun.

À l’itération k, Le niveau d’activation pour un neurone j est donné par :

La valeur de xj(k) dépend de la mise en œuvre choisie. Dans le réseau de Hopfield original, on avait . Ensuite Hopfield modifia l’algorithme de manière à maintenir xj(k)=xj(0) durant toutes les itérations. Dans certaines applications, le terme est ignoré et on a xj(k)=0.

Algorithme d’utilisation du réseau de Hopfield discret

Page 12: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

1) Partant de L vecteurs d’apprentissage (ce qui correspondait à L paires

pour le réseau BAM), calculer la matrice synaptique : .

2) Pour reconnaître un vecteur stimulus  :a) Initialiser les unités aux valeurs des composantes de , xi(0)=zi, i=1…

n, poser xn+1=1 pour le biais si désiré ;b) Répéter :

1. Tirer au hasard une valeur de j non déjà utilisée (donc j=1..m dans le désordre) ;

2. Calculer l’activation du neurone correspondant :

;

3. Utiliser yj(k+1) à la place de yj(k) pour le restant de l’itération ;

jusqu’à ce que les activations ne changent plus d’une itération à l’autre.

Page 13: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Convergence du réseau

Une des contributions novatrices du réseau de Hopfied fut l’usage d’une fonction auxiliaire, dite fonction d’énergie ou fonction de Lyapunov, définie en termes des variables du réseau, qui permet de démontrer la convergence du réseau vers un état stable.

La théorie de Lyapunov prédit qu’un système dynamique aura ce comportement si sa fonction auxiliaire décroît pendant la phase transitoire du système pour se stabiliser ensuite.

Dans le cas du réseau de Hopfield, cela veut dire que la fonction auxiliaire doit décroître d’une itération à l’autre afin de garantir la convergence du réseau.

La fonction auxiliaire est souvent décrite par l’énergie totale dans le cas de systèmes physiques, d’où son nom alternatif. On utilise une approche similaire dans le cadre des RNA.

Pour le réseau de Hopfield, c’est l’analogie avec l’évolution dynamique du processus de fabrication des verres à spin (alliages obtenus en diluant un matériau magnétique dans un matériau non magnétique) qui mena à l’usage d’une mise à jour asynchrone des neurones et de la fonction d’énergie utilisée.

Page 14: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

La fonction d’énergie est  :

Si le neurone j subit un changement d’activation yj entre deux itérations, la variation d’énergie correspondante est

Trois cas peuvent se présenter :

1. Si yj<0 , signifiant que yj passe de 1 à 0 ou –1, on a nécessairement

et E est négatif ;

2. Si yj>0 , signifiant que yj passe de -1 ou 0 à 1, on a nécessairement

et E est aussi négatif ;

3. si yj=0, signifiant que yj s’est stabilisé, alors E est nul.

On voit donc que l’on a toujours E<0 pendant la phase transitoire, ce qui correspondant à une énergie décroissante.

Page 15: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Une fonction d’énergie existe aussi pour le réseau BAM, elle s’écrit

La fonction d’énergie est souvent utilisée pour spécifier les contraintes que doit satisfaire un réseau afin de résoudre un problème d’optimisation. Elle peut mener alors à la détermination des poids synaptiques.

Finalement, des études expérimentales effectuées par Hopfield ont révélé qu’un réseau constitué de n neurones peut mémoriser P0.15n vecteurs différents.

Page 16: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Réseau de Hopfield à temps continu

Tente de se rapprocher du comportement dynamique des neurones biologiques:

Un neurone biologique utilise la modulation de fréquence pour encoder l’information véhiculée par les PA. La fonction chronologique correspondante est plus proche d’un sigmoïde que d’une fonction seuil.

La propagation des PSP et des PA suit une dynamique qui est conditionnée par la capacitance et la résistance de la membrane cellulaire, et par la résistance de l’axoplasme.

On utilise la fonction de sortie suivante : Le paramètre, appelé gain, permet d’obtenir des sigmoïdes qui se rapprochent de plus en plus d’une fonction de seuil à mesure que augmente.

Page 17: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Le réseau est modelé par un circuit électrique composé d’un ensemble d’amplificateurs qui ont des impédances d’entrées sont très élevées et qui sont groupés par paires dont le second élément est un inverseur de polarité. Le premier élément réalise la fonction de sortie et possède une résistance et un condensateur branchés en parallèle à l’entrée. Ces derniers simulent les effets de membrane dans un neurone biologique. En outre, les sorties des autres neurones qui l’alimentent lui sont connectées à travers des résistances, simulant ainsi l’atténuation des PSP dans l’arbre dendritique. Le circuit comprend aussi un ensemble d’entrées qui sont simulées par des courants I.

Page 18: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

L’application de la loi de Kirchhoff sur les courants1 à l’entrée d’un amplificateur i donne

Comme le terme Inet est très faible (dû à l’impédance d’entrée très élevée des amplificateurs), on peut l’ignorer. L’équation devient alors, en réarrangeant

les termes et en posant et :

Pour un réseau composé de m neurones, on obtient m équations de la forme ci-dessus, dont la solution décrit l’évolution dans le temps du réseau total. Dans chaque équation, u représente le niveau d’activation d’un neurone, et v est sa sortie, et Tij joue le rôle d’un poids synaptique. Par ailleurs, Ri est la résistance équivalente à l’ensemble des résistances présentes à l’entrée de l’unité i et C et la capacitance de l’unité ; le produit =RiC est la constante de temps de l’unité.

1« La somme des courants qui entrent dans une intersection électrique est e égale à celle des courants qui sortent »

Page 19: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Convergence du réseau de Hopfield à temps continu

La fonction d’énergie associée au réseau précédent est

où g-1 est la fonction inverse de la fonction d’activation. La variation de la fonction d’énergie durant un bref intervalle de temps peut être décrite en prenant sa dérivée. On a :

Or ; on en déduit :

Comme la fonction inverse de g est croissante et monotone, on en déduit qu’on a toujours .

D’un point de vue pratique, cependant, les réseaux de Hopfield à temps continu sont difficiles à mettre en œuvre, étant donné leur nombre élevé de paramètres et le fait que certains de ces derniers ne sont pas évidents.

Page 20: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Le problème du commis voyageur :

Trouver un chemin fermé quio Traverse n villes sans jamais revisiter l’une d’elles

o Est le plus court, si possible.

Problème d’optimisation classique dont la complexité vient du nombre de chemin à considérer lorsqu’on l’aborde de front. o Pour n villes il existe n! chemins possibles.

La solution de Hopfield :

Utiliser un réseau carré composé de nxn neurones et tel que chaque colonne identifie une ville du chemin à un instant donné (état). Par exemple, pour un circuit comprenant 5 villes, une solution possible est :

Page 21: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Fonction d’énergie :Toutes ces exigences peuvent êtres satisfaites, en plus du souhait d’un trajet de longueur minimale, si on part de la fonction d’énergie suivante, définie par Hopfield et Tank (l’idée étant que le minimum de la fonction correspondra à un état d’activation du réseau qui résout le problème) :

Les indices X et Y font référence à des villes (les lignes de la matrice), les indices i et j font référence à la position d’une ville dans le tour (les colonnes de la matrice), A, B, C et D sont des constantes qui dépendent du problème (et qui sont indépendantes des noms de villes dans l’exemple précédent) et dXY

est la distance entre deux villes. L’analyse des différents termes montre que le premier est nul si chaque ville est visitée une seule fois, que le second est nul si deux villes ne sont jamais visitées simultanément et que le troisième et aussi nul si la somme des 1 est exactement n ; le dernier additionne les distances parcourues de ville en ville2 et ne s’annule pas.

2 Dans le cas de l’exemple de 5 villes avec un tour formé de B-A-E-D-C, on obtient D(dBA+dAE+dED+dEC+dCA)

Page 22: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Choix des poids synaptiques :Pour les n2 neurones du réseau, il faut n4 poids synaptiques, choisis de manière à respecter la forme de la fonction d’énergie. Ces derniers furent définis en suivant une approche inhibitrice, chaque neurone essayant de bloquer les autres neurones sur sa ligne et colonne.

Si on reprend l’équation qui régit les activations des neurones, on a :

Comme chaque terme de TXi,Yj dépend d’une constante, on peut y intégrer la constante C sans perte de généralité. Un même raisonnement tient pour la variable I. On peut donc réécrire l’équation :

où est la constante de temps du neurone (en supposant que Ri est constant). L’équation prend la forme suivante si on remplace les poids synaptiques par leurs expressions et qu’on identifie chaque neurone par ses coordonnées dans le réseau (ligne-colonne):

L’approximation permet alors de résoudre l’équation par itération. Partant de

on aura, à chaque étape uXi(nouv.)= uXi(préc.)+uXi

Page 23: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

avec

Page 24: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Algorithme du problème du commis voyageur :

1) Initialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus un petit terme aléatoire pour chaque unité

2) Répéter :a) Tirer un

neurone au hasard ;b) Calculer

l’activation du neurone correspondant :

c) Utiliser la nouvelle valeur de Xi le reste de l’itération ;

jusqu’à ce que les activations ne changent plus d’une itération à l’autre.

Dans un exemple portant sur 10 villes, Hopfield et Tank utilisèrent les valeurs suivantes de paramètres : A=B=500, C=200, D=500, N=15 et =50.

Page 25: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus
Page 26: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

L’associateur linéaire itératif, le réseau BSB et la règle Eidos

Ce type de réseau exploite la robustesse des RNA face à des données incomplètes ; l’idée est qu’en transformant un réseau de Hebb en un réseau récurrent, on peut en améliorer le fonctionnement. De plus, l’usage de la contre-réaction permet de créer un circuit réverbérant qui simule l’opération de la mémoire à court terme3 chez l’humain.

Le niveau d’activation d’un neurone est donné par la formule générale

ou encore, sous forme vectorielle

où k représente une itération donnée.

3 C’est, du moins, comment nous pensons que la mémoire à court terme opère.

Page 27: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Le premier modèle de cette approche fut développé par McClelland et Rumelhart et utilise une fonction de sortie linéaire.

Anderson et al. ont montré qu’un tel réseau favorise les vecteurs propres de la matrice synaptique qui ont les plus grandes valeurs propres.

En effet :

et

Si est l’un des vecteurs d’apprentissage, , et que ces derniers sont orthogonaux, on a

est donc un vecteur propre de w.

Dans le cas où les vecteurs d’apprentissage sont corrélés, le résultat est

On obtient une combinaison linéaire des vecteurs propres de w.

Le processus d’itération ne fait que renforcer les vecteurs qui ont les plus grandes valeurs propres, menant éventuellement à une fausse association.

Dans tous les cas, on obtient une réponse du réseau avec un potentiel de croître sans bornes.

Page 28: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Anderson proposa de résoudre ce dernier problème en utilisant une fonction linéaire saturante pour la fonction d’activation, contraignant ainsi tout vecteur dans à évoluer à l’intérieur d’un hyper-cube dont les sommets sont les réponses catégoriques du réseau (d’où l’appellation « Brain State in a Box », ou BSB, pour le réseau résultant)

Anderson utilisa la fonction de sortie suivante :

avec :

Comme on a xj=aj à l’intérieur de l’hyper-cube (à cause de la fonction de sortie linéaire), l’expression précédente peut aussi s’écrire

ou encore, sous forme vectorielle

Anderson innova aussi en utilisant un apprentissage itératif et des vecteurs d’apprentissage tirés au hasard. La règle d’apprentissage utilisée fut :

avec n=7 , η=1 et avec w(k)=0 au départ.

Algorithme d’apprentissage du BSB

ai

-

1 -

f(ai)

k=k+1

k=0, w[k]=0

Tirer un prototype à apprendre au hasard

Déterminer en utilisant w=w(k) dans la fonction de sortie itérative .

Appliquer la règle d’apprentissage pour mettre à jour w :

w(k+1)w(k)

w=w(k)

Page 29: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus
Page 30: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Malheureusement, les améliorations de Anderson et al. étaient inadéquates.

Si on considère l’évolution dynamique de w, on a,en partant de w=0 et en posant w(k)= wk :

où est un vecteur propre de wk et où k est al valeur propre associée.

L’apprentissage du réseau consiste donc, à chaque itération, à augmenter k de .

La contrainte d’évolution du réseau à l intérieur d’un hyper-cube n’empêche pas que :

1) Les premières valeurs propres sont toujours privilégiées dans le cas de

stimuli corrélés ; 2) La Saturation prématurée de certaines unités créé un espace de

travail surdimensionné car, à chaque saturation d’unité, on travaille uniquement avec les unités restantes.

Bégin et Proulx ont proposé de modifier la règle d’apprentissage de manière à borner l’évolution de la matrice synaptique sans que cela ne soit accompagné

-1

Page 31: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

des deux handicaps précédents. La nouvelle règle, appelée Eidos4, s’exprime ainsi :

ou

avec p=2, n=10, α= 2β = 0.001.

On constate alors que, partant de , on a bien ,

Comme les valeurs de λ sont maintenant bornées, il n’y a plus de possibilité de saturation si

.

4 Eidos=idée en Grec.

Page 32: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

On obtient une meilleure performance en prenant =0.005 et =/25, en modifiant la fonction de sortie pour que la fonction linéaire saturante soit utilisée durant la phase d’apprentissage et la fonction suivante soit utilisée durant la phase de rappel :

Ensemble d’apprentissage (matrices de 5x7)

Nombre d’essais d’apprentissage en fonction de c=/

CComparaison des résultats obtenus avec /=2 et /=25

/=2 /=25

Essais d’apprentissage

10,000 3,600 -64%

Temps de rappel moyen avec 0/100 % de bruit

27/54 iterations

7/13 iteration

-74/-76%

Taux d’erreur moyen en phase de rappel avec 0/100 % de bruit

0/5.1% 0/5.3% 0/4%

Page 33: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Spectre des valeurs propres de la matrice synaptique en fonction du nombre d’essais

Effet de modifier la fonction de sortie en phase de rappel :

Fonction de sortie en phase de rappel Temps de réponse moyen (itérations)

Taux d’erreur moyen (%)

13 5.34 3.5

Amélioration 68% 34%

Page 34: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Exemples de rappel (matrices de 9x9)

a) b)

c) d)Exemples d’identifications correctes du caractère “1” : a) tourné de 18 degrés ; b) translaté de 1 pixel dans la direction y ; c) corrompu avec 50% de bruit gaussien ; d) biffé avec une barre oblique.

a) b)Exemples d’identifications incorrectes dues à des translations : a) et b) Caractères 0 et 4 translatés de 1 pixel dans la direction y.

Page 35: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus
Page 36: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Généralisation de la règle Eidos

Eidos peut être généralisé par l’ajout d’un nombre arbitraire de termes à la règle d’apprentissage du BSB. Partant de :

On obtient, après les changements de

variable

et B=(I+wk)n-p :

On peut généraliser cette équation en la série :

Comme B est symétrique, on a aussi B=O-1Λ O, où O et Λ sont les matrices des vecteurs propres et des valeurs propres de B.

Page 37: DIC9310-6 - LabUnixboukadoum_m/DIC9310/Notes/6-DIC9310... · Web viewInitialiser les activations des neurones (utiliser le nombre de villes divisé par le nombre de neurones, plus

Par conséquent :

(Noter le changement de variable Qk=OCkO-1 . En fait Qk est une matrice diagonale, puisque les vecteurs qui forment O sont des vecteurs propres de Ck. Les élements de Qk sont donnés par (1+k)2p. Les

éléments de i sont donnés pas (1+k)(n-p)i)

Pour le terme entre parenthèses, on a pour les éléments de ΛiQkΛi:

Par conséquent :

Ou wk= O-1 [i(1+k) 2(n-p)i+2p]O.

Donc, pour des valeurs arbitraires mais finies des éléments de O, O-1 et de Q, le comportement dynamique de Δwk dépendra des valeurs de f(λiλj), une fonction des valeurs propres de wk. Toute pareille fonction qui possède des valeurs propres positives et qui croise ou s’approche de zéro à un moment donné durant la phase d’apprentissage peut être utilisée.