Vous êtes sur la page 1sur 61

Automne 2009

——————————————————————————————————————————–
INFO6517
RÉSEAUX DE NEURONES
Éric Hervet
Université de Moncton
Faculté des sciences
Département d’informatique
Moncton, N.-B., CANADA
E1A 3E9
Table des matières
I. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I.1. Origines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I.2. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
I.3. Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
I.4. Modèle neurophysiologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
I.5. Modèles mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
I.6. Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
I.7. Mémoires associatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
I.8. Cartes auto-organisatrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
I.9. Réseaux à achitecture évolutive : ART . . . . . . . . . . . . . . . . . . . . . . . . 18
I.10. Réseaux multicouches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
I.11. Connectionnisme et applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.12. Application en RCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
II. Quelques rappels mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
II.1. Matrices et vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
II.2. Produits scalaires et vectoriels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
II.3. Dérivation (différentiation) matricielle et vectorielle . . . . . . . . . . . . . . . . 22
II.4. Matrice pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
II.5. Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
II.6. Interprétation et visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
II.7. Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
III. Neurones élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
III.1. Modèles linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
III.2. Modèles non linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
III.3. Fonctions d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
III.4. Propriétés du perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
III.5. Modèle linéaire de l’Adaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
III.6. Perceptrons multicouches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
IV. Application des perceptrons en reconnaissance de motifs . . . . . . . . . . . . . . . . . . 31
IV.1. RN “associeurs” de motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
IV.2. Lien avec la psychologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
IV.3. Réseaux de neurones linéaires et apprentissage . . . . . . . . . . . . . . . . . . . 32
V. Réseaux de neurones multicouches et apprentissage . . . . . . . . . . . . . . . . . . . . . 34
V.1. Architectures de RN multicouches . . . . . . . . . . . . . . . . . . . . . . . . . . 34
i
V.2. Règle Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
V.3. Règle Delta Généralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
VI. “FeedForward Neural Networks” - Extensions et notions avancées . . . . . . . . . . . . . 37
VI.1. RN pour la reconnaissance de motifs . . . . . . . . . . . . . . . . . . . . . . . . . 37
VII. Réseaux de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VII.1. Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VII.2. Équations d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VII.3. Utilisation en reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
VII.4. Exemple d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
VIII. Réseaux de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IX. Algorithmes génétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IX.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IX.2. Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IX.3. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
ii
INFO6517 - Réseaux de neurones I.. Introduction
I. Introduction
I.1. Origines
Le développement de logiciels s’appuie sur plusieurs approches, dont deux parmi les
plus souvent utilisées sont l’approche algorithmique et l’approche basée sur la con-
naissance.
L’approche algorithmique nécessite l’écriture de tout le processus à suivre pour
résoudre le problème. Les ordinateurs sont des machines complètement logiques (et
même binaires) donc déterministes. C’est un avantage lorsque tous les cas ont été
prévus à l’avance par l’informaticien(ne) (ex. : jeu d’échecs, logiciels embarqués,
etc.). Pour certains problèmes ce n’est pas toujours possible ... dans ce cas le com-
portement de l’ordinateur face à un cas non prévu risque fortement de n’être pas adapté.
L’approche basée sur la connaissance est celle de l’intelligence artificielle, avec pour
applications les plus connues les systèmes experts. Dans cette approche, la résolution
d’un problème est confiée à un ensemble de règles données par l’expert humain du
domaine. Toutes les règles doivent avoir été exprimées préalablement au traitement.
Les cas non prévus par l’expert ne seront pas correctement traités. L’introduction de
la logique floue ne change pas la nature des limitations d’utilisation du programme :
l’exécution reste déterministe.
En fait, l’approche basée sur la connaissance se limite à des domaines d’application
où la modélisation de la connaissance est possible, par exemple sous forme de règles.
Ces domaines sont souvent ceux des sciences dites exactes, comme l’électronique, la
mécanique, la physique, etc., par opposition aux sciences dites humaines comme la
médecine, la psychologie, la philosophie, etc., où la connaissance est plus empirique.
Ces deux approches ne sont donc pas suffisantes pour répondre à tous les problèmes
existants. Citons comme exemples la reconnaissance de formes (images ou signaux),
les diagnostics, la traduction automatique, la compréhension du langage, etc.
Pourtant, certains êtres vivants relativement simples sont capables de réaliser certaines de
ces opérations sans aucune difficulté. Par exemple, le suivi par les yeux d’une mouche en
vol, ou encore le déplacement au sonar de la chauve-souris.
Éric Hervet - 1/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Une troisième approche au traitement automatique de l’information consiste à s’inspirer
du traitement de l’information effectué par le cerveau. L’hypothèse principale, à la base
des réseaux de neurones artificiels, est que le comportement “intelligent” est engendré
par un ensemble de mécanismes mentaux.
L’organisation en neurones permet d’illustrer les notions d’apprentissage et de mé-
morisation (modification des connexions). Nous verrons comment passer de modèles
de réseaux neuronaux biologiques à des modèles mathématiques (réseaux neuronaux
artificiels), notamment des modèles de neurones, de synapses et quelques topologies
(architectures) d’organisation en réseaux.
Nous verrons le fonctionnement de réseaux de neurones artificiels et leurs propriétés
d’apprentissage à partir d’exemples, de résistance au bruit, d’adaptabilité et de tolérance
aux pannes. Le Perceptron est historiquement le premier modèle de neurone artificiel.
Également les cartes auto-organisatrices sont intéressantes et plus vraisemblables du
point de vue biologique.
Nous verrons aussi les concepts d’apprentissage supervisé et non supervisé ainsi que
des modèles plus complexes comme les mémoires associatives, les réseaux à architec-
ture évolutive, et une version plus complexe et surtout plus efficace du Perceptron : le
Perceptron multicouche.
I.2. Définition
« Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs
(neurones) élémentaires fonctionnant en parallèle. Chaque processeur élémentaire cal-
cule une sortie unique sur la base des informations qu’il reçoit. Toute structure hiérar-
chique de réseaux est évidemment un réseau. »
I.3. Historique
W. James (1890, psychologue américain) : Introduit le concept de mémoire associative
et propose une loi de fonctionnement pour l’apprentissage des réseaux de neurones
connue plus tard sous le nom de “loi de Hebb”.
J. Mc Culloch et W. Pitts (1943) : Laissent leurs noms à une modélisation du neurone
biologique (un neurone au comportement binaire). Ils sont les premiers à montrer que
des réseaux de neurones simples peuvent réaliser des fonctions logiques, arithmétiques
et symboliques.
Éric Hervet - 2/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
D. Hebb (1949, physiologiste américain) : Explique le conditionnement chez l’animal
par les propriétés des neurones eux-mêmes (ex. : le fameux comportement pavlovien).Il
propose aussi une loi de modification des propriétés des connexions entre neurones.
F. Rosenblatt (1957) : Développe le modèle du Perceptron. Il construit le premier
neuro-ordinateur basé sur ce modèle et l’applique au domaine de la reconnaissance des
formes (prouesse technologique pour l’époque).
B. Widrow (1960, automaticien) : Développe le modèle Adaline (Adaptive Linear El-
ement), proche du modèle du Perceptron mais dont la loi d’apprentissage est différente.
Celle-ci est à l’origine de l’algorithme de rétro-propagation du gradient très utilisé
pour l’apprentissage des Perceptrons multicouches.
M. Minsky et S. Papert (1969) : Publient un livre qui met en évidence les limitations
du Perceptron, notamment l’impossibilité de résoudre des problèmes non linéaires.
Après leur ouvrage, les financements des recherches sur les réseaux de neurones ar-
tificiels s’arrêtent et les chercheurs se tournent vers l’intelligence artificielle et les sys-
tèmes à base de règles.
1967-1982 : Période creuse pour les réseaux de neurones artificiels. Les recherches
s’orientent sur des domaines connexes tels que le traitement adaptatif du signal, la neu-
robiologie, la reconnaissance de formes, etc.
J. J. Hopfield (1982, physicien) : Profite d’une certaine désillusion de l’intelligence ar-
tificielle (heurtée à de sérieuses limitations) et présente une théorie du fonctionnement
et des possibilités des réseaux de neurones. Il explique notamment dans un ouvrage
la structure et loi d’apprentissage d’un réseau de neurones correspondant à un résultat
escompté. Ce modèle est encore très utilisé aujourd’hui pour des problèmes d’optimi-
sation.
1983 : La machine de Boltzmann est le premier modèle connu capable de traiter de
manière satisfaisante les limitations recensées du Perceptron. Mais l’utilisation pratique
s’avère difficile, les temps de convergence étant considérables.
1985 : L’algorithme de rétro-propagation de gradient est développé. Il s’agit d’un
algorithme d’apprentissage adapté aux réseaux de neurones multicouches.
Éric Hervet - 3/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Actuellement : Les réseaux multicouches et la rétro-propagation du gradient restent
les plus étudiés et les plus productifs au niveau des applications.
I.4. Modèle neurophysiologique
FIG. 1 – Un neurone et ses dendrites.
Le cerveau humain est composé d’environ 10
12
neurones (mille milliards), avec 1000
à 10000 synapses (connexions) par neurone !
Le neurone est une cellule composée d’un corps cellulaire et d’un noyau. Le corps
cellulaire se ramifie pour former des dendrites. C’est grâce aux dendrites que l’infor-
mation est acheminée de l’extérieur vers le corps du neurone. L’information traitée par
le neurone chemine le long de l’axone (unique) pour être transmise aux autres neurones.
La transmission entre les neurones n’est pas directe. Il existe un espace intercellulaire
de quelques dizaines d’Angström (10
−9
m) entre l’axone du neurone afférent et les den-
drites du neurone déférent.
La jonction entre deux neurones est appelée synapse. Cet espace vide ne permet pas
au signal électrique de se propager. Il existe donc des neuro-médiateurs (substances
chimiques) qui se fixent sur des récepteurs de l’autre côté de l’espace inter-synaptique.
Lorsque suffisamment de molécules sont fixées, un signal électrique est émis. C’est
ainsi que le signal se transmet.
Éric Hervet - 4/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Selon le type de synapse, excitatrice ou inhibitrice, l’activité d’un neurone peut ren-
forcer ou diminuer l’activité de ses voisins.
I.5. Modèles mathématiques
FIG. 2 – Mise en correspondance neurone biologique / neurone artificiel.
Neurone artificiel.
Un neurone artificiel est un processeur élémentaire. Il reçoit un nombre variable d’en-
trées en provenance de neurones amonts. À chacune des entrées est associé un poids
w (weight) représentatif de la force de la connexion. Chaque processeur élémentaire
comprend une sortie unique, qui se ramifie ensuite pour alimenter un nombre variable
de neurones avals.
FIG. 3 – Notations utilisées.
Éric Hervet - 5/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Comportement.
On distingue deux phases. La première est généralement la somme pondérée des en-
trées. À partir de cette valeur, une fonction de transfert calcule la valeur de l’état du
neurone. C’est cette valeur qui est transmise aux neurones avals. Il existe de nombreuses
formes possibles pour la fonction de transfert. La plupart sont des fonctions continues
dans l’intervalle [0, 1] ou [−1, 1].
Les équations décrivant le comportement des neurones artificiels n’introduisent pas
la notion de temps. C’est le cas pour la plupart des modèles actuels de réseaux de
neurones.
FIG. 4 – Différentes fonctions de transfert : à seuil, linéaire par morceaux et sigmoïde.
Topologies (architectures) multicouches.
Réseau multicouche
Les neurones sont arrangés par couche. Il n’y a pas de connexion entre neurones
d’une même couche et les connexions ne se font qu’avec les neurones des couches
avales. Généralement chaque neurone d’une couche est connecté à tous les neurones
de la couche suivante et celle-ci seulement. Ceci nous permet d’introduire la notion de
sens de parcours de l’information et donc de définir les concepts de neurone d’entrée,
neurone caché et neurone de sortie.
Réseau à connexions locales
Il s’agit d’un réseau multicouche où chaque neurone a des relations avec un nombre
réduit et localisé de neurones de la couche avale.
Réseau à connexions récurrentes
Les connexions récurrentes ramènent l’information en arrière par rapport au sens de
propagation défini dans un réseau multicouche. Ces connexions sont le plus souvent
locales.
Éric Hervet - 6/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
FIG. 5 – Réseau multicouche.
FIG. 6 – Réseau à connexions locales.
FIG. 7 – Réseau à connexions récurrentes.
Réseau à connexions complètes
Chaque neurone est connecté à tous les neurones du réseau.
Éric Hervet - 7/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
FIG. 8 – Réseau à connexions complètes.
Fonctionnement.
Perceptron
Commençons par montrer le fonctionnement d’un seul neurone en phase d’utilisation
(l’apprentissage ayant été réalisé au préalable, les poids sont fixes) : un Perceptron
ne peut traiter que des problèmes dits linéairement séparables.
FIG. 9 – Structure et comportement d’un Perceptron.
Réseau multicouches en association
Le comportement collectif d’un ensemble de neurones permet de simuler des fonc-
tions d’ordre supérieur par rapport à la fonction élémentaire du neurone.
La figure 10 montre le comportement d’un réseau de neurones multicouche en phase
de reconnaissance. On suppose des images binaires de dimension 361 (19 × 19).
Éric Hervet - 8/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Chaque neurone de la couche d’entrée a son niveau d’activation à 0 ou 1 selon la
valeur du pixel correspondant.
Chaque neurone de la couche cachée est un Perceptron à 361 entrées. Chaque neu-
rone caché calcule la somme pondérée de ses entrées puis seuille la valeur obtenue.
Tous les calculs sont effectués en parallèle et indépendamment pour tous les neurones
(ici 25) de la couche cachée. Lorsque le vecteur d’activation de la couche cachée est
connu, on répète le même processus pour les 361 neurones de la couche de sortie. En
tout il y a 2 ∗ (361 ∗ 25) = 18050 connexions dans le réseau.
Il reste ensuite à interpréter les 361 valeurs d’activation de la couche de sortie. On
réalise l’opération inverse du codage initial : on associe un pixel noir à un neurone de
sortie ayant une valeur d’activation égale à 1 et un pixel blanc dans le cas contraire.
Remarque : les neurones de la couche cachée n’ont pas une signification physique
(contrairement à ceux des couches d’entrée et de sortie).
FIG. 10 – Phase de reconnaissance d’un réseau de neurones multicouche.
Éric Hervet - 9/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Lorsque les neurones ont une fonction de transfert continue, on peut étendre l’appli-
cation à des images en niveaux de gris et associer arbitrairement à chaque niveau de
gris une valeur d’activation du neurone correspondant.
Réseau à connexions complètes
Chaque vecteur d’activation représente la réponse du réseau à une date particulière.
D’un instant à l’autre, chaque neurone recalcule indépendamment et en parallèle son
état. La figure 11 montre l’évolution temporelle d’un réseau à connexions complètes
sur une période de trois cycles. Chaque neurone est connecté à tous les autres, donc
chaque neurone reçoit 361 valeurs et envoie sa sortie à 361 neurones. La matrice des
poids contient donc 361 ∗ 361 = 130321 valeurs.
FIG. 11 – Évolution des vecteurs d’activation d’un réseau à connexions complètes sur une période de trois
cycles.
Conclusion.
La disparition d’un ou plusieurs neurones ou connexions ne provoque pas une rupture
brutale du traitement. La dégradation du comportement est fonction de la quantité d’élé-
ments détruits. Cette propriété est désignée sous le terme de résistance aux pannes.
Éric Hervet - 10/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
I.6. Apprentissage
Définition.
« L’apprentissage est une phase du développement d’un réseau de neurones durant
laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement
désiré. L’apprentissage neuronal fait appel à des exemples de comportement. »
Dans la plupart des algorithmes d’apprentissage, les variables modifiées lors de l’ap-
prentissage sont les poids des connexions. Le plus souvent il est impossible de décider
a priori des valeurs des poids des connexions d’un réseau de neurones pour une appli-
cation donnée. Une fois l’apprentissage fini, les poids sont fixés : on peut alors passer à
la phase d’utilisation. Il existe deux grandes classes d’apprentissage :
Apprentissage supervisé : on présente des entrées au réseau de neurones puis on
compare les sorties obtenues aux sorties désirées (base d’apprentissage de couples
(entrées, sortie)).
Apprentissage non supervisé (réseaux de Hopfield, Kohonen, etc.) : on présente des
entrées au réseau et on le laisse évoluer jusqu’à ce qu’il se stabilise.
Loi de Hebb (apprentissage supervisé).
« Si deux cellules sont activées en même temps, alors la force de la connection
augmente. »
La loi de Hebb peut être modélisée par les équations suivantes :
w
ij
(t + 1) = w
ij
(t) + ∂w
ij
(t) (1)
∂w
ij
(t) = x
i
x
j
(2)
où ∂w
ij
(t) représente la coactivité.
Les poids sont donc modifiés à chaque itération pour adapter la réponse obtenue à la
réponse désirée (seulement lorsqu’il y a erreur).
Algorithme :
1. Initialisation des poids w
i
et du seuil S à des valeurs (petites) choisies aléatoire-
ment.
2. Présentation d’une entrée E
1
= (e
1
, . . . , e
n
) de la base d’apprentissage.
Éric Hervet - 11/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
3. Calcul de la sortie x obtenue pour l’entrée E
1
:
a =
n
¸
i=1
w
i
e
i
−S
puis x = signe(a) (si a > 0 alors x = +1 sinon (a ≤ 0) x = −1).
4. Si la sortie x est différente de la sortie désirée d
1
, alors modification des poids :
w

i
= w
i
+µe
i
d
1
(µ constante).
5. Tant que tous les couples de la base d’apprentissage ne sont pas traités correcte-
ment, retour à l’étape 2.
Exemples d’application.
Règle d’apprentissage du perceptron (apprentissage supervisé).
L’algorithme est semblable à la loi de Hebb mais tient compte de l’erreur observée
en sortie.
Algorithme :
1. Initialisation des poids w
i
et du seuil S à des valeurs (petites) choisies aléatoire-
ment.
2. Présentation d’une entrée E
1
= (e
1
, . . . , e
n
) de la base d’apprentissage.
3. Calcul de la sortie x obtenue pour l’entrée E
1
: a =
n
¸
i=1
w
i
e
i
−S
puis x = signe(a) (si a > 0 alors x = +1 sinon (a ≤ 0) x = −1).
4. Si la sortie x est différente de la sortie désirée d
1
, alors modification des poids :
w

i
= w
i
+µe
i
(d
1
−x) (µ constante).
d
1
−x représente une estimation de l’erreur.
5. Tant que tous les couples de la base d’apprentissage ne sont pas traités correcte-
ment, retour à l’étape 2.
Exemple d’application.
Éric Hervet - 12/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
I.7. Mémoires associatives
Les mémoires associatives ont été proposées par plusieurs auteurs dès 1977 dont T. Ko-
honen. Le terme “mémoire” fait référence à la fonction de stockage de l’information dans
un réseau tandis que “associative” concerne le mode d’adressage (mémoire adressable
par le contenu). Pour accéder à une information mémorisée au préalable, il faut fournir
une autre information. Dans les 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’utilisateur fournit une information partielle que le système
complète.
Structure neuronale : tous les perceptrons sont alimentés par les mêmes entrées.
n neurones sur la couche d’entrée.
p neurones sur la couche de sortie.
Donc np poids entre la couche d’entrée et la couche de sortie.
FIG. 12 – Structure d’une mémoire associative.
Fonctionnement.
À chaque vecteur E
i
de dimension n (E
i
1
, E
i
2
, . . . , E
i
n
) est associé un vecteur de
sortie S
i
de dimension p (S
i
1
, S
i
2
, . . . , S
i
p
). La relation entre E
i
et S
i
est linéaire :
S
i
= W.E
i
où W est une matrice de poids de dimensions n ×p.
On a donc N équations matricielles de ce type si N est le nombre d’exemples dans
la base d’apprentissage (i = 1, . . . , N).
Éric Hervet - 13/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Apprentissage.
L’apprentissage est de type supervisé. Les poids sont modifiés de la même manière
que pour la loi de Hebb, par itérations sur les N exemples de la base d’apprentissage.
Une entrée E
k
est appliquée aux neurones d’entrée et en même temps on force les
valeurs des neurones de sortie à S
k
. Les poids de chaque connexion sont alors modi-
fiés selon la coactivité du neurone afférent (entrée) et du neurone efférent (sortie).
À la fin de l’apprentissage, si la matrice des poids W est initialement nulle, alors :
W =
N
¸
k=1
S
k
.E
T
k
où E
T
k
est le transposé du vecteur E
k
.
Applications.
Reconnaissance de caractères.
Ex. : n = 9 ×7 = 63 pixels en entrée pour représenter N
c
= 3, 4, . . . caractères.
p = N
c
sorties (chaque sortie valant 0 ou 1) pour déterminer quel caractère parmi les
N
c
a été reconnu.
Intéressant : tester la tolérance aux erreurs en proposant, à l’issue de l’apprentissage,
des caractères “abîmés”.
I.8. Cartes auto-organisatrices
Les cartes auto-organisatrices font partie de la classe des réseaux à compétition : générale-
ment un seul neurone de sortie est activé pour une entrée donnée. La compétition entre
neurones est réalisée grâce à des connections latérales inhibitrices.
Les applications utilisant les cartes auto-organisatrices sont nombreuses : diagnostic de
pannes, compression d’images, robotique, etc.
Structure.
La figure 13 montre un réseau organisé en une couche à deux dimensions. Chaque
neurone N
k
est connecté à n entrées et chaque connexion a un poids w
i
. Il existe aussi
des connections latérales de poids fixes, excitatrices dans un proche voisinage.
Fonctionnement.
Lorsqu’une entrée est présentée au réseau, le neurone le plus “proche” (minimisation
d’une “distance”) de l’entrée est activé. Cela permet de faire de la classification ou de
la reconnaissance de formes.
Éric Hervet - 14/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
FIG. 13 – Carte auto-organisatrice en deux dimensions.
Apprentissage.
La loi de modification des poids de connections (poids synaptiques) est dérivée de celle
de Hebb.
L’algorithme est le suivant dans le cas de vecteurs d’entrée à deux composantes :
1. Initialisation des poids à des valeurs aléatoires.
2. Présentation d’une entrée E
1
= (e
1
, e
2
).
3. Calcul de la distance de chaque neurone N
k
par rapport à E
1
:
Par ex. d
k
= |w
k
1
−e
1
| +|w
k
2
−e
2
|.
4. Sélection du neurone le plus proche i : d
opt
= Min(d
k
).
5. Modification des poids pour le neurone i et ses quatre plus proches voisins j :
w

