Download pdf - Introduction Aux Rn&Ags

Transcript
Page 1: Introduction Aux Rn&Ags

Faculté des Sciences de Rabat

Master IT Année scolaire

2007/2008

INTRODUCTION AUX RESEAUX DE NEURONES

ET AUX ALGORITHMES GENETIQUES

Ahmed Hammouch

Page 2: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 2

SOMMAIRE Première partie : Introduction aux réseaux de neurones artificiels I. INTRODUCTION II. HISTORIQUE III. LE NEURONE BIOLOGIQUE

III.1. Le neurone III.2. Structure d’un neurone

III.2.1. Le corps cellulaire III.2.2. Les dendrites III.2.3. L'axone

III.3. Fonctionnement des neurones IV. MDELISATIONS

IV.1. Les débuts : Le modèle de Mac Culloch et Pitts (1943) IV.2. Modèle général IV.3. Le neurone sommateur IV.4. Le neurone distance IV.5. La structure des connexions IV.6. La dynamique des connexions

V. RESEAU MONOCOUCHE

V.1. Structure du réseau V.2. Principe d’apprentissage

V.2.1. La loi de Hebb V.2.2. La règle d'apprentissage du Perceptron et d’Adaline

V.3. Limites des réseaux monocouche : la séparation linéaire V.4. Variation du seuil θ V.5. Illustration de la règle du Perceptron V.6. Illustration de la règle d’apprentissage d’Adaline V.7. Vers des réseaux multicouches

VI. Mémoires associatives linéaires VI.1. Structure du réseau VI.2. Fonctionnement VI.3. Apprentissage VI.4. Illustration

Page 3: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 3

VI.5. Limitations VII. RESEAU MULTICOUCHES

VII.1. Structure d’un réseau multicouches VII.2. Apprentissage dans un réseau multicouches VII.3. Aspects pratiques de l’algorithme

VII.3.1. Lissage de la règle d’adaptation VII.3.2. Valeurs initiales des poids VII.3.3. Choix du pas d’adaptation VII.3.4. Test d’arrêt VII.3.5. Dimensionnement du réseau VII.3.6. Base d’apprentissage et de généralisation VII.3.7. Le temps de calcul

VII.4. Exemples d’utilisation du réseau multicouches VII.4.1. Approximation d’une fonction VII.4.2. Classification d’images

VIII. RESEAU DE KOHONEN

VIII.1. Réseau à apprentissage compétitif VIII.1.1. Structure du réseau VIII.1.2. L’apprentissage compétitif standard VIII.1.3. Apprentissage compétitif sensible à la fréquence et apprentissage compétitif pénalisant le rival

VIII.1.3.1. Apprentissage compétitif sensible à la fréquence VIII.1.3.2. Apprentissage compétitif pénalisant le rival

VIII.2. Cartes auto - organisatrices de Kohonen VIII.2.1. Structure du réseau VIII.2.2. Fonctionnement du réseau VIII.2.3. Apprentissage et voisinage dans une couche de Kohonen VIII.2.4. Paramètres d’apprentissage VIII.2.5. Quelques remarques pratiques VIII.2.6. Convergence de I'algorithme VIII.2.7. Illustration

IX. LE MODELE DE HOPFIELD

IX.1. Structure du réseau IX.2. Dynamique du réseau

IX.2.1. Mise à jour eu mode synchrone IX.2.2. Mise à jour en mode asynchrone

IX.3. Apprentissage du réseau

Page 4: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 4

IX.4. Limites des réseaux de Hopfield IX.5. Réseau de Hopfield et optimisation combinatoire

IX.5.1. Structure générale du réseau IX.5.2. Fonction d’énergie du réseau IX.5.3. Formulation duale IX.5.4. Applications

IX.6. Réseaux de Hopfield à recuit simulé IX.6.1. Le recuit simulé IX.6.2. Utilisation dans les réseaux de Hopfield

IX.7. Illustration

Deuxième partie : Introduction aux Algorithmes Génétiques I. INTRODUCTION II. HISTORIQUE III. LES ALGORITHMES GENETIQUES (AGS)

III.1. Principe de base d’un algorithme génétique III.2. Etapes fondamentales d’un AG

III.2.1. Codage des solutions III.2.2. Initialisation III.2.3. Evaluation III.2.4. Opérateurs d’évolution

III.2.4.1. La sélection III.2.4.2. Le croisement III.2.4.3. La mutation

III.2.5. Stratégies de remplacement III.2.6. Critère d’arrêt

III.3. Illustration III.4. Problèmes associés aux AGs

III.4.1. Convergence prématurée III.4.2. Convergence lente

Exercices Quelques références bibliographiques

Page 5: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 5

cÜxÅ|¢Üx ÑtÜà|x M \ÇàÜÉwâvà|ÉÇ tâå Ü°áxtâå wx

ÇxâÜÉÇxá tÜà|y|v|xÄá

Page 6: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 6

I. Introduction Sous le terme de réseaux de neurones artificiels (ou formels), on regroupe aujourd’hui un certain nombre de modèles dont l’intention est d’imiter certaines des fonctions du cerveau humain en reproduisant certaines de ses structures de base. Les réseaux de neurones artificiels sont composés d’éléments simples (ou neurones) connectés entre eux. Ces éléments ont été fortement inspirés par le système nerveux biologique. Comme dans la nature, le fonctionnement d’un réseau de neurones est fortement influencé par les connexions des éléments entre eux. Les valeurs de ces connexions (ou poids) sont ajustées durant une phase d’entraînement. Cette phase dite d’apprentissage permet aux réseaux de neurones de réaliser des taches complexes dans différents types d’application (classification, identification, reconnaissance de caractères, de la voix, vision, système de contrôle…). Les réseaux de neurones peuvent souvent apporter une solution simple à des problèmes encore trop complexes ne pouvant être résolus rapidement par les ordinateurs actuels (puissance de calcul insuffisante) ou par notre manque de connaissances. La méthode d’apprentissage dite supervisé est souvent utilisée mais des techniques d’apprentissage non supervisé existent. Les réseaux de neurones ont une histoire relativement jeune (environ 50 ans) et les applications intéressantes des réseaux de neurones n’ont vu le jour qu’il à une vingtaine d’année (développement de l’informatique). L’objectif de ce cours est de présenter (sommairement) les grands types de réseaux de neurones, leurs règles et algorithmes d’apprentissage et leurs applications.

Page 7: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 7

II. Historique Historiquement, les origines de cette discipline ‘’les réseaux de neurones’’ sont très diversifiées. En 1943, McCulloch et Pitts étudièrent un ensemble de neurones formels interconnectés, et montrèrent leurs capacités à calculer certaines fonctions logiques. En 1949, Hebb, dans une perspective psycho- physiologique, souligne l’importance du couplage synaptique dans les processus d’apprentissage et présente une règle d’apprentissage. De nombreux modèles de réseaux de neurones s’inspirent, aujourd’hui encore, de cette règle de Hebb. En 1958, Rosenblatt décrit le premier modèle opérationnel de réseaux de neurones mettant en œuvre les idées de Hebb, McCulloch et Pitts : le Perceptron. C’est un réseau de neurones inspiré du système visuel. Il possède deux couches de neurones : une couche de perception et une couche liée à la prise de décision. C’est le premier système artificiel capable d’apprendre par expérience. Ce modèle suscita beaucoup de recherches, et sans doute trop d’espoirs. Dans la même période, Le modèle de Adaline (ADAptive LInear NEuron) a été présenté par Widrow et Hoff. Ce modèle sera par la suite le modèle de base des réseaux de neurones multicouches. En 1969, deux mathématiciens, Minsky et Papert publient une étude montrant les limites du Perceptron. Cela va avoir une grande incidence sur la recherche dans ce domaine. Elle va fortement diminuer jusqu’en 1972, où Kohonen présente ses travaux sur les mémoires associatives et propose des applications à la reconnaissance de formes. Le renouveau actuel des réseaux de neurones est dû à des contributions originales, comme celles de Hopfield en 1982, qui en montrant l’analogie des réseaux de neurones avec certains systèmes physiques, a permis de leur appliquer un formalisme riche et bien maîtrisé. Plus tard, en 1985, des nouveaux modèles mathématiques ont permis de dépasser les limites du Perceptron. Aujourd’hui les applications pratiques des réseaux de neurones sont nombreuses et concernes plusieurs domaines :

Page 8: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 8

• Aérospatial : Pilotage automatique, simulation du vol, • Automobile : Système de guidage automatique, • Défense : Guidage de missile, suivi de cible, reconnaissance du visage, radar,

sonar, traitement du signal, compression de données, suppression du bruit,… • Electronique : Prédiction de la séquence d’un code, vision machine,

synthétiseur vocal, modèle non linéaire, compression de données (JVC). Ils sont aussi utilisés en reconnaissance de caractères (EasyReader), de visage (Mimetics), de la parole, de l'écriture (ordinateur sans clavier), de signature acoustique (Thomson), d'objets (Silac: profilés d'aluminium), ...

• Finance : Prévision du coût de la vie, • Secteur médical : Analyse EEC et ECG, • Télécommunications : Compression de données, • Diagnostic : Allumage voiture (Renault) ; photocopieur (Canon); circuits VLSI,

(IBM), … • Prévision : De la consommation d'eau (Lyonnaise des eaux), de la

consommation d'électricité (EDF), de trafic routier, de cours boursiers, ... • Identification de procédé industriel : Air liquide, Elf, ciments Lafarge, ... • … Les réseaux de neurones ont aujourd’hui un impact considérable et, il y a fort à parier, que leur importance ira en grandissant.

Page 9: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 9

III. LE NEURONE BIOLOGIQUE

III.1. Le neurone Le neurone est une cellule nerveuse qui est l'élément de base du système nerveux central. Celui-ci en possèderait environ cent milliards. Les neurones possèdent de nombreux points communs dans leur organisation générale et leur système biochimique avec les autres cellules. Ils présentent cependant des caractéristiques qui leur sont propres et se trouvent au niveau des cinq fonctions spécialisées qu'ils assurent :

Recevoir des signaux en provenance de neurones voisins, Intégrer ces signaux, Engendrer un influx nerveux, Le conduire, Le transmettre à un autre neurone capable de le recevoir.

III.2. Structure d’un neurone Un neurone est constitué de trois parties (figure III.1) :

Le corps cellulaire, Les dendrites, L'axone.

Le noyau

Le corps cellulaireLes dendrites

L’axone

Figure III.1 : Schéma du neurone

Page 10: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 10

III.2.1. Le corps cellulaire Il contient le noyau du neurone et effectue les transformations biochimiques nécessaires à la synthèse des enzymes et des autres molécules qui assurent la vie du neurone. Sa forme dépend souvent de sa position dans le cerveau. Elle est pyramidale ou sphérique dans la plupart des cas. Sa taille est de quelques microns de diamètre.

III.2.2. Les dendrites Chaque neurone possède une "chevelure" de dendrites. Celles-ci sont des fines extensions tubulaires, de quelques dixièmes de microns de diamètre et d'une longueur de quelques dizaines de microns. Elles se ramifient, ce qui les amène à former une espèce d'arborescence autour du corps cellulaire. Elles sont les récepteurs principaux du neurone pour capter les signaux qui lui parviennent.

III.2.3. L'axone L'axone, qui est à proprement parler la fibre nerveuse, sert de moyen de transport pour les signaux émis par le neurone. Il se distingue des dendrites par sa forme et par les propriétés de sa membrane externe. En effet, il est généralement plus long (sa longueur varie d'un millimètre à plus d'un mètre) que les dendrites, et se ramifie à sur extrémité, là où il communique avec d'autres neurones, alors que les ramifications des dendrites se produisent plutôt prés du corps cellulaire.

Figure III.2 : Schéma d'une synapse

Page 11: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 11

Pour former le système nerveux, les neurones sont connectés les uns aux autres suivant des répartitions spatiales complexes. Les connexions entre deux neurones se font en des endroits appelés synapses où ils sont séparés par un petit espace synaptique de l'ordre d'un centième de microns (figure III.2).

III.3. Fonctionnement des neurones D'une façon simple, on peut dire que le neurone traite les courants électriques qui lui parviennent de ses dendrites, et qu'il transmet le courant électrique résultant de ce traitement aux neurones auxquels il est connecté par l'intermédiaire de son axone. Le schéma classique présenté par les biologistes est celui d'un soma effectuant une sommation des influx nerveux transmis par ses dendrites (figure III.3). Si la sommation dépasse un seuil, le neurone répond par un influx nerveux ou potentiel d'action qui se propage le long de son axone. Si la sommation est inférieure à un seuil, le neurone reste inactif. L'influx nerveux qui se propage entre différents neurones est, au niveau de ces neurones, un phénomène électrique.

Sommation

Axone

+

SeuillageDendrites

Corps cellulaire

Figure III.3 : Fonctionnement du neurone

Page 12: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 12

IV. MDELISATIONS IV.1. Les débuts : Le modèle de Mac Culloch et Pitts (1943) La première modélisation d'un neurone date des années quarante. Elle a été présentée par Mac Culloch et Pitts. S'inspirant de leurs travaux sur le neurone biologique, ils ont proposé le modèle suivant (figure IV.1):

Un neurone formel fait une somme pondérée des potentiels d'action qui lui parviennent (chacun de ces potentiels est une valeur numérique qui représente l'état du neurone qui l'a émis), puis s'active suivant la valeur de cette sommation pondérée. Si cette somme dépasse un certain seuil, le neurone est activé et transmet une réponse (sous forme de potentiel d'action) dont la valeur est celle de son activation. Si le neurone n'est pas activé, il ne transmet rien.

Ce neurone formel est un automate booléen, c’est dire que ses entrées et sa sortie sont booléennes.

w1

wk

Σ s

xk

-1

+1

Poids des connexions

Fonction d’entrée

Seuillage

.

.

.

x1

Figure IV.1. : Modèle du neurone de Mac Culloch et Pitts (1943)

Page 13: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 13

IV.2. Modèle général D'une façon générale, on peut définir un neurone formel ou simplement neurone par les éléments suivant : - La nature des entrées ( x1, x2, …,xn) et de la sortie (s) ; elles peuvent être

binaires (±1 ou 0 et 1) ou réelles ; - La fonction d'entrée totale (h) qui définit le prétraitement effectué sur les

entrées ; elle peut être booléenne, linéaire, affine,… - La fonction d'activation (ou d'état) (f) du neurone qui définit son état interne en

fonction de son entrée totale ; elle peut être binaire, discrète ou continue. Selon le type de cet état, on aura donc différentes formes pour la fonction d'activation ;

- La fonction de sortie (g) qui calcule la sortie du neurone en fonction de son état

d'activation.

w1

wk

h f g

A

s . . .

xk

x1

Figure IV.2 : Modèle générale du neurone xi : entrées du neurone, A : activation du neurone, s : sortie du neurone,

wi : poids (synaptiques), h : fonction d'entrée, f : fonction d'activation (ou de transfert), g : fonction de sortie

A= f{h[(x1, …, xk), (w1, …, wk) ]} et s = g(A) (= A le plus souvent) La combinaison (h, f, g) définit le type de neurone

Page 14: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 14

IV.3. Le neurone sommateur Le neurone formel sommateur est constitué de deux opérateurs (figure IV.3) :

w1

wn

Σ f s .

.

.

xn

x1

Figure IV.3 : Neurone formel sommateur discret

- Un opérateur de sommation qui élabore un "potentiel" p égal à la somme

pondérée du neurone, - Un opérateur qui calcule l’état de sortie "s" du neurone en fonction de son

potentiel p. Les calculs du potentiel p et de la sortie s s’expriment par les relations suivantes :

ixn

i iWp ∑=

=1

nxnwxwxw +++= ...2211et )( pfs =où wi sont les poids synaptiques (qui sont matérialisés par des cercles qui seront généralement omis dans les représentations ultérieurs), p est la fonction d’entrée totale du neurone et f la fonction d’activation du neurone (ou la fonction de neurone). Sous la forme matricielle : et XtWp = )( XtWfs =où W est le vecteur constitué des coefficients synaptiques et X constitué des composantes du vecteur d’entrée :

Page 15: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 15

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

=

nw

w

W...1

et

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

=

nx

x

X...1

Exemples de fonctions de neurone La fonction d’activation du neurone est l’opérateur qui définit son comportement. Elle prend différentes formes selon l’utilisation du réseau, et la nature continue ou discrète, voire binaire de l’état s du neurone. Elle présente en général un seuil. Ainsi, elle peut être : - Une fonction linéaire (identité) (figure IV.4) : f(p)=p. Dans ce cas le neurone est linéaire.

p

s

Figure IV.4 : Fonction " identité " - Une fonction non linéaire (saturation), se rapprochant de la caractéristique entrée/sortie des neurones réels, décrite par un seuil θ, une partie linéaire à pente constante A, et une valeur de saturation (figure IV.5) : f(p) = Min[Smax, Max(0, A.p)].

s

Figure IV.5 : Fonction "saturation"

Page 16: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 16

- Une fonction "signe" dont les valeurs de la sortie sont –1 et +1 (figure IV.6.a) ou une fonction "échelon" (seuil, Heaviside) dont les valeurs de la sortie sont 0 ou +1 (figure IV.6.b) avec éventuellement un seuil θ : f(p)=Sign(p-θ ) ou f(p)=U(p-θ ). Dans ce cas le neurone est binaire. s

θ

b)

P

θ

s

P

a)

Figure IV.6 : a) Fonction "Signe", b) Fonction "échelon" - Une fonction "sigmoïde" dont la forme générale est celle d’une tangente hyperbolique avec des valeurs comprises entre –1 et +1 (figure IV.7.a) ou avec des valeurs comprises entre 0 et +1 (figure IV.7.b) :

s

θ θ

a)

P

s

b)

θ θ P

Figure IV.7 : Fonction "sigmoïde"

1

1)(

)(

)(

+

−= −

ee

Tp

Tp

pf θ

θ

] ]1;1 +−∈s

ou

Page 17: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 17

1

)()(

)(

+= −

ee

Tp

Tp

pf θ

θ

] ]1;0 +∈s

