1 Rappel du fonctionnement du réseau de Hopeld
Le réseau de Hopeld tire son inspiration de la physique (théorie des spins de glass en
magnétisme). Il permet de rendre compte de la recherche d'un état stable de plus faible
énergie, à partir d'un état initial quelconque. Le principal intérêt de ce réseau est de per-
mettrel'adressagepar lecontenu(ilretrouvelepatternstocké leplusproche de l'étatinitial
présenté en entrée, par une dynamiquede réverbérations).
L'étatde chaqueneurone X
i
(t)estdéniparune variablebipolaire(1.0pouractif,-1.0pour
inactif).Cette variable est mise à jouren fonction de lasomme des états de tous les autres
neurones du réseau(principe du neurone àseuil) :
(
P
n
j=0
!
ij X
j
(t)<)X
i
(t+1)= 1
P
n
j=0
!
ij X
j
(t))X
i
(t+1)=1
Pour que les états stables correspondent aux patterns que l'on souhaite que le réseau
retienne, oncalcule chaque poids synaptique par laloide Hebb. La corrélationde patterns,
ou algorithme d'apprentissage par projections, permet de stocker de manière distribuée un
nombrePdepatterns f p
g
p=1:::P
estiméà0.15*N,oùNest lenombredeneurones duréseau.
On a alors pour chaque poids du réseau:
!
ij
= 1
P P
P
p=1
p
i
p
j
Pour plus de cohérence, on dénira les valeurs bipolaires comme des valeurs réelles
(double), de même que lespoids synaptiques.
2 Etapes de développement
2.1 Initialisation du réseau
Dénition de l'architecture de chiers (main.c, dene.h +makele).
Modélisationetinitialisationdes structures associéesauréseau: patterns etentrées=
double*, matrices de poids = double**.
Opérateurs de multiplication entre un vecteur et une matrice dans un chier math-
Tools.c.
Calculdes poids, à partirdes patterns (Voirapprentissage par projection ci-dessus).
Algorithme de fonctionnement, critère d'arrêt en fonction de la diérence entre deux
vecteurs d'états du réseau consécutifs.
2.3 Lecture dans un chier
Constructiond'unobjetintermédiare(double**tabPatterns),àpartirduquelonconstruit
lespoids.
Mise en place des fonctions dans un chier le.c des procédures permettant lalecture
du chier tabProtos0.txt(fourni) et de remplir tabPatterns.
2.4 Ecriture dans un chier
Miseen placed'un chier danslequel onécrit l'étatinitialdu réseau (avec des#pour
1.0, ' 'pour -1.0).
Ecrituredesétatsintermédiaires(apreschaque miseàjour)àlasuitelesunsdesautres
sur un chier, puis de l'état nal.
2.5 Bassins d'attraction et bruit
Générationdubruitdanslemodèle:parinversiond'unpatternstockéselonuncertain
pourcentage.
Analyse des patterns intermédiaires.
Test du nombre de patterns stockés en fonctionde lacapacité en reconnaissance.