i
1
= w
i
1
+µ(e
1
−w
i
1
)
w

i
2
= w
i
2
+µ(e
2
−w
i
2
)
w

j
1
= w
j
1
+ β(e
1
−w
j
1
)
w

j
2
= w
j
2
+ β(e
2
−w
j
2
)
(µ et β sont des paramètres constants respectivement pour le neurone i et ses
voisins j).
6. Tant que les performances sont insuffisantes, retour à l’étape 2 et sélection de l’ex-
emple suivant dans la base d’apprentissage.
Éric Hervet - 15/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
Les cartes auto-organisatrices ont une justification biologique (existence de cartes soma-
totopiques dans les cortex moteur et sensoriel, où chaque partie du corps est représentée
selon sa sensibilité sensorielle ou sa précision motrice).
Applications.
Robotique.
Objectif : mettre en correspondance l’espace cartésien de l’opérateur humain (espace
3D) avec l’espace du robot (coordonnées de ses axes en valeurs angulaires) possédant
un bras articulé selon 3 angles. La partie sensorielle du système est réalisée par une
carte auto-organisatrice n×n (généralement plusieurs centaines) avec 6 entrées pour
chaque neurone (3 coordonnées cartésiennes et 3 coordonnées angulaires). La partie
motrice est réalisée grâce à une couche de 3 Perceptrons (recevant une entrée de
chaque neurone de la carte) dont les sorties pilotent les moteurs du robot (Fig. 14).
FIG. 14 – Architecture de Neurobot.
Compression d’images.
Objectif : construire un réseau de neurones mémorisant les blocs les plus fréquents
de l’image (sorte de dictionnaire). Il existe deux types de compression : sans perte
(lossless, réversible) ou avec perte (lossy, irréversible). Les performances de com-
Éric Hervet - 16/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
pression sont généralement mesurées par MSE (Mean Square Error) qui représente
la différence entre l’image originale et l’image compressée :
¸
erreurs
2
ou bien
¸
erreurs
2
/pixels.
La quantification vectorielle consiste à découper l’image en blocs de pixels. Chaque
pixel peut être codé par exemple par les composantes RVB (rouge,vert,bleu). La
compression utilise le fait qu’à l’intérieur d’une image, de nombreux blocs sont
identiques ou peu différents. La quantification vectorielle met en correspondance
un ensemble de vecteurs d’entrée avec un ensemble de vecteurs de sortie. Tous les
échantillons d’une région (blocs similaires) sont représentés par un seul code. Ce
code est un index du dictionnaire qui est donc composé des blocs les plus fréquents
de l’image, qui forment les “mots” du dictionnaire.
Une carte auto-organisatrice peut-être utilisée pour réaliser la quantification vecto-
rielle (Fig. 15). Le nombre de mots du dictionnaire est égal à la taille du réseau
(nombre de neurones). Le dictionnaire est composé des blocs les plus représentat-
ifs de l’image (1). Ensuite, la carte sélectionne pour un bloc de l’image qui lui est
présenté le numéro du mot du dictionnaire le plus proche (2). Puis ce numéro de
vecteurs est transmis sur un canal (3). Enfin, l’image est décodée (reconstituée) (4).
Éric Hervet - 17/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
FIG. 15 – Quantification vectorielle par carte auto-organisatrice.
I.9. Réseaux à achitecture évolutive : ART (Adaptive Resonance Theory)
Modèles développés en 1987 par Carpenter et Grossberg.
Phase d’apprentissage et phase d’utilisation sont réalisées simultanément. Le réseau
s’adapte à chaque nouvelle entrée en construisant de nouvelles classes (ajout de neu-
rones) et en essayant de conserver les informations déjà mémorisées.
Il existe plusieurs versions de réseaux : ART1, ART2, ART3.
ART1 est un réseau à entrées binaires.
Éric Hervet - 18/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
I.10. Réseaux multicouches
Depuis 1985, les réseaux multicouches sont les modèles les plus utilisés.
Plusieurs couches de neurones permettent de réaliser des associations non linéaires
entre l’entrée et la sortie (ex. : ou exclusif XOR).
Pour la couche de sortie, on peut utiliser l’algorithme d’apprentissage du Perceptron.
Mais pour les couches internes ?
Solution : la rétropropagation du gradient (gradient backpropagation). Le principe
général consiste à minimiser une fonction dépendante de l’erreur. Intuitivement, cela
revient à rechercher un coût minimal sur une surface de coût (Fig. 16). À chaque config-
uration des poids correspond un coût. La minimisation du gradient permet de parcourir
la surface orthogonalement aux courbes de niveau avec un pas fixé. La difficulté princi-
pale de l’apprentissage réside dans l’obtention de minima locaux au lieu du minimum
global.
FIG. 16 – Recherche d’un coût minimal dans l’espace de configuration des poids d’un réseau de neurones
multicouches.
Algorithme d’apprentissage supervisé dans le cas de neurones continus, c’est-à-dire
possédant une fonction de transfert s = f(e) continue et différentiable. Généralement
on considère la sigmoïde :
f(x) =
1
1 + e
−λx
(3)
Éric Hervet - 19/58 - Automne 2009
INFO6517 - Réseaux de neurones I.. Introduction
où λ représente la pente de la sigmoïde.
1. Initialisation des poids à des valeurs aléatoires faibles.
2. Sélection d’un exemple (e, d)
1
de la base d’apprentissage et présentation de l’en-
trée e aux neurones de la couche d’entrée.
3. Calcul par propagation de la sortie obtenue o.
4. S’il y a erreur en sortie, alors pour tous les neurones i :
Si i est un neurone de sortie, alors y
i
= 2.f

(a
i
).(d
i
−x
i
).
Si i est un neurone caché ou d’entrée, alors y
i
= 2.f

(a
i
).
¸
k
(w
k,i
.y
k
) où k
désigne l’ensemble des neurones compris entre la couche courante et la couche
de sortie.
5. Application de la rétropropagation du gradient :
w

i,j
= w
i,j
+ µ.y
i
.x
j
(µ constante).
6. Tant que l’erreur est trop élevée, retour à l’étape 2 (exemple suivant).
I.11. Connectionnisme et applications
I.12. Application en RCM (Reconnaissance de Caractères Manuscrits)
Éric Hervet - 20/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
II. Quelques rappels mathématiques
II.1. Matrices et vecteurs
Notations.
Matrice A de dimensions m×n.
A = (a
ij
)
i=1,...,m, j=1,...,n
ou bien
A = ( a
1
a
2
. . . a
n
)
Linéarité.
y = A.x
ou bien
y =
n
¸
k=1
x
k
. a
k
avec A : m × n, x : n × 1 et y : m × 1, représente une transformation linéaire de
l’espace R
n
vers l’espace R
m
Rang d’une matrice.
rang(A) = nombre de colonnes linéairement indépendantes de A.
Si A est carrée (n × n) de rang n, alors A est inversible et tout vecteur de R
n
peut
s’écrire comme une combinaison linéaire des colonnes de A (qui forment une base de
R
n
).
II.2. Produits scalaires et vectoriels
Produit scalaire de deux vecteurs de même dimension n.
< x, y >= x
T
.y = y
T
.x =
n
¸
i=1
x
i
.y
i
Généralisation du produit scalaire :
< x, R.y >= x
T
.R.y = y
T
.R.x =
n
¸
i=1
n
¸
j=1
x
i
.R
ij
.y
i
Éric Hervet - 21/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
Produit vectoriel de deux vecteurs pouvant être de dimensions différentes.
> x, y <= x.y
T
= P
avec P
ij
= x
i
x
j
, i = 1, . . . , n, j = 1, . . . , m.
Mesures de similarité (“distances”).
Norme euclidienne d’un vecteur : x =

< x, x > =

n
¸
i=1
x
2
i
.
Norme non euclidienne (pondérée) : x
2
R
=< x, R.x >.
Application des normes : mesurer des “ressemblances” entre vecteurs. (x −y).
Propriété : le produit scalaire est linéaire :
< α x
1
+β x
2
, y >= α < x
1
, y > +β < x
2
, y >.
Si < x, y >= 0, on dit que x et y sont orthogonaux.
Norme-p : x
p
= (|x
1
|
p
+ . . . +|x
n
|
p
)
1
p
.
p = 2 : on retrouve la norme euclidienne.
p = ∞: norme infinie : x

= max(|x
i
|), i = 1, . . . , n.
Propriétés :
x > 0 si x = 0.
αx = |α|.x x +y ≤ x +y.
Norme matricielle.
Ex. : A = max

A.x
x

, x = 0.
Propriété : Ax ≤ A.x.
II.3. Dérivation (différentiation) matricielle et vectorielle
Fonction scalaire de n variables.
Soit f(x) une fonction scalaire de n variables x
i
.
df(x)
dx
=

¸
¸
∂f(x)
∂x
1
.
.
.
∂f(x)
∂x
n

= ∇
x
f = grad
x
f

x
f s’appelle le gradient de la fonction f et représente la direction de la plus grande
pente de f.
Éric Hervet - 22/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
Fonction vectorielle de n variables, à valeur dans R
m
.
d

f(x)
dx
=

¸
¸
∂f
1
∂x
1
. . .
∂f
1
∂x
n
.
.
. . . .
.
.
.
∂f
m
∂x
1
. . .
∂f
m
∂x
n

= J
x
(

f)
J
x
(

f) s’appelle le Jacobien de

f.
Quelques propriétés :
d
dx
(A.x) = A
d
dx
(y
T
.A.x) = A
T
.y
d
dx
(x
T
.A.x) = (A+A
T
).x
Dérivation en chaîne.
Si u = Φ(x, y) et v = Ψ(x, y) sont des fonctions différentiables par rapport à x et y,
si f(u, v) est une fonction différentiable par rapport à u et v, alors f (Φ(x, y), Ψ(x, y))
est une fonction différentiable par rapport à x et y et :

∂f
∂x
=
∂f
∂Φ
.
∂Φ
∂x
+
∂f
∂Ψ
.
∂Ψ
∂x
∂f
∂y
=
∂f
∂Φ
.
∂Φ
∂y
+
∂f
∂Ψ
.
∂Ψ
∂y
Utilisation du gradient.
f(x + ∆x) ≃ f(x) + (∇
x
f)
T
.∆x
II.4. Matrice pseudo-inverse
Problème posé.
A.x = y
avec A : n ×m, x : m×1 et y : n ×1
Questions :
Si A et y sont connus, peut-on trouver au moins un x satisfaisant l’équation ?
Étant donnés plusieurs couples (x, y), existe-t-il une matrice qui satisfait autant
d’équations ?
Éric Hervet - 23/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
Réponses :
Si A est (carrée) inversible : trivial.
Si Aest carrée et de rang <à n ou si An’est pas carrée, plusieurs cas sont possibles :
on utilise la matrice pseudo-inverse de A, notée A

.
Si A est m×n, A

est n ×m.
Propriétés :
A.A

.A = A
A

.A.A

= A

(A.A

)
T
= A.A

Si A est de rang maximal, A

= (A
T
.A)
−1
.A
T
.
Système sur-déterminé.
y = A.x est sur-déterminé si m > n (“plus d’équations que d’inconnues”).
Généralement on ne peut pas satisfaire l’équation pour tout y.
Dans ce cas on définit une erreur vectorielle : e(x) = y − A.x puis on applique un
algorithme pour minimiser e en fonction de x.
Souvent on définit J = e
T
.e (scalaire) et on cherche son minimum en résolvant l’équa-
tion
dJ
dx
= 0.
Interprétation géométrique.
Projection d’espace sur un autre.
Système indéterminé.
Plusieurs solutions (généralement une infinité) x existent. Dans ce cas on peut ajouter
d’autres contraintes, par exemple le x ayant la plus petite norme.
II.5. Valeurs et vecteurs propres
Définition.
Soit A une matrice carrée n ×n.
Si pour certains

ˆ x non nuls on a A.

ˆ x = λ.

ˆ x (i.e. A.

ˆ x a la même direction que

ˆ x mais
peut avoir une longueur et/ou un sens différents), on dit que λ est une valeur propre de
A et le

ˆ x correspondant un vecteur propre associé à λ.
A.

ˆ x = λ.

ˆ x peut s’écrire aussi (A−λ.I) .

ˆ x =

0 (I matrice identité).
Éric Hervet - 24/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
Polynôme caractéristique d’une matrice, valeurs et vecteurs propres.
On appelle polynôme caractéristique d’une matrice A n × n le déterminant P(λ) =
|A−λ.I| = λ
n
+ a
1

n−1
+ . . . +a
n−1
λ
1
+ a
n
.
P(λ) = 0 a n solutions (pas forcément uniques et toutes réelles) qu’on appelle valeurs
propres de A et les vecteurs correspondants sont appelés vecteurs propres.
Matrice modale.
Si e
1
, . . . , e
n
sont les vecteurs propres de A, on appelle matrice modale de A la matrice
M = ( e
1
. . . e
n
).
Or A. e
i
= λ
i
. e
i
∀i = 1, . . . , n donc :
A.M = M.Λ où Λ =

¸
¸
¸
¸
λ
1
0 . . . 0
0 λ
2
. . .
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . . . . λ
n

.
Si chaque λ
i
est unique, les e
i
sont linéairement indépendants et M est inversible.
A = M.Λ.M
−1
ou Λ = M
−1
.A.M (diagonalisation de A).
Propriétés : si A est (réelle) symétrique, alors :
A n’a que des valeurs propres réelles et une matrice Λ diagonale.
Les vecteurs propres forment un ensemble de vecteurs orthogonaux ; si on les nor-
malise, alors M
−1
= M
T
.
II.6. Interprétation et visualisation
Régions de décision (classification).
Hyperplans
L’équation d’un hyperplan dans un espace R
n
est
< w, x >= w
T
.x = k où w est le vecteur normal à l’hyperplan et k une constante.
Région de décision
Pour un x quelconque de R
n
, on peut décider de quel côté d’un hyperplan il se trouve,
éventuellement dans l’hyperplan.
w
T
.x −k

> 0 si x ∈ R
p
= 0 si x ∈ H
< 0 si x ∈ R
n
Éric Hervet - 25/58 - Automne 2009
INFO6517 - Réseaux de neurones II.. Quelques rappels mathématiques
Formes quadratiques
Q =< x, R.x >= x
T
.R.x =
n
¸
i=1
n
¸
j=1
r
ij
.x
i
.x
j
est un polynôme avec des termes en x
2
i
,
x
i
.x
j
et x
i
et définit une forme quadratique.
Ex. : une hypersphère de rayon R est définie par l’ensemble des x tels que :
< x, x >≤ R.
Surfaces quadratiques
n
¸
i=1
w
ii
.x
2
i
+
n−1
¸
i=1
n
¸
j=i+1
w
ij
.x
i
.x
j
+
n
¸
i=1
w
i
.x
i
+ w
0
= 0 (4)
En dimension 2 :
w
11
.x
2
1
+ w
22
x
2
2
+ w
12
.x
1
.x
2
+w
1
.x
1
+ w
2
.x
2
+ w
0
= 0
Cas particuliers :
Si w
11
= w
22
= w
12
= 0 : droite.
Si w
11
= w
22
= 1 et w
12
= w
1
= w
2
= 0 : cercle.
Si w
11
= w
12
= w
2
= 0 : parabole.
Si w
11
= 0, w
22
= 0, w
11
= 0 et w
12
= w
1
= w
2
= 0 : ellipse.
Les
(n+1)(n+2)
2
coefficients de l’équation (4) peuvent s’exprimer sous forme ma-
tricielle et vectorielle :
Matrice W = ( ¯ w
ij
)
i=1,...,n, j=1,...,n
avec ¯ w
ij
=

w
ii
si i = j
1
2
w
ij
si i = j
et vecteur w =

¸
¸
w
1
.
.
.
w
n

.
L’équation (4) peut alors se réécrire :
x
T
.W.x + w
T
.x + w
0
= 0
Si W est définie positive : surface hyperellipsoïdale dont les axes ont mêmes di-
rections que les vecteurs propres de W.
Si W = k.I, k > 0 : surface hypersphérique.
Si W est semi-définie positive : cylindre hyperellipsoïdal.
Sinon : hyperhyperboloïde !
Éric Hervet - 26/58 - Automne 2009
INFO6517 - Réseaux de neurones III.. Neurones élémentaires
Rappels :
Si x
T
.W.x > 0 ∀x = 0, W est dite définie positive.
Si x
T
.W.x ≥ 0 ∀x = 0, W est dite semi-définie positive.
II.7. Optimisation
Algorithme de plus grande pente du gradient.
On essaye d’atteindre un minimum (ou un maximum) de f en calculant par itération la
valeur du gradient de f (∇
x
f) et en ajustant x jusqu’à convergence.
1. Partir d’une solution initiale x
0
.
2. Calculer ∇
x
f en x
0
i.e.
df(x
0
)
dx
.
3. Ajuster x
0
pour obtenir x
1
en prenant la direction opposée au gradient :
x
1
= x
0
−K.
¸
df(x
0
)
dx

4. Retourner en 2. tant que x
n+1
−x
n
n’est pas assez “petit”.
Application : résolution d’un système linéaire A.x = y sur-déterminé.
On définit e = A.x −y,
puis E = e
2
=< e, e >= e
T
.e
. . . E(x) = x
T
.A
T
.A.x −x
T
.A
T
.y −y
T
.A.x +y
T
.y,
puis ∇
x
E(x) = . . . = 2.A
T
.e,
puis avec l’agorithme précédent on calcule un

ˆ x optimal pour l’équation A.x = y par
itérations en utilisant la formule :

ˆ x
n+1
=

ˆ x
n
−µ(n).∇
x
E(

ˆ x
n
).
III. Neurones élémentaires
III.1. Modèles linéaires
Plusieurs entrées

i(i
1
, i
2
, . . . , i
n
) (chacune pondérée par w
k
), une seule sortie net qui est
la somme pondérée des entrées :
net(

i) =
n
¸
k=1
w
k
i
k
= < w,

i >
Éric Hervet - 27/58 - Automne 2009
INFO6517 - Réseaux de neurones III.. Neurones élémentaires
Cas particulier : le Perceptron (entrées et sorties binaires).
Généralisation
net(

i) = w
T
.

i + w
0
relation linéaire.
net(

i) réalise une classification binaire par rapport à l’hyperplan d’équation :
w
T
.x + w
0
= 0.
III.2. Modèles non linéaires
Exemple : le modèle MP (Mc Culloch & Pitts, 1943).
S : seuil.
E : somme des entrées excitatrices (poids > 0).
I : somme des entrées excitatrices (poids < 0).
La sortie (binaire) d’un neurone MP est donnée selon la table suivante :
E ≤ T I = 0 1
E ≤ T I > 0 0
E < T I = 0 0
E < T I > 0 0
III.3. Fonctions d’activation
Exemples de sorties (outputs) :
Seuillage.
o =

0 si net > S
1 si net ≥ S
Fonction sigmoïde.
o(net) =
1
1 +e
−net
Sigmoïde lente.
o(net) =
net
1 +|net|
. . .
Éric Hervet - 28/58 - Automne 2009
INFO6517 - Réseaux de neurones III.. Neurones élémentaires
III.4. Propriétés du perceptron
Propriété de séparabilité linéaire (en 2 classes par un hyperplan).
Question : comment calculer l’hyperplan de séparation (caractérisé par les poids du
perceptron) pour un problème donné ?
Problème de programmation linéaire . . .
En pratique, on essaye de se ramener à la résolution d’un système du type Ax =

b :
Base d’apprentissage H =

i
k
¸
k=1,...,n
partitionnable en deux classes H
1
et H
2
.
Objectif : déterminer un hyperplan caractérisé par w
12
et w
0
tels que :
w
12
T
.

i
k
−w
0
> 0 si

i
k
∈ H
1
(5)
< 0 si

i
k
∈ H
2
(6)
(7)
H
12
est donc caractérisé par d + 1 paramètres : les d composantes de w
12
et w
0
.
Soit :
w =

w
12
w
0

ˆ
i
k
=

i
k
−1

Alors l’équation 5 peut se réécrire :

ˆ
i
T
k
. w > 0 si

i
k
∈ H
1
< 0 si

i
k
∈ H
2
ou encore
A. w > 0 si

i
k
∈ H
1
< 0 si

i
k
∈ H
2
avec A matrice de dimension n ×(d + 1) :
A =

¸
¸
¸
¸
¸

ˆ
i
T
1

ˆ
i
T
2
.
.
.

ˆ
i
T
n

Éric Hervet - 29/58 - Automne 2009
INFO6517 - Réseaux de neurones III.. Neurones élémentaires
La résolution du système A. w > 0 (ou < 0) est typiquement un un problème de
programmation linéaire.
Question : et si le problème n’est pas linéairement séparable ?
Parfois en ajoutant une entrée supplémentaire fonction des autres, on peut rendre le
problème séparable.
Sinon il faut un réseau de neurones.
III.5. Modèle linéaire de l’Adaline
Adaptive Linear Combiner Structure
Algorithme
On dispose d’une base d’apprentissage H =