T est un paramètre appelé température. Quand il tend vers 0, la pente augmente et les fonctions "sigmoïde" tendront alors vers la fonction "signe" et "échelon" définies précédemment. Les fonctions d’allure "sigmoïde" sont très utilisées. Les caractéristiques "identité", "signe" et "sigmoïde″ présentent des valeurs négatives. Or les fréquences moyennes ou instantanées de potentiel d’action d’un neurone biologique sont bien sûr des nombres positifs. Il s’agit là d’une liberté que l’on prend par rapport à la biologie dans le cas des modèles connexionnistes. - Une fonction stochastique : dans ce modèle la sortie du neurone est binaire et elle est déterminée en fonction d’une certaine probabilité :

)(1

1)1(

Tp

e

VP θ−−

+

==

)1(1)1( =−=−= VPVPoù θ est une constante positive et T est un paramètre qui représente une température. Nous pouvons constater que lorsque T tend vers 0, le modèle stochastique tend vers le modèle binaire. Ce neurone probabiliste est principalement utilisé dans les réseaux à recuit simulé. - Une fonction Gaussienne

p

s

Figure IV.8 : Fonction gaussienne - Toute autre fonction, généralement choisie croissante et impaire.

Page 18: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 18

IV.4. Le neurone distance Le neurone distance est constitué de d’un opérateur qui élabore un "potentiel" p égal à la distance entre le vecteur d’entrée et le vecteur des coefficients synaptiques (poids) du neurone, suivie d’un autre opérateur qui calcule l’état de sortie "s" du neurone en fonction de son potentiel p (figure IV.9). La fonction f d’activation du neurone est généralement une fonction Identité ou gaussienne.

w1

wn

DIST f s .

.

.

xn

x1

Figure IV.9 : Neurone formel distance

IV.5. La structure des connexions Les structures qui peuvent être utilisées sont très variées. En effet, si l’on se réfère aux études biologiques du cerveau, on constate que le nombre de connexions est énorme formant ainsi un système d’une complexité gigantesque. D’une manière générale, l’architecture des réseaux de neurones formels peut aller d’une connectivité totale (tous les neurones sont reliés les uns aux autres), à une connectivité locale où les neurones ne sont reliés qu’à leurs proches voisins. Il est courant d’utiliser des réseaux à structure régulière pour faciliter leurs utilisations. On distingue deux grandes catégories de modèles classiques de réseaux : - Les réseaux à couches (ou non bouclés). Comme leur nom l’indique, ces

réseaux sont constitués d’une ou de plusieurs couches de neurones. Les neurones qui appartiennent à une même couche ne sont pas connectés entre eux, et chacune des couches recevant des signaux de la couche précédente et transmettant le résultat de ses traitements à la couche suivante (il n'y a pas de connexion "vers l'arrière"). Les deux couches d’extrêmes correspondent à la couche qui reçoit ses entrées du milieu extérieur d’une part, et à la couche qui

Page 19: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 19

fournit le résultat des traitements effectués d’autre part. Les couches intermédiaires sont appelées couches cachées, leur nombre est variable. Ces réseaux sont utilisés en classification, en reconnaissance des formes (caractères, parole, ...), en prédiction, …

Parmi ces modèles nous étudierons le réseau monocouche et le réseau de multicouches.

- Les réseaux entièrement connectés (ou bouclés). Dans ces réseaux, chaque

neurone est relié à tous les autres et possède même un retour sur lui. Ces réseaux sont utilisés comme mémoire associative ou pour des tâches de traitement du signal ou de commande.

Parmi ces modèles nous étudierons le réseau Kohonen et le réseau de Hopfield.

IV.6. La dynamique des connexions Dans un réseau de neurones formels, les différents neurones sont reliés entre eux par des connexions. Celles-ci représentent les synapses (ou poids). Comme nous l’avons vu, les synapses peuvent jouer différents rôles. Elles peuvent être inhibitrices ou excitatrices. Pour modéliser ce rôle, on a choisi d’affecter à chaque connexion entre deux neurones formels un poids qui pondère le signal transmis. Modéliser un réseau de neurone, c’est donc, décrire le modèle du neurone et celui des connexions entre ces neurones. Si le réseau est doué d’apprentissage, à l’équation de relaxation qui calcule l’état de chacun des neurones en fonction de celui des autres et en fonction des entrées, s’ajoute une équation d’adaptation ou d’apprentissage qui permet de contrôler l’évolution des poids synaptiques. La phase d'apprentissage, est une phase du développement d'un réseau de neurones durant laquelle les poids sont modifiés jusqu'à l'obtention du comportement désiré. L'apprentissage neuronal fait appel à des exemples de comportement. L'apprentissage est vraisemblablement la propriété la plus intéressante des réseaux neuronaux. Elle ne concerne cependant pas tous les modèles, mais les plus utilisés. Au niveau des algorithmes d'apprentissage, il a été défini deux grandes classes selon que l'apprentissage est dit supervisé ou non supervisé. Cette distinction repose sur la forme des exemples d'apprentissage. Dans le cas de l'apprentissage supervisé, les exemples sont des couples (Entrée, Sortie associée) alors que l'on ne dispose que des valeurs (Entrée) pour l'apprentissage non supervisé.

Page 20: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 20

V. Réseau monocouche V.1. Structure du réseau Un réseau de neurone monocouche est constitué d’une couche de neurones (de sortie) connectés à un ensemble d’entrées par l’intermédiaire de connexions modifiables (poids) wjk (figure V.1). Les neurones ne sont pas interconnectés et reçoivent tous les mêmes informations provenant des entrées.

wik

x1

x2

…xi …

xn

e1

e2

… ek …

ep

Figure V.1: Structure d’un réseau monocouche L’évolution du réseau se fait en parallèle. Tous les neurones calculent, en même temps, la somme des entrées pondérées par des coefficients (poids) et déterminent leur sortie. Ces coefficients sont déterminés par un apprentissage. V.2. Principe d’apprentissage Celui-ci consiste à calculer ces coefficients (poids) wik à l’aide d’un algorithme approprié, à partir d’un ensemble de forme à apprendre. V.2.1. La loi de Hebb Historiquement, la première règle d’apprentissage a été formulée de façon qualitative par Hebb en 1949. Celle-ci s'applique aux connexions entre neurones, comme le représente la figure V.2.

Page 21: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 21

wij jj

Figure V.2 : i le neurone amont, j le neurone aval et wij le poids de la connexion.

Elle s'exprime de la façon suivante : "Si 2 cellules sont activées en même temps alors la force de la connexion augmente". Il s’agit, en fait, de renforcer la connexion reliant deux neurones à chaque fois qu’ils sont actifs simultanément, ainsi que le montre la table V.1. xi et xj sont respectivement les valeurs d'activation des neurones i et j, ∂wij (dérivée partielle du poids) correspond à la modification de poids réalisée.

xi xj ∂wij0 0 00 1 01 0 01 1 +

Table V.1. La loi de Hebb.

La loi de Hebb peut être modélisée par les équations suivantes :

wij(t+1) = wij(t) +∂wij(t) ∂wij(t) = µ .xi . xj (entrée*sortie)

où µ est une constante positive qui spécifie le pas de modification des poids. La coactivité est modélisée comme le produit des deux valeurs d'activation.

L'algorithme d'apprentissage modifie, de façon itérative, les poids pour adapter la réponse obtenue à la réponse désirée. Il s'agit en fait de modifier les poids lorsqu'il y a erreur seulement. 1/ Initialisation des poids et du seuil θ à des faibles valeurs choisies au hasard, 2/ Présentation d'une entrée El = (e1, ... en) de la base d'apprentissage, 3/ Calcul de la sortie x1 pour cette entrée : a = ∑ (wi . ei) - θ x1 = signe (a) (si a > 0 alors x = +1 sinon a ≤ 0 alors x = -1) 4/ Si la sortie x1 est différente de la sortie désirée dl pour cet exemple d'entrée El alors modification des poids : wij(t+1) = wij(t) + µ.(x i . xj)

Page 22: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 22

5/ Tant que tous les exemples de la base d'apprentissage ne sont pas traités correctement (i.e. modification des poids), retour à l'étape 2. Exemple d'application de l'algorithme d'apprentissage de Hebb : Pour simplifier les calculs, choisissons un réseau avec un seul neurone à deux entrées e1 et e2 (figure V.3). La fonction d’activation du neurone est un échelon.

w1

w2

x

e2

e1

Figure V.3 : Réseau de neurones pour la résolution du problème exprimé table V.2,

(les 2 entrées sont considérées comme deux neurones)

Nous allons réaliser l'apprentissage sur un problème très simple. La base d'apprentissage est décrite par la table 2 :

e1 e2 x Exemple1 1 1 (1) 1 -1 1 (2)

-1 1 -1 (3) -1 -1 -1 (4)

Table V.2. Base d'exemples d'apprentissage pour la loi de Hebb.

1/ Conditions initiales : µ = +1, les poids et le seuil sont nuls (w1=0, w2=0, θ=0). 2/ Calculons la valeur de x pour l'exemple (1) : 3/ a = w1.e1 + w2.e2 - θ = 0,0.1 + 0,0.1 – 0,0 = 0 => a ≤0 => x = -1 4/ La sortie est fausse, il faut donc modifier les poids en appliquant : w1 = w1 + e1.x = 0.0 + 1.1 = 1 w2 = w2 + e2.x = 0.0 + 1.1 = 1 2/ On passe à l'exemple suivant (2) : 3/ a = 1.1 + 1.-1 -0.0 = 0 => a ≤0 => x = -1

Page 23: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 23

4/ La sortie est fausse, il faut donc modifier les poids en appliquant : w1 = 1 + 1.1 = 2 w2 = 1 + 1.-1 = 0 2/ On passe à l'exemple suivant (3) : 3/ a = -2 ≤0 => x = -1, la sortie est bonne, il n’y a pas de modification des poids. 2/ On passe à l’exemple suivant (4) : 3/ a = -2≤ 0 => x = -1, la sortie est bonne, il n’y a pas de modification des poids. 2/ On revient à l'exemple (1) : 3/ a = 2>0 => x = 1, la sortie est bonne, il n’y a pas de modification des poids. 2/ On passe à l’exemple suivant (2) : 3/ a = 2>0 => x = 1, la sortie est bonne, il n’y a pas de modification des poids. Ainsi toute la base d'apprentissage a été passée en revue sans modification des poids. L'algorithme d'apprentissage est alors terminé Question : Soit le réseau composé de 4 neurones d'entrée et d'un neurone de sortie (w1 = w2 = w3 = w4 = θ = 0) et la base d'apprentissage :

e1 e2 e3 e4 x Exemple1 -1 1 -1 1 (1) 1 1 1 1 1 (2) 1 1 1 -1 -1 (3) 1 -1 -1 1 -1 (4)

Recherchez les valeurs de poids qui résolvent le problème. Réponse : Cet algorithme d'apprentissage ne permet pas de trouver une solution à ce problème. Pourtant, il existe des solutions comme par exemple (w1 = -0.2, w2 = -0.2, w3 = 0.6, w4 = 0.2). Un algorithme de calcul efficace pour ce problème est l'apprentissage sur le modèle du Perceptron abordé au paragraphe suivant.

Page 24: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 24

V.2.2. La règle d'apprentissage du Perceptron et d’Adaline La règle de Hebb ne s'applique pas dans certain cas, bien qu'une solution existe (voir exercice du paragraphe précédent). Un autre modèle d’algorithme d’apprentissage a donc été proposé. Il est basé sur l’idée de réduire progressivement la différence entre la sortie obtenue et la sortie désirée, c’est la règle utilisée dans le Perceptron (réseau à un seul neurone) de Rosenblatt ou la règle utilisée dans Adaline (ADAptive LInear NEuron) de Widrow et Hoff appelée également règle delta. Toutes les deux reposent sur la minimisation d’une erreur quadratique instantanée. Les architectures des réseaux proposés dans les deux cas sont très voisines (figure V.4). Dans le cas d’Adaline, comme son nom l’indique, le neurone est linéaire: N(p)=p, alors que la caractéristique du neurone dans le Perceptron est une fonction échelon : N(p)=U(p-θ), où θ est un seuil.

PERCEPTRON

…p y

xn

xi

x1

yd

+-wi

ADALINE

p …

xn

xi

pd

+-wi

w1

wn ALGO. D’ADAPTATION PARAMETRIQUE

+

x1

w1

wn

θ

ALGO. D’ADAPTATION PARAMETRIQUE

+

Figure V.4 : Apprentissage dans les neurones d’Adaline et du Perceptron L’apprentissage se fait avec superviseur, c’est à dire que l’on présente un vecteur à l’entrée du réseau et en même temps on fournit la sortie désirée : dans le cas

Page 25: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 25

d’Adaline, il s’agit du potentiel désiré pd, dans le cas du Perceptron, il s’agit de la classe désirée yd (vecteur canonique). Pour un seul neurone, à chaque pas d’apprentissage, l’erreur quadratique E à minimiser est donc : E = (p - )², erreur analogique, dans le cas d’Adaline, pd

E = (y - )², erreur binaire dans le cas du Perceptron. yd

Le principe de minimisation de l’erreur repose sur une méthode de gradient. On calcule le gradient de l’erreur par rapport aux poids wi et l’on effectue une correction en sens inverse sur les poids. Dans le cas du Perceptron les poids sont modifiés selon la règle suivante : w w wk k+ = +1 ∆ k

xk∆w y yk d= − −α( ) * où α est un gain positif d’adaptation. L'algorithme d'apprentissage du Perceptron est semblable à celui utilisé pour la loi de Hebb. Les différences se situent au niveau de la modification des poids. 1/ Initialisation des poids et du seuil θ à des faibles valeurs choisies au hasard. 2/ Présentation d'une entrée El = (e1, ... en) de la base d'apprentissage. 3/ Calcul de la sortie obtenue x1 pour cette entrée : a = ∑ (wi . ei) - θ x1 = signe (a), ( si a > 0 alors x1 = +1 sinon a ≤ 0 alors x 1= -1 ) 4/ Si la sortie x1 du Perceptron est différente de la sortie désirée dl pour cet exemple d'entrée El, alors modification des poids (µ le pas de modification) : wi(t+1) = wi(t) + µ.((d l – x1).ei) 5/ Tant que tous les exemples de la base d'apprentissage ne sont pas traités correctement (i.e. modification des poids), retour à l'étape 2. Exemple de fonctionnement de l'algorithme d'apprentissage du Perceptron : Base d'exemples d'apprentissage :

e1 e2 d Exemple1 1 1 (1)

-1 1 -1 (2) -1 -1 -1 (3) 1 -1 -1 (4)

Page 26: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 26

1/ Conditions initiales : w1 = -0.2, w2 = +0.1, θ = 0,2 (µ = +0.1) 2/ a(1) = -0.2 + 0.1 -0.2 = -0.3 3/ x(1) = -1 (la sortie désirée d(1) = +1, d'où modification des poids) 4/ w1 = -0.2 + 0.1 . (1 + 1) . (+1) = 0 w2 = +0.1 + 0.1 . (1 + 1) . (+1) = +0.3 2/ a(2) = +0.3 - 0.2 = +0.1 3/ x(2) = +1 (Faux, d'où modification des poids) 4/ w1 = 0 + 0.1 . (-1 - 1) . (-1) = +0.2 w2 = +0.3 + 0.1 . (-1 - 1) . (+1) = +0.1 2-3/ a(3) = -0.2 -0.1 -0.2 = -0.5 Ok 2-3/ a(4) = +0.2 - 0.1 - 0.2 = -0.1 Ok 2-3/ a(1) = +0.2 + 0.1 - 0.2 = +0.1 Ok 2-3/ a(2) = -0.2 + 0.1 - 0.2 = -0.1 Ok 5/ Tous les exemples de la base ont été correctement traités, l'apprentissage est terminé. Le Perceptron réalise une partition de son espace d'entrée en 2 classes (1 et 2) selon la valeur de sa sortie (+1 ou -1). La séparation de ces deux zones est effectuée par un hyperplan (figure V.5). L'équation de la droite séparatrice est : w1.e1 +w2.e2 - θ= 0. Soit e2=-2.e1+2.

e1

e2

(-1,+1)

(-1,-1) (+1,-1)

(+1,+1)

Classe 2 Classe 1

Figure V.5. Partition de l'espace d'entrée en deux classes par un Perceptron se

comportant comme un ET booléen. Les 4 exemples de la base d'apprentissage sont les 4 sommets du carré. Les paramètres du Perceptron sont :

w1 = 0.2, w2 = 0.1 et θ = 0.2.

Page 27: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 27

Dans le cas d’Adaline les poids sont modifiés selon une règle du même type que précédemment :

w w wk k k1+ = + ∆∆w p p xk d k= − −α( ) *

avec Un calcul simple permet de justifier ces expressions. En effet, à partir de l’équation de l’erreur E = (p - )², on a : pd

∂∂

∂E

w p pp

wkd

k= −2 *( ) *

or p w xp

w xj jj

n

kk= ∑ ⇒ =

=1

∂∂ ,

et finalement, ∂

∂E

w p p xk

d= −2 *( ) * k . D’où la proposition de ∆wk.

Cet algorithme est très simple, mais il présente l’inconvénient des algorithmes de type gradient stochastique en ce qui concerne la convergence. Par ailleurs, il est évident que minimiser l’erreur quadratique instantanée n’est pas identique à minimiser l’erreur quadratique moyenne calculée sur toute la base d’apprentissage, et que ce dernier critère est plus performant. Dans ce cas il faut utiliser des méthodes de ‘’moindres carrés’’ bien connues en automatique et en traitement du signal. Ces méthodes sont plus rapides et plus sûres en convergence mais plus lourdes d’un point de vue calcul. La différence essentielle de l’algorithme d’Adaline avec l’algorithme du Perceptron réside dans le fait que dans ce dernier, le terme (y- yd) est une erreur de décision. Elle vaut 0 si la décision est correcte, et 1 dans le cas contraire. La correction ne tient donc pas compte de la valeur de p : que celle-ci soit très proche du seuil θ ou très éloignée, la correction est donc la même. Ainsi, les avantages de la règle d’Adaline sont doubles : - D’une part, elle permet d’obtenir une solution approchée quand le problème

n’est pas linéairement séparable, - D’autre part, elle permet de rendre plus robuste la solution de séparation linéaire

trouvée, quand il y’en a une, en tendant vers un minimum local d’erreur donnée comme la somme des erreurs quadratiques sur l’ensemble des exemples.

Page 28: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 28

V.3. Limites des réseaux monocouche : la séparation linéaire Dans ce paragraphe nous allons étudier les limites d’un réseau de neurones monocouche liées à la séparation linéaire des objets à classer. En effet, avec un réseau de neurones monocouche, il n’est possible de distinguer que des objets linéairement séparables. Pour montrer cela, considérons, pour simplifier, un réseau avec un seul neurone à seuil y=h(p-θ) (figure V.6). Celui-ci réalise une partition des vecteurs d’entrée qui lui sont soumis en entrée en deux classes. La frontière entre ces deux classes est définie par la condition :

∑ =−=

new

jjj

10θ

où θ représente le seuil du neurone. En effet, pour , le neurone répond

1 et il répond 0 (ou -1), pour . La frontière séparant ces deux classes

est donc un hyperplan de dimension (n-1) où n est le nombre des unités d’entrée.

∑ >=

new

jjj

∑ <=

new

jjj

Ceci peut être visualisé très simplement en dimension 2 (figure V.6). L’hyperplan séparant l’espace d’entrée en 2 est de dimension 2-1=1, soit une droite d’équation :

qui peut encore s’écrire : 02211 =−+ θewew2

12

12 w

eww

e θ+−= , si w2≠0.

02211 =−+ θewew

e1

e2

s

w1

w2

Σ +1

θ

x2

x1

Classe 2 Classe 1

Figure V.6 : Séparation linéaire en deux classes

Page 29: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 29

Cette propriété des neurones à seuil constitue une très forte limite à leurs possibilités de classification. Car elle signifie qu’avec un réseau monocouche, il n’est possible de résoudre que des problèmes linéairement séparables. Illustrons ceci par deux exemples dont le premier est un ‘OU logique’ (étudier précédemment) où les classes sont linéairement séparables et le deuxième un ‘OU EXCLUSIF’ où les classes ne sont pas linéairement séparables. La table de vérité de l’opération ‘OU logique’ est la suivante :

e1 e2 s=e1 OU e20 0 0 0 1 1 1 0 1 1 1 1

Un exemple de paramètres du Perceptron réalisant cette opération est : w1 = 2, w2 = 2, θ = 1. Soit donc une droite d’équation : e2=-e1+0,5 (figure V.7).

0,5 2 01

0,5

2 21 =−+ ee

e1

e2

Classe 2 Classe 1

Figure V.7 : Partition de l'espace d'entrée en deux classes par un Perceptron se

comportant comme un ‘OU logique’. Les paramètres du Perceptron sont : w1 = 2, w2 = 2 et θ = 1.

On voit bien que la séparation en deux classes est possible par un hyperplan de dimension 2-1=1, soit une droite. Un réseau à une couche effectuant l’opération ‘OU logique’ serait donc le suivant (figure V.8) :

Page 30: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 30

2

2

Σ s +1

θ=1

5.012 +−= ee e2

e1

Figure V.8 : Réseau effectuant l’opération ‘OU logique’ Voyons maintenant la fonction ‘OU EXCLUSIF’ (XOR). Sa table de vérité est la suivante :

e1 e2 s=e1 OU EXCLUSIF e20 0 0 0 1 1 1 0 1 1 1 0

On voit aisément qu’un neurone à seuil ne peut réaliser la fonction booléenne ‘OU EXCLUSIF’, et, ce quels que soient les poids de ses connexions, car il devrait répondre 0 pour les deux couples (0,0) et (1,1) et 1 pour les deux couples (1,0) et (0,1). C'est-à-dire qu’il devrait séparer linéairement les deux classes : {(0,0), (1,1)} et {(0,1), (1,0)}. Si l’on représente la table de vérité sur plan de dimension 2, on constate bien que c’est impossible (figure V.9) :

y=0

y=0

y=1

y=11

1 e1

e2

Figure V.9 : Le problème de XOR avec un réseau monocouche

Page 31: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 31

Cette fonction n’a pas été choisie au hasard. C’est historiquement la première fonction simple à ne pas pouvoir être résolue par un réseau de neurone de neurone à une couche. Par contre si on ajoute une couche (cachée) au réseau, on obtient un réseau multicouche qui peut alors représenter la fonction XOR (figure V.10). Ceci est général, un réseau multicouche peut résoudre n’importe quel problème.

x

-4,56

e1

θ3=-2,28

θ1=2,21

θ2=4,76

Σ

Σ

Σ

-2,69

-3,39

-2,8 -4,91

4,95e2

Figure V.10 : Un exemple de réseau multicouche représentant la fonction XOR. V.4. Variation du seuil θ Pour un apprentissage efficace, il faut que le seuil θ puisse être ajusté. En effet reprenons l’exemple du paragraphe précédent. Comme nous l’avons vu, la droite qui sépare le plan en deux parties a pour équation : , équation

que l’on peut encore écrire :

θ+−= 1122 ewew

21

2

12 w

eww

e θ+−= , si w2≠0.

L’ordonnée à l’origine de la droite vaut e2=θ/w2. L’axe e1 est coupé au point e10=θ/w1. Supposons le seuil θ constant, différent de 0. Si l’on veut que e2 varie à e1=e10=constant, on fait varier w2, mais pour obtenir e2 proche de 0, il faut que w2 devienne très grand. De même, si l’on veut faire varier e1 à e2=constant, on fait varier w1, mais pour obtenir e1 proche de 0, il faut que w1 devienne très grand. Cette croissance démesurée des poids peut être évitée si le seuil θ est variable. En pratique, chaque neurone avec un seuil est remplacé par un neurone ayant seuil nul mais possédant un poids (w0) supplémentaire de valeur -θ relié à une entrée constante (polarisation) égale à 1 (figure V.11). Ce nouveau poids, correspondant

Page 32: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 32

au seuil, évolue alors selon une règle d’adaptation identique aux autres poids du neurone. Cette modification permet d’obtenir des séparatrices quelconques avec des valeurs finies des poids.

θ/w2

θ/w1

e2

w1 tend vers l’infini à θ constant

e1

w1

1

w0= -θ

.

.

. Σ

+1

θ=0

wn

s

en

e1

Figure V.11 : Neurone à seuil évolutif. Les séparatrices en pointillés de plus en plus verticales correspondent à un seuil tendant vers l’infini.

Page 33: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 33

V.5. Illustration de la règle du Perceptron Vecteurs d’entrées d’apprentissage :

E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 e1 0,1 0,7 0,8 0,8 1,0 0,3 0,0 -0,3 -0,5 -1,5 e2 1,2 1,8 1,6 0,6 0,8 0,5 0,2 +0,8 -1,5 -1,3

Sorties désirées :

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 x1 1 1 1 0 0 1 1 1 0 0 x2 0 0 0 0 0 1 1 1 1 1

Réseau utilisée : un réseau monocouche avec deux neurones à deux entrées.

a) b)