i
p
, d
p
¸
p=1,...,N
où N est le nombre
d’échantillons.
On définit l’erreur linéaire e
k
= d
p
− w
k
T
.

i
p
où les w
k
représentent les poids courants
à l’itération k.

i
p
et d
p
étant connus, on observe :
e
k

> 0 si d
p
> w
k
T
.

i
p
= 0 si d
p
= w
k
T
.

i
p
< 0 si d
p
< w
k
T
.

i
p
Puis on corrige :

∆e
k
= 0 si e
k
= 0
∆e
k
> 0 si e
k
< 0
∆e
k
< 0 si e
k
> 0
Par exemple :
∆e
k
= −α.
(

i
p
)
T
.

i
p

i
p

2
.e
k
, d’où l’ajustement des poids : ∆ w
k
= α.

i
p

i
p

2
.e
k
.
Pour des entrées bipolaires (−1 ou 1), on a toujours

i
p
= 1.
Pour des entrées binaires (0 ou 1), aucun poids n’est changé lorsque i
p
j
= 0.
Éric Hervet - 30/58 - Automne 2009
INFO6517 - Réseaux de neurones IV.. Application des perceptrons en reconnaissance de motifs
III.6. Perceptrons multicouches
Capables d’implémenter des classifications non linéaires (exemple : fonction binaire
XOR).
Problèmes.
Combien de couches, combien de neurones par couche ?
Algorithmes d’apprentissage plus complexes et plus rares.
IV. Application des perceptrons en reconnaissance de motifs
IV.1. RN “associeurs” de motifs
Propriétés souhaitées.
Capacité de reconnaître un nombre “raisonnable” de motifs.
Bonne discrimination même si la base d’apprentissage est grande.
Bonne tolérance aux erreurs (ex. : caractères “abîmés”).
Réseau auto-corrélateur :
à chaque entrée présentée, le RN ressort le motif le plus ressemblant.
Réseau hétéro-corrélateur ou hétéro-associatif :
le RN catégorise chaque entrée dans les classes qu’il a apprises.
IV.2. Lien avec la psychologie
(James, 1890) si deux processus cérébraux élémentaires sont toujours activés en même
temps ou dans une succession très rapprochée, alors ils sont corrélés (base de l’appren-
tissage de Hebb).
“Total recall” (mémorisation totale) : toutes les entrées doivent être excitées exacte-
ment de la même manière pour obtenir une même sortie.
“Partial recall” (mémorisation partielle) : certaines entrées sont activées plus fortement,
d’autres plus faiblement, d’autres pas du tout : les poids varient avec le temps.
Éric Hervet - 31/58 - Automne 2009
INFO6517 - Réseaux de neurones IV.. Application des perceptrons en reconnaissance de motifs
IV.3. Réseaux de neurones linéaires et apprentissage
IV.3.1. Réseau monocouche linéaire
Hypothèses.
Chaque entrée est reliée à tous les neurones de la couche.
Chaque neurone est indépendant des autres et peut avoir une fonction d’activation dif-
férente des autres.
o
i
= f
i

¸
j
w
ij
i
j

, i = 1, . . . , m j = 1, . . . , n
où w
pj
représente le poids de l’entrée i
j
vers le neurone p (n entrées, m neurones dans
la couche).
Notation matricielle :
o = W

i
avec W matrice m×n.
Supposons qu’on a une base d’apprentissage avec N couples (

entrée,

sortie). Alors :
W.

s
1
s
2
. . .

s
N

=

r
1
r
2
. . .

r
N

ou bien
W.S = R
avec W : m×n, S : n ×N, R : m×N.
IV.3.2. Apprentissage
On suppose qu’on a une base d’apprentissage (S, T) avec
S =

s
1
s
2
. . . s
N

,
S matrice n ×N des stimuli (entrées), et
R =

t
1

t
2
. . .

t
N

,
R matrice m×N des réponses souhaitées (targets).
Éric Hervet - 32/58 - Automne 2009
INFO6517 - Réseaux de neurones IV.. Application des perceptrons en reconnaissance de motifs
En théorie il faut résoudre :
S
T
W
T
= R
T
où W est la matrice m×n des poids (qu’on cherche à calculer).
En pratique il est souvent plus facile de résoudre m systèmes linéaires
S
T
w
i
T
= r
i
T
i = 1, . . . , m
où w
i
est le vecteur n×1 des poids pour le i-ème neurone et r
i
est le vecteur N ×1 des
réponses désirées pour le i-ème neurone.
IV.3.3. Exemples
Réseau de neurones monocouche reconnaisseur de caractères (mémoire hétéro-
associative).
Phase d’apprentissage : neurone par neurone.
Phase d’utilisation : une entrée non apprise donne lieu à une réponse interpola-
tive.
Réseau de neurones détecteur 2-de-3 (sortie active lorsqu’au moins 2 entrées sur 3
sont actives) : on vérifie facilement que c’est un problème linéairement séparable.
n = 3, m = 1, N = 8.
IV.3.4. Apprentissage de Hebb
Matrice des poids calculée très simplement :
W =
N
¸
i=1
r
i

s
i

T
Méthode simple mais ne marche pas dans tous les cas (i.e. les poids calculés ne répon-
dent pas au problème).
Éric Hervet - 33/58 - Automne 2009
INFO6517 - Réseaux de neurones V.. Réseaux de neurones multicouches et apprentissage
V. Réseaux de neurones multicouches et apprentissage
V.1. Architectures de RN multicouches
Problème : pour résoudre un problème donné, quelle architecture est la plus appro-
priée ?
Nombre de couches ?
Nombre de neurones par couche ?
Nombre d’échantillons ?
Algorithme d’apprentissage ?
Ici : classe particulière des RN “en avant” (FeedForward Neural Networks)
Première couche : couche d’entrée, celle qui reçoit les stimuli externes.
Couches internes : dites aussi couches cachées.
On suppose qu’il y a des connections seulement d’une couche vers la couche suiv-
ante : direction implicite de propagation.
Parallélisme au niveau de chaque couche, mais sérialisation à travers l’ensemble des
couches.
Notation pour un RN à 3 couches : I ×H×O ou I/H/Oavec la supposition par défaut
que chaque couche est totalement connectée à la suivante.
V.2. Règle Delta
Pour un RN à 2 couches (aucune couche cachée).
Basée sur l’algorithme de plus grande pente du gradient (apprentissage supervisé).
1. Initialiser tous les poids du réseau.
2. Appliquer une entrée (un stimulus) en entrée du réseau.
3. Propager l’information pour calculer la sortie du réseau.
4. Comparer la sortie obtenue à celle désirée (target).
5. Calculer et propager une mesure d’erreur “en arrière” (back-propagation algo-
rithm) pour ajuster les valeurs des poids.
6. Minimiser l’erreur globale en effectuant des corrections de poids à chaque itération
(retour en 2.).
Éric Hervet - 34/58 - Automne 2009
INFO6517 - Réseaux de neurones V.. Réseaux de neurones multicouches et apprentissage
Notations et formules générales (RN à 2 couches).
w
ji
poids de la connection du neurone i vers le neurone j.

i le vecteur des entrées, o le vecteur des sorties, w le vecteur des poids,

t le vecteur
des sorties désirées (targets).
Ajustement des poids à l’itération p (tant que non convergence) :

p
w
ji
= ǫ

t
p
j
−o
p
j

f

j
(net
p
j
)˜ o
p
i
où :
˜ o
p
i
=

o
p
i
si i est un neurone caché ou de sortie.
i
i
si i est un neurone d’entrée.
f

j(net
p
j
) est la dérivée de la fonction d’activation du neurone j.
On peut noter e
p
j
= t
p
j
− o
p
j
l’erreur du j-ème neurone de sortie à l’itération p et
δ
p
j
= (t
p
j
−o
p
j
).f

j(net
p
j
).
Remarques
Si i
p
j
= 0 (par exemple pour des entrées binaires), alors aucune correction n’est
apportée au poids w
ji
, même si e
p
j
= 0.
Également, si f

j(net
p
j
) est faible, les ajustements sont faibles aussi.
Dans le cas d’une fonction de transfert sigmoïde, on montre que
f

j(net
j
) = o
j
.(1 −o
j
).
En pratique il arrive donc assez souvent que la correction δ
p
j
soit faible malgré un
ǫ et une erreur grands.
Éric Hervet - 35/58 - Automne 2009
INFO6517 - Réseaux de neurones V.. Réseaux de neurones multicouches et apprentissage
V.3. Règle Delta Généralisée
Pour les réseaux de neurones avec couches cachées.
Algorithme général :
1. Présenter une entrée

i de la base d’apprentissage et calculer les sorties correspon-
dantes o
i
de tous les neurones.
2. Mettre à jour les poids w
ji
des neurones de la couche de sortie (à l’itération p).

p
w
ji
= ǫ.

t
p
j
−o
p
j

.f

j
(net
p
j
).˜ o
p
i
3. Mettre à jour les poids w
ji
des neurones cachés ou d’entrée.

p
w
ji
= ǫ.δ
p
j
.˜ o
p
i
avec
δ
p
j
= f

j
(net
p
j
)
¸
n∈Succ(j)
δ
p
n
.w
nj
et
˜ o
p
i
=

o
p
i
si i est un neurone caché ou de sortie.
i
i
si i est un neurone d’entrée.
4. Recommencer en 1. tant que l’erreur globale subit un changement significatif.
Éléments à prendre en considération.
Choix des poids initiaux pour ne pas converger vers un minimum local ?
Choix de ǫ (taux d’apprentissage) ?
Connections entre couches non adjacentes ? ?
. . .
Éric Hervet - 36/58 - Automne 2009
INFO6517 - Réseaux de neurones VI.. “FeedForward Neural Networks” - Extensions et notions avancées
VI. “FeedForward Neural Networks” - Extensions et notions avancées
VI.1. RN pour la reconnaissance de motifs
Généralisation : capacité de reconnaître “correctement” des motifs non appris.
Mémorisation (les poids sont de l’information mise en mémoire).
Utilisation d’autres normes que la norme L
2
.
Minimisation de RN.
Autres approches d’apprentissage :
Algorithmes génétiques, stochastiques.
RDG étendue.
Apprentissage avec des fonctions d’activation non différentiables.
VI.1.1. Existence vs réalisation
Questions initiales :
S’il existe une solution à un problème donné, existe-t’il un algorithme d’apprentis-
sage capable de la trouver ?
En un temps fini ?
En un nombre fini de ressources ?
S’il existe plusieurs solutions, laquelle va trouver l’algorithme ?
Problèmes d’imprécision :
Seuil d’erreur dans l’algorithme d’apprentissage.
Nombre insuffisant de neurones cachés.
Représentation incorrecte de

i et/ou o.
Apprentissage (nombre d’échantillons) insuffisant ou inadéquat.
VI.1.2. Combinaison d’algorithmes d’apprentissage
RDG étendue + algorithmes génétiques + algorithmes stochastiques.
Éric Hervet - 37/58 - Automne 2009
INFO6517 - Réseaux de neurones VII.. Réseaux de Kohonen
VII. Réseaux de Kohonen
T. Kohonen, 1981.
Apprentissage non supervisé :
Classe des réseaux de neurones artificiels compétitifs.
Neurones proches : interaction positive.
Neurones moins proches : interaction négative.
Neurones éloignés : interaction nulle.
Applications : classification, traitement d’images (analyse, compression), aide à la dé-
cision, optimisation, reconnaissance de forme (écriture, parole), commande de pro-
cessus, robotique, etc.
VII.1. Principe de l’apprentissage
Un vecteur en entrée.
Compétition entre les neurones : calcul d’une “distance” entre le vecteur d’entrée et
tous les neurones.
Neurone “vainqueur” : le plus “proche”.
Évolution des poids synaptiques du vainqueur et de son environnement proche.
VII.2. Équations d’apprentissage
Règle de modification des poids.
w
ij
(t + 1) = w
ij
(t) + α
ci
(t). [x
i
(t) −w
ij
(t)] .
[x
i
(t) −w
ij
(t)] représente une distance entre les entrées (stimuli) et les poids.
Influence sur les voisins.
α
ci
(t) dépend de la distance au neurone vainqueur et du temps. Par exemple :
α
ci
(t) = α(t).e


d
ci
2r
2
(t)

où r(t) est la distance d’un neurone voisin au vainqueur et α(t) une fonction linéaire
décroissante, généralement :
α(t) =
A
B +t
où A et B sont des constantes.
Éric Hervet - 38/58 - Automne 2009
INFO6517 - Réseaux de neurones VII.. Réseaux de Kohonen
VII.3. Utilisation en reconnaissance
Un vecteur en entrée.
Un neurone réagit.
Identification : label (de classe) associé au vainqueur.
Affectation aux classes par “comptage”.
VII.4. Exemple d’application
Problème du voyageur de commerce (problème NP-complet).
VII.4.1. NP-complétude
La complexité d’un problème est l’ordre de grandeur de la complexité (dans le cas pire)
du meilleur algorithme connu pour le résoudre. On peut diviser dans un premier temps
les problèmes en deux classes de complexité : les problèmes P et les problèmes E.
Les problèmes de classe P sont des “bons problèmes” dans le sens où le calcul de leur
solution est faisable dans un temps “raisonnable”. Ce sont des problèmes dits polynômi-
aux.
Les problèmes de classe E sont des problèmes dits exponentiels par nature. Ce sont des
problèmes dont la complexité est intrinsèquement au moins k
n
où k est une constante et
n la taille des données.
De nombreux problèmes échappent à cette classification. Ces problèmes, qui n’appar-
tiennent ni à la classe P ni à la classe E, sont dits de classe NP, non déterministes
polynômiaux.
Tandis qu’un algorithme déterministe produit un seul calcul, un algorithme non déter-
ministe produit un ensemble de calculs. Ces algorithmes introduisent la notion de choix.
Un ensemble de solutions est accessible à chaque état de l’algorithme. Un algorithme
déterministe consisterait à essayer systématiquement toutes les combinaisons. On abouti-
rait ainsi à une complexité exponentielle.
La classe des problèmes NP-complets est une sous-classe des problèmes NP. On peut
voir les problèmes NP-complets comme des problèmes pour lesquels la recherche d’une
solution consiste à parcourir un arbre qui contient l’ensemble des solutions possibles.
Une branche de l’arbre représente une éventuelle solution. La hauteur de l’arbre est
Éric Hervet - 39/58 - Automne 2009
INFO6517 - Réseaux de neurones VII.. Réseaux de Kohonen
polynômiale en fonction de la taille n du problème et son nombre de branches est expo-
nentiel. Chaque noeud de l’arbre correspondant à un point de choix pour une variable.
L’espace des solutions possibles croît exponentiellement en fonction de la profondeur de
l’arbre. Par exemple, si l’arbre est binaire de profondeur n, alors le nombre de branches
est en 2
n
. Si l’arbre est ternaire de profondeur n, le nombre de branches est en 3
n
.
La seule façon d’obtenir une solution acceptable est de parcourir tout l’arbre jusqu’à
trouver une solution correcte, ce qui dans le cas le pire peut demander le parcours
complet de l’arbre, c’est-à-dire le parcours systématique de toutes les branches. Ceci
nous amènerait à un problème exponentiel.
Exemple : on dispose d’une machine capable d’essayer une solution chaque milliseconde.
L’essai de toutes les solutions dans le cas d’un arbre ternaire de profondeur 32 mettrait
environ 58 758 années.
La recherche des solutions est exponentielle dans le cas pire mais si une solution est
exhibée, alors le test pour savoir si la solution est correcte ou non a une complexité
polynômiale.
Tous les problèmes d’ordonnancement de tâches, d’emploi du temps ou d’affectation de
ressources sont des problèmes NP-complets. Le problème de la satisfaisablité d’une for-
mule logique est aussi NP-complet.
Exemples célèbres : problème du voyageur de commerce (Traveling salesman problem),
problème du cycle hamiltonien (Hamiltonian circuit problem), problème de coloration de
graphe (Chromatic number problem), problème du sac à dos (knapsack problem), etc.
VII.4.2. Algorithmes classiques en optimisation combinatoire
Algorithme de Métropolis
[Metropolis et Hastings, 1953]
Algorithme itératif (basé sur les chaînes de Markov) qui permet de trouver l’état d’équili-
bre d’un système thermodynamique simulé à une certaine température. La fonction à
minimiser est l’énergie E du système.
Algorithme du recuit simulé (Simulated annealing)
[Kirkpatrick, Gelatt et Vecchi, 1983]
Le recuit simulé est une variante de l’algorithme de Métropolis.
Éric Hervet - 40/58 - Automne 2009
INFO6517 - Réseaux de neurones VII.. Réseaux de Kohonen
Partant d’une solution donnée, en la modifiant, on en obtient une seconde. Soit celle-ci
améliore le critère que l’on cherche à optimiser, on dit alors qu’on a fait baisser l’en-
ergie du système, soit celle-ci le dégrade. Si on accepte une solution améliorant le critère,
on tend vers l’optimum dans le voisinage de la solution de départ. L’acceptation d’une
“mauvaise” solution permet d’explorer une plus grande partie de l’espace des solutions et
d’éviter de s’enfermer dans la recherche d’un optimum local.
La solution initiale peut être prise au hasard dans l’espace des solutions possibles
Recherche Tabou (Tabu search)
[Glover, 1986]
La recherche tabou consiste, à partir d’une position donnée, à explorer son voisinage
et à choisir la position dans ce voisinage qui minimise une fonction d’énergie. En fait
cette opération peut éventuellement conduire à augmenter la valeur de la fonction : c’est
le cas lorsque tous les points du voisinage ont une valeur plus élevée. C’est grâce à ce
mécanisme qu’on peut sortir d’un minimum local. Le risque cependant est qu’à l’étape
suivante, on retombe dans le minimum local auquel on vient d’échapper. C’est pourquoi
la recherche tabou utilise le concept de mémoire pour interdire (d’où le nom tabou) de
revenir sur les dernières positions explorées.
Les positions déjà explorées sont conservées dans une pile FIFO (appelée liste tabou).
Cette pile sert à conserver des positions complètes, ce qui dans certains types de prob-
lèmes peut nécessiter l’archivage d’une grande quantité d’information.
Approches neuronales
Objet du cours INFO6517.
Algorithmes génétiques
Voir section IX. pour les détails.
Éric Hervet - 41/58 - Automne 2009
INFO6517 - Réseaux de neurones VII.. Réseaux de Kohonen
VII.4.3. Cartes de Kohonen et voyageur de commerce
Principe :
En entrée :
Carte des villes avec leurs positions.
Couche compétitive de Kohonen :
Représente le déplacement de petites balises correspondant au déplacement du
voyageur de commerce.
Les neurones “bougent” sur la carte jusqu’à tomber sur une ville. Ils peuvent aussi dis-
paraître si la direction est mauvaise ou apparaître s’il y a plusieurs villes à visiter dans
une certaine direction.
Apprentissage :
Choix d’une ville (x, y).
Recherche de la balise (du neurone) le plus proche de cette ville (neurone vainqueur,
en norme-2 naturellement).
Déplacement de la balise vers la ville. Les voisins du neurone vainqueur sont aussi
attirés vers la ville (attraction moins forte).
Lorsque chaque ville a attiré un neurone vers elle, on regarde quels neurones n’ont pas
été affectés depuis plusieurs itérations. Ces neurones ne sont donc pas proches d’une
ville, ils sont généralement détruits.
Certains neurones peuvent être attirés par plusieurs villes. Dans ce cas on crée autant
de nouvelles balises que de villes attractrices.
Plusieurs démarrages sont possibles pour initier l’apprentissage :
Un seul neurone au centre des villes ; Un neurone placé aléatoirement dans la carte ; Un
cercle de N
villes
neurones, soit à l’intérieur de l’ensemble des villes (circonscrit), soit à
l’extérieur (englobant) ; Etc.
Il y a convergence (solution) lorsqu’il y a autant de balises que de villes (parcours complet,
un seul passage par ville).
Éric Hervet - 42/58 - Automne 2009
INFO6517 - Réseaux de neurones VIII.. Réseaux de Hopfield
VIII. Réseaux de Hopfield
J. Hopfield, 1982.
Couche de neurones complètement connectés (réseau récurrent).
Mémoire adressable par son contenu (mémoire associative) :
Une forme mémorisée est retrouvée par une stabilisation du réseau s’il a été stimulé par
une partie adéquate de cette forme.
Structure d’un réseau de Hopfield binaire ((−1, 1) ou (0, 1)).
L’entrée totale d’un neurone i est :
I
i
=
¸
j
w
ij
.V
j
avec w
ij
poids entre les neurones i et j et V
j
état du neurone j. Dans le cas d’un réseau
de Hopfield binaire, l’état du réseau peut donc être caractérisé par un mot de N bits.
Dynamique.
Le fonctionnement du réseau est séquencé par une horloge.
Soit V
i
(t) l’état du neurone i à l’instant t et V
i
(t + 1) son état à l’instant t + dt (dt
intervalle entre deux tops d’horloge).
Plusieurs alternatives existent pour la mise à jour de l’état des neurones :
Mode stochastique original de Hopfield.
Chaque neurone modifie son état à un instant aléatoire selon une fréquence
moyenne égale pour tous les neurones. Autrement dit, à chaque top d’horloge on
tire un neurone au hasard à mettre à jour.
Mode synchrone.
Tous les neurones sont mis à jour simultanément.
Mode séquentiel.
Les neurones sont mis à jour selon un ordre défini.
Le calcul du nouvel état d’un neurone se fait de la manière suivante :
V
i
(t + dt) =