c)

Figure V.12 : Illustration de la règle d’apprentissage du Perceptron, a) base d’apprentissage b) Résultats de la séparation c) Evolution de l’erreur quadratique

total

Page 34: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 34

V.6. Illustration de la règle d’apprentissage d’Adaline Vecteurs d’entrées d’apprentissage :

Exemple 1 Exemple 2 Exemple 3 Exemple 4 e1 +1,0 +1,5 +1,2 -0,3 e2 -1,0 +2,0 +3,0 -0,5 e3 +2,0 +1,0 -1,6 +0,9

Sorties désirées :

Exemple 1 Exemple 2 Exemple 3 Exemple 4 x1 +0,5 +3,0 -2,2 1,4 x2 +1,1 -1,2 +1,7 -0,4 x3 +3,0 +0,2 -1,8 -0,4 x4 -1,0 +0,1 -1,0 +0,6

Réseau utilisé : Quarte neurones avec 3 entrées

Figure V.13 : Illustration de la règle d’apprentissage d’Adaline ;

Evolution de l’erreur quadratique total

Page 35: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 35

V.7. Vers des réseaux multicouches La figure V.14, illustre les possibilités de séparation des réseaux en fonction de leur nombre de couches. Considérons un réseau à un seul neurone sur la couche de sortie, et recevant des vecteurs de dimensions 2. Dans le cas le plus simple, le réseau est constitué d’un seul neurone et l’espace d’entrée peut être partagé en 2 par une droite (figure. V.14.a). Avec 2 neurones dans la première couche, on définit 2 droites séparatrices; le neurone de la couche de sortie prend une décision de synthèse : il sépare le plan en 2 régions dont la frontière est constituée par deux segments de droite correspondant aux droites séparatrices de chaque neurone (figure V.14.b). Quatre frontières différentes peuvent ainsi être définies. Avec 3 neurones dans La première couche, Le neurone de la deuxième couche sépare les deux régions par 3 segments de droite (figure V.14.c), chacun des segments étant associés à la séparatrice générée par un de ces 3 neurones, etc. Le nombre de neurones permet d’augmenter la résolution de la frontière entre les 2 classes. Cependant, les régions définies par cette frontière restent convexes. Avec 3 couches de neurones, il devient possible de séparer des classes mêmes non convexes. En effet, considérons le réseau de la figure V.14.e. On peut le décomposer en deux sous - réseaux de 2 couches, analogues à ceux de la figure V.14.c, sélectionnant chacun une région du plan à partir des 3 droites séparatrices associées aux 3 neurones de la première couche (figure V.14.d). Le neurone de la couche de sortie du réseau complet effectue une décision de synthèse à partir des décisions des sous - réseaux. On peut ainsi obtenir une séparation en régions non convexes des 2 classes dans l’espace d’entrée. Il est clair que les neurones de chaque couches ont des caractéristiques non linéaires : en effet, si une était constituée de neurones purement linéaires, il est clair qu’elle pourrait être fusionnée avec la couche suivante moyennant un simple produit matriciel. Dans le cas plus général de réseaux à plusieurs sorties, c’est-à-dire destinés à décider entre un nombre plus grand de classes, les propriétés que nous venons de

Page 36: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 36

voir peuvent être étendues en effet, de tels réseaux peuvent être décomposés en réseaux élémentaires à une seule sortie.

a b c 1 couche

(Séparation linéaire)2 couches

(Formes convexes)

d e

2 couches (Formes convexes)

3 couches (Formes quelconques)

Figure V.14 : interprétation géométrique de l’effet de plusieurs couches de traitement dans un réseau de neurone.

Page 37: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 37

VI. Mémoires associatives linéaires Les mémoires associatives ont été proposées par plusieurs auteurs dès 1977 dont T.Kohonen. Nous nous appuyons sur ses travaux qui ont été admirablement résumé par C. Jutten. Le modèle présenté dans ce chapitre est complètement linéaire : il est très simple mais aussi très limité. Dans mémoire associative, le terme "mémoire" fait référence à la fonction de stockage de l'information et le terme "associative" au mode d'adressage. L'expression "mémoire adressable par son contenu" est aussi souvent employée. L'information mémorisée ne peut être obtenue à une adresse précise, le seul moyen d'accès est de fournir une information. Dans le cas des mémoires auto - associatives, il faut fournir tout ou partie de l'information mémorisée. Ces mémoires sont donc principalement utilisées pour la reconstruction de données : l'opérateur fourni une information partielle que le système complète. Des expérimentations dans ce sens ont été faite avec l'annuaire électronique où l'utilisateur tape le maximum d'informations relatives à sa demande, que le système complète et corrige. Les mémoires hétéro - associatives se différencient des précédentes en rendant une information différente. Par exemple, si la clef d'entrée est une image de visage, le système répond par le nom de la personne correspondante. VI.1. Structure du réseau La structure neuronale d'une mémoire associative est similaire à celle d'un ensemble de Perceptrons tous alimentés par les mêmes entrées ou à celle d'une carte auto organisatrice sans la notion de voisinage. La figure VI.1 montre cette architecture où chaque entrée est connectée par des poids modifiables à toutes les sorties. La dimension de la couche d'entrée est de n neurones, celle de sortie de p. Il y a donc n.p poids dans ce réseau.

s1 s2 … sp

Figure VI.1 : Structure d'une mémoire associative

Page 38: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 38

VI.2. Fonctionnement Le principe de fonctionnement d'une mémoire associative se résume ainsi. Soit (E1, E2, ..., El, ...) un ensemble de vecteurs à mémoriser. A chaque vecteur El appelé "prototype" de l'espace d'entrée est associé un vecteur de sortie Sl. La relation d'association entre El et Sl est linéaire. Elle est donnée par l'équation :

lWElS = où W est la matrice des poids de dimension (p.n). C'est une matrice rectangulaire de p lignes et n colonnes. L'objectif est de faire réaliser à ce réseau des associations entre les vecteurs d'entrées et les vecteurs de sortie désirés. Ceci nécessite une étape d'apprentissage. VI.3. Apprentissage L'apprentissage est de type supervisé. La base d'apprentissage est composée de couple de vecteurs d'entrée et des vecteurs de sortie associés. L'algorithme d'apprentissage initial fait appel à la règle de Hebb. Une entrée El est appliquée sur les neurones d'entrée du réseau et l'on force dans le même temps les valeurs des neurones de sortie à Sl. Le poids de chaque connexion est alors modifié selon la coactivité du neurone afférent (entrée) et du neurone efférent (sortie).

ikki esW .=∆ Cet algorithme est itéré sur tous les exemples de la base d'apprentissage. A la fin du processus d'apprentissage, si la matrice W est initialement nulle (W = 0), on obtient :

∑=l

Tll ESW

où est la transposée du vecteur ETlE l (qui transforme un vecteur ligne en un vecteur

colonne et réciproquement) Cette expression est en fait un raccourci mathématique au processus d'apprentissage itératif mettant en jeu une règle locale de modification des poids. VI.4. Illustration Les images de la figure VI.2. illustrent le fonctionnement, d'après Kohonen, d'une mémoire auto - associative (pour les quelles S=E).

Page 39: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 39

a) b) c) d)

Figure VI.2. Mémoires auto - associatives (d’après Kohonen) a) Images originales apprises (de 3072 pixels présentées au réseau comme des vecteurs de 3072 composantes). b) Clefs soumises en entrée au réseau. c) Images restituées par le réseau lorsque 160 images ont été stockées. d) Images restituées par le réseau lorsque 500 images ont été stockées. Rappelons que ces résultats ont été obtenus après un pré – traitement visant à orthogonaliser les prototypes à apprendre ; il est clair que les deux prototypes montrer en a) ne sont pas orthogonaux. VI.5. Limitations L’associateur linéaire à une couche est très simple, hélas très peu efficace. Une condition essentielle de bon fonctionnement de la mémoire associative est l’orthogonalité des prototypes appris. Cette condition n’est en générale pas remplie avec les prototypes bruts. En pratique, il est nécessaire de pré - traiter les prototypes d’entrée. Cette contrainte a une implication sur la capacité des mémoires associatives. En effet, les vecteurs prototypes appris devant être orthogonaux, si la dimension des vecteurs est N, la capacité de la mémoire est limitée à N.

D’autre part, la distorsion d’un vecteur par une translation ou une rotation ne conservera pas l’orthogonalité des vecteurs : les mémoires associatives ne sont pas robuste à ces transformations.

Page 40: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 40

VII. RESEAU MULTICOUCHES Ils sont souvent appelés Perceptrons multicouches. Leur utilisation principale est la classification. VII.1. Structure d’un réseau multicouches

Couche cachée 1

Couche d’entrée

Couche de sortie

Couche cachée 2

Figure VII.1 : Structure d’un réseau de neurones multicouches

Un réseau multicouche est constitué : - D’une couche d’entrée qui reçoit les informations provenant de l’extérieur. Les

neurones de cette couche sont d’un type particulier car ils se contentent de transmettre l’information qui leur est présentée sans traitement,

- D’une ou plusieurs couches intermédiaires, encore appelées couches cachées. Chaque couche reçoit des signaux de la couche précédente et transmettent les résultats de ses traitements à la couche suivante,

- D’une couche de sortie qui présente les résultats définitifs de traitements. Chaque neurone est connecté à l’ensemble des neurones de la couche suivante par des connexions dont les poids sont des nombres réels quelconques. Il n’y a pas de connexions à l’intérieur d’une même couche.

Page 41: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 41

L’évolution du réseau se fait en parallèle. Les neurones de chaque couche calculent en même temps la somme des entrées pondérées par des poids et détermine la sortie. Ces poids de pondération sont déterminés par un apprentissage dit supervisé. VI.2. Apprentissage dans un réseau multicouches Celui-ci se fait à l’aide d’un algorithme connue sous le nom de ‘’rétropropagation du gradient d’erreur’’ désigné couramment par ’’back-propagation’’. Il fonctionne sur le même principe que les règles simples du Perceptron ou de Widrow-Hoff. On dispose d’un ensemble d’exemples qui sont des couples (entrées, sorties désirées). A chaque étape, on présente un exemple en entrée du réseau puis on calcule la sortie réelle du réseau. Ce calcul est effectué de la couche d’entrée à la couche de sortie. Cette phase est appelée propagation avant, ou encore relaxation du réseau. Ensuite, on calcule l’erreur (somme quadratique des erreurs sur chaque cellule de sortie). Cette erreur est ensuite rétro - propagée dans le réseau, donnant lieu à une modification de chaque poids. Ce processus est répété en présentant successivement chaque exemple. Si, pour tous les exemples, l’erreur est inférieure à un seuil choisi, on dit alors que le réseau a convergé. Le formalisme mathématique Nous présentons dans ce paragraphe le formalisme mathématique permettant d’obtenir la règle de modifications des poids selon la méthode de rétropropagation du gradient de l’erreur. Pour cela considérons (simplifier les calculs) le réseau à trois couches de la figure VII.2. Par convention, la couche d’entrée ne fait que transmettre les entrées : le réseau ne comporte que deux couches réelles de traitement, la couche interne ou couche cachée et la couche de sortie. On veut, comme avec le réseau monocouche vu précédemment, associer un vecteur de sortie yd à un vecteur d’entrée x. En réalité, compte tenu des valeurs des poids des connexions, la sortie observée est y≠yd. On peut y associer le même terme d’erreur quadratique qu’au chapitre précédent (réseau monocouche).

Page 42: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 42

Figure VII.2 : Réseau de neurones multicouches. Le numéro de la couche (des

poids et des sorties) est indiqué en indice situé entre parenthèse en haut. En posant, la sortie du neurone i, σ la fonction neurone, le potentiel du

neurone i, et w le coefficient de pondération associé à la connexion ij, la sortie du neurone i vaut :

iy ip

ij

(VII.1) ⎥⎥⎦

⎢⎢⎣

⎡∑=

−=−=p

j jxijwipiy1

)( θσθσ

et l’équation de l’erreur quadratique sur la sortie s’écrit :

(VII.2) ∑=

−=n

i diyiyE1

2)(21

où est la sortie désirée du neurone i. diy

Calculons le gradient de cette erreur par rapport au poids w associé à la connexion venant du neurone h de la couche 1 vers le neurone k de la couche 2 (l’indice de la couche cible est indiqué en haut) :

kh( )2

Page 43: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 43

(VII.3) ∑∈

=3 )2(

)3(.)3()2( couchei khw

ip

ip

E

khw

E

Calculons d’abord le premier terme de cette équation :

)3(

)3(.)3()3(

ipiy

iy

E

ip

E

∂=

De la relation ⎥⎥⎦

⎢⎢⎣

⎡∑

∈=

2

)2()3()3(

couchej jyijwiy σ

on tire, en tenant compte de l’expression de E : (VII.4) ⎥⎦

⎤⎢⎣⎡

⎟⎠⎞

⎜⎝⎛ −= )3('.)3(

)3( ipdiyiy

ip

E σ∂

Calculons maintenant le second terme de (VII.3). Le potentiel du neurone i de la couche 3 est la somme des sorties y de la couche 2 pondérées par les poids w des neurones de la couche 3. On peut donc écrire :

j( )2

ij( )3

(VII.5) ∂∂

∂∂

pw w

w yi

kh khij jj couche

( )

( ) ( )( ) ( )

3

2 23 2

2= ∑⎡

⎣⎤⎦∈.

Dans le second membre de cette expression, le seul terme de type y dépendant du poids w est y , c’est-à-dire celui obtenu pour j = k. La relation précédente (VII.5) se réduit donc à :

j( )2

kh( )2

k( )2

(VII.6) [ ]∂∂

∂∂

pw

ww

yi

khik

khk

( )

( )( )

( )( )

3

23

22= ,

dans laquelle on a pu sortir le poids . wik

( )3

Page 44: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 44

En remplaçant y (sortie du neurone k de la couche 2) par son expression, on arrive à :

k( )2

(VII.7) ⎥⎥⎦

⎢⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛∑

∈=

1

)1()3()2(.)3(

)2(

)3(

couchem mykmw

khwikw

khwip

σ∂

Le seul terme de la somme sur m dont la dérivée est non nulle est celui qui contient

, c’est-à-dire celui correspondant à m = h. En calculant la dérivée, on a finalement : wkh

( )2

(VII.8) )1(.)2('.)3()2(

)3(

hykpikw

khwip

⎟⎠⎞

⎜⎝⎛= σ

En reprenant maintenant les relations (VII.4) et (VII.8), on peut réécrire le gradient de l’erreur

∑∈

⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛ −=

3

)1(.)2('.)3(.)3('.)3()2( couchei hykpikwipdiyiy

khw

E σσ∂

∂ .

c'est-à-dire, en posant et en sortant les termes y et

de la somme sur i, on obtient :

⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛ −= )3('.)3()3(

ipdiyiyi σδ h( )1

⎟⎠⎞

⎜⎝⎛ )2(' kpσ

(VII.9) )1(.)2('.3

)3()3()2( hykp

couchei ikwikhw

E⎟⎠⎞

⎜⎝⎛

⎥⎥⎦

⎢⎢⎣

⎡∑

∈= σδ

On remarque que cette expression est formellement identique au gradient de E par rapport à un poids de la dernière couche, si l’on pose :

(VII.10) ⎟⎠⎞

⎜⎝⎛

⎥⎥⎦

⎢⎢⎣

⎡∑

∈= )2('.

3

)3()3()2(kp

couchei ikwik σδδ

Page 45: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 45

Cette relation s’interprète en considérant que l’erreur affectée à un neurone k de la couche 2 est égale à la somme des erreurs des neurones de la couche suivante 3 pondérées par les poids reliant le neurone k à ces neurones de la couche 3. Cette relation est matérialisée par des connexions en traits gras sur la figure VII.2. A partir des relations (VII.9) et (VII.10), on peut proposer finalement la règle d’adaptation suivante pour les connexions des neurones de la couche 2.

(VII.11) )1(.)2()2(hykakhw δ−=∆

Les trois dernières relations se généralisent à n’importe quelle couche cachée d’un réseau multicouches : l’incrément d’un poids w d’une couche j est le produit de l’entrée provenant de la couche précédente (j- 1) par l’erreur attribuée au neurone k. Pour la dernière couche, l’erreur sur chaque neurone est donnée par le superviseur. Pour un neurone k d’une couche interne j, l’erreur δ est la somme des erreurs δ associées au neurone i de la couche suivante (j+1) pondérées par les poids w entre ces derniers et le neurone k. On a alors :

khj( )

yhj( −1)

)kj( )