1 si
¸
j
w
ij
.V
j
> 0
−1 sinon
Apprentissage.
L’apprentissage consiste à faire en sorte que chacun des prototypes à mémoriser soit :
un état stable du réseau, ou bien un état attracteur permettant de le retrouver à partir
d’états légèrement différents.
Éric Hervet - 43/58 - Automne 2009
INFO6517 - Réseaux de neurones VIII.. Réseaux de Hopfield
Exemple simple (N = 4).
Application en optimisation combinatoire :
Problème du voyageur de commerce avec N
villes
= 5.
Éric Hervet - 44/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
IX. Algorithmes génétiques
IX.1. Introduction
Un algorithme génétique est un “algorithme stochastique itératif” qui opère sur des en-
sembles de points codés, à partir d’une population initiale, et qui utilise trois opérateurs :
croisement, mutation, sélection. Les deux premiers sont des opérateurs d’exploration de
l’espace tandis que le dernier fait évoluer la population vers les optima du problème.
Une des particularités intéressantes des algorithmes génétiques (et du recuit simulé) ré-
side dans l’absence d’hypothèses particulières sur la régularité de la fonction à optimiser.
Aucune hypothèse sur la continuité de cette fonction n’est requise, ses dérivées succes-
sives ne sont pas nécessaires, ce qui rend très vaste le domaine d’application de ce type
d’algorithmes.
Les premiers travaux sur les algorithmes génétiques ont commencé dans les années 1950
lorsque plusieurs biologistes américains ont simulé des structures biologiques sur ordi-
nateur. Puis entre 1960 et 1970, John Holland développa les principes fondamentaux des
algorithmes génétiques dans le cadre de l’optimisation mathématique. Les ordinateurs de
l’époque n’étaient cependant pas assez puissants pour envisager l’utilisation des algo-
rithmes génétiques sur des problèmes réels de grande taille.
IX.2. Principe
Les algorithmes génétiques s’inspirent des mécanismes de sélection naturelle et des
phénomènes génétiques. Le principe de base consiste à simuler le processus d’évolution
naturelle dans un environnement hostile. On parle ainsi d’individu dans une population.
Un individu est composé d’un ou plusieurs chromosomes. Les chromosomes sont
eux-mêmes constitués de gènes qui contiennent les caractères héréditaires de l’individu.
Les principes de sélection, de croisement, de mutation s’appuient sur les processus
naturels du même nom.
Pour un problème d’optimisation donné, un individu représente un point de l’espace d’é-
tats. On lui associe la valeur du critère à optimiser. L’algorithme génère ensuite de façon
itérative des populations d’individus sur lesquelles on applique des processus de sélection,
de croisement et de mutation. La sélection a pour but de favoriser les meilleurs élements
de la population, tandis que le croisement et la mutation assurent une exploration efficace
de l’espace d’états.
On fait évoluer, à partir d’une population générée aléatoirement, un ensemble de points
Éric Hervet - 45/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
de l’espace d’états vers le ou les optima du problème d’optimisation à résoudre. Le pro-
cessus s’effectue à taille de population constante, notée N, c’est-à-dire que toutes les
populations successives contiennent N individus. Pour faire évoluer les populations de la
génération k à la génération k + 1, trois opérations (Fig. 17) sont effectuées pour tous les
individus de la génération k :
Une sélection d’individus de la génération k est effectuée en fonction du critère à opti-
miser ou plus généralement du critère d’adaptation au problème (fitness). On cherche à
privilégier la reproduction des bons éléments au détriment des mauvais. Des opérateurs
d’exploration de l’espace sont ensuite utilisés pour élargir la population et introduire de
la nouveauté d’une génération à l’autre.
L’opérateur de croisement est appliqué avec une probabilité P
c
à deux éléments de la
génération k (parents) qui sont alors transformés en deux nouveaux éléments (enfants)
destinés à les remplacer dans la génération k + 1.
Certaines composantes (gènes) de ces individus peuvent ensuite être modifiés avec
une probabilité P
m
par l’opérateur de mutation. Cette procédure vise à introduire de la
nouveauté dans la population.
Cette procédure est renouvelée à taille de population constante. Les critères d’arrêts peu-
vent être :
Arrêt après un nombre de générations fixé a priori. C’est la solution retenue lorsqu’un
impératif de temps de calcul est imposé.
Arrêt lorsque la population cesse d’évoluer ou n’évolue plus suffisamment rapidement.
Ce qui signifie qu’on est alors en présence d’une population homogène qui devrait se
situer à proximité du ou des optima.
Pour utiliser un algorithme génétique sur un problème particulier, il faut disposer des cinq
éléments suivants :
Un principe de codage des éléments de l’espace admissible du problème, en éléments
sur lesquels peuvent s’appliquer les trois opérateurs mentionnés plus haut. Ce codage
intervient après une phase de modélisation mathématique du problème. Le choix du
codage des données dépend du problème traité et conditionne l’efficacité (vitesse de
convergence, précision, etc.) de l’algorithme génétique.
Un mécanisme de génération de la population initiale qui sert de base aux générations
futures. Elle doit être la plus hétérogène possible.
Une fonction d’utilité f, permettant de calculer l’adaptation de chaque élément au
problème. Ce critère retourne une valeur appelée fitness.
Éric Hervet - 46/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
FIG. 17 – Principe des algorithmes génétiques.
Des opérateurs permettant de diversifier et d’améliorer la population d’une génération
à l’autre ainsi que d’explorer le plus largement possible l’espace admissible.
Des paramètres dimensionnels : taille de la population, critère d’arrêt, probabilités de
croisement P
c
et de mutation P
m
.
Éric Hervet - 47/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
IX.2.1. Codage et opérateurs
Codage
Historiquement, les individus intervenant dans un algorithme génétique étaient codés
sous forme de chaînes de bits. Ce codage binaire doit contenir toute l’information
nécessaire à la description d’un point dans l’espace d’états. Les opérateurs de croisement,
de sélection et de mutation agissent alors sur les individus codés, c’est-à-dire sur des
chaînes de bits.
Il est également possible de ne pas coder les éléments de l’espace admissible du problème,
les opérateurs agissant directement sur les éléments de la population.
Contraintes
Les contraintes liées au problème à optimiser peuvent être de diverses natures. Elles peu-
vent intervenir sur l’espace d’états (contraintes de signe, restrictions à un sous-espace,
etc.), ou de manière plus complexe dans le problème lui-même. Dans le cas de contraintes
sur l’espace dans lequel doit se faire la recherche, on peut sélectionner les individus rapi-
dement (sans avoir à les réévaluer) par différentes méthodes. Un individu “hors champ”
peut être :
Rejeté brutalement et remplacé par un autre individu tiré aléatoirement dans l’espace
admissible.
Ramené à la frontière la plus proche (principe du mur).
Reporté à la frontière diamétralement opposée à la frontière la plus proche (principe
du tore).
Dans le cas où la gestion des contraintes ne peut pas se faire directement, les contraintes
peuvent être incluses dans le critère à optimiser sous forme de pénalités. Ainsi, un individu
qui viole une contrainte se voit attribuer une mauvaise fitness et est éliminé selon une forte
probabilité par le processus de sélection. Cette façon de gérer les contraintes est délicate
dans la mesure où un “dosage” s’impose pour ne pas favoriser la recherche de solutions
admissibles au détriment de la recherche de l’optimum ou inversement. On risque alors
de fournir une solution admissible mais éloignée de l’optimum.
Éric Hervet - 48/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
Génération aléatoire d’une population initiale
Comme dans tout problème d’optimisation, une connaissance de “bons” points de départ
conditionne la rapidité de la convergence vers l’optimum. Si la position de l’optimum
dans l’espace d’états est totalement inconnue, il est naturel de générer aléatoirement des
individus en faisant des tirages uniformes mais en veillant à ce que les individus produits
respectent les contraintes. Si par contre, des informations a priori sur le problème sont
disponibles, il est naturel de générer les individus dans un sous-domaine particulier afin
d’accélérer la convergence. Disposant d’une population d’individus non homogène, la
diversité de la population doit être entretenue au cours des générations afin de parcourir
le plus largement possible l’espace d’états : c’est le rôle des opérateurs de croisement et
de mutation. Ces opérateurs diffèrent de la méthode de recherche aléatoire puisque les
générations successives doivent être évaluées et modifiées afin de converger : c’est ici
qu’intervient l’opérateur de sélection.
Opérateur de sélection
La sélection permet d’identifier statistiquement les “meilleurs” individus d’une popula-
tion et d’éliminer les “mauvais”. On trouve dans la littérature un nombre important de
principes de sélection plus ou moins adaptés aux problèmes qu’ils traitent. Les deux
principes de sélection suivants sont très souvent utilisés :
L’ordonnancement.
La roue de la fortune.
Ordonnancement (Ranking)
C’est le principe de sélection le plus simple : il consiste à attribuer à chaque individu
son classement par ordre d’adaptation. Le “meilleur”, c’est-à-dire celui qui possède la
meilleure fitness, sera numéro un, et ainsi de suite. On tire ensuite une nouvelle population
dans cet ensemble d’individus ordonnés, en utilisant des probabilités indexées sur les
rangs des individus. Cette procédure est simple mais exagère le rôle du meilleur élément
au détriment d’autres éléments potentiellement exploitables. Le second, par exemple, aura
une probabilité d’être sélectionné nettement plus faible que celle du premier, bien qu’il
puisse se situer dans une région d’intérêt. Des procédures plus évoluées permettent de
pondérer cette dominance des meilleurs éléments, c’est le cas des principes de roulette.
Éric Hervet - 49/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
Roue de la fortune (Roulette wheel selection)
Le principe de la roue de la fortune consiste à associer à chaque individu θ
i
une probabilité
P
i
proportionnelle à sa fitness f(θ
i
) dans la population. Cette probabilité peut être calculée
comme :
P
i
=
S (f(θ
i
))
N
¸
j=1
S (f(θ
j
))
où S est une fonction régulière et croissante au sens large. Chaque individu est alors
reproduit avec la probabilité P
i
, certains individus (les “bons”) seront alors plus reproduits
et d’autres (les “mauvais”) éliminés selon une forte probabilité.
Opérateur de croisement
Le croisement a pour but d’enrichir la diversité de la population en manipulant les com-
posantes des individus (chromosomes). Classiquement, les croisements sont envisagés
avec deux parents et génèrent deux enfants. Initialement, le croisement associé au codage
par chaînes de bits ou chromosomes, est le croisement à découpage de chromosomes
(slicing crossover). Pour effectuer ce type de croisement sur des chromosomes constitués
de M gènes, on tire aléatoirement une position de découpage. On échange ensuite les
deux sous-chaînes terminales de chacun des deux chromosomes (les parents) P
1
et P
2
, ce
qui produit deux nouveaux chromosomes (les enfants) C
1
et C
2
(Fig. 18).
FIG. 18 – Croisement chromosomique à un point.
On peut étendre ce principe en découpant le chromosome non pas en deux sous-chaînes
mais en trois, quatre, etc. (Fig. 19). Le croisement à découpage de chromosomes est très
rapide à mettre en oeuvre lorsqu’on travaille sur des problèmes utilisant des codages en-
tiers (binaires ou autres).
Éric Hervet - 50/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
FIG. 19 – Croisement chromosomique à deux points.
Opérateur de mutation
L’opérateur de mutation apporte aux algorithmes génétiques l’aléa nécessaire à une ex-
ploration efficace de l’espace d’états. Cet opérateur garantit que l’algorithme génétique
sera susceptible d’atteindre tous les points de l’espace d’états, sans pour autant les par-
courir tous dans le processus de résolution. Les propriétés de convergence des algorithmes
génétiques sont fortement dépendantes de cet opérateur.
Pour bien comprendre l’utilité de l’opérateur de mutation, considérons un problème dis-
cret pour lequel les individus sont codés sous forme de chaînes chromosomiques consti-
tuées de trois valeurs entières et prenons une population de dix individus. On suppose de
plus que le croisement utilisé est un croisement à découpage de chromosomes à un point.
Si par malchance, la population initiale ne présente pas de 7 en troisième position, par
exemple :
θ
1
5 4 0
θ
2
7 3 3
θ
3
4 6 6
θ
4
2 7 4
θ
5
6 8 5
θ
6
5 5 2
θ
7
9 8 8
θ
8
4 9 9
θ
9
7 3 0
θ
10
8 2 3
et que l’optimum se trouve en 4.5.7, il est impossible d’attein-
dre ce point avec l’opérateur de croisement. L’opérateur de mutation permet alors de faire
varier aléatoirement la valeur des composantes de ces termes, c’est-à-dire des gènes. La
mutation consiste généralement à tirer aléatoirement un gène dans le chromosome et à le
Éric Hervet - 51/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
remplacer par une valeur aléatoire (Fig. 20). Si la notion de distance existe, cette valeur
peut être choisie dans le voisinage de la valeur initiale. Dans le cas d’éléments codés en
binaire, on remplace la valeur 0 par 1 et vice-versa.
FIG. 20 – Illustration de l’opérateur de mutation.
Le choix pratique des probabilités P
m
et P
c
dépend de la complexité du problème étudié.
Cependant il est souhaitable de faire dépendre ces paramètres de la génération courante
afin d’explorer plus largement l’espace, au début de l’algorithme, et moins sur la fin.
Les opérateurs de croisement et de mutation ne font pas intervenir la fonction à opti-
miser, ce sont des opérateurs stochastiques d’exploration du domaine admissible. C’est
l’opérateur de sélection qui guide la population vers les valeurs élevées de la fonction.
IX.2.2. Améliorations classiques
Les processus de sélection présentés sont très sensibles aux écarts d’adaptation entre in-
dividus et dans certains cas, un très bon individu risque d’être reproduit trop souvent et
peut même provoquer l’élimination complète de ses congénères. On obtient alors une
population homogène contenant un seul type d’individu.
Pour éviter ce comportement, il existe d’autres modes de sélection ainsi que des principes
(scaling, sharing) qui empêchent les individus “forts” d’éliminer complètement les plus
“faibles”.
Scaling
Le scaling ou mise à l’échelle, modifie les fitness afin de réduire ou d’amplifier artifi-
ciellement les écarts entre les individus. Le processus de sélection n’opère plus sur la
Éric Hervet - 52/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
fitness réelle mais sur son image après mise à l’échelle. On souhaite ainsi aplatir ou dilater
la fonction d’évaluation. La perte de précision qui s’ensuit est au prix d’une meilleure
convergence. Parmi les fonctions de scaling, on peut envisager le scaling linéaire et le
scaling exponentiel.
Scaling linéaire
Dans ce cas la fitness initiale f
r
est redéfinie en une nouvelle fitness f
s
par l’opération
homothétique suivante :
f
s
= af
r
+ b
Généralement le coefficient a est inférieur à 1, ce qui permet de réduire les écarts de
fitness et donc de favoriser l’exploration de l’espace. Par contre ce scaling est statique
par rapport au numéro de génération et pénalise la fin de convergence lorsqu’on désire
favoriser les modes dominants.
Scaling exponentiel
Il est défini de la façon suivante (Fig. 21) :
f
s
= (f
r
)
n(k)
où k est la génération courante.
FIG. 21 – Fonction de scaling exponentiel.
Éric Hervet - 53/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
Pour n(k) proche de 0, on réduit fortement les écarts de fitness. Aucun individu
n’est vraiment favorisé et l’algorithme génétique se comporte comme un algorithme
de recherche aléatoire et permet d’explorer l’espace.
Pour n(k) proche de 1, le scaling est inopérant.
Pour n(k) > 1 les écarts sont exagérés et seuls les bons individus sont sélectionnés, ce
qui produit l’émergence des modes.
Dans la pratique, on fait généralement varier n(k) des faibles valeurs vers les fortes
valeurs au cours des générations. Pour cela on utilise une fonction de type de celle
représentée par la figure 22 dont la formule est donnée par :
n(k) = α
1

tan
¸
k
K + 1

π
2

α
2
k étant la génération courante, K le nombre total de générations prévues, et α
1
et α
2
sont
des paramètres à choisir. L’évolution de n(k) en fonction de la génération k est montrée
à la figure 22.
FIG. 22 – Évolution de n(k) en fonction des générations.
Ce dernier principe de scaling donne dans la pratique de meilleurs résultats que le scaling
linéaire. Dans le cas des fonctions objectifs possédant plusieurs modes et présentant des
optimaux quasi-équivalents, cette technique de scaling, en amplifiant les écarts de fitness
en fin de convergence, va effectivement favoriser le mode dominant mais aussi masquer
Éric Hervet - 54/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
les modes sous-optimaux qui peuvent tout de même présenter un intérêt. Le scaling per-
met donc une bonne exploration de l’espace d’états mais ne favorise pas la répartition des
individus sur les différents optima de la fonction objectif. Cette répartition souhaitable est
obtenue en utilisant l’opérateur de partage.
Partage (Sharing)
L’objectif du partage est de répartir sur chaque sommet de la fonction à optimiser, un
nombre d’individus proportionnel à la fitness associée à ce sommet. La figure 23 présente
deux exemples de répartitions de populations dans le cas d’une fonction à cinq sommets :
le premier sans partage, le second avec partage.
FIG. 23 – Objectif du partage.
Principe
De la même façon que le scaling, le partage consiste à modifier la fitness utilisée par le
processus de sélection. Pour éviter le rassemblement des individus autour d’un sommet
dominant, le partage pénalise les fitness en fonction du taux de concentration de la pop-
ulation dans le voisinage d’un individu. Plus cet individu est entouré, plus on pénalisera
sa reproduction. Cela requiert l’introduction d’une notion de distance. En pratique, il faut
définir une distance indiquant la dissimilarité entre deux individus, ce qui n’est pas tou-
jours chose facile. Cette distance est alors utilisée pour calculer la nouvelle fitness de la
façon suivante :
f


i
) =
f(θ
i
)
m

i
où m

i
=
N
¸
j=1
S (d(θ
i
, θ
j
))
Éric Hervet - 55/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
avec
S(d) =

1 −

d
σ
share

α
si d < σ
share
0 si d > σ
share
Le paramètre σ
share
permet de délimiter le voisinage d’un point et dépend du problème
traité. La figure 24 donne l’allure de S(d) pour différentes valeurs de α.
FIG. 24 – Allure de S

d
σ
share

.
Partage par bouquets (Clustered sharing)
Pour effectuer ce type de partage, on commence par identifier les différents “bouquets”
d’individus dans la population. On utilise pour cela utilise deux paramètres d
min
et d
max
afin de fusionner des bouquets ou en créer de nouveaux. Initialement, chaque individu
de la population est considéré comme le centre d’un bouquet. On applique alors succes-
sivement deux principes, l’un intervenant sur les bouquets, le second sur les individus
eux-mêmes :
Si deux centres sont à une distance inférieure à d
min
, on les fusionne dans un bouquet
unique dont le centre résultant est le barycentre des deux centres initiaux.
Un nouvel individu est agrégé à un bouquet si sa distance au centre le plus proche est
inférieure à d
max
.
Éric Hervet - 56/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
Dans ce cas, on calcule de nouveau le centre du bouquet global.
Sinon, on crée un nouveau bouquet contenant ce seul individu. Cet individu devient
alors le centre d’un nouveau bouquet réduit à lui seul.
Ce principe de fusion-agrégation permet d’obtenir un nombre de bouquets fluctuant avec
la répartition des individus dans l’espace d’états. On applique ensuite le principe de
partage en modifiant les fitness de la façon suivante :
f

i
=
f
i
m

i
où m

i
= n
c

1 −

d
ic
2d
max

α

avec
n
c
: nombre d’individus contenus dans le bouquet auquel appartient l’individu i.
α : coefficient de sensibilité.
d
ic
: distance entre l’individu i et le centre du bouquet c.
La quantité m

i
représente une sorte de densité intra-bouquet. On cherche ainsi à pénaliser
les bouquets trop denses ou trop importants au profit de bouquets plus petits qui peuvent
révéler des optima locaux.
IX.2.3. Recuit simulé
Les algorithmes génétiques et le recuit simulé étant deux techniques d’optimisation
stochastique travaillant sur les mêmes types de problèmes, il est logique de chercher à
les associer afin de tirer partie de leurs avantages respectifs. Il semble que le recuit simulé
converge plus vite vers la solution optimale mais ne donne qu’une solution dans le cas
des problèmes à optima multiples. À l’inverse, les algorithmes génétiques fournissent
plusieurs solutions quasi-optimales mais au prix d’un temps de convergence plus long. Il
semble alors naturel d’associer ces deux techniques afin d’améliorer la convergence des
algorithmes génétiques.
Croisement avec recuit
Pour appliquer le principe de croisement avec recuit simulé, on commence par sélection-
ner deux parents P
1
et P
2
dans la population. On applique ensuite l’opérateur de croise-
ment classique qui génère deux enfants C
1
et C
2
. Un tournoi est alors effectué entre les
parents et les enfants où les deux vainqueurs sont sélectionnés par le schéma de recuit
suivant : On considère l’individu C
1
; On tire ensuite aléatoirement un des deux parents,
soit P
i
ce parent :
Éric Hervet - 57/58 - Automne 2009
INFO6517 - Réseaux de neurones IX.. Algorithmes génétiques
Si C
1
est meilleur que P
i
, alors C
1
est sélectionné.
Sinon C
1
est sélectionné avec la probabilité :
P = e

|f
C
1
−f
P
i
|
tn

où t
n
est un coefficient décroissant en fonction de la génération courante n.
On fait de même pour C
2
avec le parent restant et on détermine ainsi deux individus C

1
et
C

2
.
L’évolution de la variable t
n
se fait de la façon suivante. On utilise un schéma de recuit
standard géométrique à un palier de basculement. Pratiquement, on calcule trois “tem-
pératures” dont les valeurs dépendent de la connaissance des écarts minimum et maxi-
mum des fitness de la population initiale :

t
s
= −
∆f
max
ln
(
1
k−1
)
k = 0.75 température initiale
t
x
= −
∆f
max
ln
(
1
k−1
)
k = 0.99 température de basculement
t
f
= −
∆f
min
ln
(
1
k−1
)
k = 0.99 température finale
où ∆f
min
et ∆f
max
représentent les écarts minimum et maximum des fitness de la pop-
ulation initiale. Le schéma géométrique fait évoluer la température courante de la façon
suivante :

t
0
= t
s
t
n+1
= α
1
t
n
pour t
s
> t
n
> t
x
t
n+1
= α
2
t
n
pour t
x
> t
n
> t
f
avec 0 < α
1
< α
2
< 1. Pour chaque palier, on calcule le nombre d’itérations de sta-
bilisation à l’aide des formules suivantes qui permettent de calculer le nombre total de
générations pour un problème donné :
N
1
=
ln

t
x
t
s

ln(α
1
)
N
2
=
ln

t
f
t
x

ln(α
2
)
IX.3. Applications
Tous les problèmes NP-complets . . .
Problèmes d’optimisation.
Problèmes d’économie.
Évitement des avions, Othello, sectorisation, . . .
Voir laboratoire #3
1
.
1
http://aquadie.info.umoncton.ca/a09/info6517/labs/lab03.pdf
Éric Hervet - 58/58 - Automne 2009

Table des matières
I. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . I.1. Origines . . . . . . . . . . . . . . . . . . . . . . . . I.2. Définition . . . . . . . . . . . . . . . . . . . . . . . I.3. Historique . . . . . . . . . . . . . . . . . . . . . . . I.4. Modèle neurophysiologique . . . . . . . . . . . . . I.5. Modèles mathématiques . . . . . . . . . . . . . . . I.6. Apprentissage . . . . . . . . . . . . . . . . . . . . . I.7. Mémoires associatives . . . . . . . . . . . . . . . . I.8. Cartes auto-organisatrices . . . . . . . . . . . . . . I.9. Réseaux à achitecture évolutive : ART . . . . . . . . I.10. Réseaux multicouches . . . . . . . . . . . . . . . . I.11. Connectionnisme et applications . . . . . . . . . . . I.12. Application en RCM . . . . . . . . . . . . . . . . . Quelques rappels mathématiques . . . . . . . . . . . . . . . II.1. Matrices et vecteurs . . . . . . . . . . . . . . . . . II.2. Produits scalaires et vectoriels . . . . . . . . . . . . II.3. Dérivation (différentiation) matricielle et vectorielle II.4. Matrice pseudo-inverse . . . . . . . . . . . . . . . . II.5. Valeurs et vecteurs propres . . . . . . . . . . . . . . II.6. Interprétation et visualisation . . . . . . . . . . . . . II.7. Optimisation . . . . . . . . . . . . . . . . . . . . . Neurones élémentaires . . . . . . . . . . . . . . . . . . . . III.1. Modèles linéaires . . . . . . . . . . . . . . . . . . . III.2. Modèles non linéaires . . . . . . . . . . . . . . . . III.3. Fonctions d’activation . . . . . . . . . . . . . . . . III.4. Propriétés du perceptron . . . . . . . . . . . . . . . III.5. Modèle linéaire de l’Adaline . . . . . . . . . . . . . III.6. Perceptrons multicouches . . . . . . . . . . . . . . Application des perceptrons en reconnaissance de motifs . . IV.1. RN “associeurs” de motifs . . . . . . . . . . . . . . IV.2. Lien avec la psychologie . . . . . . . . . . . . . . . IV.3. Réseaux de neurones linéaires et apprentissage . . . Réseaux de neurones multicouches et apprentissage . . . . . V.1. Architectures de RN multicouches . . . . . . . . . . i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 4 5 11 13 14 18 19 20 20 21 21 21 22 23 24 25 27 27 27 28 28 29 30 31 31 31 31 32 34 34

II.

III.

IV.

V.

VI. VII.

VIII. IX.

V.2. Règle Delta . . . . . . . . . . . . . . . . . . . . . . . . . V.3. Règle Delta Généralisée . . . . . . . . . . . . . . . . . . “FeedForward Neural Networks” - Extensions et notions avancées VI.1. RN pour la reconnaissance de motifs . . . . . . . . . . . . Réseaux de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . VII.1. Principe de l’apprentissage . . . . . . . . . . . . . . . . . VII.2. Équations d’apprentissage . . . . . . . . . . . . . . . . . VII.3. Utilisation en reconnaissance . . . . . . . . . . . . . . . . VII.4. Exemple d’application . . . . . . . . . . . . . . . . . . . Réseaux de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . Algorithmes génétiques . . . . . . . . . . . . . . . . . . . . . . . IX.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . IX.2. Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . IX.3. Applications . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

34 36 37 37 38 38 38 39 39 43 45 45 45 58

ii