ij( +1

ikj( )+1

(VII.12) )1(.)()( −−=∆ jhyj

kajkhw δ

où l’erreur δ vaut : kj( )

(VII.13) dkyj

kyjk −= )()(δ

pour les neurones de la dernière couche et

(VII.14) ⎟⎠⎞

⎜⎝⎛

⎥⎥⎦

⎢⎢⎣

⎡∑

+∈

++= )('.)1(

)1(.)1()( jkp

jcouchei

jikwj

ij

k σδδ

pour ceux de d’une couche cachée. L’algorithme de rétropropagation du gradient se résume finalement aux étapes suivantes :

Page 46: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 46

1- Choisir la taille du réseau, initialiser les poids et seuils du réseau, 2- Choisir aléatoirement une paire (x, yd) dans la base d’apprentissage, 3- Calculer successivement les sorties des différentes couches cachées pour

l’entrée x, selon la relation (VII.1) 4- Mise à jour des poids

4.1- Mettre à jour les poids de la dernière couche en utilisant les relations (VII.12) et (VII.13). 4.2- Mettre à jour les poids des couches précédentes en utilisant les relations (VII.12) et (VII.14).

5- Si le test d’arrêt n’est pas satisfait, retourner en 2.

VI.3. Aspects pratiques de l’algorithme

VI.3.1. Lissage de la règle d’adaptation L’algorithme proposé au paragraphe précédent est rarement utilisé tel quel en pratique. En effet, c’est un algorithme de type gradient stochastique, fondé sur la minimisation d’une erreur instantanée et non pas d’une erreur calculée sur toute la base d’apprentissage. La vitesse de convergence est donc assez lente et nécessite un pas d’adaptation petit pour éviter l’instabilité. Tous les raffinements des méthodes de moindres carrées peuvent être utilisés en tenant compte de l’aspect non linéaire du modèle. L’amélioration la plus couramment utilisée consiste à ajouter un terme de filtrage sur les incréments d’adaptation. Ce terme est souvent appelé ‘’momentum’’ dans la littérature. En fait, l’adjonction de ce terme correspond à la minimisation d’un critère E approximativement égal à la somme des erreurs quadratiques pondérées exponentiellement. Soit

∑=

−−=n

i dyyinnE1

2

21)( γ

où γ est un facteur d’oubli compris entre 0 et 1. Après le calcul de la dérivée partielle

)(

)(

njkw

nE

∂ et son introduction dans

l’expression de wjk(n+1), on arrive à la règle d’apprentissage bien connue :

Page 47: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 47

)()()()()1( njkwnkxnjanjkwnjkw ∆+−=+ γδ

où )−(−)(=∆ 1)( njkwnjkwnjkw

Le ‘momentum’’ indique donc combien la modification précédente du poids devra affecter la modification actuelle du poids. On voit clairement, dans l’expression du nouveau terme d’erreur (E(n)) que l’oubli γ correspond à la pondération exponentielle des erreurs. En pratique, on prend γ inférieur à 1 et voisin de 1. On peut aussi choisir un oubli variable, faible initialement et tendant asymptotiquement vers 1. VI.3.2. Valeurs initiales des poids Les valeurs initiales des poids et seuils doivent être différents de zéro. Sinon ils restent toujours nuls au cours de l’apprentissage. En pratique, on choisit aléatoirement les valeurs initiales des poids entre –M1 et +M2, le choix des bornes dépend de la dynamique des signaux d’entrée. Pour conserver une vitesse de convergence acceptable, une solution simple consiste à choisir les poids initiaux en fonction des entrées, afin de se situer dans la zone linéaire de la sigmoïde (figure VII.3). Sinon σ’(p) seront trop faible voir nulle et de ce fait δj et ∆w aussi et donc pas d’ajustement.

Figure VII.3 : Allure de la fonction sigmoïde et de sa dérivée pour k=1,

(1

)(+

= kpe

kpepσ et [ ])(1)()(' ppkp σσσ −= )

Page 48: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 48

VII.3.3. Choix du pas d’adaptation Comme dans tout algorithme de type gradient, le pas d’adaptation doit être choisi avec soin si l’on veut une vitesse de convergence suffisante, sans toutefois entraîner de risque d’instabilité de l’algorithme. De nombreuses solutions ont été proposées, mais il ne semble pas que le rapport vitesse/complexité soit toujours convaincant. Une solution simple et peu coûteuse en calculs consiste à adapter le pas d’adaptation afin d’avoir une décroissance régulière de l’erreur quadratique moyenne et non pas des paramètres. Elle propose d’ajuster le pas d’adaptation après chaque passage de la base d’apprentissage complète. VII.3.4. Test d’arrêt La convergence de l’algorithme n’est pas assurée pour un nombre fini et petit d’itérations. En pratique, il faut calculer un indice de convergence. Le test le plus simple, mais aussi le moins performant consiste à fixer un nombre d’itérations. De façon naturelle, on cherche à arrêter l’algorithme si l’erreur E est minimale (inférieure à un seuil fixé). VII.3.5. Dimensionnement du réseau Il n’existe pas de résultat théorique qui permet de dimensionner correctement un réseau en fonction du problème à résoudre. Notamment la taille du réseau, le nombre de couches cachées, le nombre de neurones sur la ou les couches cachées etc. VII.3.6. Base d’apprentissage et de généralisation Les réseaux de neurones effectuent une modélisation numérique à partir d’exemples qui leurs sont fournis dans la phase d’apprentissage. La phase de test dite de ‘’généralisation’’ consiste à mesurer les performances sur des exemples non appris. La base d’apprentissage doit donc être représentative des exemples qui pourront être présentés par la suite. Il faut noter aussi que la normalisation des données est essentielle à la bonne convergence de l’algorithme de rétropropagation.

Page 49: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 49

Par ailleurs, il est clairement établi que l’ordre de présentations des exemples, au réseau n’est pas indifférent à ses performances. VII.3.7. Le temps de calcul Bien qu’il a prouvé son efficacité pratique dans de nombreux problèmes, l’algorithme de rétropropagation du gradient présente un certain nombre de difficultés encore non résolues. Parmi ces points on trouve Le temps de calcul. En effet, l’algorithme est extrêmement lourd à mettre en œuvre sur des problèmes de grande taille. En outre, il n’existe pas de résultat théorique liant la complexité du problème au temps d’apprentissage nécessaire.

Page 50: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 50

VII.4. Exemples d’utilisation du réseau multicouches VII.4.1. Approximation d’une fonction

a) b)

c) d)

e) Figure VII.4 : Approximation d’une fonction a) Vecteurs d’entraînement b)Approximation à l’état initiale c)Approximation après

100 cycle d’apprentissage d)Approximation après 396 cycle d’apprentissage e) Erreur quadratique totale. Le réseau utilisé comprend une couche cache avec cinq neurones et une couche de sortie avec un neurone.

Page 51: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 51

VII.4.2. Classification d’images

a) b)

c) f)

d) g)

e) h)

Figure VII.5 : Les deux images étudiées (a et b) et leurs images multispectrales (c, d et e) pour l’image a et (f, g et h) pour l’image b.

Page 52: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 52

a) b)

c) d) Figure VII.6 : a) et b) Les cartes de la réalité de terrain c) et d) et des résulta

obtenus par un réseau de neurones avec une couches cachée (les vecteurs d’eavec la méthode de la transformée en paquets d’ondelettes à des niveaux de dé

, ENEMN

x m nn

N

m

M

===

∑∑1 2

11

( , )

ENTMN

x m n x m nn

N

m

M

= −==

∑∑111

( , ). log[ ( , )] ,

kxM

m

N

nk nmxMNMNT )),((1

1 1µ−= ∑∑

= = (moment d’ordre k (k=3 et 4))

E. en taillis Eucalyptus Chêne-liègePin Acacia Mer Sol nu

ts de classification ntrées sont obtenus composition 1&2).

Page 53: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 53

VIII. Réseau de Kohonen Le modèle de Kohonen a été introduit en 1982 par Kohonen, mais il est resté longtemps ignoré. Il rencontre actuellement un important succès et fait l'objet de nombreuses applications. Son intérêt est à la fois théorique et pratique, notamment parce qu'il introduit des notions d'interaction entre les neurones. Ce qu’il lui procure la propriété d'élaborer une représentation des données conservant leur topologie. Des exemples (données) proches dans l'espace d’entrée vont avoir des représentations également proches dans le réseau (l'espace des représentations) et vont ainsi pouvoir être classés dans une même classe ou dans des classes voisines. La configuration dimensionnelle réduite du réseau (généralement un plan) met l'accent sur son aptitude pour la simplification et la compression des informations issues d'espaces d'entrée souvent multidimensionnels tout en préservant leurs caractéristiques topologiques. Il possède également deux propriétés intéressantes, un mode de fonctionnement intrinsèquement parallèle et des capacités d'auto-apprentissage. En effet, il se caractérise par son mode d'apprentissage dit non supervisé où les exemples n'ont pas à être connus et étiquetés. Le réseau lui même déterminera, pendant la phase d'apprentissage, une classification en s'auto-organisant. Avant de détailler le réseau de Kohonen, nous allons décrire dans un premier temps le principe général d’un réseau à architecture compétitive qui constitue la base du modèle de Kohonen. VIII.1. Réseau à apprentissage compétitif Les réseaux à apprentissage compétitif sont utilisés essentiellement pour la classification automatique. VIII.1.1. Structure du réseau La figure VIII.1 représente l’architecture d’un réseau de neurones à apprentissage compétitif. Le réseau est constitué d’une couche de neurones de D entrées, chacune reçoit une composante de l’observation x(t) présentée. Chaque neurone, d’indice k, calcule sa fonction de transfert, kWtX _)( , définie par la distance entre son vecteur

Page 54: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 54

poids Wk et l’observation X(t). Le neurone, d’indice j, gagnant est celui dont le vecteur poids est le plus proche de l’observation : kWtX

KkArgj −

== )(

,1min .

wik

y1

y2

…yi …

yn

x1

x2

… xd …

xD

Figure VIII.1 : Réseau de neurones à apprentissage compétitif VIII.1.2. L’apprentissage compétitif standard L’apprentissage compétitif standard consiste, à chaque présentation d’une observation à l’entrée du réseau, à actualiser le vecteur poids le plus proche de cette observation en lui ajoutant une fraction de la distance les séparants. Les autres vecteurs poids restent inchangés. Pour une observation X(t) présentée à l'itération de rang t, le critère d'optimisation, s'écrit :

(VIII.1) ktuK

k kWtXtE ∑=

−=1

)()( avec ⎪⎩

⎪⎨⎧ ∈=

onkCtXsi

ktusin0

)(1

où Ck désigne la classe k et K le nombre de classes (donc de neurones). Le gradient de E(t) par rapport à Wj est défini par : (VIII.2) jtujWtX

jw

tE⎥⎦⎤

⎢⎣⎡ −−=

∂ )()(

et la règle d'actualisation des poids du réseau s'écrit:

Page 55: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 55

(VIII.3) jW

tEttjWtjW∂

∂−=+

)()()()1( η

Soit en remplaçant (VIII.2) dans (VIII.3), on obtient: (VIII.4) jtutjWtXttjWtjW ⎥⎦

⎤⎢⎣⎡ −+=+ )()().()()1( η

qui s'écrit aussi sous la forme:

(VIII.5) ⎪⎩

⎪⎨

=⎥⎦⎤

⎢⎣⎡ −+

=+jksitkW

jksitkWtXttkWtkW

)(

)()().()()1(

η

η(t) est une suite non croissante de scalaires, qui doit respecter deux conditions pour assurer la convergence de l'algorithme :

(VIII.6) et . ∑∞

=∞=

0)(

ttη ∑

=∞<

0)(2

ttη

La première condition est destinée à favoriser la plasticité du réseau afin qu'il soit capable d'apprendre de nouvelles observations. La deuxième condition favorise la stabilité de l'apprentissage, c'est à dire que l'arrivée d'une nouvelle observation ne perturbe pas de façon trop importante l'apprentissage du réseau. Il s'agit là du dilemme "stabilité - plasticité" bien connu en apprentissage compétitif. La suite harmonique η(t)=η(0)/t vérifie ces deux conditions. Souvent, on impose un nombre maximum d’itérations et on choisit : η(t)=η(0)(1-t/T). On peut remarquer que, dans le cas de la classification, c’est l’étiquetage correct des observations qui nous importe et non pas la convergence précise des vecteurs poids. Par contre dans le cas de la quantification vectorielle, il faut déterminer très précisément les vecteurs poids de chaque neurone qui jouent le rôle de mots-codes. L’algorithme d'apprentissage compétitif standard peut être décrit comme suit : 1. Fixer le nombre K des neurones distances. Fixer le nombre T maximal d'itérations, 2. Initialiser Wk(0), k= 1, ... , K, à des valeurs faibles aléatoires, Initialiser η(0) entre 0 et 1.

Page 56: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 56

3. Tirer aléatoirement une observation X(t) de l’ensemble d’apprentissage. 4. Calculer pour chaque neurone k, k = l, …, K, la fonction d'activation : )()( tkWtX − ,

5. Sélectionner le neurone gagnant d'indice j vérifiant : )()(min tkWtXk

Argj −=

6. Actualiser le vecteur poids du neurone gagnant :

⎪⎧ =⎥

⎤⎢⎡ −+ jksitkWtXttkW )()().()( η

⎪⎩

⎨≠

⎦⎣=+jksitkW

tkW)(

)1(

7. Incrémenter t (t t+1) et mettre à jour le coefficient d’apprentissage )/1)(0()( Ttt −= ηη , 8. Répéter les étapes 3 à 7 jusqu’à ce que t=T. Avec le regain d'intérêt dont bénéficient les réseaux de neurones, de nombreuses

III.1.3. Apprentissage compétitif sensible à la fréquence et apprentissage

e principe de l'apprentissage compétitif consiste à actualiser le vecteur poids du

III.1.3.1. Apprentissage compétitif sensible à la fréquence

'apprentissage compétitif sensible à la fréquence consiste à défavoriser les

modifications ont été apportées à l'apprentissage compétitif standard afin de l’améliorer. Ces modifications, dont certaines sont heuristiques, interviennent au niveau de la fonction d'activation des neurones et/ou dans l'actualisation des vecteurs poids. Nous allons en étudier quelques unes. Vcompétitif pénalisant le rival Lneurone qui gagne la compétition, appelé neurone gagnant. Cette solution n'est pas satisfaisante du fait qu'un neurone qui gagne la compétition, a de plus en plus de chance de la gagner dans les itérations suivantes vue que son vecteur poids se trouve de plus en plus rapproché des observations. De ce fait, les neurones dont les vecteurs poids sont loin de toute observation ont de moins en moins de chance de gagner la compétition. V Lneurones qui gagnent souvent la compétition en comptabilisant le nombre de fois que ces neurones gagnent et en introduisant ce nombre dans leurs fonctions d’activation.

Page 57: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 57

(VIII.7) )()().())(),(( tkWtXtktkWtX −= µδ

où µk(t) est définie par :

(VIII.8) ⎪⎩

⎪⎨

<−+−=

ontk

tketgagnantestkneuronelesitktk sin)1(max)1(1)1(

)(µ

µµµµ

µmax est la fréquence maximale introduite pour éviter une augmentation incontrôlée de µk(t). Le neurone j est déclaré gagnant s’il vérifie : (VIII.9) ))(),((

,1min tkWtX

KkArgj δ

==

Au cours de l’apprentissage, le neurone gagnant j aura sa fréquence augmentée de 1, équation (VIII.8), et son vecteur poids actualisé grâce à l'équation (VIII.5). Lorsque le nombre d'itérations devient assez grand toutes les fréquences µk(t) tendent vers la fréquence µmax. Le calcul de la distance devient alors identique à celui de l'apprentissage compétitif standard. L’algorithme d’apprentissage compétitif sensible à la fréquence peut être résumer comme suit : 1. Fixer le nombre K des neurones distances. Fixer le nombre T maximal d'itérations, 2. Initialiser Wk(0), k= 1, ... , K, à des valeurs faibles aléatoires, Initialiser η(0) entre 0 et 1 et µk(0)=1, 3. Tirer aléatoirement une observation X(t) de l’ensemble d’apprentissage, 4. Calculer pour chaque neurone k, k = l, …, K, la fonction d'activation : )()().())(),(( tkWtXtktkWtX −= µδ ,

5. Sélectionner le neurone gagnant d'indice j vérifiant : ))(),((

,1min tkWtX

KkArgj δ

==

6. Actualiser le vecteur poids et la fréquence du neurone gagnant :

⎪⎩

⎪⎨

=⎥⎦⎤

⎢⎣⎡ −+

=+jksitkW

jksitkWtXttkWtkW

)(

)()().()()1(

η

Page 58: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 58

⎪⎩

⎪⎨

<−+−=

ontk

tketgagnantestkneuronelesitktk sin)1(max)1(1)1(

)(µ

µµµµ

7. Incrémenter t (t t+1) et mettre à jour le coefficient d’apprentissage η(t)=η(0)(1-t/T), 8. Répéter les étapes 3 à 7 jusqu’à ce que t=T. VIII.1.3.2. Apprentissage compétitif pénalisant le rival L’apprentissage compétitif pénalisant le rival intervient au niveau de l’actualisation non seulement du vecteur poids du neurone gagnant mais aussi de son rival. Le neurone rival est le second neurone gagnant : (VIII.10) )()(min tkWtX

jkArgr −

≠=

Ce type d’apprentissage consiste, à chaque présentation d’une observation X(t) à déplacer le vecteur poids du neurone gagnant dans le sens de cette observation et à déplacer le vecteur poids du rival dans le sens opposé. Les vecteurs poids des autres neurones restent inchangés :

(VIII.11)

⎪⎪

⎪⎪

≠≠

=−−

=−+

=+

rketjksitkW

rivalneuroneleestrrksitkWtXttkW

gagnantneuroneleestjjksitkWtXttkW

tkW

)(

,)]()().[()(

,)]()().[()(

)1( γ

η

Le signe "-" dans la 2ème ligne de l’équation (VIII.11) a pour effet d’éloigner le vecteur poids Wr de l’observation, par opposition au signe "+" dans la première ligne de l’équation (VIII.11) qui a pour effet de rapprocher Wj de l’observation. Algorithme d’apprentissage compétitif pénalisant le rival 1. Fixer le nombre K des neurones distances. Fixer le nombre T maximal d’itérations, 2. Initialiser Wk(0), k= 1, ..., K, à des valeurs faibles aléatoires. Initialiser η(0) entre 0 et 1,

Page 59: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 59

3. Tirer aléatoirement une observation X(t) de l’ensemble {X1, X2 ..., XN}, 4. Calculer pour chaque neurone k, k = 1, ..., K, la fonction d’activation: ||X(t)-Wk(t)||, 5. Sélectionner le neurone gagnant j vérifiant : )()(

,1min tkWtX

KkArgj −

==

et le neurone rival r vérifiant : )()(min tkWtXjk

Argr −≠

=

6. Actualiser les vecteurs poids :

⎪⎪

⎪⎪

≠≠

=−−

=−+

=+

rketjksitkW

rivalneuroneleestrrksitkWtXttkW

gagnantneuroneleestjjksitkWtXttkW

tkW

)(

,)]()().[()(

,)]()().[()(

)1( γ

η

7. Incrémenter t (t t+1) et mettre à jour le coefficient d’apprentissage η(t)= η(0)(1-t/T), 8. Répéter les étapes 3 à. 7 jusqu’à ce que t = T. L’apprentissage compétitif sensible à la fréquence et celui pénalisant le rival sont simples mais heuristiques, vu qu’ils ne sont pas déduits de l’optimisation d’un critère mathématique. Certains auteurs proposent d’employer à la fois l’apprentissage compétitif sensible à la fréquence et celui pénalisant le rival. La méthode est similaire à l’algorithme LVQ de Kohonen (learning vector quantization) mais en apprentissage non supervisé. En choisissant les coefficients d’apprentissage η(t) et γ(t) de telle sorte que η(t) soit très inférieur à γ(t), le réseau peut découvrir automatiquement le nombre de classes en présence. Autrement dit, supposons que le nombre des classes est inconnu et que le nombre de neurones K est supérieur au nombre réel de classes. Grâce au mécanisme d’apprentissage sensible à la fréquence les vecteurs poids des neurones gagnants convergent vers les centres de groupements d’observations. La pénalisation du rival a pour effet d’éloigner les vecteurs poids des neurones rivaux de toute observation. Les neurones rivaux seront facilement éliminés. Dans le cas où le nombre de neurones est inférieur au nombre de classes les vecteurs poids oscillent entre les classes durant l’apprentissage, ce oui peut être un moyen de mettre en évidence que le nombre des neurones est inférieur au nombre des classes. Signalons enfin qu’il existe un algorithme d’apprentissage compétitif dit généralisé basé sur l’optimisation d’un critère.

Page 60: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 60

VIII.2. Cartes auto - organisatrices de Kohonen Il représente un type particulier de réseaux compétitif qui définit un voisinage spatial pour chaque unité de sortie. Il s’inspire de la modélisation des systèmes de perception, tels que la vue ou l’ouïe, chez les manières. La principale propriété de ces systèmes est de pouvoir coder sur des neurones voisins des signaux d’entrée qui se ressemblent. Kohonen propose un modèle qui s’intègre dans cette constatation. Ce modèle est appelé couramment carte topologique auto- adaptative (ou auto organisatrice) de Kohonen parce que garce à cette propriété, la topologie du réseau s’adapte à celle de l’espace des entrées. En effet, une fois son travail d’apprentissage (ou d’organisation) terminé, les neurones du réseau sont disposés de façon à reproduire la densité de probabilité d’apparition des vecteurs d’entrées. Les cartes auto-organisatrices sont connues depuis longtemps (1977), mais ce n'est qu’à partir des années 90 que des applications les utilisent : carte phonétique, diagnostic de pannes, robotique, compression d'images, etc. VIII.2.1. Structure du réseau Un réseau de Kohonen est constitué d’un ensemble de k neurones de sortie à n entrées. Ces neurones sont connectés totalement aux n entrées par nk connexions modifiables. Les neurones du réseau sont placés dans un espace à P dimensions (généralement P=1 ou 2). Chaque neurone possède donc des voisins dans cet espace. Enfin, chaque neurone possède des connexions latérales récurrentes agissant sur ses neurones voisins. Cette interaction dépend de la distance entre les neurones concernés. Ce type de relations correspond, en fait, de façon très schématique, aux relations entre micro - colonnes corticales. En effet on a pu montrer qu’entre les neurones qui recevaient les signaux des cellules réceptrices, il existait un mécanisme d’interaction latérale qui dépendait de la distance entre les neurones concernés. Cette dépendance est représentée par la fonction dite ‘’chapeau mexicain’’ (figure VIII.2).

Page 61: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 61

Distance latérale -- + +

Interaction Figure VIII.2 : Influence d’un neurone sur ses voisins en fonction de l’éloignement

+ : excitatrice (w>0), - : inhibitrice (w<0) Cette courbe s’interprète de la façon suivante : chaque neurone émet vers ses voisins les plus proches des connexions excitatrices, vers les neurones plus éloignés des connexions inhibitrices et vers les neurones les plus éloignés une action négligeable. L’action vers les neurones éloignés se fait en passant par des neurones intermédiaires.

Figure VIII.3 : Structure d'un réseau de Kohonen a) un réseau 1 D, b) un réseau 2D.

La figure VIII.3.a montre un exemple de couches de Kohonen. Les neurones de cette couche sont reliés aux n entrées v1, v2,... vn. Chaque entrée est affectée d'un

Page 62: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 62

poids wri; où r représente neurone dans la couche. Dans cette configuration, le vecteur d'entrée est de dimension n et le réseau est de dimension 1 (P=1). Sur la figure VIII.3.b, on distingue un réseau de Kohonen organisé selon une grille de neurones en 2 dimensions. VIII.2.2. Fonctionnement du réseau A la présentation d'une entrée, un neurone sur la carte est sélectionné. La règle de sélection du vainqueur proposée par Kohonen est basée sur une mesure de distance euclidienne entre le vecteur V d’entrée et les vecteurs poids Wr des neurones. Le neurone r’ gagnant (ou vainqueur) est celui dont le vecteur poids est le plus proche du vecteur d’entrée : ||Wr’-V||=min||Wr-V||. On peut ainsi réaliser, avec ce type de réseau, des classifications, de la reconnaissance de formes etc. Les coefficients de connexion sont définis par un apprentissage non supervisé. VIII.2.3. Apprentissage et voisinage dans une couche de Kohonen Une autre particularité des réseaux de Kohonen réside dans la structuration topologique de la couche de neurones qui introduit la notion de voisinage et de distance entre neurones dans la couche. La couche neuronale peut ainsi être considérée comme une carte. La structure est prédéfinie et reste figée au cours de l’apprentissage. Plusieurs formes de cartes sont possibles, selon le nombre et la disposition des neurones qui constituent ce voisinage. La figure VIII.4 illustre quelques exemples. Les valeurs (1, 2, 3) apparaissant sur les schémas correspondent au rayon du voisinage. Ainsi, un rayon de 1 dans un voisinage rectangulaire fait appel à huit neurones. L’apprentissage va permettre d’établir un rapport entre la topologie des neurones et celle des espaces des entrées. Dans la phase d'apprentissage, le neurone gagnant va modifier ses poids d'entrée pour devenir un peu plus "sensible" au vecteur présenté, c'est-à-dire que son

Page 63: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 63

activation initiale sera plus forte la prochaine fois que ce même vecteur activera le réseau. Cette adaptation va aussi concerner les neurones voisins du vainqueur, mais dans une moindre mesure.

a)

Figure VIII.4 : Options de voisinage dans une carte de Kohonen (le neurone

contenant une croix est le vainqueur) a) segment (carte 1D) b) voisinage rectangulaire (carte 2D) c) voisinage hexagonal (carte 2D)

Le neurone gagnant influence la plasticité (le facteur d'apprentissage) des synapses environnantes en fonction de leur distance. La fonction associée à cette modulation de plasticité revêt une forme gaussienne qui va déterminer la taille du voisinage pendant I'apprentissage, c'est-à-dire le nombre de neurones qui seront affectés par l'étape d'adaptation. L’algorithme de Kohonen La loi de modification des poids des connexions (poids synaptiques) est dérivée de celle de Hebb. L'algorithme d'apprentissage est le suivant : 1/ Choix du nombre de neurones et la topologie du réseau. Initialisation des poids à des valeurs aléatoires. Initialisation du voisinage et du pas d’apprentissage. 2/ Tirage aléatoire d’une entrée Vk dans la base d’apprentissage, 3/ Recherche du neurone r’ gagnant, celui qui a Wr’ le plus proche à Vk :

b) c)

Page 64: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 64

)()(min)()(' tVtrWtVtrW −=− avec . norme euclidienne.

4/ Modification des poids pour le neurone choisi (r’) et ses plus proches voisins : )]()().[(')()()1( trWtVtrrhttrWtrW −+=+ ε où ε(t) représente le coefficient d’apprentissage et hrr’(t) une fonction décrivant le voisinage associé au neurone élu r’ à un instant t donné. 5/ Calcul de l’étendue du voisinage et du pas d’adaptation, 6/ Retour à l’étape 2 sauf si le test d’arrêt est vérifié. VIII.2.4. Paramètres d’apprentissage De façon générale, l’organisation de la carte est conçue comme une phase préalable, même s’il existe des variantes en ligne. La phase d’apprentissage comporte alors N cycle d’adaptation pendant lesquels les paramètres de ε et hrr’ décroissent pour favoriser la convergence du réseau vers une solution optimale. En général, on adopte les fonctions suivantes (ceux de Ritter) : - Coefficient d’apprentissage ε

max.k

k

i

fik

⎟⎟⎟⎟

⎜⎜⎜⎜

εεε

où εi et εf représentent respectivement les valeurs initiales et finales du coefficient d’apprentissage. La variable temps k marque la succession des vecteurs d’entrée présentés au réseau au cours de l’apprentissage. kmax est ici égal à N, nombre de vecteurs composant le jeu d’apprentissage. - Fonction de voisinage hrr’

⎟⎟⎟

⎜⎜⎜

⎛ −−= 22

2'exp,'

k

rr

krrhσ

rr

avec max.k

k

i

fik

⎟⎟⎟⎟

⎜⎜⎜⎜

σσσ

Page 65: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 65

La fonction hrr’ est une fonction de la distance 'rr rr

− . Elle présente un maximum unitaire en 'rr rr

= et décroît vers 0 à mesure que la différence 'rr rr− croît. La forme

précise de cette fonction n’influe pas de façon critique sur le comportement du réseau en cours d’apprentissage et peut donc être adaptée librement. La forme utilisée généralement dans les expérimentations et celle d’une gaussienne donnée par la relation. σk détermine la largeur du voisinage à l’instant k. σi et σf représentent respectivement les largeurs du voisinage initiale et finale. Cette fonction décroissante permet dans un premier temps d’orienter globalement les neurones (mise en évidence des relations de voisinage) puis permet d’affiner progressivement la cartographie de l’espace d’entrée. Les figures VIII.5 et VIII.6 suivantes montre l’évolution de ces coefficients en fonction du temps k pour des valeurs usuelles :

Figure VIII.5 : Evolution des coefficients σ et ε

Page 66: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 66

Figure VIII.6 : Fonction hrr’ pour un réseau de 10 x 10 neurones pour deux valeurs

de σ (à gauche σ =1,5 et à droite σ =0,5) Expérimentalement, on constate qu’il y a deux phases dans la formation de la carte:

i) une phase initiale assez courte, pendant laquelle σ et ε sont grands, conduisant à une modification rapide des poids et à la formation d'une discrétisation grossière de l'espace d'entrée,

ii) une deuxième phase de convergence 10 à 100 fois plus longue permettant

d'affiner la représentation et d'obtenir la carte finale grâce à des paramètres σ et ε plus faibles.

VIII.2.5. Quelques remarques pratiques • Le choix des paramètres de voisinage, de ε et de la vitesse de leur décroissance

reste empirique, Kohonen les fait décroître très lentement ce qui donne une bonne convergence, mais conduit à des durées d'apprentissage très longues (de 1000 à 100000 itérations).

• I1 n'y a pas de critère objectif d'arrêt, I'algorithme s'arrête lorsque le paramètre ε

devient très faible. A ce stade, les poids ne varient pratiquement plus, mais ce n'est pas une garantie de bon apprentissage si les paramètres ont été mal choisis au départ.

• L'algorithme a été décrit sur un espace de représentation à 2 dimensions. On

peut également I'appliquer facilement dans un espace de représentation à une dimension (voisinage 1D, chaque neurone a au plus 2 voisins), ou même à 3

Page 67: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 67

dimensions voire plus. II est clair qu'à dimensionnalité croissante le temps de calcul va croître de façon très significative.

• La norme utilisée lors des calculs de distance (étape 2) est une norme

Euclidienne qui donne de bons résultats si les variances des différentes composantes des vecteurs d'entrée sont du même ordre de grandeur. Par contre si ces variances sont très différentes, la carte risque de ne pas se développer correctement. On peut alors utiliser une mesure de distance Euclidienne pondérée, ou normaliser les données.

• L'initialisation des poids du réseau doit être réalisée, d'après des résultats

expérimentales, avec des valeurs aléatoires variant faiblement autour de la moyenne des données ou mieux encore en répartissant régulièrement les poids autour du centre de gravité des données, ce qui permet d'obtenir une convergence plus rapide.

Il faut éviter d'initialiser les poids avec des valeurs aléatoires variant fortement, car on peut alors se retrouver avec deux cellules initialisées avec des poids diamétralement opposés. Dès lors quand une de ces deux cellules va être élue lors de la présentation d'un prototype d'entrée, sa voisine initialisée à une grande distance ne va pas pouvoir se déplacer suffisamment pour converger dans la même classe ; au contraire, un prototype suivant risque de l'attirer dans une direction opposée d'où un phénomène de va et vient entre ces deux cellules voisines topologiquement, qui va empêcher une convergence correcte du réseau. VIII.2.6. Convergence de I'algorithme La carte topologique de Kohonen, bien que relativement simple, s'est avérée particulièrement difficile à analyser formellement. I1 n'existe pas de preuve rigoureuse du comportement de I'algorithme des cartes topologiques en général. Une des difficultés est la caractérisation des propriétés d’optimalité du pavage. Dans le cas de cartes monodimensionnelles et pour des densités uniformes, la convergence de l’algorithme a été prouvée, partiellement par Kohonen puis de manière rigoureuse par Cottrell et Fort. Dans le cas de distribution quelconques, des premier résultats ont été proposées. Dans tous les cas de figure, la démonstration s’avère délicate.

Page 68: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 68

Bien que les résultats théoriques connus à ce jour s’appliquent à des cartes très simples (dimension 1), ce modèle est très largement utilisé en pratique, même dans des dimension supérieures, où sa capacité d’organiser les données à forte dimensionnalité sous une forme visualisable est très appréciée. VIII.2.7. Illustration Partant d'une initialisation aléatoire des poids et donc d'une carte totalement désordonnée, le but de l'algorithme est d'atteindre un état d'équilibre auquel correspond une carte organisée conservant la topologie de I'espace d'entrée V. Considérons un sous-espace V de forme carrée limité par les points de coordonnées (0,0), (10,0), (0,10) et (10,10) (figure VIII.7.a). Les vecteurs d'entrée sont choisis aléatoirement avec une densité de probabilité uniforme. Le jeu d'apprentissage est composé de 10000 vecteurs d'entrée. Choisissons un réseau plan carré de 10x10 neurones. Les vecteurs de poids W sont initialisés aléatoirement à des valeurs comprises entre 5 et 5,1. La représentation de la topologie initiale est illustrée par la figure VIII.7.b. Les paramètres d'apprentissage sont ceux présentés précédemment. La figure VIII.7 illustre la formation de la carte topologique associée à I'espace V après différentes étapes de I'apprentissage; les points représentent les neurones du réseau projetés selon la valeur de leur poids et les lignes entre les neurones relient les neurones voisins sur la grille G. Les figures de gauche illustrent le développement du réseau à voisinage rectangulaire (figure VIII.7.c à i) et celles de droite d’un réseau à voisinage hexagonal (figure VIII.7.j à p).

Page 69: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 69

a) b)

Voisinage rectangulaire Voisinage hexagonal

c) j)

Page 70: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 70

d) k)

e) i)

f) m)

Page 71: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 71

g) n)

h) o)

i) p)

Figure VIII.7 : Illustration de la formation d'une carte de Kohonen.

Page 72: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 72

On constate une répartition qui devient uniforme au fur et à mesure de l'apprentissage. Cette répartition est calquée sur la densité de probabilité liée au choix des vecteurs du jeu d'apprentissage. Après apprentissage, un motif d'entrée sera représenté par le neurone prototype dont il se rapproche le plus. Par conséquent, une fois l'apprentissage achevé, les valeurs des connexions définissent un pavage de l'espace des entrées qui reflète au mieux la distribution de probabilité des motifs d'entrée. Ces cartes sont appelées cartes sensorielles dans la mesure où elles se limitent à une représentation interne d'un environnement externe. Aucune action motrice n'est associée à la perception des signaux.

Page 73: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 73

IX. LE MODELE DE HOPFIELD Le modèle original de Hopfield, qui a fait par la suite l’objet de nombreuses améliorations, est basé sur l’utilisation des neurones artificiels de MacCulloch et Pitts, c’est à dire des neurones artificiels binaires. On parle alors du modèle discret de Hopfield. Dans ce paragraphe, nous utilisons les deux notations {0,1} ou {-1,1} pour représenter les sorties, ou les états, d’un neurone binaire artificiel. En fait, ces deux notations sont équivalentes puisqu’il est possible de passer du domaine {0,1} au domaine {-1,1} et vice-versa par un simple changement de variable. Ainsi, à chaque fois qu’il s’agira dune simplification de calcul, on utilisera l’une ou l’autre de ces deux notations. IX.1. Structure du réseau Le réseau de Hopfield est un réseau entièrement connecté. Chaque neurone ni reçoit en entrées toutes les sorties des autres neurones (figure IX.1). La connexion du neurone ni vers le neurone nj est caractérisée par un coefficient de couplage ou poids synaptique noté wji. Ce couplage correspond à l’importance accordée à l’action du neurone ni, sur le neurone nj. Vi, représente la sortie, ou l’état, du neurone ni.

Figure IX.1 : Connexion des neurones dans un réseau de Hopfield

La figure IX.2 montre l’organisation d’un réseau de Hopfield possédant N neurones. Les poids des connexions sont matérialisés par des cercles blancs et les neurones par des cercles gris.

Page 74: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 74

n1

n2

nN

w1N

w2N

wNN

w12

w22

wN2

w11

w21

wN1VN

V2

V1

Figure IX.2 : Architecture d’un réseau de Hopfield

Un réseau de Hopfield est donc défini par un ensemble de N neurones en interaction totale et une matrice W constituée des poids des connexions wij, i=1,…,N et j=1,…N. En considérant les états élémentaires Vi, de tous les neurones ni, i=1,…,N, le système peut être décrit par le vecteur V= (V1,,V2,,...VN)T ∈ {-1,1}N qui représente l’état du réseau. IX.2. Dynamique du réseau Considérons un réseau de Hopfield à N neurones. L’évolution dynamique du réseau consiste à faire passer le réseau d’un état à un autre en modifiant les états élémentaires de ses neurones. La mise à jour des éléments du vecteur d’état peut se faire en mode synchrone ou en mode asynchrone. Nous rappelons que le fonctionnement du réseau est à temps discret puisque le modèle de neurones utilisé est binaire.

Page 75: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 75

IX.2.1. Mise à jour eu mode synchrone En mode synchrone, toutes les composantes du vecteur d’état V sont modifiées simultanément. Ainsi, l’état de chaque neurone à l’instant t+1 est calculé à partir des états à l’instant t, de tous les autres neurones :

r

(IX.1)

⎪⎪

⎪⎪

=+=+

<+−=+

>+=+