le suivi par les yeux d’une mouche en vol. la résolution d’un problème est confiée à un ensemble de règles données par l’expert humain du domaine. la compréhension du langage.. Introduction I. la psychologie. logiciels embarqués. : jeu d’échecs.. etc.. avec pour applications les plus connues les systèmes experts. par exemple sous forme de règles. Introduction I. etc. Les cas non prévus par l’expert ne seront pas correctement traités. certains êtres vivants relativement simples sont capables de réaliser certaines de ces opérations sans aucune difficulté. Ces domaines sont souvent ceux des sciences dites exactes. Pourtant. comme l’électronique. la philosophie. En fait. la mécanique.. les diagnostics.1/58 - Automne 2009 . etc.). Dans cette approche. C’est un avantage lorsque tous les cas ont été prévus à l’avance par l’informaticien(ne) (ex. Ces deux approches ne sont donc pas suffisantes pour répondre à tous les problèmes existants. L’approche basée sur la connaissance est celle de l’intelligence artificielle. L’approche algorithmique nécessite l’écriture de tout le processus à suivre pour résoudre le problème.1. l’approche basée sur la connaissance se limite à des domaines d’application où la modélisation de la connaissance est possible. L’introduction de la logique floue ne change pas la nature des limitations d’utilisation du programme : l’exécution reste déterministe. Éric Hervet . dont deux parmi les plus souvent utilisées sont l’approche algorithmique et l’approche basée sur la connaissance. la traduction automatique. Les ordinateurs sont des machines complètement logiques (et même binaires) donc déterministes. Pour certains problèmes ce n’est pas toujours possible . Citons comme exemples la reconnaissance de formes (images ou signaux). Origines Le développement de logiciels s’appuie sur plusieurs approches.INFO6517 . etc. dans ce cas le comportement de l’ordinateur face à un cas non prévu risque fortement de n’être pas adapté. Toutes les règles doivent avoir été exprimées préalablement au traitement. la physique. Par exemple.. ou encore le déplacement au sonar de la chauve-souris. où la connaissance est plus empirique.Réseaux de neurones I. par opposition aux sciences dites humaines comme la médecine.

Définition « Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs (neurones) élémentaires fonctionnant en parallèle. Également les cartes auto-organisatrices sont intéressantes et plus vraisemblables du point de vue biologique.. Le Perceptron est historiquement le premier modèle de neurone artificiel. psychologue américain) : Introduit le concept de mémoire associative et propose une loi de fonctionnement pour l’apprentissage des réseaux de neurones connue plus tard sous le nom de “loi de Hebb”. Ils sont les premiers à montrer que des réseaux de neurones simples peuvent réaliser des fonctions logiques.2. et une version plus complexe et surtout plus efficace du Perceptron : le Perceptron multicouche. Historique W. L’organisation en neurones permet d’illustrer les notions d’apprentissage et de mémorisation (modification des connexions). Nous verrons aussi les concepts d’apprentissage supervisé et non supervisé ainsi que des modèles plus complexes comme les mémoires associatives. d’adaptabilité et de tolérance aux pannes. Chaque processeur élémentaire calcule une sortie unique sur la base des informations qu’il reçoit. I. Nous verrons comment passer de modèles de réseaux neuronaux biologiques à des modèles mathématiques (réseaux neuronaux artificiels). notamment des modèles de neurones. James (1890.2/58 - Automne 2009 . Toute structure hiérarchique de réseaux est évidemment un réseau. arithmétiques et symboliques. Pitts (1943) : Laissent leurs noms à une modélisation du neurone biologique (un neurone au comportement binaire). J. à la base des réseaux de neurones artificiels. Mc Culloch et W.Réseaux de neurones I. » I. L’hypothèse principale. de résistance au bruit. Nous verrons le fonctionnement de réseaux de neurones artificiels et leurs propriétés d’apprentissage à partir d’exemples. de synapses et quelques topologies (architectures) d’organisation en réseaux. Introduction Une troisième approche au traitement automatique de l’information consiste à s’inspirer du traitement de l’information effectué par le cerveau. Éric Hervet .3. est que le comportement “intelligent” est engendré par un ensemble de mécanismes mentaux. les réseaux à architecture évolutive.INFO6517 .

Hopfield (1982.Il propose aussi une loi de modification des propriétés des connexions entre neurones. Celle-ci est à l’origine de l’algorithme de rétro-propagation du gradient très utilisé pour l’apprentissage des Perceptrons multicouches. physiologiste américain) : Explique le conditionnement chez l’animal par les propriétés des neurones eux-mêmes (ex. M. Éric Hervet . J. les financements des recherches sur les réseaux de neurones artificiels s’arrêtent et les chercheurs se tournent vers l’intelligence artificielle et les systèmes à base de règles. : le fameux comportement pavlovien). J. Papert (1969) : Publient un livre qui met en évidence les limitations du Perceptron. Widrow (1960. Introduction D. les temps de convergence étant considérables. automaticien) : Développe le modèle Adaline (Adaptive Linear Element).INFO6517 . 1983 : La machine de Boltzmann est le premier modèle connu capable de traiter de manière satisfaisante les limitations recensées du Perceptron.Réseaux de neurones I. F. la neurobiologie. Minsky et S. proche du modèle du Perceptron mais dont la loi d’apprentissage est différente. la reconnaissance de formes. Il explique notamment dans un ouvrage la structure et loi d’apprentissage d’un réseau de neurones correspondant à un résultat escompté. notamment l’impossibilité de résoudre des problèmes non linéaires. Ce modèle est encore très utilisé aujourd’hui pour des problèmes d’optimisation. 1967-1982 : Période creuse pour les réseaux de neurones artificiels. Après leur ouvrage. Hebb (1949. Les recherches s’orientent sur des domaines connexes tels que le traitement adaptatif du signal.3/58 - Automne 2009 .. 1985 : L’algorithme de rétro-propagation de gradient est développé. Rosenblatt (1957) : Développe le modèle du Perceptron. B. physicien) : Profite d’une certaine désillusion de l’intelligence artificielle (heurtée à de sérieuses limitations) et présente une théorie du fonctionnement et des possibilités des réseaux de neurones. etc. Il s’agit d’un algorithme d’apprentissage adapté aux réseaux de neurones multicouches. Il construit le premier neuro-ordinateur basé sur ce modèle et l’applique au domaine de la reconnaissance des formes (prouesse technologique pour l’époque). Mais l’utilisation pratique s’avère difficile.

C’est grâce aux dendrites que l’information est acheminée de l’extérieur vers le corps du neurone.4/58 - Automne 2009 . Le corps cellulaire se ramifie pour former des dendrites. Lorsque suffisamment de molécules sont fixées. La transmission entre les neurones n’est pas directe. Il existe un espace intercellulaire de quelques dizaines d’Angström (10−9 m) entre l’axone du neurone afférent et les dendrites du neurone déférent. avec 1000 à 10000 synapses (connexions) par neurone ! Le neurone est une cellule composée d’un corps cellulaire et d’un noyau. Modèle neurophysiologique F IG .. C’est ainsi que le signal se transmet. I.Réseaux de neurones I. 1 – Un neurone et ses dendrites. Il existe donc des neuro-médiateurs (substances chimiques) qui se fixent sur des récepteurs de l’autre côté de l’espace inter-synaptique. Éric Hervet .INFO6517 . Cet espace vide ne permet pas au signal électrique de se propager. Le cerveau humain est composé d’environ 1012 neurones (mille milliards). La jonction entre deux neurones est appelée synapse.4. L’information traitée par le neurone chemine le long de l’axone (unique) pour être transmise aux autres neurones. Introduction Actuellement : Les réseaux multicouches et la rétro-propagation du gradient restent les plus étudiés et les plus productifs au niveau des applications. un signal électrique est émis.

qui se ramifie ensuite pour alimenter un nombre variable de neurones avals. I.5. excitatrice ou inhibitrice. Neurone artificiel.Réseaux de neurones I.5/58 - Automne 2009 . Éric Hervet . Un neurone artificiel est un processeur élémentaire. l’activité d’un neurone peut renforcer ou diminuer l’activité de ses voisins. Modèles mathématiques F IG . Introduction Selon le type de synapse. 3 – Notations utilisées.INFO6517 . Chaque processeur élémentaire comprend une sortie unique. 2 – Mise en correspondance neurone biologique / neurone artificiel. F IG . Il reçoit un nombre variable d’entrées en provenance de neurones amonts.. À chacune des entrées est associé un poids w (weight) représentatif de la force de la connexion.

Ces connexions sont le plus souvent locales.. Topologies (architectures) multicouches. La plupart sont des fonctions continues dans l’intervalle [0.6/58 - Automne 2009 . Éric Hervet . Il n’y a pas de connexion entre neurones d’une même couche et les connexions ne se font qu’avec les neurones des couches avales. 1] ou [−1. Réseau multicouche Les neurones sont arrangés par couche. Les équations décrivant le comportement des neurones artificiels n’introduisent pas la notion de temps.Réseaux de neurones I. C’est le cas pour la plupart des modèles actuels de réseaux de neurones. Généralement chaque neurone d’une couche est connecté à tous les neurones de la couche suivante et celle-ci seulement. À partir de cette valeur. linéaire par morceaux et sigmoïde. On distingue deux phases. C’est cette valeur qui est transmise aux neurones avals. Réseau à connexions récurrentes Les connexions récurrentes ramènent l’information en arrière par rapport au sens de propagation défini dans un réseau multicouche. 4 – Différentes fonctions de transfert : à seuil. une fonction de transfert calcule la valeur de l’état du neurone. Il existe de nombreuses formes possibles pour la fonction de transfert. La première est généralement la somme pondérée des entrées. 1]. F IG . Réseau à connexions locales Il s’agit d’un réseau multicouche où chaque neurone a des relations avec un nombre réduit et localisé de neurones de la couche avale.INFO6517 . Introduction Comportement. Ceci nous permet d’introduire la notion de sens de parcours de l’information et donc de définir les concepts de neurone d’entrée. neurone caché et neurone de sortie.

7/58 - Automne 2009 . 5 – Réseau multicouche..Réseaux de neurones I. Éric Hervet .INFO6517 . Réseau à connexions complètes Chaque neurone est connecté à tous les neurones du réseau. Introduction F IG . F IG . 6 – Réseau à connexions locales. 7 – Réseau à connexions récurrentes. F IG .

INFO6517 . Fonctionnement.8/58 - Automne 2009 . 8 – Réseau à connexions complètes. les poids sont fixes) : un Perceptron ne peut traiter que des problèmes dits linéairement séparables. La figure 10 montre le comportement d’un réseau de neurones multicouche en phase de reconnaissance.Réseaux de neurones I. Introduction F IG . Éric Hervet . On suppose des images binaires de dimension 361 (19 × 19). Réseau multicouches en association Le comportement collectif d’un ensemble de neurones permet de simuler des fonctions d’ordre supérieur par rapport à la fonction élémentaire du neurone.. 9 – Structure et comportement d’un Perceptron. Perceptron Commençons par montrer le fonctionnement d’un seul neurone en phase d’utilisation (l’apprentissage ayant été réalisé au préalable. F IG .

Remarque : les neurones de la couche cachée n’ont pas une signification physique (contrairement à ceux des couches d’entrée et de sortie). on répète le même processus pour les 361 neurones de la couche de sortie. Il reste ensuite à interpréter les 361 valeurs d’activation de la couche de sortie. En tout il y a 2 ∗ (361 ∗ 25) = 18050 connexions dans le réseau. Introduction Chaque neurone de la couche d’entrée a son niveau d’activation à 0 ou 1 selon la valeur du pixel correspondant.INFO6517 . F IG .9/58 - Automne 2009 . Tous les calculs sont effectués en parallèle et indépendamment pour tous les neurones (ici 25) de la couche cachée. Chaque neurone de la couche cachée est un Perceptron à 361 entrées. Chaque neurone caché calcule la somme pondérée de ses entrées puis seuille la valeur obtenue. Lorsque le vecteur d’activation de la couche cachée est connu. On réalise l’opération inverse du codage initial : on associe un pixel noir à un neurone de sortie ayant une valeur d’activation égale à 1 et un pixel blanc dans le cas contraire. Éric Hervet . 10 – Phase de reconnaissance d’un réseau de neurones multicouche..Réseaux de neurones I.

. La figure 11 montre l’évolution temporelle d’un réseau à connexions complètes sur une période de trois cycles. Introduction Lorsque les neurones ont une fonction de transfert continue. Cette propriété est désignée sous le terme de résistance aux pannes. 11 – Évolution des vecteurs d’activation d’un réseau à connexions complètes sur une période de trois cycles. chaque neurone recalcule indépendamment et en parallèle son état. donc chaque neurone reçoit 361 valeurs et envoie sa sortie à 361 neurones. La dégradation du comportement est fonction de la quantité d’éléments détruits. La disparition d’un ou plusieurs neurones ou connexions ne provoque pas une rupture brutale du traitement. F IG . D’un instant à l’autre. Réseau à connexions complètes Chaque vecteur d’activation représente la réponse du réseau à une date particulière. Éric Hervet . La matrice des poids contient donc 361 ∗ 361 = 130321 valeurs.10/58 - Automne 2009 .INFO6517 . Conclusion.Réseaux de neurones I. Chaque neurone est connecté à tous les autres. on peut étendre l’application à des images en niveaux de gris et associer arbitrairement à chaque niveau de gris une valeur d’activation du neurone correspondant.

Kohonen. alors la force de la connection augmente. Algorithme : 1. » Dans la plupart des algorithmes d’apprentissage. « Si deux cellules sont activées en même temps. . en ) de la base d’apprentissage. Le plus souvent il est impossible de décider a priori des valeurs des poids des connexions d’un réseau de neurones pour une application donnée. etc. Les poids sont donc modifiés à chaque itération pour adapter la réponse obtenue à la réponse désirée (seulement lorsqu’il y a erreur). .) : on présente des entrées au réseau et on le laisse évoluer jusqu’à ce qu’il se stabilise. les variables modifiées lors de l’apprentissage sont les poids des connexions. Initialisation des poids wi et du seuil S à des valeurs (petites) choisies aléatoirement. Apprentissage Définition. Présentation d’une entrée E1 = (e1 ..6. les poids sont fixés : on peut alors passer à la phase d’utilisation. Éric Hervet . .11/58 - Automne 2009 . sortie)). Apprentissage non supervisé (réseaux de Hopfield. « L’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré. Loi de Hebb (apprentissage supervisé). Introduction I. » La loi de Hebb peut être modélisée par les équations suivantes : wij (t + 1) = wij (t) + ∂wij (t) ∂wij (t) = xixj (1) (2) où ∂wij (t) représente la coactivité. Il existe deux grandes classes d’apprentissage : Apprentissage supervisé : on présente des entrées au réseau de neurones puis on compare les sorties obtenues aux sorties désirées (base d’apprentissage de couples (entrées. . L’apprentissage neuronal fait appel à des exemples de comportement.INFO6517 . Une fois l’apprentissage fini. 2.Réseaux de neurones I.

L’algorithme est semblable à la loi de Hebb mais tient compte de l’erreur observée en sortie. Si la sortie x est différente de la sortie désirée d1. retour à l’étape 2. d1 − x représente une estimation de l’erreur. en ) de la base d’apprentissage.. alors modification des poids : ′ wi = wi + µei d1 (µ constante). Exemples d’application. 4.Réseaux de neurones I. Tant que tous les couples de la base d’apprentissage ne sont pas traités correctement. Tant que tous les couples de la base d’apprentissage ne sont pas traités correctement. Algorithme : 1. n 3. .12/58 - Automne 2009 . Présentation d’une entrée E1 = (e1 . . 2. 5. Si la sortie x est différente de la sortie désirée d1. . Exemple d’application. retour à l’étape 2. Introduction 3.INFO6517 . 5. 4. Règle d’apprentissage du perceptron (apprentissage supervisé). . Calcul de la sortie x obtenue pour l’entrée E1 : n a= i=1 wi ei − S puis x = signe(a) (si a > 0 alors x = +1 sinon (a ≤ 0) x = −1). alors modification des poids : ′ wi = wi + µei (d1 − x) (µ constante). Calcul de la sortie x obtenue pour l’entrée E1 : a = i=1 wiei − S puis x = signe(a) (si a > 0 alors x = +1 sinon (a ≤ 0) x = −1). Initialisation des poids wi et du seuil S à des valeurs (petites) choisies aléatoirement. Éric Hervet .

Ei où W est une matrice de poids de dimensions n × p. . . . Fonctionnement. n neurones sur la couche d’entrée. .Réseaux de neurones I.INFO6517 . Donc np poids entre la couche d’entrée et la couche de sortie. . N ). p neurones sur la couche de sortie. il faut fournir tout ou partie de l’information mémorisée. À chaque vecteur Ei de dimension n (Ei1 . . Structure neuronale : tous les perceptrons sont alimentés par les mêmes entrées. Dans les mémoires auto-associatives. . . Ces mémoires sont donc principalement utilisées pour la reconstruction de données : l’utilisateur fournit une information partielle que le système complète. il faut fournir une autre information. . Ei2 . Éric Hervet . Mémoires associatives Les mémoires associatives ont été proposées par plusieurs auteurs dès 1977 dont T. La relation entre Ei et Si est linéaire : Si = W.. F IG . Introduction I. 12 – Structure d’une mémoire associative. Sip ). Kohonen. Le terme “mémoire” fait référence à la fonction de stockage de l’information dans un réseau tandis que “associative” concerne le mode d’adressage (mémoire adressable par le contenu).7. . Si2 . Pour accéder à une information mémorisée au préalable. On a donc N équations matricielles de ce type si N est le nombre d’exemples dans la base d’apprentissage (i = 1. . Ein ) est associé un vecteur de sortie Si de dimension p (Si1 . .13/58 - Automne 2009 .

Fonctionnement. I. Applications.8. . Les applications utilisant les cartes auto-organisatrices sont nombreuses : diagnostic de pannes. Une entrée Ek est appliquée aux neurones d’entrée et en même temps on force les valeurs des neurones de sortie à Sk .Ek où Ek est le transposé du vecteur Ek .14/58 - Automne 2009 . à l’issue de l’apprentissage. Les poids sont modifiés de la même manière que pour la loi de Hebb. si la matrice des poids W est initialement nulle. 4. À la fin de l’apprentissage. Lorsqu’une entrée est présentée au réseau. Structure. par itérations sur les N exemples de la base d’apprentissage. le neurone le plus “proche” (minimisation d’une “distance”) de l’entrée est activé. Éric Hervet . Chaque neurone Nk est connecté à n entrées et chaque connexion a un poids wi . Les poids de chaque connexion sont alors modifiés selon la coactivité du neurone afférent (entrée) et du neurone efférent (sortie). caractères. compression d’images. La compétition entre neurones est réalisée grâce à des connections latérales inhibitrices. L’apprentissage est de type supervisé. Cartes auto-organisatrices Les cartes auto-organisatrices font partie de la classe des réseaux à compétition : généralement un seul neurone de sortie est activé pour une entrée donnée. etc. robotique. Cela permet de faire de la classification ou de la reconnaissance de formes. alors : N W = k=1 T T Sk . Introduction Apprentissage. La figure 13 montre un réseau organisé en une couche à deux dimensions. . : n = 9 × 7 = 63 pixels en entrée pour représenter Nc = 3.Réseaux de neurones I. .INFO6517 . Reconnaissance de caractères. Il existe aussi des connections latérales de poids fixes. Intéressant : tester la tolérance aux erreurs en proposant. des caractères “abîmés”.. excitatrices dans un proche voisinage. p = Nc sorties (chaque sortie valant 0 ou 1) pour déterminer quel caractère parmi les Nc a été reconnu. Ex.

Apprentissage.INFO6517 . Introduction F IG . L’algorithme est le suivant dans le cas de vecteurs d’entrée à deux composantes : 1. Sélection du neurone le plus proche i : dopt = Min(dk ). 5.Réseaux de neurones I. Éric Hervet . Initialisation des poids à des valeurs aléatoires. La loi de modification des poids de connections (poids synaptiques) est dérivée de celle de Hebb.. Tant que les performances sont insuffisantes. retour à l’étape 2 et sélection de l’exemple suivant dans la base d’apprentissage. e2 ). Présentation d’une entrée E1 = (e1. 2. 3. 13 – Carte auto-organisatrice en deux dimensions. dk = |wk1 − e1 | + |wk2 − e2 |. 4. 6. Modification des poids pour le neurone i et ses quatre plus proches voisins j : ′ wi1 = wi1 + µ(e1 − wi1 ) ′ wj1 = wj1 + β(e1 − wj1 ) ′ wi2 = wi2 + µ(e2 − wi2 ) ′ wj2 = wj2 + β(e2 − wj2 ) (µ et β sont des paramètres constants respectivement pour le neurone i et ses voisins j). Calcul de la distance de chaque neurone Nk par rapport à E1 : Par ex.15/58 - Automne 2009 .

Introduction Les cartes auto-organisatrices ont une justification biologique (existence de cartes somatotopiques dans les cortex moteur et sensoriel. Compression d’images. La partie motrice est réalisée grâce à une couche de 3 Perceptrons (recevant une entrée de chaque neurone de la carte) dont les sorties pilotent les moteurs du robot (Fig.. Robotique. Applications. Objectif : construire un réseau de neurones mémorisant les blocs les plus fréquents de l’image (sorte de dictionnaire). Il existe deux types de compression : sans perte (lossless. où chaque partie du corps est représentée selon sa sensibilité sensorielle ou sa précision motrice).16/58 - Automne 2009 . F IG . Objectif : mettre en correspondance l’espace cartésien de l’opérateur humain (espace 3D) avec l’espace du robot (coordonnées de ses axes en valeurs angulaires) possédant un bras articulé selon 3 angles. 14 – Architecture de Neurobot. irréversible).Réseaux de neurones I. réversible) ou avec perte (lossy. La partie sensorielle du système est réalisée par une carte auto-organisatrice n × n (généralement plusieurs centaines) avec 6 entrées pour chaque neurone (3 coordonnées cartésiennes et 3 coordonnées angulaires).INFO6517 . 14). Les performances de comÉric Hervet .

de nombreux blocs sont identiques ou peu différents. La quantification vectorielle met en correspondance un ensemble de vecteurs d’entrée avec un ensemble de vecteurs de sortie. Chaque pixel peut être codé par exemple par les composantes RVB (rouge.Réseaux de neurones I. Le dictionnaire est composé des blocs les plus représentatifs de l’image (1). l’image est décodée (reconstituée) (4). la carte sélectionne pour un bloc de l’image qui lui est présenté le numéro du mot du dictionnaire le plus proche (2). Introduction pression sont généralement mesurées par MSE (Mean Square Error) qui représente la différence entre l’image originale et l’image compressée : erreurs2 ou bien erreurs2 /pixels. Puis ce numéro de vecteurs est transmis sur un canal (3).INFO6517 . Tous les échantillons d’une région (blocs similaires) sont représentés par un seul code.bleu). Le nombre de mots du dictionnaire est égal à la taille du réseau (nombre de neurones).vert. Une carte auto-organisatrice peut-être utilisée pour réaliser la quantification vectorielle (Fig. Ce code est un index du dictionnaire qui est donc composé des blocs les plus fréquents de l’image. Enfin.17/58 - Automne 2009 . Ensuite. La quantification vectorielle consiste à découper l’image en blocs de pixels. Éric Hervet . qui forment les “mots” du dictionnaire. 15).. La compression utilise le fait qu’à l’intérieur d’une image.

Le réseau s’adapte à chaque nouvelle entrée en construisant de nouvelles classes (ajout de neurones) et en essayant de conserver les informations déjà mémorisées.INFO6517 . Éric Hervet . Réseaux à achitecture évolutive : ART (Adaptive Resonance Theory) Modèles développés en 1987 par Carpenter et Grossberg. I.. ART2. ART1 est un réseau à entrées binaires.9.18/58 - Automne 2009 . Phase d’apprentissage et phase d’utilisation sont réalisées simultanément.Réseaux de neurones I. ART3. Introduction F IG . Il existe plusieurs versions de réseaux : ART1. 15 – Quantification vectorielle par carte auto-organisatrice.

10. F IG . on peut utiliser l’algorithme d’apprentissage du Perceptron. Introduction I. Le principe général consiste à minimiser une fonction dépendante de l’erreur.Réseaux de neurones I. Intuitivement. les réseaux multicouches sont les modèles les plus utilisés.19/58 - Automne 2009 . Réseaux multicouches Depuis 1985.. Pour la couche de sortie. c’est-à-dire possédant une fonction de transfert s = f (e) continue et différentiable. La minimisation du gradient permet de parcourir la surface orthogonalement aux courbes de niveau avec un pas fixé. 16 – Recherche d’un coût minimal dans l’espace de configuration des poids d’un réseau de neurones multicouches. Plusieurs couches de neurones permettent de réaliser des associations non linéaires entre l’entrée et la sortie (ex. À chaque configuration des poids correspond un coût. Généralement on considère la sigmoïde : 1 (3) f (x) = 1 + e−λx Éric Hervet . Algorithme d’apprentissage supervisé dans le cas de neurones continus. : ou exclusif XOR). 16).INFO6517 . cela revient à rechercher un coût minimal sur une surface de coût (Fig. Mais pour les couches internes ? Solution : la rétropropagation du gradient (gradient backpropagation). La difficulté principale de l’apprentissage réside dans l’obtention de minima locaux au lieu du minimum global.

yi . d)1 de la base d’apprentissage et présentation de l’entrée e aux neurones de la couche d’entrée. 3. 5.. Introduction où λ représente la pente de la sigmoïde.12. S’il y a erreur en sortie. alors yi = 2. Connectionnisme et applications I. 4. alors pour tous les neurones i : Si i est un neurone de sortie.20/58 - Automne 2009 . 2.j = wi. Calcul par propagation de la sortie obtenue o.f ′(ai ). Si i est un neurone caché ou d’entrée. alors yi = 2. Application de la rétropropagation du gradient : ′ wi. I. Initialisation des poids à des valeurs aléatoires faibles.f ′(ai ).j + µ.i. Tant que l’erreur est trop élevée. Application en RCM (Reconnaissance de Caractères Manuscrits) Éric Hervet .yk ) où k désigne l’ensemble des neurones compris entre la couche courante et la couche de sortie.xj (µ constante). 1. Sélection d’un exemple (e.11. k (wk. retour à l’étape 2 (exemple suivant). 6.INFO6517 .Réseaux de neurones I.(di − xi).

Réseaux de neurones II.y >= x . Produits scalaires et vectoriels Produit scalaire de deux vecteurs de même dimension n. ..yi Éric Hervet ...n ou bien A = (a1 a2 . A = (aij )i=1.INFO6517 . rang(A) = nombre de colonnes linéairement indépendantes de A.y = y .yi Généralisation du produit scalaire : n n < x.. alors A est inversible et tout vecteur de Rn peut s’écrire comme une combinaison linéaire des colonnes de A (qui forment une base de Rn ).. Quelques rappels mathématiques II... j=1. an ) Linéarité..1. Quelques rappels mathématiques II.x = i=1 j=1 T T xi.Rij .ak avec A : m × n..R. Si A est carrée (n × n) de rang n. II.21/58 - Automne 2009 .y = y .x = i=1 T T xi .x ou bien n y = k=1 xk . représente une transformation linéaire de l’espace Rn vers l’espace Rm Rang d’une matrice.m.R. n < x. Matrices et vecteurs Notations. x : n × 1 et y : m × 1. Matrice A de dimensions m × n. y >= x .2. R. y = A. .

j = 1. Propriété : le produit scalaire est linéaire : < αx1 + β x2. x x + y ≤ x + y .. y >= α < x1 .3. . . . Ex. .x >.y T = P avec Pij = xixj . 1 Norme-p : x p = (|x1 |p + . Dérivation (différentiation) matricielle et vectorielle Fonction scalaire de n variables. Si < x.Réseaux de neurones II. y >. . i = 1. x Propriété : Ax ≤ A . II. y > +β < x2. R. Mesures de similarité (“distances”). . p = ∞ : norme infinie : x ∞ = max(|xi|). . x > = i=1 x2 . αx = |α|. . y >= 0. + |xn|p ) p . : A = max A.x . Norme matricielle. m. ( x − y ). p = 2 : on retrouve la norme euclidienne. ∂f (x) ∂xn ∇xf s’appelle le gradient de la fonction f et représente la direction de la plus grande pente de f . Application des normes : mesurer des “ressemblances” entre vecteurs. . y <= x. . > x. n. Propriétés : x > 0 si x = 0.INFO6517 . n. x . . .  ∂f (x)  df (x)  = dx ∂x1 . Norme euclidienne d’un vecteur : x = √ 2 R n < x. on dit que x et y sont orthogonaux. x = 0.22/58 -   = ∇xf = gradx f Automne 2009 . Éric Hervet . Quelques rappels mathématiques Produit vectoriel de deux vecteurs pouvant être de dimensions différentes. . . i = 1. . . Soit f (x) une fonction scalaire de n variables xi. i Norme non euclidienne (pondérée) : x =< x.

f (x + ∆x) ≃ f (x) + (∇xf )T .. A.A.. Ψ(x. df (x)  ..x) = A . x : m × 1 et y : n × 1 Questions : Si A et y sont connus. existe-t-il une matrice qui satisfait autant d’équations ? Éric Hervet . ∂y Utilisation du gradient. alors f (Φ(x. dx ∂fm ∂x1 . Quelques rappels mathématiques Fonction vectorielle de n variables.Réseaux de neurones II. y).x = y avec A : n × m. y) et v = Ψ(x. y). ..y d T T dx (x .23/58 - Automne 2009 . ∂x ∂f ∂Φ ∂Φ . .A. .  ∂f1 ∂x1 ∂f1 ∂xn ∂fm ∂xn Jx(f ) s’appelle le Jacobien de f . peut-on trouver au moins un x satisfaisant l’équation ? Étant donnés plusieurs couples (x. v) est une fonction différentiable par rapport à u et v. y)) est une fonction différentiable par rapport à x et y et : ∂f ∂x ∂f ∂y = = ∂f ∂Φ ∂Φ . Matrice pseudo-inverse Problème posé. à valeur dans Rm .x . .∆x II.  . =  .INFO6517 . x  Dérivation en chaîne. y) sont des fonctions différentiables par rapport à x et y.x) = (A + A ).. si f (u. Quelques propriétés : d dx (A. ∂Ψ ∂x ∂f ∂Ψ + ∂Ψ . ∂y ∂f + ∂Ψ .  = J (f ) .4.x) = A d T T dx (y . Si u = Φ(x. .

Propriétés : A. Dans ce cas on peut ajouter d’autres contraintes.A = A A† . plusieurs cas sont possibles : on utilise la matrice pseudo-inverse de A.x puis on applique un algorithme pour minimiser e en fonction de x. A† est n × m. Si A est m × n. Valeurs et vecteurs propres Définition.A† Si A est de rang maximal. Plusieurs solutions (généralement une infinité) x existent. Soit A une matrice carrée n × n.A. Projection d’espace sur un autre.e. dx Interprétation géométrique. Généralement on ne peut pas satisfaire l’équation pour tout y.5.x = λ.A† = A† (A.I) . A. on dit que λ est une valeur propre de A et le x correspondant un vecteur propre associé à λ.A†. II. Souvent on définit J = eT .x = 0 (I matrice identité).AT .24/58 - Automne 2009 .e (scalaire) et on cherche son minimum en résolvant l’équation dJ = 0. Quelques rappels mathématiques Réponses : Si A est (carrée) inversible : trivial.x a la même direction que x mais ˆ ˆ ˆ ˆ ˆ peut avoir une longueur et/ou un sens différents).A†)T = A. Dans ce cas on définit une erreur vectorielle : e(x) = y − A.x est sur-déterminé si m > n (“plus d’équations que d’inconnues”). Système indéterminé. par exemple le x ayant la plus petite norme.A)−1.x = λ.x (i. notée A† . A† = (AT .x peut s’écrire aussi (A − λ..Réseaux de neurones II. Système sur-déterminé. ˆ A. y = A. ˆ ˆ ˆ Éric Hervet . Si A est carrée et de rang < à n ou si A n’est pas carrée.INFO6517 . Si pour certains x non nuls on a A.

Matrice modale.ei ∀i = 1.A. . alors : A n’a que des valeurs propres réelles et une matrice Λ diagonale. . .  2 A.INFO6517 . + an−1 λ1 + an . λn Si chaque λi est unique. .M (diagonalisation de A). en sont les vecteurs propres de A. .Λ. Or A. Quelques rappels mathématiques Polynôme caractéristique d’une matrice.. . Hyperplans L’équation d’un hyperplan dans un espace Rn est < w. x >= wT .I| = λn + a1 . . . . valeurs et vecteurs propres. Interprétation et visualisation Régions de décision (classification).x − k = 0 si x ∈ H   < 0 si x ∈ R n . II.  ... Si e1 . . .   . éventuellement dans l’hyperplan. . . . les ei sont linéairement indépendants et M est inversible.M −1 ou Λ = M −1 . P (λ) = 0 a n solutions (pas forcément uniques et toutes réelles) qu’on appelle valeurs propres de A et les vecteurs correspondants sont appelés vecteurs propres.   > 0 si x ∈ Rp  T w . 0 . .ei = λi .x = k où w est le vecteur normal à l’hyperplan et k une constante. Propriétés : si A est (réelle) symétrique. . 0  0 λ . . en ). . . . . . . .Réseaux de neurones II.λn−1 + . n donc :   λ1 0 . A = M. . Région de décision Pour un x quelconque de Rn . on appelle matrice modale de A la matrice M = (e1 . Les vecteurs propres forment un ensemble de vecteurs orthogonaux . .M = M.25/58 - Éric Hervet Automne 2009 .  . on peut décider de quel côté d’un hyperplan il se trouve.Λ où Λ =  . On appelle polynôme caractéristique d’une matrice A n × n le déterminant P (λ) = |A − λ. alors M −1 = M T . . .6. si on les normalise.

..n..W. Si w11 = 0.I.R. R.x + w0 = 0 Si W est définie positive : surface hyperellipsoïdale dont les axes ont mêmes directions que les vecteurs propres de W .n avec wij = ¯ ¯ 1 si i = j 2 wij   w1  .x2 + w0 = 0 1 2 Cas particuliers : Si w11 = w22 = w12 = 0 : droite.  et vecteur w =  . Si w11 = w22 = 1 et w12 = w1 = w2 = 0 : cercle.xi. Les (n+1)(n+2) coefficients de l’équation (4) peuvent s’exprimer sous forme ma2 tricielle et vectorielle : wii si i = j Matrice W = (wij )i=1. : une hypersphère de rayon R est définie par l’ensemble des x tels que : < x.x1 + w2...x2 i i=1 + i=1 j=i+1 wij .xj + i=1 wi . x >≤ R.x2 + w22x2 + w12..Réseaux de neurones II.INFO6517 . wn L’équation (4) peut alors se réécrire : xT .x = T i=1 j=1 rij ... Si w11 = w12 = w2 = 0 : parabole. Sinon : hyperhyperboloïde ! Éric Hervet .xj et xi et définit une forme quadratique.xi + w0 = 0 (4) En dimension 2 : w11.. w11 = 0 et w12 = w1 = w2 = 0 : ellipse. .x + wT .x >= x . Si W est semi-définie positive : cylindre hyperellipsoïdal. .xi.26/58 - Automne 2009 . Si W = k. j=1. Ex. i xi.x2 + w1 . k > 0 : surface hypersphérique. Quelques rappels mathématiques n n Formes quadratiques Q =< x.xj est un polynôme avec des termes en x2.x1. Surfaces quadratiques n n−1 n n wii. w22 = 0.

e.AT . 3. 1. i2. E(x) = xT . On définit e = A.x = y sur-déterminé.W. Retourner en 2.27/58 - Automne 2009 .e . On essaye d’atteindre un minimum (ou un maximum) de f en calculant par itération la valeur du gradient de f (∇xf ) et en ajustant x jusqu’à convergence. .Réseaux de neurones III. e >= eT .A.x + y T . . .INFO6517 .7. Ajuster x0 pour obtenir x en prenant la direction opposée au gradient : df (x0) 1 0 x = x − K.AT . .x − y. une seule sortie net qui est la somme pondérée des entrées : n net(i) = k=1 Éric Hervet wk ik = < w. puis ∇xE(x) = . Calculer ∇xf en x0 i. Application : résolution d’un système linéaire A. . Si xT .A.e. W est dite semi-définie positive. i > . 1 4. .AT .∇xE(xn).x > 0 ∀x = 0. W est dite définie positive.x = y par ˆ itérations en utilisant la formule : xn+1 = xn − µ(n). tant que xn+1 − xn n’est pas assez “petit”. in) (chacune pondérée par wk ).W. dx df (x0 ) dx . . Neurones élémentaires Rappels : Si xT . puis avec l’agorithme précédent on calcule un x optimal pour l’équation A.y.x ≥ 0 ∀x = 0. Optimisation Algorithme de plus grande pente du gradient. ˆ ˆ ˆ III. II.y − y T . 2. Partir d’une solution initiale x0. Modèles linéaires Plusieurs entrées i(i1. . = 2.x − xT .. puis E = e 2 =< e. Neurones élémentaires III.1.

I : somme des entrées excitatrices (poids < 0).3. net(i) réalise une classification binaire par rapport à l’hyperplan d’équation : wT . III. o(net) = Sigmoïde lente.. Généralisation net(i) = wT .28/58 - 0 si net > S 1 si net ≥ S 1 1 + e−net net 1 + |net| Automne 2009 . 1943).INFO6517 . Fonctions d’activation Exemples de sorties (outputs) : Seuillage.2. Éric Hervet . Neurones élémentaires Cas particulier : le Perceptron (entrées et sorties binaires).x + w0 = 0. La sortie (binaire) d’un neurone MP est donnée selon la table suivante : E≤T I =0 1 E≤T I >0 0 E<T I =0 0 E<T I >0 0 III... o(net) = .Réseaux de neurones III. o = Fonction sigmoïde. Modèles non linéaires Exemple : le modèle MP (Mc Culloch & Pitts. S : seuil.i + w0 relation linéaire. E : somme des entrées excitatrices (poids > 0).

Neurones élémentaires III..29/58 - ˆ iT 1 ˆ iT 2 . Soit : w = ˆ ik = Alors l’équation 5 peut se réécrire : ˆ iT ..w > 0 <0 si ik ∈ H1 si ik ∈ H2 avec A matrice de dimension n × (d + 1) :    A =    . .ik − w0 > 0 si ik ∈ H1 (5) (6) (7) < 0 si ik ∈ H2 H12 est donc caractérisé par d + 1 paramètres : les d composantes de w12 et w0. T iˆ n       Automne 2009 Éric Hervet .Réseaux de neurones III. Question : comment calculer l’hyperplan de séparation (caractérisé par les poids du perceptron) pour un problème donné ? Problème de programmation linéaire .. En pratique. Propriétés du perceptron Propriété de séparabilité linéaire (en 2 classes par un hyperplan).4..INFO6517 . Base d’apprentissage H = ik k=1. on essaye de se ramener à la résolution d’un système du type Ax = b : partitionnable en deux classes H1 et H2. .n Objectif : déterminer un hyperplan caractérisé par w12 et w0 tels que : w12T ..w > 0 si ik ∈ H1 k < 0 si ik ∈ H2 w12 w0 ik −1 ou encore A. . .

Sinon il faut un réseau de neurones. on a toujours ip = 1. Neurones élémentaires La résolution du système A. Modèle linéaire de l’Adaline Adaptive Linear Combiner Structure Algorithme On dispose d’une base d’apprentissage H = d’échantillons. ip  dp étant connus. Pour des entrées bipolaires (−1 ou 1).ek .INFO6517 . d p p=1.ip   < 0 si dp < w T ..30/58 - Automne 2009 .N où N est le nombre Puis  on corrige :  ∆ek = 0 si ek = 0  ∆ek > 0 si ek < 0   ∆e < 0 si e > 0 k k Par exemple : T (ip ) ...ip  ek = 0 si dp = wk T . j Éric Hervet . ip 2 . d’où l’ajustement des poids : ∆wk = α. on peut rendre le problème séparable. ip ip 2 . III.ek .ip k ip ...w > 0 (ou < 0) est typiquement un un problème de programmation linéaire. on observe : et  > 0 si dp > wk T . Question : et si le problème n’est pas linéairement séparable ? Parfois en ajoutant une entrée supplémentaire fonction des autres. aucun poids n’est changé lorsque ip = 0. Pour des entrées binaires (0 ou 1).5.ip ∆ek = −α. On définit l’erreur linéaire ek = dp − wk T .ip où les wk représentent les poids courants à l’itération k.Réseaux de neurones III.

Lien avec la psychologie (James. combien de neurones par couche ? Algorithmes d’apprentissage plus complexes et plus rares. “Total recall” (mémorisation totale) : toutes les entrées doivent être excitées exactement de la même manière pour obtenir une même sortie. d’autres pas du tout : les poids varient avec le temps. Problèmes. Combien de couches. Perceptrons multicouches Capables d’implémenter des classifications non linéaires (exemple : fonction binaire XOR)..INFO6517 . alors ils sont corrélés (base de l’apprentissage de Hebb). “Partial recall” (mémorisation partielle) : certaines entrées sont activées plus fortement. Application des perceptrons en reconnaissance de motifs IV. Application des perceptrons en reconnaissance de motifs III. 1890) si deux processus cérébraux élémentaires sont toujours activés en même temps ou dans une succession très rapprochée. IV. d’autres plus faiblement. Bonne tolérance aux erreurs (ex.31/58 - Automne 2009 .2. RN “associeurs” de motifs Propriétés souhaitées. Réseau hétéro-corrélateur ou hétéro-associatif : le RN catégorise chaque entrée dans les classes qu’il a apprises. : caractères “abîmés”). IV. le RN ressort le motif le plus ressemblant.1.Réseaux de neurones IV. Capacité de reconnaître un nombre “raisonnable” de motifs. Réseau auto-corrélateur : à chaque entrée présentée. Éric Hervet . Bonne discrimination même si la base d’apprentissage est grande.6.

n où wpj représente le poids de l’entrée ij vers le neurone p (n entrées.2.Réseaux de neurones IV. . oi = fi j wij ij . . m j = 1. sN ou bien W. . . s1 s2 . Alors : W. .3. . m neurones dans la couche). .. T ) avec S = s1 s2 . = r1 r2 . tN . . .3. . et R = t1 t2 . Réseaux de neurones linéaires et apprentissage IV. S : n × N . sortie). . Apprentissage On suppose qu’on a une base d’apprentissage (S. .S = R avec W : m × n. rN IV. . Chaque entrée est reliée à tous les neurones de la couche. R matrice m × N des réponses souhaitées (targets). i = 1.32/58 - Automne 2009 . Notation matricielle : o = Wi avec W matrice m × n. sN . . Réseau monocouche linéaire Hypothèses.3.INFO6517 . R : m × N . Chaque neurone est indépendant des autres et peut avoir une fonction d’activation différente des autres.1. . Application des perceptrons en reconnaissance de motifs IV. S matrice n × N des stimuli (entrées). . Éric Hervet . Supposons qu’on a une base d’apprentissage avec N couples (entrée.

Exemples Réseau de neurones monocouche reconnaisseur de caractères (mémoire hétéroassociative). . Phase d’utilisation : une entrée non apprise donne lieu à une réponse interpolative.3. Phase d’apprentissage : neurone par neurone. .Réseaux de neurones IV. Réseau de neurones détecteur 2-de-3 (sortie active lorsqu’au moins 2 entrées sur 3 sont actives) : on vérifie facilement que c’est un problème linéairement séparable.33/58 - Automne 2009 . Éric Hervet . IV. IV.INFO6517 .e. Apprentissage de Hebb Matrice des poids calculée très simplement : N W = i=1 ri si T Méthode simple mais ne marche pas dans tous les cas (i. En pratique il est souvent plus facile de résoudre m systèmes linéaires S T wi T = ri T i = 1. N = 8.3. les poids calculés ne répondent pas au problème).4.. . m où wi est le vecteur n × 1 des poids pour le i-ème neurone et ri est le vecteur N × 1 des réponses désirées pour le i-ème neurone.3. . n = 3. Application des perceptrons en reconnaissance de motifs En théorie il faut résoudre : S T W T = RT où W est la matrice m × n des poids (qu’on cherche à calculer). m = 1.

Règle Delta Pour un RN à 2 couches (aucune couche cachée). Notation pour un RN à 3 couches : I ×H ×O ou I/H/O avec la supposition par défaut que chaque couche est totalement connectée à la suivante.1.). On suppose qu’il y a des connections seulement d’une couche vers la couche suivante : direction implicite de propagation. Appliquer une entrée (un stimulus) en entrée du réseau. Propager l’information pour calculer la sortie du réseau. 2. 5. Réseaux de neurones multicouches et apprentissage V.2. Comparer la sortie obtenue à celle désirée (target).34/58 - Automne 2009 ..INFO6517 . mais sérialisation à travers l’ensemble des couches. Éric Hervet . Couches internes : dites aussi couches cachées. Calculer et propager une mesure d’erreur “en arrière” (back-propagation algorithm) pour ajuster les valeurs des poids. Minimiser l’erreur globale en effectuant des corrections de poids à chaque itération (retour en 2. 1.Réseaux de neurones V. Architectures de RN multicouches Problème : pour résoudre un problème donné. 6. quelle architecture est la plus appropriée ? Nombre de couches ? Nombre de neurones par couche ? Nombre d’échantillons ? Algorithme d’apprentissage ? Ici : classe particulière des RN “en avant” (FeedForward Neural Networks) Première couche : couche d’entrée. Parallélisme au niveau de chaque couche. celle qui reçoit les stimuli externes. V. Basée sur l’algorithme de plus grande pente du gradient (apprentissage supervisé). 3. 4. Réseaux de neurones multicouches et apprentissage V. Initialiser tous les poids du réseau.

j On peut noter ep = tp − op l’erreur du j-ème neurone de sortie à l’itération p et j j j p p p p ′ δj = (tj − oj ). w le vecteur des poids. p En pratique il arrive donc assez souvent que la correction δj soit faible malgré un ǫ et une erreur grands. f ′ j(netp ) est la dérivée de la fonction d’activation du neurone j. les ajustements sont faibles aussi..35/58 - Automne 2009 .f j(netj ). j p Également.INFO6517 . t le vecteur des sorties désirées (targets). op ˜i Remarques Si ip = 0 (par exemple pour des entrées binaires). wji poids de la connection du neurone i vers le neurone j. Réseaux de neurones multicouches et apprentissage Notations et formules générales (RN à 2 couches). où : Dans le cas d’une fonction de transfert sigmoïde. i = ii si i est un neurone d’entrée. même si ep = 0. Ajustement des poids à l’itération p (tant que non convergence) : ∆pwji = ǫ tp − op fj′ (netp)˜p j oi j j op si i est un neurone caché ou de sortie.Réseaux de neurones V. alors aucune correction n’est j apportée au poids wji.(1 − oj ). si f ′j(netj ) est faible. Éric Hervet . on montre que f ′ j(netj ) = oj . i le vecteur des entrées. o le vecteur des sorties.

INFO6517 - Réseaux de neurones

V.. Réseaux de neurones multicouches et apprentissage

V.3. Règle Delta Généralisée Pour les réseaux de neurones avec couches cachées. Algorithme général : 1. Présenter une entrée i de la base d’apprentissage et calculer les sorties correspondantes oi de tous les neurones. 2. Mettre à jour les poids wji des neurones de la couche de sortie (à l’itération p).

∆pwji = ǫ. tp − op .fj′ (netp).˜p j oi j j

3. Mettre à jour les poids wji des neurones cachés ou d’entrée.
p oi ∆pwji = ǫ.δj .˜p

avec
p δj = fj′ (netp) j n∈Succ(j) p δn .wnj

et

op ˜i

=

op si i est un neurone caché ou de sortie. i ii si i est un neurone d’entrée.

4. Recommencer en 1. tant que l’erreur globale subit un changement significatif.

Éléments à prendre en considération. Choix des poids initiaux pour ne pas converger vers un minimum local ? Choix de ǫ (taux d’apprentissage) ? Connections entre couches non adjacentes ? ? ...
Éric Hervet
- 36/58 -

Automne 2009

INFO6517 - Réseaux de neurones

VI.. “FeedForward Neural Networks” - Extensions et notions avancées

VI. “FeedForward Neural Networks” - Extensions et notions avancées VI.1. RN pour la reconnaissance de motifs Généralisation : capacité de reconnaître “correctement” des motifs non appris. Mémorisation (les poids sont de l’information mise en mémoire). Utilisation d’autres normes que la norme L2 . Minimisation de RN. Autres approches d’apprentissage : Algorithmes génétiques, stochastiques. RDG étendue. Apprentissage avec des fonctions d’activation non différentiables.
VI.1.1. Existence vs réalisation

Questions initiales : S’il existe une solution à un problème donné, existe-t’il un algorithme d’apprentissage capable de la trouver ? En un temps fini ? En un nombre fini de ressources ? S’il existe plusieurs solutions, laquelle va trouver l’algorithme ?

Problèmes d’imprécision : Seuil d’erreur dans l’algorithme d’apprentissage. Nombre insuffisant de neurones cachés. Représentation incorrecte de i et/ou o. Apprentissage (nombre d’échantillons) insuffisant ou inadéquat.
VI.1.2. Combinaison d’algorithmes d’apprentissage

RDG étendue + algorithmes génétiques + algorithmes stochastiques.

Éric Hervet

- 37/58 -

Automne 2009

INFO6517 - Réseaux de neurones

VII.. Réseaux de Kohonen

VII. Réseaux de Kohonen T. Kohonen, 1981. Apprentissage non supervisé : Classe des réseaux de neurones artificiels compétitifs. Neurones proches : interaction positive. Neurones moins proches : interaction négative. Neurones éloignés : interaction nulle. Applications : classification, traitement d’images (analyse, compression), aide à la décision, optimisation, reconnaissance de forme (écriture, parole), commande de processus, robotique, etc. VII.1. Principe de l’apprentissage Un vecteur en entrée. Compétition entre les neurones : calcul d’une “distance” entre le vecteur d’entrée et tous les neurones. Neurone “vainqueur” : le plus “proche”. Évolution des poids synaptiques du vainqueur et de son environnement proche. VII.2. Équations d’apprentissage Règle de modification des poids.

wij (t + 1) = wij (t) + αci (t). [xi(t) − wij (t)] .
[xi(t) − wij (t)] représente une distance entre les entrées (stimuli) et les poids. Influence sur les voisins. αci (t) dépend de la distance au neurone vainqueur et du temps. Par exemple :

αci (t) = α(t).e

ci − 2 2r (t)

d

où r(t) est la distance d’un neurone voisin au vainqueur et α(t) une fonction linéaire décroissante, généralement : α(t) =
Éric Hervet

A où A et B sont des constantes. B+t
- 38/58 -

Automne 2009

Un ensemble de solutions est accessible à chaque état de l’algorithme. La hauteur de l’arbre est Éric Hervet ..4. Ce sont des problèmes dont la complexité est intrinsèquement au moins k n où k est une constante et n la taille des données. sont dits de classe NP. On peut voir les problèmes NP-complets comme des problèmes pour lesquels la recherche d’une solution consiste à parcourir un arbre qui contient l’ensemble des solutions possibles. Utilisation en reconnaissance Un vecteur en entrée. un algorithme non déterministe produit un ensemble de calculs. Tandis qu’un algorithme déterministe produit un seul calcul. Un algorithme déterministe consisterait à essayer systématiquement toutes les combinaisons.3.INFO6517 . Affectation aux classes par “comptage”. Exemple d’application Problème du voyageur de commerce (problème NP-complet). Un neurone réagit.4. VII. NP-complétude La complexité d’un problème est l’ordre de grandeur de la complexité (dans le cas pire) du meilleur algorithme connu pour le résoudre.Réseaux de neurones VII. Identification : label (de classe) associé au vainqueur. Les problèmes de classe E sont des problèmes dits exponentiels par nature. La classe des problèmes NP-complets est une sous-classe des problèmes NP. Ce sont des problèmes dits polynômiaux. Une branche de l’arbre représente une éventuelle solution.39/58 - Automne 2009 . De nombreux problèmes échappent à cette classification. Les problèmes de classe P sont des “bons problèmes” dans le sens où le calcul de leur solution est faisable dans un temps “raisonnable”. On aboutirait ainsi à une complexité exponentielle.1. non déterministes polynômiaux. Ces problèmes. On peut diviser dans un premier temps les problèmes en deux classes de complexité : les problèmes P et les problèmes E. Réseaux de Kohonen VII. Ces algorithmes introduisent la notion de choix. VII. qui n’appartiennent ni à la classe P ni à la classe E.

problème du sac à dos (knapsack problem). le nombre de branches est en 3n. La fonction à minimiser est l’énergie E du système..4. L’essai de toutes les solutions dans le cas d’un arbre ternaire de profondeur 32 mettrait environ 58 758 années.INFO6517 . VII. Par exemple. Réseaux de Kohonen polynômiale en fonction de la taille n du problème et son nombre de branches est exponentiel. Le problème de la satisfaisablité d’une formule logique est aussi NP-complet. Algorithme du recuit simulé (Simulated annealing) [Kirkpatrick. si l’arbre est binaire de profondeur n. c’est-à-dire le parcours systématique de toutes les branches.2. Ceci nous amènerait à un problème exponentiel. L’espace des solutions possibles croît exponentiellement en fonction de la profondeur de l’arbre. Chaque noeud de l’arbre correspondant à un point de choix pour une variable. Éric Hervet . alors le test pour savoir si la solution est correcte ou non a une complexité polynômiale. d’emploi du temps ou d’affectation de ressources sont des problèmes NP-complets. Exemples célèbres : problème du voyageur de commerce (Traveling salesman problem). problème de coloration de graphe (Chromatic number problem). Gelatt et Vecchi. problème du cycle hamiltonien (Hamiltonian circuit problem). Si l’arbre est ternaire de profondeur n.40/58 - Automne 2009 . 1953] Algorithme itératif (basé sur les chaînes de Markov) qui permet de trouver l’état d’équilibre d’un système thermodynamique simulé à une certaine température. Exemple : on dispose d’une machine capable d’essayer une solution chaque milliseconde. 1983] Le recuit simulé est une variante de l’algorithme de Métropolis. La seule façon d’obtenir une solution acceptable est de parcourir tout l’arbre jusqu’à trouver une solution correcte. Algorithmes classiques en optimisation combinatoire Algorithme de Métropolis [Metropolis et Hastings. alors le nombre de branches est en 2n. Tous les problèmes d’ordonnancement de tâches.Réseaux de neurones VII. La recherche des solutions est exponentielle dans le cas pire mais si une solution est exhibée. etc. ce qui dans le cas le pire peut demander le parcours complet de l’arbre.

pour les détails. on en obtient une seconde. 1986] La recherche tabou consiste.INFO6517 . Réseaux de Kohonen Partant d’une solution donnée. soit celle-ci le dégrade. à partir d’une position donnée. Approches neuronales Objet du cours INFO6517. on dit alors qu’on a fait baisser l’energie du système. La solution initiale peut être prise au hasard dans l’espace des solutions possibles Recherche Tabou (Tabu search) [Glover. Éric Hervet .Réseaux de neurones VII. L’acceptation d’une “mauvaise” solution permet d’explorer une plus grande partie de l’espace des solutions et d’éviter de s’enfermer dans la recherche d’un optimum local. Si on accepte une solution améliorant le critère. on retombe dans le minimum local auquel on vient d’échapper.. on tend vers l’optimum dans le voisinage de la solution de départ. Algorithmes génétiques Voir section IX. C’est grâce à ce mécanisme qu’on peut sortir d’un minimum local. Cette pile sert à conserver des positions complètes. à explorer son voisinage et à choisir la position dans ce voisinage qui minimise une fonction d’énergie. Les positions déjà explorées sont conservées dans une pile FIFO (appelée liste tabou). Soit celle-ci améliore le critère que l’on cherche à optimiser. Le risque cependant est qu’à l’étape suivante. En fait cette opération peut éventuellement conduire à augmenter la valeur de la fonction : c’est le cas lorsque tous les points du voisinage ont une valeur plus élevée. ce qui dans certains types de problèmes peut nécessiter l’archivage d’une grande quantité d’information.41/58 - Automne 2009 . C’est pourquoi la recherche tabou utilise le concept de mémoire pour interdire (d’où le nom tabou) de revenir sur les dernières positions explorées. en la modifiant.

on regarde quels neurones n’ont pas été affectés depuis plusieurs itérations. Un cercle de Nvilles neurones. Les voisins du neurone vainqueur sont aussi attirés vers la ville (attraction moins forte).. Lorsque chaque ville a attiré un neurone vers elle.INFO6517 . Plusieurs démarrages sont possibles pour initier l’apprentissage : Un seul neurone au centre des villes . soit à l’extérieur (englobant) . Ils peuvent aussi disparaître si la direction est mauvaise ou apparaître s’il y a plusieurs villes à visiter dans une certaine direction. en norme-2 naturellement).Réseaux de neurones VII. soit à l’intérieur de l’ensemble des villes (circonscrit). Un neurone placé aléatoirement dans la carte .4. Réseaux de Kohonen VII. y).42/58 - Automne 2009 . Apprentissage : Choix d’une ville (x. Éric Hervet . un seul passage par ville). Recherche de la balise (du neurone) le plus proche de cette ville (neurone vainqueur. Les neurones “bougent” sur la carte jusqu’à tomber sur une ville. Déplacement de la balise vers la ville. Couche compétitive de Kohonen : Représente le déplacement de petites balises correspondant au déplacement du voyageur de commerce.3. Il y a convergence (solution) lorsqu’il y a autant de balises que de villes (parcours complet. Certains neurones peuvent être attirés par plusieurs villes. ils sont généralement détruits. Cartes de Kohonen et voyageur de commerce Principe : En entrée : Carte des villes avec leurs positions. Etc. Dans ce cas on crée autant de nouvelles balises que de villes attractrices. Ces neurones ne sont donc pas proches d’une ville.

Éric Hervet . Hopfield. 1) ou (0.Réseaux de neurones VIII. 1982. Les neurones sont mis à jour selon un ordre défini.Vj > 0 j Vi (t + dt) =  −1 sinon Apprentissage. Soit Vi (t) l’état du neurone i à l’instant t et Vi (t + 1) son état à l’instant t + dt (dt intervalle entre deux tops d’horloge). Structure d’un réseau de Hopfield binaire ((−1. L’apprentissage consiste à faire en sorte que chacun des prototypes à mémoriser soit : un état stable du réseau.Vj avec wij poids entre les neurones i et j et Vj état du neurone j. Autrement dit. Mode séquentiel. Chaque neurone modifie son état à un instant aléatoire selon une fréquence moyenne égale pour tous les neurones. 1)). Dynamique. ou bien un état attracteur permettant de le retrouver à partir d’états légèrement différents.43/58 - Automne 2009 . à chaque top d’horloge on tire un neurone au hasard à mettre à jour. Mode synchrone. Couche de neurones complètement connectés (réseau récurrent). L’entrée totale d’un neurone i est : Ii = j wij .INFO6517 .. Plusieurs alternatives existent pour la mise à jour de l’état des neurones : Mode stochastique original de Hopfield. Le calcul du nouvel état d’un neurone se fait de la manière suivante :   1 si wij . Dans le cas d’un réseau de Hopfield binaire. Réseaux de Hopfield J. Réseaux de Hopfield VIII. Mémoire adressable par son contenu (mémoire associative) : Une forme mémorisée est retrouvée par une stabilisation du réseau s’il a été stimulé par une partie adéquate de cette forme. l’état du réseau peut donc être caractérisé par un mot de N bits. Tous les neurones sont mis à jour simultanément. Le fonctionnement du réseau est séquencé par une horloge.

. Application en optimisation combinatoire : Problème du voyageur de commerce avec Nvilles = 5.Réseaux de neurones VIII.44/58 - Automne 2009 .INFO6517 . Réseaux de Hopfield Exemple simple (N = 4). Éric Hervet .

Principe Les algorithmes génétiques s’inspirent des mécanismes de sélection naturelle et des phénomènes génétiques. Puis entre 1960 et 1970.. ce qui rend très vaste le domaine d’application de ce type d’algorithmes. de croisement et de mutation. La sélection a pour but de favoriser les meilleurs élements de la population.2. Les deux premiers sont des opérateurs d’exploration de l’espace tandis que le dernier fait évoluer la population vers les optima du problème.45/58 - Automne 2009 . et qui utilise trois opérateurs : croisement. ses dérivées successives ne sont pas nécessaires. Un individu est composé d’un ou plusieurs chromosomes. Les principes de sélection. Les chromosomes sont eux-mêmes constitués de gènes qui contiennent les caractères héréditaires de l’individu. Les premiers travaux sur les algorithmes génétiques ont commencé dans les années 1950 lorsque plusieurs biologistes américains ont simulé des structures biologiques sur ordinateur. L’algorithme génère ensuite de façon itérative des populations d’individus sur lesquelles on applique des processus de sélection. à partir d’une population générée aléatoirement. un ensemble de points Éric Hervet . Les ordinateurs de l’époque n’étaient cependant pas assez puissants pour envisager l’utilisation des algorithmes génétiques sur des problèmes réels de grande taille. IX. mutation.INFO6517 . de croisement.Réseaux de neurones IX. Une des particularités intéressantes des algorithmes génétiques (et du recuit simulé) réside dans l’absence d’hypothèses particulières sur la régularité de la fonction à optimiser. Pour un problème d’optimisation donné. On fait évoluer. à partir d’une population initiale. Introduction Un algorithme génétique est un “algorithme stochastique itératif” qui opère sur des ensembles de points codés. Aucune hypothèse sur la continuité de cette fonction n’est requise.1. Algorithmes génétiques IX. tandis que le croisement et la mutation assurent une exploration efficace de l’espace d’états. On parle ainsi d’individu dans une population. de mutation s’appuient sur les processus naturels du même nom. sélection. un individu représente un point de l’espace d’états. Algorithmes génétiques IX. John Holland développa les principes fondamentaux des algorithmes génétiques dans le cadre de l’optimisation mathématique. On lui associe la valeur du critère à optimiser. Le principe de base consiste à simuler le processus d’évolution naturelle dans un environnement hostile.

Ce qui signifie qu’on est alors en présence d’une population homogène qui devrait se situer à proximité du ou des optima. Les critères d’arrêts peuvent être : Arrêt après un nombre de générations fixé a priori. notée N . Elle doit être la plus hétérogène possible. Pour utiliser un algorithme génétique sur un problème particulier. Le choix du codage des données dépend du problème traité et conditionne l’efficacité (vitesse de convergence.46/58 - Automne 2009 . Ce codage intervient après une phase de modélisation mathématique du problème. Des opérateurs d’exploration de l’espace sont ensuite utilisés pour élargir la population et introduire de la nouveauté d’une génération à l’autre. c’est-à-dire que toutes les populations successives contiennent N individus.) de l’algorithme génétique. Certaines composantes (gènes) de ces individus peuvent ensuite être modifiés avec une probabilité Pm par l’opérateur de mutation. Une fonction d’utilité f .INFO6517 . Cette procédure est renouvelée à taille de population constante. Éric Hervet . précision. Un mécanisme de génération de la population initiale qui sert de base aux générations futures. L’opérateur de croisement est appliqué avec une probabilité Pc à deux éléments de la génération k (parents) qui sont alors transformés en deux nouveaux éléments (enfants) destinés à les remplacer dans la génération k + 1. Ce critère retourne une valeur appelée fitness. On cherche à privilégier la reproduction des bons éléments au détriment des mauvais. il faut disposer des cinq éléments suivants : Un principe de codage des éléments de l’espace admissible du problème. en éléments sur lesquels peuvent s’appliquer les trois opérateurs mentionnés plus haut. 17) sont effectuées pour tous les individus de la génération k : Une sélection d’individus de la génération k est effectuée en fonction du critère à optimiser ou plus généralement du critère d’adaptation au problème (fitness). Le processus s’effectue à taille de population constante.Réseaux de neurones IX. Arrêt lorsque la population cesse d’évoluer ou n’évolue plus suffisamment rapidement. C’est la solution retenue lorsqu’un impératif de temps de calcul est imposé. Pour faire évoluer les populations de la génération k à la génération k + 1. permettant de calculer l’adaptation de chaque élément au problème. etc.. Algorithmes génétiques de l’espace d’états vers le ou les optima du problème d’optimisation à résoudre. trois opérations (Fig. Cette procédure vise à introduire de la nouveauté dans la population.

Des paramètres dimensionnels : taille de la population. probabilités de croisement Pc et de mutation Pm . Des opérateurs permettant de diversifier et d’améliorer la population d’une génération à l’autre ainsi que d’explorer le plus largement possible l’espace admissible. Éric Hervet . critère d’arrêt. 17 – Principe des algorithmes génétiques. Algorithmes génétiques F IG .47/58 - Automne 2009 .Réseaux de neurones IX..INFO6517 .

restrictions à un sous-espace. Les opérateurs de croisement.1.. les contraintes peuvent être incluses dans le critère à optimiser sous forme de pénalités. Dans le cas où la gestion des contraintes ne peut pas se faire directement.Réseaux de neurones IX. On risque alors de fournir une solution admissible mais éloignée de l’optimum. Éric Hervet . Contraintes Les contraintes liées au problème à optimiser peuvent être de diverses natures. les opérateurs agissant directement sur les éléments de la population. Ainsi.INFO6517 . un individu qui viole une contrainte se voit attribuer une mauvaise fitness et est éliminé selon une forte probabilité par le processus de sélection. Il est également possible de ne pas coder les éléments de l’espace admissible du problème. Dans le cas de contraintes sur l’espace dans lequel doit se faire la recherche. Reporté à la frontière diamétralement opposée à la frontière la plus proche (principe du tore). Ramené à la frontière la plus proche (principe du mur). Cette façon de gérer les contraintes est délicate dans la mesure où un “dosage” s’impose pour ne pas favoriser la recherche de solutions admissibles au détriment de la recherche de l’optimum ou inversement. on peut sélectionner les individus rapidement (sans avoir à les réévaluer) par différentes méthodes. c’est-à-dire sur des chaînes de bits. etc. ou de manière plus complexe dans le problème lui-même. de sélection et de mutation agissent alors sur les individus codés. Codage et opérateurs Codage Historiquement. Un individu “hors champ” peut être : Rejeté brutalement et remplacé par un autre individu tiré aléatoirement dans l’espace admissible.48/58 - Automne 2009 .2.). Elles peuvent intervenir sur l’espace d’états (contraintes de signe. les individus intervenant dans un algorithme génétique étaient codés sous forme de chaînes de bits. Ce codage binaire doit contenir toute l’information nécessaire à la description d’un point dans l’espace d’états. Algorithmes génétiques IX.

des informations a priori sur le problème sont disponibles. par exemple. il est naturel de générer aléatoirement des individus en faisant des tirages uniformes mais en veillant à ce que les individus produits respectent les contraintes. Éric Hervet . sera numéro un. Disposant d’une population d’individus non homogène. la diversité de la population doit être entretenue au cours des générations afin de parcourir le plus largement possible l’espace d’états : c’est le rôle des opérateurs de croisement et de mutation. Ces opérateurs diffèrent de la méthode de recherche aléatoire puisque les générations successives doivent être évaluées et modifiées afin de converger : c’est ici qu’intervient l’opérateur de sélection. il est naturel de générer les individus dans un sous-domaine particulier afin d’accélérer la convergence. Le second.Réseaux de neurones IX. c’est le cas des principes de roulette. aura une probabilité d’être sélectionné nettement plus faible que celle du premier. Si la position de l’optimum dans l’espace d’états est totalement inconnue. Des procédures plus évoluées permettent de pondérer cette dominance des meilleurs éléments. en utilisant des probabilités indexées sur les rangs des individus. Les deux principes de sélection suivants sont très souvent utilisés : L’ordonnancement. La roue de la fortune. Le “meilleur”. Opérateur de sélection La sélection permet d’identifier statistiquement les “meilleurs” individus d’une population et d’éliminer les “mauvais”. et ainsi de suite. Cette procédure est simple mais exagère le rôle du meilleur élément au détriment d’autres éléments potentiellement exploitables. c’est-à-dire celui qui possède la meilleure fitness.. Si par contre. On trouve dans la littérature un nombre important de principes de sélection plus ou moins adaptés aux problèmes qu’ils traitent. une connaissance de “bons” points de départ conditionne la rapidité de la convergence vers l’optimum.49/58 - Automne 2009 . Algorithmes génétiques Génération aléatoire d’une population initiale Comme dans tout problème d’optimisation. Ordonnancement (Ranking) C’est le principe de sélection le plus simple : il consiste à attribuer à chaque individu son classement par ordre d’adaptation. On tire ensuite une nouvelle population dans cet ensemble d’individus ordonnés.INFO6517 . bien qu’il puisse se situer dans une région d’intérêt.

le croisement associé au codage par chaînes de bits ou chromosomes. on tire aléatoirement une position de découpage. (Fig. ce qui produit deux nouveaux chromosomes (les enfants) C1 et C2 (Fig.Réseaux de neurones IX.. 18 – Croisement chromosomique à un point. Algorithmes génétiques Roue de la fortune (Roulette wheel selection) Le principe de la roue de la fortune consiste à associer à chaque individu θi une probabilité Pi proportionnelle à sa fitness f (θi) dans la population.50/58 - Automne 2009 . Éric Hervet . F IG . Pour effectuer ce type de croisement sur des chromosomes constitués de M gènes. Initialement. On échange ensuite les deux sous-chaînes terminales de chacun des deux chromosomes (les parents) P1 et P2 . les croisements sont envisagés avec deux parents et génèrent deux enfants. quatre. est le croisement à découpage de chromosomes (slicing crossover). 18). Chaque individu est alors reproduit avec la probabilité Pi . Classiquement.INFO6517 . Opérateur de croisement Le croisement a pour but d’enrichir la diversité de la population en manipulant les composantes des individus (chromosomes). 19). On peut étendre ce principe en découpant le chromosome non pas en deux sous-chaînes mais en trois. Cette probabilité peut être calculée comme : S (f (θi)) Pi = N S (f (θj )) j=1 où S est une fonction régulière et croissante au sens large. certains individus (les “bons”) seront alors plus reproduits et d’autres (les “mauvais”) éliminés selon une forte probabilité. Le croisement à découpage de chromosomes est très rapide à mettre en oeuvre lorsqu’on travaille sur des problèmes utilisant des codages entiers (binaires ou autres). etc.

Si par malchance.INFO6517 . On suppose de plus que le croisement utilisé est un croisement à découpage de chromosomes à un point.. la population initiale ne présente pas de 7 en troisième position.Réseaux de neurones IX. Opérateur de mutation L’opérateur de mutation apporte aux algorithmes génétiques l’aléa nécessaire à une exploration efficace de l’espace d’états. Pour bien comprendre l’utilité de l’opérateur de mutation. il est impossible d’atteinexemple : θ6 5 5 2 θ7 9 8 8 θ8 4 9 9 θ9 7 3 0 θ10 8 2 3 dre ce point avec l’opérateur de croisement. par θ1 5 4 0 θ2 7 3 3 θ3 4 6 6 θ4 2 7 4 θ5 6 8 5 et que l’optimum se trouve en 4. La mutation consiste généralement à tirer aléatoirement un gène dans le chromosome et à le Éric Hervet .7.51/58 - Automne 2009 . sans pour autant les parcourir tous dans le processus de résolution. considérons un problème discret pour lequel les individus sont codés sous forme de chaînes chromosomiques constituées de trois valeurs entières et prenons une population de dix individus. Les propriétés de convergence des algorithmes génétiques sont fortement dépendantes de cet opérateur. Algorithmes génétiques F IG . 19 – Croisement chromosomique à deux points.5. Cet opérateur garantit que l’algorithme génétique sera susceptible d’atteindre tous les points de l’espace d’états. L’opérateur de mutation permet alors de faire varier aléatoirement la valeur des composantes de ces termes. c’est-à-dire des gènes.

20 – Illustration de l’opérateur de mutation. Scaling Le scaling ou mise à l’échelle. Algorithmes génétiques remplacer par une valeur aléatoire (Fig.. et moins sur la fin. IX. un très bon individu risque d’être reproduit trop souvent et peut même provoquer l’élimination complète de ses congénères. on remplace la valeur 0 par 1 et vice-versa. Si la notion de distance existe.2. Dans le cas d’éléments codés en binaire. sharing) qui empêchent les individus “forts” d’éliminer complètement les plus “faibles”. Le choix pratique des probabilités Pm et Pc dépend de la complexité du problème étudié. C’est l’opérateur de sélection qui guide la population vers les valeurs élevées de la fonction. ce sont des opérateurs stochastiques d’exploration du domaine admissible. Le processus de sélection n’opère plus sur la Éric Hervet . 20). Améliorations classiques Les processus de sélection présentés sont très sensibles aux écarts d’adaptation entre individus et dans certains cas. F IG . Cependant il est souhaitable de faire dépendre ces paramètres de la génération courante afin d’explorer plus largement l’espace. il existe d’autres modes de sélection ainsi que des principes (scaling. On obtient alors une population homogène contenant un seul type d’individu. cette valeur peut être choisie dans le voisinage de la valeur initiale.2.INFO6517 .52/58 - Automne 2009 . Pour éviter ce comportement. au début de l’algorithme.Réseaux de neurones IX. Les opérateurs de croisement et de mutation ne font pas intervenir la fonction à optimiser. modifie les fitness afin de réduire ou d’amplifier artificiellement les écarts entre les individus.

F IG .INFO6517 . ce qui permet de réduire les écarts de fitness et donc de favoriser l’exploration de l’espace. La perte de précision qui s’ensuit est au prix d’une meilleure convergence. On souhaite ainsi aplatir ou dilater la fonction d’évaluation. 21 – Fonction de scaling exponentiel. 21) : fs = (fr )n(k) où k est la génération courante. Parmi les fonctions de scaling.Réseaux de neurones IX. Algorithmes génétiques fitness réelle mais sur son image après mise à l’échelle. Scaling linéaire Dans ce cas la fitness initiale fr est redéfinie en une nouvelle fitness fs par l’opération homothétique suivante : fs = afr + b Généralement le coefficient a est inférieur à 1. Scaling exponentiel Il est défini de la façon suivante (Fig. on peut envisager le scaling linéaire et le scaling exponentiel.. Éric Hervet .53/58 - Automne 2009 . Par contre ce scaling est statique par rapport au numéro de génération et pénalise la fin de convergence lorsqu’on désire favoriser les modes dominants.

Pour cela on utilise une fonction de type de celle représentée par la figure 22 dont la formule est donnée par : n(k) = α1 tan k K +1 π 2 α2 k étant la génération courante. 22 – Évolution de n(k) en fonction des générations.Réseaux de neurones IX.54/58 - Automne 2009 . Pour n(k) > 1 les écarts sont exagérés et seuls les bons individus sont sélectionnés.INFO6517 . K le nombre total de générations prévues.. le scaling est inopérant. Algorithmes génétiques Pour n(k) proche de 0. on fait généralement varier n(k) des faibles valeurs vers les fortes valeurs au cours des générations. Dans le cas des fonctions objectifs possédant plusieurs modes et présentant des optimaux quasi-équivalents. Ce dernier principe de scaling donne dans la pratique de meilleurs résultats que le scaling linéaire. Pour n(k) proche de 1. en amplifiant les écarts de fitness en fin de convergence. F IG . L’évolution de n(k) en fonction de la génération k est montrée à la figure 22. Dans la pratique. on réduit fortement les écarts de fitness. cette technique de scaling. ce qui produit l’émergence des modes. va effectivement favoriser le mode dominant mais aussi masquer Éric Hervet . Aucun individu n’est vraiment favorisé et l’algorithme génétique se comporte comme un algorithme de recherche aléatoire et permet d’explorer l’espace. et α1 et α2 sont des paramètres à choisir.

55/58 - Automne 2009 . Le scaling permet donc une bonne exploration de l’espace d’états mais ne favorise pas la répartition des individus sur les différents optima de la fonction objectif. Pour éviter le rassemblement des individus autour d’un sommet dominant. F IG .. le partage pénalise les fitness en fonction du taux de concentration de la population dans le voisinage d’un individu. Cette distance est alors utilisée pour calculer la nouvelle fitness de la façon suivante : f (θi) où m′i = f (θi) = ′ mi ′ N S (d(θi. un nombre d’individus proportionnel à la fitness associée à ce sommet. plus on pénalisera sa reproduction. il faut définir une distance indiquant la dissimilarité entre deux individus.Réseaux de neurones IX. La figure 23 présente deux exemples de répartitions de populations dans le cas d’une fonction à cinq sommets : le premier sans partage. 23 – Objectif du partage. Plus cet individu est entouré. θj )) j=1 Éric Hervet . Cette répartition souhaitable est obtenue en utilisant l’opérateur de partage. le partage consiste à modifier la fitness utilisée par le processus de sélection. Principe De la même façon que le scaling. En pratique. ce qui n’est pas toujours chose facile.INFO6517 . Partage (Sharing) L’objectif du partage est de répartir sur chaque sommet de la fonction à optimiser. le second avec partage. Algorithmes génétiques les modes sous-optimaux qui peuvent tout de même présenter un intérêt. Cela requiert l’introduction d’une notion de distance.

On applique alors successivement deux principes. La figure 24 donne l’allure de S(d) pour différentes valeurs de α.56/58 - Automne 2009 . Initialement. on commence par identifier les différents “bouquets” d’individus dans la population. chaque individu de la population est considéré comme le centre d’un bouquet. on les fusionne dans un bouquet unique dont le centre résultant est le barycentre des deux centres initiaux.INFO6517 . Partage par bouquets (Clustered sharing) Pour effectuer ce type de partage. Éric Hervet . l’un intervenant sur les bouquets. Un nouvel individu est agrégé à un bouquet si sa distance au centre le plus proche est inférieure à dmax. F IG . le second sur les individus eux-mêmes : Si deux centres sont à une distance inférieure à dmin. 24 – Allure de S d σshare .. Algorithmes génétiques avec S(d) = 1− d σshare α si d < σshare 0 si d > σshare Le paramètre σshare permet de délimiter le voisinage d’un point et dépend du problème traité. On utilise pour cela utilise deux paramètres dmin et dmax afin de fusionner des bouquets ou en créer de nouveaux.Réseaux de neurones IX.

IX. dic : distance entre l’individu i et le centre du bouquet c. On applique ensuite l’opérateur de croisement classique qui génère deux enfants C1 et C2. La quantité m′i représente une sorte de densité intra-bouquet. Algorithmes génétiques Dans ce cas. on crée un nouveau bouquet contenant ce seul individu. On tire ensuite aléatoirement un des deux parents. il est logique de chercher à les associer afin de tirer partie de leurs avantages respectifs.Réseaux de neurones IX.3.2. Il semble que le recuit simulé converge plus vite vers la solution optimale mais ne donne qu’une solution dans le cas des problèmes à optima multiples. Un tournoi est alors effectué entre les parents et les enfants où les deux vainqueurs sont sélectionnés par le schéma de recuit suivant : On considère l’individu C1 . Croisement avec recuit Pour appliquer le principe de croisement avec recuit simulé..INFO6517 . À l’inverse. on commence par sélectionner deux parents P1 et P2 dans la population. α : coefficient de sensibilité. les algorithmes génétiques fournissent plusieurs solutions quasi-optimales mais au prix d’un temps de convergence plus long. On cherche ainsi à pénaliser les bouquets trop denses ou trop importants au profit de bouquets plus petits qui peuvent révéler des optima locaux. soit Pi ce parent : Éric Hervet . on calcule de nouveau le centre du bouquet global. Ce principe de fusion-agrégation permet d’obtenir un nombre de bouquets fluctuant avec la répartition des individus dans l’espace d’états. Sinon. Recuit simulé Les algorithmes génétiques et le recuit simulé étant deux techniques d’optimisation stochastique travaillant sur les mêmes types de problèmes. On applique ensuite le principe de partage en modifiant les fitness de la façon suivante : fi′ fi ′ = ′ où mi = nc 1 − mi dic 2dmax α avec nc : nombre d’individus contenus dans le bouquet auquel appartient l’individu i.57/58 - Automne 2009 . Cet individu devient alors le centre d’un nouveau bouquet réduit à lui seul. Il semble alors naturel d’associer ces deux techniques afin d’améliorer la convergence des algorithmes génétiques.

Évitement des avions. Pour chaque palier. sectorisation.99 température de basculement 1 ( k−1 )    t = − ∆fmin k = 0.umoncton. 1 http://aquadie. Problèmes d’économie. .99 température finale  f 1 ln( k−1 ) où ∆fmin et ∆fmax représentent les écarts minimum et maximum des fitness de la population initiale.Réseaux de neurones IX. alors C1 est sélectionné..58/58 - Éric Hervet Automne 2009 . . on calcule le nombre d’itérations de stabilisation à l’aide des formules suivantes qui permettent de calculer le nombre total de générations pour un problème donné : ln N1 = tx ts ln N2 = tf tx ln(α1) ln(α2) IX. on calcule trois “températures” dont les valeurs dépendent de la connaissance des écarts minimum et maximum des fitness de la population initiale :   ts = − ∆fmax k = 0. Le schéma géométrique fait évoluer la température courante de la façon suivante :   t0 = ts  t = α1 tn pour ts > tn > tx  n+1 t n+1 = α2 tn pour tx > tn > tf avec 0 < α1 < α2 < 1.INFO6517 .3.pdf .ca/a09/info6517/labs/lab03. Applications Tous les problèmes NP-complets . Pratiquement. Voir laboratoire #31 . Problèmes d’optimisation. . Sinon C1 est sélectionné avec la probabilité : P = e − |fC −fP | 1 i tn où tn est un coefficient décroissant en fonction de la génération courante n.info. Othello. ′ On fait de même pour C2 avec le parent restant et on détermine ainsi deux individus C1 et ′ C2 . Algorithmes génétiques Si C1 est meilleur que Pi . L’évolution de la variable tn se fait de la façon suivante. On utilise un schéma de recuit standard géométrique à un palier de basculement. . .75 température initiale  1 ln( k−1 )   ∆f tx = − ln max k = 0.