0)1()()1(

0)1(1)1(

0)1(1)1(

tiUsitiVtiV

tiUsitiV

tiUsitiV

où Ui est le potentiel d’entrée du neurone ni :

∑=

=+N

jtjVijWtiU

1)()1(

IX.2.2. Mise à jour en mode asynchrone C’est généralement le mode le plus utilisé. Dans ce cas, le vecteur d’état V est mis à jour élément par élément en tenant compte des nouvelles composantes dès qu’elles sont disponibles. Dans cette optique, plusieurs variantes sont possibles, mais la plus importante est le mode asynchrone séquentiel où on calcule les nouvelles valeurs des états des neurones dans l’ordre où ils apparaissent dans le vecteur d’état. Ainsi, lorsqu’on arrive à l’élément V

r

i, on exploite le fait que les composantes V1, V2,..., Vi-1, ont déjà été mises à jour, de sorte que la nouvelle valeur de Vi se calcule comme suit :

(IX.2)

où U

⎪⎪

⎪⎪

=+=+

<+−=+

>+=+

0)1()()1(

0)1(1)1(

0)1(1)1(

tiUsitiVtiV

tiUsitiV

tiUsitiV

i, est le potentiel d’entrée du neurone ni :

∑=

+∑−

=+=+

N

ijtjVijW

i

jtjVijWtiU )(

1

1)1()1(

A partir du vecteur d’état ( ))(),...,(2),(1)( tNVtVtVtV =

r, qui représente l’état du réseau

à l’instant t, une itération de mise à jour asynchrone séquentielle implique donc la

Page 76: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 76

mise à jour successive de N composantes suivant l’équation IX-2 pour finalement aboutir au nouveau vecteur d’état ⎟

⎠⎞

⎜⎝⎛ +++=+ )1(),...,1(2),1(1)1( tNVtVtVtV

r qui

représente l’état du réseau à l’instant t+1. C’est ce type de mise à jour que nous adopterons par la suite. Concernant l’ordre de mise à jour des composantes du vecteur d’état, on peut envisager d’autres variantes que la stratégie séquentielle, par exemple en procédant de façon aléatoire, mais de telle manière que chaque composante soit mise à jour une fois au moins sur un intervalle de temps donné. Hopfield a montré que cette dynamique peut conduire le réseau vers un état stable sous les conditions suivantes : - Les interconnexions entre les neurones sont symétriques. c’est à dire que la

matrice W des poids des connexions est symétriques (Wij=Wji). - Les éléments diagonaux de cette matrice sont nuls (Wii = 0), c’est â dire qu’un

neurone n’interagit pas avec lui-même. La stabilité du réseau correspond à un vecteur d’état sV

rqui ne peut plus être

modifié au cours de la procédure de mise à jour, c’est à dire tel que )1()( += tsVtsVrr

. Il est important de noter qu’un même réseau peut admettre plusieurs états stables qui sont accessibles à partir de configurations initiales différentes. IX.3. Apprentissage du réseau Le mécanisme d’apprentissage consiste à entraîner le réseau en lui présentant successivement en entrée des éléments constitutifs d’une base d’apprentissage. Chaque élément de cette base est un vecteur qui représente une donnée à mémoriser. La dimension des vecteurs de la base d’apprentissage est égale au nombre de neurones de la couche d’entrée du réseau. Les composantes de ces vecteurs peuvent être réelles ou binaires selon le modèle de neurone utilisé dans le réseau. L’apprentissage d’un réseau est essentiellement assuré par une dynamique de ses connexions : au cours de l’entraînement, le réseau adapte ses poids synaptiques à l’aide de règles dites règles d’apprentissage.

Page 77: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 77

Dans un réseau de Hopfield, l’apprentissage est assuré par une application quantitative de la règle de Hebb. Celle-ci consiste à augmenter le poids d’une connexion neurones chaque fois qu’ils sont actifs simultanément. Supposons que l’on souhaite mémoriser dans un réseau de Hopfield à N neurones un ensemb e E de M états l :

{ }MmmEE ,...,2,1, == où chaque état Em est représenté par un vecteur mE

r, appelé vecteur d’état, constitué

de N composantes binaires:

{ }1,1,...,2,1 −∈⎟⎠⎞⎜

⎝⎛=

TmNEmEmEEm

Cela signifie que: - Tous les états Em, m = 1,...,M. sont des états stables du réseau, selon la

dynamique décrite plus haut. - Tous ces états sont, en outre, des états attracteurs, c’est â dire que lorsque le

réseau part d’un état initial quelconque, il est attiré vers l’état stable le plus proche.

La procédure d’apprentissage peut se décomposer en trois phases, selon le schéma suivant :

1. Initialisation : On démarre avec un ensemble de poids de connexions tous nuls. 2. Présentation d’un état à mémoriser : On force le réseau dans un état à mémoriser, soit par exemple l’état E m0. 3. Modification des poids des connexions : On examine tous les couples (ni, nj) de neurones, i≠j, et on augmente Wij, de la quantité . 0.0 m

jEmiEijW =∆

Ainsi, en présentant successivement les M états à mémoriser, on aboutit au résultat suivant :

(IX.3) ∑=

=M

mmjEm

iEijW1

.

Page 78: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 78

0m

iE 0mjE ∆Wij

1 1 11 -1 -1

-1 1 -1-1 -1 1

Table IX.1 : Dynamique des connexions d’un réseau de Hopfield

On constate que les poids des connexions sont symétriques, c’est à dire que Wij=Wji, Il faut noter aussi que l’interaction d’un neurone avec lui-même n’est pas prise en compte, c’est à dire que Wii=0. Ainsi, après la phase d’apprentissage, les deux conditions sur la matrice W sont vérifiées, ce qui permet d’assurer la convergence du réseau vers un état stable lors de son évolution. En phase de fonctionnement, dite aussi de rappel, si l’on part d’un état initial suffisamment proche d’un état Em0 mémorisé, la dynamique du réseau fait évoluer celui-ci vers l’état final désiré Em0. De cette manière, un réseau de Hopfield peut être assimilé à une mémoire associative adressable par son contenu. De façon similaire aux mécanismes de mémorisation du cerveau humain, une information mémorisée n’est pas localisée à des emplacements déterminés, mais elle est distribuée, ou codée, sur l’ensemble des neurones qui constituent ainsi la mémoire. L’intérêt de cette distribution de la mémoire sur plusieurs entités est ce qu’on appelle la résistance au bruit : la perte d’un élément de la mémoire n’entraîne pas la perte totale de l’information mémorisée. Il est important de noter que l’apprentissage du réseau est statique, car il n’y a pas véritablement de dynamique des connexions. En effet, les poids des connexions peuvent être calculés directement, étant donné l’ensemble des états à mémoriser. Pour cette raison, l’apprentissage dans un réseau de Hopfield est parfois qualifié d’apprentissage par cœur, par opposition avec les algorithmes d’apprentissage par essai et erreur. Mais, en revanche, le fonctionnement du réseau est dynamique. A partir d’un état initial, le réseau effectue un certain nombre d’itérations afin de converger vers un état mémorisé. Au cours de chaque itération, le réseau passe d’un état à un autre en changeant les états des neurones à l’aide de leur règle d’évolution.

Page 79: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 79

IX.4. Limites des réseaux de Hopfield Particulièrement simple, un réseau de Hopfield est relativement puissant grâce à sa propriété de se comporter comme une mémoire associative. Toutefois les limites suivantes apparaissent : • Etats poubelles : La définition des poids des connexions par la règle de Hebb

dans les réseaux de Hopfield introduit des états stables qui ne correspondent pas à des états mémorisés et qui peuvent être fortement attracteurs. Ces états parasites correspondent en fait à des combinaisons linéaires de certains états mémorisés. Diverses solutions ont été proposées pour régler ce problème. Une d’entre elle est basée un principe d’essai et d’erreur, où on modifie les poids et de façon à élargir le bassin d’attraction des états que l’on cherche à mémoriser, et à diminuer celui des états poubelle. Schématiquement, on initialise le réseau dans un état voisin d’un état stable, et on le laisse se stabiliser. Si le réseau se stabilise dans un état poubelle, ou dans un état différent de celui souhaité, on modifie en conséquence les poids des connexions. Ce processus est répété jusqu'à ce que tous les états voisins des états stables choisis convergent convenablement. Hopfield propose un modèle de ‘’désapprentissage’’ : on initialise le réseau aléatoirement, et lorsqu’il a convergé, l’état dans lequel il s’est stabilisé est légèrement ‘’désappris’’, au sens où l’on applique la règle de Hebb en sens contraire, mais avec un faible coefficient.

• Nécessité d’un prétraitement préalable : Avant de mémoriser les états dans le

réseau, ceux-ci doivent être prétraités pour les orthogonaliser afin d’assurer leur stabilité. Afin d’éviter cette étape de prétraitement, Personnaz propose une méthode de calcul des poids des connexions permettant d’assurer la stabilité des états à mémoriser, qu’ils soient orthogonaux deux à deux ou pas.

• Oubli catastrophique : La capacité d’apprentissage de la règle de Hebb est très

réduite. D’après certains auteurs, en supposant le nombre N de neurones très grand, le nombre maximal d’états correctement retrouvés est inférieur 0,138N. Si on dépasse cette limite, c’est à dire si on veut “surcharger” la mémoire, tous les états appris sont perdus.

Il faut noter que ces insuffisances sont dues principalement à l’utilisation de la règle de Hebb dans la phase d’apprentissage du réseau.

Page 80: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 80

IX.5. Réseau de Hopfield et optimisation combinatoire On parle de réseaux connexionnistes dès que l’on trouve des neurones en interactions. Mais on connaît aussi d’autres types d’interactions, comme celles par exemple des particules en physique statistique. Il n’en fallait pas moins à quelques précurseurs comme Little et Hopfield pour constater ce parallélisme et l’exploiter. Ce parallélisme a permis d’introduire la notion de fonction d’énergie d’un ensemble de neurones tous interconnectés et de développer un formalisme riche et bien maîtrisé pour aborder un grand nombre de problèmes. IX.5.1. Structure générale du réseau Nous avons vu que, dans un réseau de Hopfield, chaque neurone est soumis à l’action des autres neurones, y compris lui-même. Afin de rendre plus générale l’utilisation du réseau, les neurones sont soumis, en plus, à une action provenant de l’extérieure. Celle-ci se traduit, pour chaque neurone ni, par une entrée externe notée Ii (figure IX.3).

n1

n2

nN

w1N

w2N

wNN

w12

w22

wN2

w11

w21

wN1

IN

I2

I1

VN

V2

V1

Figure IX.3 : Structure générale d’un réseau de Hopfield

Page 81: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 81

Avec cette nouvelle structure, la dynamique du réseau ne change pas, mais il faut simplement tenir compte, lors du calcul de l’entrée totale d’un neurone ni, de l’entrée externe qui doit s’ajouter à la somme pondérée des entrées provenant des autres neurones du réseau :

(IX.4) ∑=

++∑−

=+=+

N

ij iItjVijWi

jtjVijWtiU )(

1

1)1()1(

IX.5.2. Fonction d’énergie du réseau Considérons un réseau de Hopfield à N neurones. Soit W la matrice des poids des connexions Wij, i = 1,...,N et j = 1,...,N, et soit I

r le vecteur constitué par les N

entrées extérieures Ii, i=1,...,N. Hopfield définit une application, appelée fonction d’énergie du réseau, de {-1,1}N dans R qui à tout vecteur d’état

( )TtNVtVtVtV )(),...,(2),(1)( =r

associe la quantité :

(IX.5) VTIVWTVVHrrrrr

....21)( −−=

∑=

∑=

∑=

−−=N

i

N

j

N

i iViIjViVijW1 1 1

...21

Examinons l’évolution de cette fonction d’énergie au cours de l’évolution dynamique du réseau. Faisons évoluer l’état du neurone ni selon la règle décrite au § IX.2.2 (Cf. Equation IX.2). Pour la variation )()1( tiVtiViV −+=∆ de l’état Vi du neurone ni, la variation correspondante de la fonction d’énergie vaut :

(IX.6) ⎥⎥⎦

⎢⎢⎣

⎡∑−

=∑

+=∆++∆−=∆

1

1)(.

1.)1(..

21 i

jtjV

N

ij iVijWtjViVijWH

⎥⎥⎦

⎢⎢⎣

⎡∑−

=∑

+=∆++∆−

1

1)(.

1.)1(..

21 i

jtjV

N

ij iVijWtjViVijW

iViIiViiW ∆−∆− .2.21

Page 82: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 82

⎥⎥⎦

⎢⎢⎣

⎡∑−

=∑

+=∆+++∆+−=

1

1)(.

1).()1(.).(

21 i

jtjV

N

ij iVjiWijWtjViVjiWijW

iViIiViiW ∆−∆− .2.21

Supposons que la matrice W des poids des connexions vérifie les conditions précédemment citées, c’est à dire qu’elle est symétrique avec des éléments diagonaux nuls. L’expression de la variation ∆H de la fonction d’énergie s’écrit alors :

(IX.7) ⎥⎥⎦

⎢⎢⎣

⎡∑−

=+∑

+=++∆−=∆

1

1)(.

1)1(..

i

j iItjVN

ij ijWtjVijWiVH

)1(. +∆−= tiUiV Appliquons au réseau la règle d’évolution décrite au § IX.2.2. (Cf. Equation IX.2). Le table IX.2 récapitule le sens de variation de la fonction d’énergie H en fonction de ∆Vi et Ui.

Vi(t) Ui(t+1) Vi(t+1) ∆Vi= Vi(t+1)-Vi(t) ∆H 1 >0 1 0 0 1 <0 -1 -2 <0

-1 >0 1 2 <0 -1 <0 -1 0 0

Table IX.2 : Sens de variation de la fonction d’énergie du réseau.

On constate alors que la variation ∆H de la fonction d’énergie engendrée par la variation de l’état d’un neurone est toujours négative. La fonction d’énergie H est donc monotone décroissante. Comme le nombre de neurones du réseau est fini, la fonction d’énergie H est bornée. Par conséquent, au bout d’un certain nombre d’itérations, une valeur minimale de celte fonction est atteinte et le système se stabilise. Ainsi, un état stable du réseau correspond à un minimum de sa fonction d’énergie H. Il faut cependant noter que le réseau peut converger vers l’un des minimums locaux de sa fonction d’énergie. Ces minimums locaux, qui peuvent correspondre à différentes valeurs de la fonction d’énergie, sont accessibles â partir de configurations initiales différentes. Revenons au problème de la mémoire associative que nous avons évoqué au § IX.3.

Page 83: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 83

Nous avons vu qu’après apprentissage d’un réseau de Hopfield, celui-ci évolue, au cours de son fonctionnement, vers un état mémorisé, s’il a été stimulé par un état proche de celui-ci. Nous avons vu aussi que le réseau peut converger vers des états, appelés états poubelles, qui ne sont pas mémorisés (Cf. § IX.4). Ces états parasites correspondent en fait à des minimums locaux de la fonction d’énergie du réseau. Ils peuvent être atteint lorsque l’état initial du réseau est trop éloigné des étals mémorisés. Ces états sont aussi liés à la capacité d’apprentissage du réseau. Un remède à ce problème consiste à introduire du bruit pour permettre au réseau de sortir de ces états parasites que constituent les minima locaux de sa fonction d’énergie. Cette technique, que nous analyserons au § IX.6, relève du principe du recuit simulé. IX.5.3. Formulation duale Nous avons vu qu’un réseau de Hopfield peut être décrit par une fonction d’énergie définie sous une forme quadratique à partir de la matrice des poids de ses connexions et du vecteur de ses entrées externes. Nous avons constaté que l’évolution dynamique du réseau l’amenait à se stabiliser sur des minima locaux de celle fonction. En d’autres termes, les minima locaux de la fonction d’énergie du réseau agissent comme des attracteurs au cours de son évolution. Cette propriété qu’a le réseau de “rechercher” un minimum de sa fonction d’énergie le rend apte à résoudre certains problèmes d’optimisation où l’objectif est de minimiser une fonction de coût représentée sous une forme quadratique. Cette dualité a été introduite par Hopfield lui- même, dans le but de donner une solution au problème du voyageur de commerce. D’une manière générale, la méthodologie neuronale appliquée à un problème d’optimisation comprend trois étapes successives :

1. Codage du problème. Il s’agit de définir un système caractérisé par un ensemble de variables d’état binaires et une fonction de coût, sous forme quadratique, telle que, par construction, les solutions du problème correspondent à des minimums de cette fonction. 2. Construction du réseau. Il s’agit, ici, de considérer un réseau entièrement connecté, où chaque neurone représente une variable d’état binaire, et de déterminer ses paramètres, c’est à dire la matrice des poids des connexions et le vecteur des entrées externes, en identifiant la fonction de coût du problème et la fonction d’énergie du réseau définie au § IX.5.2.

Page 84: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 84

3. Processus de minimisation. A partir d’une configuration initiale du réseau, les neurones évoluent selon la dynamique décrite au § IX.2.2 (Cf. Equation IX.2) jusqu’à ce qu’ils ne peuvent plus changer d’état. L’état stable du réseau correspond alors à un minimum local de sa fonction d’énergie qui n’est autre que la fonction de coût. Il faut rappeler que pour assurer la convergence du réseau, la matrice des poids des connexions doit vérifier les conditions énoncées par Hopfield, c’est à dire qu’elle doit être symétrique avec une diagonale nulle.

L’intérêt de cette méthode d’optimisation est qu’elle est simple à mettre en oeuvre grâce à l’utilisation d’une architecture neuronale. Cependant, on peut objecter que la classe des problèmes qui peuvent être abordés semble restreinte puisque les fonctions à minimiser doivent être des formes quadratiques. D’autre part, on doit être conscient du fait que le processus de minimisation induit n’est que local. IX.5.4. Applications L’utilisation d’un réseau de Hopfield pour minimiser une fonction de coût a permis d’aborder plusieurs problèmes d’optimisation combinatoire. Le plus connu de ces problèmes est celui du voyageur de commerce où il s’agit, étant donné un certain nombre de villes, de trouver le plus court chemin passant une fois et une seule par chaque ville. Hopfield a montré que ce problème peut être résolu en utilisant la méthodologie neuronale que nous avons décrite plus haut. Pour cela, il a construit une fonction de coût, sous forme quadratique, telle que les solutions du problème correspondent à des minimums de cette fonction. Cette approche a été utilisée également dans le domaine de la vision par ordinateur, dans l’estimation de mouvement dans une séquence d’images et pour résoudre le problème de la mise en correspondance stéréoscopique, où les problèmes sont formalisés en termes de minimisation de fonctions de coût. IX.6. Réseaux de Hopfield à recuit simulé Le principal inconvénient du modèle binaire de Hopfield est celui de la présence d’états stables indésirables qui correspondent à des minima locaux de la fonction d’énergie du réseau. Ces états “poubelles” sont fortement attracteurs car le processus de minimisation induit par la dynamique du réseau n’est que local. Nous allons montrer, dans ce paragraphe, comment ce problème peut être résolu en

Page 85: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 85

utilisant l’algorithme du recuit simulé. Grâce à sa nature stochastique, celui-ci permet, lors d’un processus de minimisation d’une fonction de coût, d’améliorer la probabilité de convergence vers un minimum global. VIII.6.1. Le recuit simulé Introduit en 1983 par Kirkpatrick et ses collaborateurs, l’algorithme du recuit simulé trouve ses origines dans la thermodynamique des systèmes physiques où l’on prend en compte les niveaux d’énergie. Considérons un système constitué d’un grand nombre de particules. Un état de ce système peut être caractérisé par la donnée des états élémentaires de chacune des particules, par exemple la position ou le moment magnétique d’un atome. La probabilité de trouver ce système dans un état E est proportionnelle au facteur de Boltzmann exp(-H(E)/T) où H(E) représente l’énergie du système à cet état et T sa température. Ainsi, les probabilités d’occurrence de deux états E1 et E2 sont liées par la relation :

(IX.8) ⎟⎟⎠

⎞⎜⎜⎝

⎛ −−=

T

EHEH

EP

EP )2()1(exp

)2(

)1(

Métropolis a proposé un algorithme simple pour simuler un tel ensemble d’atomes en équilibre à une température T donnée. A chaque étape de la simulation, on donne à un atome un déplacement aléatoire, et on calcule la variation d’énergie ∆H du système. Si ∆H≤0, le déplacement est effectué. Le cas où ∆H>0 est traité de façon probabiliste : la probabilité d’accepter le déplacement est p=exp(-∆H/T). La température T est un paramètre de contrôle, qui autorise, lorsqu’elle est élevée, des “sauts d’énergie’’ importants. Par analogie, dans l’algorithme du recuit simulé, on considère un système caractérisé par un ensemble de variables d’état. On remplace l’énergie par une fonction de coût à minimiser et on utilise la méthode de Métropolis pour explorer les états du système. L’idée du recuit simulé est de ‘’mettre” le système à une température T élevée, afin qu’il explore beaucoup d’états. Lorsque le système semble stabilisé, on abaisse cette température. Cette procédure est répétée jusqu’à ce que T atteigne la valeur 0. On peut illustrer cette méthode de façon intuitive par la minimisation d’une fonction d’une variable réelle (figure IX.4). On part d’un état initial E0 du système

Page 86: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 86

et on fixe la température à une valeur élevée. A chaque étape, on examine la possibilité de faire varier E de ∆E dans un sens quelconque. Cette variation est acceptée suivant la règle de Métropolis. Comme T est élevée, on va accepter des “sauts” importants qui vont amener E au voisinage du minimum global avec une bonne probabilité, alors qu’une méthode de descente de gradient, par exemple, aurait été rapidement coincée dans le premier minimum local rencontré. On diminue ensuite T progressivement pour “geler” la variable E.

Figure IX.4 : Principe du recuit simulé pour la minimisation d’une fonction d’une

variable réelle. Une autre image de cet algorithme est celle d’une bille lâchée au-dessus d’un paysage d’énergie. Au début, on “agite” beaucoup le paysage (valeur de T élevée) afin que la bille puisse passer d’une vallée à une autre. Puis, progressivement, on diminue l’agitation, c’est à dire T, de façon à piéger la bille dans une des vallées les plus profondes. A la fin, on arrête totalement l’agitation (T=0) pour que la bille tombe au fond de cette vallée qui correspond à un minimum absolu de l’énergie. Les températures peuvent être également interprétées comme un moyen pour “aplanir le relief’ (figure IX.5). Au début, les fortes températures nivellent le paysage. L’abaissement progressif de la température permet ensuite de retrouver doucement tous les accidents du relief.

Page 87: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 87

T

Figure IX.5 : Paysage de la fonction de la figure IX.4 à différentes températures Face à un problème d’optimisation, la qualité des solutions produites par l’algorithme du recuit simulé est excellente, car il permet, lors du processus de minimisation d’une fonction de coût, de converger, avec une bonne probabilité, vers un minimum global. Cependant, sa nature intrinsèquement stochastique rend sa convergence très lente. De plus, il faut exécuter le processus de stabilisation pour chaque température de la séquence du recuit, ce qui nécessite une grande quantité de calculs. IX.6.2. Utilisation dans les réseaux de Hopfield Le principe du recuit simulé est à priori indépendant des réseaux de neurones. Nous allons montrer comment on peut le mettre en oeuvre sur un réseau de Hopfield. Nous avons vu que, dans un réseau de Hopfield, un neurone change d’état dès que son entrée totale vérifie une condition de signe (Cf. § IX.2.2, Equation IX.2). Nous avons constaté, ensuite, que ce changement d’état va toujours dans le sens de la diminution de la fonction d’énergie associée au réseau (Cf. § IX.5.2). Pour avoir un réseau fonctionnant suivant le principe du recuit simulé, il suffit de permettre à un neurone des changements d’état augmentant sa fonction d’énergie. Considérons un réseau de Hopfield constitué de neurones fonctionnant suivant une règle stochastique (fonction d’activation stochastique). Dans ce cas, on parle d’un modèle stochastique de Hopfield. Dans ce type de réseau, les neurones fonctionnent de façon aléatoire, c’est à dire qu’ils envisagent simultanément les deux états possibles {-1,1} pour modifier leurs états. Le changement d’état d’un neurone du réseau est effectué par tirage au sort avec des probabilités proportionnelles au facteur de Boltzmann exp (-∆H/T). La variation de la fonction d’énergie ∆H

Page 88: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 88

correspondant à un changement d’état d’un neurone ni de Vi(t) à Vi(t+1) est, comme on l’a vu plus haut (Cf. § IX.5.2) : [ ] )1(.)()1( +−+−=∆ tiUtiVtiVH Sur le table IX.3, on représente le facteur de Boltzmann pour les quatre transitions possibles entre Vi(t) à Vi(t+1). Pour des raisons de simplification, nous utilisons la valeur 0, au lieu de -1, pour représenter l’état inactif d’un neurone.

Vi(t+1)Vi(t)

1 0

1 1 exp(-Ui(t+I)/T)

0 exp(-Ui(t+I)/T) 1

Table IX.3 : Facteur de Boltzmann pour les quatre transitions possibles

Cherchons maintenant les probabilités de transition d’un neurone ni. Supposons qu’à l’instant t le neurone soit dans un état donné Vi(t). En utilisant la table IX.3, le facteur de proportionnalité des probabilités de transition peut être exprimé de la manière suivante :

(IX.9) )/)1(exp()0)1((

)1)1((TtiU

tiVP

tiVP+=

=+

=+

En normalisant : 1)0)1(()1)1(( ==++=+ tiVPtiVP on obtient la règle stochastique suivante : (IX.10)

))1(

exp(1

1)1)1((

T

tiUtiVP+

−+

==+

))1(

exp(1

))1(

exp()0)1((

T

tiUT

tiU

tiVP+

−+

+−

==+ ∀Vi(t)

Page 89: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 89

Ainsi, le nouvel état d’un neurone stochastique est indépendant de son état antérieur. Nous pouvons constater que, lorsque T tend vers 0, le neurone stochastique tend vers le neurone binaire déterministe. Pour compléter la mise en oeuvre de l’algorithme du recuit simulé sur un réseau de Hopfield, il reste à choisir une séquence de recuit, c’est à dire une suite décroissante de températures. Le principe de l’algorithme consiste alors à faire évoluer le réseau, pour chaque température, vers un état stable. Au départ, à des températures très élevées, chaque neurone évolue de façon quasi – aléatoire : (IX.11)

21)0)1(()1)1(( ≈=+≈=+ tiVPtiVP

Ensuite, lorsque la température s’abaisse, c’est l’entrée interne Ui, qui détermine la sortie d’un neurone. Enfin, pour des températures proches de 0, le comportement aléatoire est supprimé et le réseau se comporte comme un réseau déterministe. L’implantation de l’algorithme du recuit simulé sur un réseau de Hopfield prend ainsi la forme suivante :

1. Commencer avec une température T0 élevée, 2. Initialiser les états des neurones du réseau. 3. Faire évoluer le réseau, à cette température, vers un état stable. Le fonctionnement des neurones est régit par la règle stochastique précédemment décrite (Cf. Equation IX.10). 4. Diminuer la température. 5. Répéter les étapes (3) et (4) jusqu’à ce que le réseau ait atteint un minimum de sa fonction d’énergie, c’est à dire lorsqu’elle ne varie pratiquement plus.

En conclusion, nous venons de montrer qu’il est possible de mettre en oeuvre le principe du recuit simulé sur un réseau de Hopfield. Il suffit pour cela d’utiliser des neurones fonctionnant avec une règle stochastique et de choisir une suite décroissante de températures pour chercher de manière itérative le minimum de la fonction d’énergie du réseau. Ce nouveau fonctionnement permet au réseau de converger, avec une bonne probabilité, vers un minimum global, mais au prix d’une grande quantité de calculs.

Page 90: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 90

IX.7. Illustration

Supposons que nous souhaitons mémoriser dans un réseau de Hopfield à deux neurones deux états stables définies par : (-1, +1) et (+1, -1) (figure IX.6). Après la détermination des valeurs des poids et des ‘bias’ selon la règle de Hopfield, le réseau est testé avec un ensemble de points situer dans le plan carrée. La figure IX.7, montre pour chaque essai, le point représentant le vecteur d’entrée et le trajet pour rejoindre l’un des états stables.

Figure IX.6 : L’espace des états de Hopfield avec les deux états stables

Figure IX.7 : Visualisation sur l’espace des états le point représentant le vecteur

d’entrée et le trajet pour rejoindre l’un des états stables

Page 91: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 91

Wxâå|¢Åx ÑtÜà|x M \ÇàÜÉwâvà|ÉÇ tâå TÄzÉÜ|à{Åxá

Z°Ç°à|Öâxá

Page 92: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 92

I. Introduction Il est commun, de nos jours, que ce soit dans le cadre des sciences de l’ingénieur ou dans celui des sciences sociales, d’affronter le besoin d’optimisation. Ainsi, on peut avoir besoin de réduire le coût de fabrication d’un produit, de minimiser l’énergie d’une fonction donnée, etc. Auparavant, plusieurs de ces types de problèmes étaient considérés comme intraitables, vu leur complexité mais aussi en l’absence de techniques adéquates. Toutefois, avec l’avènement des ordinateurs, et le développement de l’informatique, plusieurs méthodes et techniques d’optimisation ont été développées. On peut citer en particulier deux classes de méthodes d’optimisation : Les méthodes basées sur la descente d’un gradient, et les méthodes stochastiques. Le but de cette partie est de présenter une classe d’algorithmes, parmi les méthodes stochastiques, connue sous le nom Algorithmes Génétiques (AGs). Ces algorithmes s’inspirent des mécanismes d’évolution des espèces et de la génétique moderne pour constituer une méthode de recherche et d’optimisation avec des propriétés intéressantes indéniables. Ils offrent un certains nombre d’avantages fondamentaux les distinguant des autres méthodes traditionnelles d’optimisation parmi lesquelles on peut citer : le parallélisme, l’utilisation minimale d’informations à priori, la manipulation d’entités élémentaires qui ne sont pas forcément numériques (par conséquent, un AG peut travailler sur n’importe quel espace de recherche),… II. Historique En 1859, Darwin décrit, dans son livre ‘’On the Origin of Species By Means of Natural Selection’’, la théorie de l’évolution. Cette théorie constate que, contrairement à ce que l’on pensait à l’époque, les espèces évoluent. Ensuite, elle impute cette évolution à trois facteurs : la sélection naturelle, les croisements qui permettent le brassage de l’information génétique et la mutation. La sélection naturelle rend compte du fait que les individus les plus forts ont le plus de chance de survivre et de pouvoir procréer. Le brassage de l’information génétique se fait lors de la reproduction sexuée, les enfants héritant des caractéristiques génétiques de leurs parents. Ce système permet d’explorer les différentes combinaisons entre

Page 93: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 93

gènes existants. La mutation enfin représente la part créatrice indispensable capable de produire de nouveau gènes. S’inspirant de la théorie de l’évolution, les premiers travaux sur les algorithmes génétiques ont commencé dans les années cinquante lorsque plusieurs biologistes ont simulé des structures biologiques sur ordinateur. Entre 1960 et 1970, Holland, sur la base des travaux précédents, développa ensuite les principes fondamentaux des algorithmes génétiques dans le cadre de l’optimisation mathématique. La publication en 1975 du livre de Holland "Adaptation in natural and artificial systems" marque la véritable date d’apparition des AGs. Dans sa monographie, Holland présente une théorie d’évolution et d’adaptation des systèmes naturels et montre comment cette théorie permet d’en déduire des systèmes artificiels (des logiciels) adaptatifs. Les travaux de Holland ont été poursuivis par ses élèves. Ainsi, DeJong a étudié l’utilisation des AGs pour l’optimisation de fonctions numériques. Au début des 1980, les AGs ont été progressivement étudiés par différentes équipes de recherche pour résoudre une vaste gamme de problèmes dans divers domaines. Parmi les problèmes les plus connus, auxquels ils ont été appliqués avec succès, on peut citer : le problème du voyageur de commerce, le problème de l’emploi de temps, le problème d’ordonnancement (où il s’agit de gérer le déroulement des séquences d’opérations tenant compte des contraintes logiques du fonctionnement de l’atelier et en optimisant le rendement),… III. Les algorithmes génétiques (AGs) III.1. Principe de base d’un algorithme génétique Un AG est un algorithme itératif de recherche globale dont le but est d’optimiser une fonction définie par l’utilisateur appelée fonction d’adaptation (fonction coût ou fonction objectif ou fonction d’adéquation). Pour atteindre cet objectif, l’algorithme travaille en parallèle sur une population de point candidats, appelés individus ou chromosomes, distribués sur tout l’espace de recherche. Chaque chromosome est constitué d’un ensemble d’éléments appelés caractéristiques ou gènes, pouvant prendre plusieurs valeurs (allèles) appartenant à un alphabet non nécessairement numérique.

Page 94: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 94

Dans l’algorithme génétique de base, les ‘allèles’ possibles sont 0 et 1, et un chromosome est donc une chaîne binaire. L’objectif est donc de chercher la combinaison optimale de ces éléments qui donne lieu au maximum d’adaptation. A chaque itération, appelée génération, est créée une nouvelle population avec souvent le même nombre d’individus. Cette nouvelle population contient généralement des individus mieux adaptés à l’environnement au fur et à mesure des générations, ainsi les individus tendent à se ressembler de plus en plus. Plus précisément, étant donné l’espace de recherche E={0,1}l, on cherche à optimiser une fonction f (fitness) définie sur E à valeurs dans R+. Un élément de E, appelé individu ou chromosome, est ici une chaîne binaire. Une population P est ensemble de N individus. L’opération de base d’un AG consiste à passer de la population courante P(t) à la population suivante P(t+1), cette opération de base constitue une génération. Le principe de base d’un AG peut être décrit par le pseudocode suivant : {t 0 ; Création d’une population initiale P(t) de taille N ; Evaluer P(t) ; Répéter {t t+1 Sélectionner les individus aptes à se reproduire ; Croiser P(t) ; Muter P(t) ; Evaluer P(t) } Jusqu’à (critère d’arrêt validé) }

III.2. Etapes fondamentales d’un AG III.2.1. Codage des solutions Dans sa version canonique (classique), un AG utilise le codage binaire pur. En effet, par projection du sous espace propre de chaque variable (phénotype), sur un sous espace entier convenablement choisi, on associe à chaque variable une valeur entière. Ensuite, on fait correspondre à chaque entier son code binaire (génotype).

Page 95: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 95

L'ensemble des codes binaires, associés à chaque variable, constitue le chromosome. III.2.2. Initialisation Dans le cas le plus fréquent, où l’utilisateur ne dispose pas de connaissances particulières relatives à la fonction f, la population P(t=0) est initialisée aléatoirement de manière la plus uniforme possible. Cependant, cette étape du processus peut prendre en compte certains types de connaissances a priori de l’utilisateur. Il est possible d’inclure dans la population initiale certains individus. C’est le cas par exemple, lorsqu’on dispose déjà de solutions qu’on désire améliorer. III.2.3. Evaluation Cette phase consiste à calculer les qualités des différents chromosomes composant une population. Le calcul de qualité d'un chromosome s'effectue en deux étapes. Dans un premier temps, on recrée le phénotype par décodage du génotype, et on applique la fitness de l'individu généré. L'évaluation d'une population consiste en fait à préparer les chromosomes pour la phase de reproduction. III.2.4. Opérateurs d’évolution Le but de ces opérateurs est de modifier la composition génétique des individus entre deux générations afin de parcourir l'espace de recherche. Les opérateurs de base que sont la sélection, le croisement et la mutation ont, en fait, une double mission. Ils permettent au processus génétique d’exploiter les zones prometteuses découvertes, c’est-à-dire le voisinage des individus constituant les optima et, d’explorer d'autre part les zones encore inconnues. Les caractéristiques des AGs leur permettent d’exploiter les connaissances accumulées durant la recherche en vue d’établir un équilibre entre le besoin d’explorer de nouvelles régions de l’espace de recherche et la possibilité de focaliser la recherche à l’intérieure des zones de hautes performances. Parmi ces trois étapes majeures de l’évolution, la sélection est orientée vers l’exploitation seule. Le croisement et la mutation permettent également l’exploitation et l’exploration avec la différence suivante : les enfants obtenus par croisement sont en général loin des parents, mais appartiennent à une région réduite de l’espace de recherche (qui dépend uniquement des parents). Par opposition, les

Page 96: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 96

enfants obtenus par mutation sont en général proches des parents, mais peuvent être situés dans tout l’espace de recherche. III.2.4.1. La sélection La sélection permet de choisir quel(s) individu(s) vont se reproduire en fonction des valeurs de la fonction d'adaptation. Dans les populations naturelles, l'adaptation est déterminée par la capacité d'une créature à survivre aux prédateurs, aux maladies et aux autres obstacles à franchir, pour atteindre l'âge adulte et la période de reproduction. Pour les AGs, la fonction à optimiser est le critère décidant de la survie de chaque individu. Cette fonction correspond à une mesure de profit, d'utilité ou de qualité que l'on souhaite maximiser ou à un coût que l'on souhaite minimiser. L'opérateur de sélection, qui est une version artificielle de la sélection naturelle, définie par Darwin, consiste à donner aux individus ayant une adaptation plus grande de plus grandes chances d'engendrer un ou plusieurs descendants. La sélection permet donc d’améliorer la qualité moyenne de la population en favorisant la copie des meilleurs individus dans les générations suivantes. La sélection focalise, par conséquent, la recherche sur les régions prometteuses de l’espace de recherche. La technique de sélection par roue de loterie (Roulette Wheel Selection), utilisée dans l’algorithme de base, consiste à faire un tirage aléatoire avec une roue de loterie où chaque individu se voit attribuer une place plus ou moins grande selon son adaptation. La méthode RWS exploite la métaphore d'une roulette de casino, qui comporterait autant de cases que d'individus dans la population. On attribue à chaque individu une section de surface, sur la roulette, proportionnelle à sa performance (figure III.1).

x0

x1 x2x3

x4x5

x6

Figure III.1 : Roue de loterie biaisée

Page 97: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 97

On définit ensuite pour chaque individu vi une probabilité de sélection ps(vi), représentant le taux de surface qui lui sera réservé sur la roue, soit :

(III.1) ∑

=

= N

ii

is

vf

vfp

1)(

)(

Pour sélectionner les individus, on fait tourner la roue autant de fois qu'on a d'individus dans la population (N). La roue a plus de chances de s'arrêter sur un numéro dont la section correspondante est de surface plus importante. La variance de ce processus est élevée. En effet, il est possible à la limite qu'un individu, de mauvaise qualité, soit sélectionné pour la reproduction autant de fois qu'il y a d'individus remplacés. Il est aussi possible qu'un individu, ayant une bonne valeur d'adaptation, ne soit jamais sélectionné. Ce phénomène est responsable de la dérive génétique, c’est-à-dire, le fait qu’un bit prenne une valeur constante sur toute la population, qui permet à certains individus de 'survivre' au détriment d'individus meilleurs. Pour limiter ce risque, la taille de la population doit être suffisamment grande. D'autre part, il est également possible qu'un individu, ayant une adaptation très supérieure à la moyenne, puisse dominer la population suivante et on aura donc perdu toute diversité, cela peut éventuellement augmenter le risque de convergence prématurée. De même, s'il existe très peu de différence entre les qualités d’adaptation des différents individus, la recherche stagnera et se comportera plutôt comme une recherche aléatoire. D’autres techniques de sélection ont été étudiées (sélection par tournois, sélection par rang linéaire,…). III.2.4.2. Le croisement L’opérateur de croisement permet de générer deux individus enfants en faisant croiser deux individus parents en vue d’augmenter la chance de survie aux meilleurs individus. L’idée générale est que les enfants peuvent cumuler les bons côtés de leurs parents, et que le croisement permettra ainsi de progresser rapidement vers les régions optimales de l’espace de recherche. Le croisement est ainsi plus orienté du côté exploitation que du côté exploration. Le principe de base consiste à échanger une ou plusieurs parties du génotype (code binaire) de deux parents sélectionnés suivant une probabilité de croisement pc. La

Page 98: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 98

probabilité pc, appelée taux de croisement, est généralement à valeurs dans l’intervalle [0,6 - 1]. Le croisement élabore deux enfants x’ et y’ à partir des parents v1 et v2. Il existe plusieurs façons de réaliser un croisement; on peut citer par exemple :

-Croisement à un point : C’est le croisement le plus simple, il s'effectue de la manière suivante (figure III.2) : Tirer un indice k dans [1, l-1], l étant la longueur des chaînes codant les individus, pour marquer le point de croisement. Pour chaque paire de chromosomes, tirer un nombre rd au hasard dans [0, 1]. Si rd ≤ pc il y a croisement, sinon pas de croisement.

1 1 1 1 0 0

0 1 0 0 1 1

1 1 1 0 1 1

0 1 0 1 0 0

Figure III.2 : Exemple de croisement simple à 1 point

-Croisement à deux points : DeJong (1975) analyse l'effet du ‘’crossover’’ multipoint, et conclut que le croisement à 2 points donne les meilleurs résultats, tandis qu’augmenter le nombre de points de coupure dégrade les performances des individus. Syswerda (1989) et Eshelaman (1989) confirment également ce résultat. La figure suivante montre un croisement à 2 points utilisant deux points de coupures choisis aléatoirement. Les chromosomes échangent le segment entre les deux points de coupures (figure III.3).

1 1 0 0 1 0

0 1 1 0 0 0

1 1 1 0 1 0

0 1 0 0 0 0

Figure III.3 : Exemple de croisement à 2 points

- Croisement uniforme : Cet opérateur a reçu une attention particulière, depuis qu'il a été étudié en détail par Ackley et popularisé par Syswerda (1989). Chaque gène d'un enfant est crée en copiant le gène correspondant à partir de l'un ou l'autre des parents choisi en utilisant un masque de crossover généré aléatoirement. Quand le masque est à 1, le gène est copié à partir du premier parent, et quand il est à zéro, il est copié à partir du second parent. Un nouveau masque est généré pour chaque paire d'individus.

Page 99: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 99

Difficultés Le croisement peut faire apparaître des enfants réunissant les bons traits de leurs parents. Mais il peut aussi engendrer des enfants n’héritant pas des bons traits des parents. On parle alors de croisement destructif : les individus prometteurs disparaissent alors, et il faudra les redécouvrir. Le risque de croisement destructif est particulièrement important lorsque la fonction de performance à optimiser comprend plusieurs optima. En effet, croiser les individus proches de deux optima distincts conduit à obtenir des individus hybrides qui sont souvent peu performants et ralentissent l’évolution. Cet inconvénient peut être évité en s’abstenant de croiser des individus trop éloignés. III.2.4.3. La mutation La mutation est l’opérateur d’évolution le plus important du point de vue de l’exploration de l’espace de recherche. En effet, la sélection ne permet pas d’explorer des zones nouvelles, et nous avons vu que les zones accessibles par le croisement sont limitées de façon déterministe par la population courante. Seule la mutation peut donc permettre d’accéder à tout l’espace de recherche. Cette propriété est cruciale dans l’intérêt de l’optimisation globale : l’évolution doit pouvoir explorer tout l’espace de recherche afin d’avoir une chance de déterminer les optima indépendamment de la population initiale. Enfin, seule la mutation permet de lutter contre le phénomène de dérive génétique. Pratiquement, l’opérateur de mutation consiste à remplacer chaque bit de chaque individu de P’ par son complémentaire avec une probabilité pm, appelée taux de mutation, prenant des valeurs de l’ordre de 0,005 à 0,001. Schaffer et ses collaborateurs (1987) proposent la formule empirique suivante :

(III.2) lpm λ

75,1≈

où λ Représente la taille de la population et l la longueur de la représentation génétique des individus. Cette expression est similaire à celle déterminée théoriquement par Hesser et Männer (1991) pour une variante spéciale d'AG :

(III.3) ( )p t

tlm( )

exp /=

−αβ

γλ

2

Page 100: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 100

qui introduit en plus la dépendance en fonction du temps. α, β et γ sont des constantes. Difficultés La mutation doit permettre d’obtenir tout individu de l’espace de recherche, mais il est souhaitable, notamment pour les dernières étapes de la convergence, d’obtenir en moyenne un enfant proche du parent. Cette condition ne présente pas de difficulté dans le cas binaire. III.2.5. Stratégies de remplacement Dernière étape durant une génération consiste à construire la population de la génération suivante à partir des parents et des enfants de la génération courante. Dans l'AGC, il est engendré autant d’enfants qu'il y a de parents et tous les enfants remplacent leurs parents à chaque génération. Cette stratégie est dite "générationnelle". DeJong (1975) a proposé de ne pas remplacer l'ensemble de la population à chaque génération et a introduit pour cela la notion d' «écart (ou fossé) des générations : generation gap», un nombre qui indique la proportion de parents qui sont remplacés par des enfants. Du moment que l'on conserve certains individus mais pas tous, la question du choix des individus conservés apparaît. Ce choix est généralement basé sur la performance des individus. Certaines stratégies prennent les meilleurs de manière déterministe. D'autres utilisent la performance comme biais pour la sélection. La sélection des survivants étant stochastique, le meilleur individu d'une génération peut ne pas survivre. Aussi, la notion de stratégie élitiste (resp. k-élitiste) a été également introduite pour être certain que le meilleur individu (resp. les k meilleurs individus) d'une population soit gardé d'une génération à la suivante. Notons que dans les stratégies de reproduction stable, les descendants remplacent généralement les plus mauvais individus de la population. La stratégie élitiste Le modèle élitiste, introduit par DeJong, évite la perte des meilleurs individus. En effet, le meilleur chromosome de la génération courante est conservé lors de l’itération suivante. L’implémentation du modèle élitiste s’effectue de la manière suivante :

Page 101: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 101

Sauvegarder le meilleur chromosome (soit C0) de la population initiale. Appliquer les opérateurs génétiques pour créer la génération suivante (G1). Comparer les valeurs de ‘fitness’ du plus mauvais chromosome (C1) de G1 et la valeur ‘fitness’ de C0. Si f(C0) < f(C1) (minimisation) alors remplacer C0 par C1. Trouver la meilleure chaîne de G1 (C2), et remplacer C1 par C2. Ces étapes sont répétées pour chaque génération.

III.2.6. Critère d’arrêt Déterminer l’arrêt d’un processus génétique est l’une des difficultés majeurs. En effet, si l’on excepte le cas des problèmes artificiels, on ne sait jamais si l’on a trouvé l’optimum. Dans la pratique, l’utilisateur déclare un nombre de générations maximum, à compter du début de l’évolution ou de la dernière amélioration trouvée. La recherche peut également être stoppée lorsque tous les individus d’une même population sont des copies d’un même individu (ou de quelques individus). On dit alors qu’il y’a perte de diversité génétique. Dans la pratique, la population ne se diversifie jamais lorsqu’elle atteint cet état ; si alors les solutions optimales ne figurent pas dans la population, il y a convergence prématurée. III.3. Illustration On désire maximiser une fonction de k variables, f(x1,…, xk) : Rk R. Supposons que chaque variable xi appartient à un domaine Di=[ai, bi] ⊆ R et f(x1,…, xk) >0 ∀ xi ∈Di. On souhaite aussi avoir une précision de 4 chiffres décimaux. Le domaine Di doit donc être subdivisé en (bi-ai).104 intervalles égaux. Notons mi le plus petit entier tel que (bi-ai).104≤2mi-1. Alors, la formule suivante donne la valeur d’une chaîne en fonction de son code binaire :

(III.4) miiaib

binairecodedecimaliaiv2

)()_(

−+=

où la fonction ‘decimal’ retourne la valeur décimale d’une chaîne binaire. Chaque

chromosome sera donc représenté par une chaîne binaire de longueur : ;

les premiers m

∑=

=k

i imm1

1 bits coderont la variable x1 dans l’intervalle [a1, b1], etc.

Page 102: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 102

La première étape, de l’algorithme génétique, consiste à générer aléatoirement la population en initialisant chaque variable dans on domaine de définition. Les individus sont ensuite soumis aux différents opérateurs génétiques (sélection, croisement et mutation). Le processus est arrêté après un nombre fixe d’itérations. La sélection par roue de loterie est représentée par le pseudocode suivant :

Calculer la valeur de fitness fi(vi) de chaque individu vi (i=1, …, N).

Evaluer la valeur de fitness totale ∑=

=N

i iviff1

)(

Calculer la probabilité de sélection pour chaque chromosome f

ivifip

)(=

Calculer la probabilité cumulative pour chaque chromosome vi ∑=

=i

j ivifiq1

)(

On fait tourner la roue N fois, et à chaque tour on sélectionne un individu qui sera inséré dans la nouvelle population de la manière suivante : Générer un nombre aléatoire r dans l’intervalle [0, 1]. Si r<q1 alors sélectionner le premier chromosome (v1) Sinon sélectionner le ième chromosome vi (2 ≤ i ≤ N) tel que qi-1<r≤qi.

Il est clair que, dans la génération suivante, des chromosomes vont être sélectionner plus d’une fois, d’autre vont avoir le même nombre de copies et les autres ne seront pas sélectionnés, selon le théorème des schémas : ‘’les meilleurs recevront plus de copies, les moyens auront le même nombre de copies et les mauvais vont disparaître’’. La second étape consiste à appliquer l’opérateur de crossover avec une probabilité pc (pc.N chromosomes vont se croiser) de la manière suivante : Pour chaque chromosome : Générer un nombre aléatoire r dans l’intervalle [0, 1] Si r<pc sélectionner ce chromosome pour le croisement

Page 103: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 103

Ranger les chromosomes par paire Pour chaque paire, tirer un nombre pos dans [1,… ,l-1] ;l étant le nombre de bits codant le chromosome, pos indique le point de croisement Deux chromosomes parents (a1 a1…apos apos+1…al) et (b1 b1…bpos bpos+1…bl) seront remplacés leurs enfants (a1 a1…apos apos+1…al) et (b1 b1…bpos bpos+1…bl).

La mutation est ensuite effectuée sur la base de bit par bit avec une probabilité pm. Pour chaque chromosome de la population courante et pour chaque bit de chromosome ; On génère un nombre aléatoire r dans l’intervalle [0, 1] Si r<pm, le bit est muté (0 à 1 et inversement)

La génération t+1 est ainsi crée par remplacement des parents par les enfants générés. Le reste de l’évolution est un processus cyclique des étapes décrites ci-dessus. Soit la fonction à deux variables f(x,y)=x+y qu’on souhaite maximiser, 0.9≤x≤1.8 et 2.1≤y≤2.4. Pour avoir une précision de deux décimales par exemple, le domaine de définition de x sera subdivisé en 0.9*100 intervalles égaux, et le domaine de y sera subdivisé en 0.3*100 intervalles. Sachant que 26<90 ≤27 et 24<30 ≤25, la longueur totale d’un chromosome (vecteur solution) est alors l=7+5=12 bits. Les premiers 7 bits codent la variable x et les 5 derniers la variable y. Dans la chaîne (101011100110), 1010111 représente la variable x=0,9+decimal (1010111)*0,9/27-1=1,52. 00110 représente la variable y=2,1+decimal (00110)*0,3/25-1=2,16. Ainsi, le chromosome (101011100110) représente le vecteur (1,52, 2,16). Supposons qu’après initialisation, on a la population suivante :

V1 100110110011V2 110010110010V3 010011110010V4 100010110110

Page 104: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 104

V5 000110100111V6 100010111110V7 001111110010V8 001010110010V9 001000101100V10 111110010110

La fitness totale est donnée par : 729,3510

1)( =∑

==

l lvff

On tourne alors la roue 10 fois, on obtient la séquence de nombres suivante :

0.51230.96510.45210.97000.22610.38270.88510.09800.78970.6741

Le premier nombre r=0,5123 est supérieur à q5 et inférieur à q6, le chromosome V6 est donc sélectionné, le second nombre 0.9651 est supérieur à q9 est inférieur à q10, le chromosome V10 est sélectionné, etc. Les différentes caractéristiques de la population sont alors :

Chromosomes (x,y) Fitness Probabilité Cumulative (qi)100110110011 (1.438, 2.283) 3.721 0.1037 0.1037110010110010 (1.615, 2.274) 3.889 0.1084 0.2121010011110010 (1.176, 2.274) 3.450 0.0961 0.3082100010110110 (1.388, 2.312) 3.700 0.1031 0.4113000110110111 (0.992, 2.323) 3.315 0.0924 0.5037100010111110 (1.388, 2.390) 3.778 0.1053 0.6090001111110010 (1.119, 2.274) 3.393 0.0945 0.7035001010110010 (1.048, 2.274) 3.322 0.0905 0.7940001000101100 (1.020, 2.216) 3.236 0.0925 0.8865

Page 105: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 105

111110010100 (1.778, 2.294) 4.072 0.1135 1.0000 Il est clair que la meilleure chaîne est V10, la plus mauvaise étant V8. On construit ensuite la roue de loterie, la fonction fitness totale de la population est 35,774. Le crossover va être appliqué maintenant avec un taux de 0,30, c'est-à-dire 30% des individus subiront le croisement. En tirant aléatoirement dix fois un nombre r dans l’intervalle [0, 1], si r<0,30 on sélectionne le chromosome correspondant pour le croisement :

0.74840.17410.20550.32500.22610.18870.88510.60980.20970.5801

Cela implique que les chromosomes V2’, V5’, V6’ et V9’ sont sélectionnés pour le croisement (le nombre de chromosomes obtenu est pair, si le nombre est impair on ajoute ou enlève aléatoirement selon le cas un chromosome). Les chromosomes sont alors rangés par paire,

V2’=1111 10010110V5’=0001 11110111

V6’=100010110 110V9’=001010110 010

La position de croisement est 4 dans le premier cas et 9 dans le second. Les chaînes résultantes sont alors :

V2’’=1111 11110111V5’’=0100 10010110

Page 106: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 106

V6’’=100010110 010V9’’=001010110 110

L’opérateur du mutation est appliqué avec une probabilité pm=0.01, de sorte que 1% des bits subiront l’opération de mutation. Au total, l*10=120 bits dans la population, en moyenne 1,2 mutations par génération. Chaque bit admet la même chance d’être muté. Pour chaque bit on génère un nombre r dans [0, 1], si r<0.01 le bit est muté. Dans un tirage de 120 nombre, le 75ème tirage est inférieur à 0,01(le 3ème bit de la chaîne V7’). La nouvelle population après crossover et mutation est donc :

V1 100010111110 3.778V2 111111110010 4.074V3 100111110010 3.734V4 111110010110 4.092V5 010010010110 3.446V6 100010110010 3.663V7 000000101100 3.123V8 100110110011 3.721V9 001010110110 3.322V10 001111110010 3.393

Il est intéressant d’examiner les résultats de cette première itération, principalement la valeur de la fonction fitness totale f=36,346>35,729 (fitness totale initiale), le meilleur individu (V4, f(V4)=4,092) est mieux adapté que le meilleure individu de la population initiale (V10, f(V10)=4,072). Ce processus est répété pendant un nombre de cycle prédéfini (nombre de génération). III.4. Problèmes associés aux AGs Les AGs sont une méthode d’optimisation dont la plus grande qualité est d’être applicable à une vaste gamme de problèmes. L’efficacité des AGs dépend largement de la représentation choisie et peut être grandement améliorée par la conception d’opérateurs d’évolution, utilisant les connaissances à priori de l’utilisateur et les propriétés de l’espace de représentation.

Page 107: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 107

En revanche, les AGs de base ont deux inconvénients majeurs : La convergence prématurée ou lente. Toutefois, ces deux inconvénients peuvent être contournés moyennant certaines précautions. III.4.1. Convergence prématurée

Ce problème, très classique des AGs, survient à cause de la dominance de la population par des individus possédant une assez bonne adaptation. Dans ces conditions, le croisement entre individus presque identiques ne favorise pas l’exploitation. Par suite, la population convergera probablement vers un optimum local. Seule la mutation permet d’explorer de nouvelles solutions, et d’éviter ainsi cette convergence prématurée. Il existe également d’autres solutions à ce problème, en particulier l’utilisation de fonctions de pénalisation pour arrêter la dominance des individus forts.

III.4.2. Convergence lente Il arrive qu’après plusieurs itérations, l’écart entre l’adaptation moyenne et l’adaptation du meilleur individu soit faible. Par suite, l’évolution stagnera et l’algorithme ne favorise plus les meilleurs individus. Pour pallier ce problème, il est conseillé d’augmenter la taille de la population. Une autre stratégie, appelée stratégie sans doublons, peut être utilisée à cet effet. Elle consiste en l’élimination des individus dupliqués dans une même population. Une technique de réajustement (changement d’échelle) de la fonction d’adaptation ’’ fitness scaling’’, est également très utilisée pour surmonter ces problèmes. Cette méthode consiste à définir une fonction d’adaptation transformée f’, à partir de l’adaptation brute f. Parmi les types de transformations utilisées, on peut citer la transformation linéaire : f’

=a*f +b. Les coefficients a et b sont choisis de manière à ce que : - La moyenne de l’adaptation brute (fmoy) soit égale à la moyenne de l’adaptation

transformée (f’moy).

- L’adaptation transformée maximale soit un multiple déterminé de l’adaptation

transformée moyenne : f’max= C * f’

moy, la constante C, généralement égale à 2, représente le nombre maximal de copie du meilleur individu de la population.

Page 108: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 108

XåxÜv|vxá 1. On considère les trois réseaux de neurones monocouche avec un seul neurone de la figure suivante :

2

2

1

-3 2

2

1

-1

s

e2

e1

s

e2

e1

a) b)

-2

1

1

s e1

c)

Figure 1 : réseau avec un seul neurone à deux entrées e1 et e2 La fonction d’activation des neurones est un échelon et les entrées sont en binaires. Déterminer la fonction réaliser par chaque réseau. 2. Déterminer les poids d’un réseau à un neurone selon la règle de Hebb pour celui-ci réalise la fonction ‘’OU’’ logique. 3. Un neurone linéaire à seuil à deux entrées réalise une partition des vecteurs d’entrées qui lui sont soumis en entrée en deux classes.

Page 109: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 109

3.a. Donner l’équation de l’hyperplan séparant les deux classes. 3.b. Expliquer pourquoi en pratique on remplace le seuil θ du neurone par une connexion de poids -θ relié à une constante égale à 1. 4. On considère un RN monocouche. Ses neurones ont une fonction d’activation sigmoïde :

11)( )( +

=−= −−e pkpfy θθ

Déterminer la règle d’apprentissage selon le principe de Widrow -Hoff. 5. On considère les fonctions sigmoïdes suivantes :

1)(1

+=

ee

x

x

xf β

β

et 1

1)(2

+

−=

ee

x

x

xf β

β

11)(3

+=

e xxf β

5.a. Calculer la dérivé f1’(t) de f1(t) en fonction de f1(t) et β, et f2’(t) en fonction de f2(t) et β, et f3’(t) en fonction de f3(t) et β. 5.b. Que devient f1’(t) si β=1, f2’(t) si β=2 et f3’(t) si β=-1 ? 5.c. Donner les allures de ces fonctions et de leur dérivé. 5.d. Expliquer pourquoi si la dynamique des entrées est trop élevée dans un RN multicouches utilisant ces fonctions, la convergence sera trop lente. 5.e. Proposer une solution alors. 6. On considère un réseau de Hopfield avec deux neurones. On souhaite mémoriser dans ce réseau deux états : E1=(-1, +1) et E2=(+1, -1). Déterminer la matrice W des poids des connexions.

Page 110: Introduction Aux Rn&Ags

HAMMOUCH Ahmed 110

dâxÄÖâxá Ü°y°ÜxÇvxá u|uÄ|ÉzÜtÑ{|Öâxá - C.M. Bishop, Neural Networks for Pattern Recognition, Oxford University Press,

Oxford, 1995. - Eric Davalo et Patrick Naïm, Des Réseaux de Neurones, Eyrolles, Paris, 1989. - L. Devroye, L. Györfi and G. Lugosi, A Probabilistic Theory of Pattern Recognition,

Springer-Verlag 1996. - D. Hamad, réseaux de neurones pour classification non supervisée, Habilitation à

diriger des recherches, Université des Sciences et Technologies de Lille, 1997. - S. Haykin, Neural Networks, a Comprehensive Foundation, Macmillan, New York,

NY., 1994. - J. Hérault et Ch. Jutten, Réseaux neuronaux et traitement du signal, Hermès, Paris,

1994. - J. Hertz, A. Krogh & R. G. Palmer, An introduction to the theory of Neural

Computation, Addison-Wesley, 1991. - Don, R, Hush and Bill G. Horne, Progression supervised Neural Networks, IEEE,

signal processing magazine, pp. 8-39, January 1993, - Daniel Kuhn, Une approche neuronale pour l’asservissement visuel d’un rebot

manipulateur, thèse de doctorat, Université de Haute Alsace, 1992. - M. Milgram, Reconnaissance des formes, méthodes numériques et connexionnistes,

Armand Colin, collection 2ai, 1993. - J.-P. Nadal, Réseaux de neurones : de la physique à la psychologie, Armand Colin,

collection 2ai, 1993. - B.D. Ripley, Pattern Recognition and Neural Networks, Cambridge University Press,

Cambridge, 1996. - Helge Ritter, Thomas Martinez et Klaus Schulten, Neural Computation and Sef-

Organizing Maps, Addison – Wesley, 1992. - Dony Robert D. and Haykin Simon, February 1995, Neural Network Approaches to

Image Compression, Proc. IEEE, vol 83, n° 2, pp. 288-303. - Yassin Ruichek, Stéréovision linéaire par réseau de neurones de Hopfield, thèse de

doctorat, Université des Sciences et Technologies de Lille, 1997. - V. N. Vapnik, The nature of statistical learning theory, Springer-Verlag, 1995. - G. Weisbuch, Dynamique des systèmes complexes : une introduction aux réseaux

d'automates, InterEditions/Editions du CNRS, 1989. - A. A. El Imrani, conception d’un algorithme génétique coévolutif application à

l’optimisation des histoires thermiques, Thèse de doctorat d’Etat, Faculté des Sciences Mohamed V, Rabat, 2000.

- A. Hammouch et D. Aboutajdine, Estimation d’une carte de disparité à l’aide d’algorithme génétique, ICISP, 2001.

- J. M. Renders, Algorithmes génétiques et réseaux de neurones, Hermès, 1995. - D.E.Golberg, Algorithmes génétiques, Addison Wesley, 1994.