R

´
ESEAUX DE NEURONES
GIF-21140 et GIF-64326
par Marc Parizeau
Automne 2004
Table des mati` eres
1 Introduction 1
1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Mod` ele de neurone et r´ eseau 5
2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Mod` ele d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Architecture de r´ eseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Alg` ebre lin´ eaire 17
3.1 D´ efinition d’un espace vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 D´ ependance lin´ eaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 Bases et dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.4 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.5 Orthogonalit´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Transformations lin´ eaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Repr´ esentations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3 Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Processus d’apprentissage 27
4.1 Par correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Par la r` egle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Comp´ etitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Probl` eme de l’affectation du cr´ edit . . . . . . . . . . . . . . . . . . . . . . . . . . 33
i
ii TABLE DES MATI
`
ERES
4.5 Supervis´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6 Par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7 Non-supervis´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.8 Tˆ aches d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Perceptron multicouche 39
5.1 Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 R` egle LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 R´ eseau multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3.1 Probl` eme du «ou exclusif» . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3.2 Approximation de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.3 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4 R´ etropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4.1 Calcul des sensibilit´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4.2 Algorithme d’entraˆınement . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.4.3 Crit` eres d’arrˆ et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.4 Ph´ enom` ene de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4.5 Groupage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4.6 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4.7 Taux d’apprentissage variable . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4.8 Autres consid´ erations pratiques . . . . . . . . . . . . . . . . . . . . . . . 60
5.5 M´ ethode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.6 M´ ethode du gradient conjugu´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.6.1 Algorithme du gradient conjugu´ e . . . . . . . . . . . . . . . . . . . . . . 64
5.6.2 Recherche du minimum le long d’une droite . . . . . . . . . . . . . . . . . 65
6 Nu´ ees dynamiques 69
6.1 K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.2 Fuzzy K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.3 Possibilistic K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7 R´ eseau de Kohonen 79
7.1 Algorithme de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Propri´ et´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.4 R´ eseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
TABLE DES MATI
`
ERES iii
8 R´ eseau GNG 89
8.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9 Architectures ART 93
9.1 Fuzzy ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.2 Fuzzy ARTmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10 ACP et apprentissage hebbien 103
10.1 R` egle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2 R` egle de Oja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.3 R` egle de Sanger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.4 Apprentissage de Hebb supervis´ e . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.4.1 R` egle de la matrice pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . 109
10.4.2 Exemple d’auto-association . . . . . . . . . . . . . . . . . . . . . . . . . 110
11 R´ eseau RBF 113
11.1 Entraˆınement d’un r´ eseau RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table des figures
2.1 Mod` ele d’un neurone artificiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Sch´ ema d’un neurone biologique. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Repr´ esentation matricielle du mod` ele d’un neurone artificiel. . . . . . . . . . . . . 10
2.4 Fonction de transfert : (a) du neurone «seuil»; (b) du neurone «lin´ eaire», et (c)
du neurone «sigmo¨ıde». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 Couche de S neurones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Repr´ esentation matricielle d’une couche de S neurones. . . . . . . . . . . . . . . 14
2.7 Repr´ esentation matricielle d’un r´ eseau de trois couches. . . . . . . . . . . . . . . 14
2.8
´
El´ ement de retard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Diff´ erents sous-ensembles de
2
: (a) r´ egion rectangulaire ; (b) droite ; (c) plan. . . 18
3.2 Illustration de la m´ ethode de transformation orthogonale Gram-Schmidt. . . . . . 22
3.3 Transformation de rotation : (a) rotation du vecteur x; (b) rotation des vecteurs
de base v
1
et v
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Trajectoire de la descente du gradient. . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Repr´ esentation graphique de la r` egle «instar» lors d’une activit´ e post-synaptique
positive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Sch´ ema bloc de l’apprentissage supervis´ e. . . . . . . . . . . . . . . . . . . . . . . 34
5.1 Perceptron ` a une seule couche avec fonction seuil. . . . . . . . . . . . . . . . . . . 40
5.2 Fronti` ere de d´ ecision pour un perceptron simple ` a 1 neurone et deux entr´ ees. . . . 41
5.3 Exemple d’un probl` eme ` a deux classes (points noirs vs points blancs). . . . . . . . 42
5.4 Exemples de probl` emes non lin´ eairement s´ eparables. . . . . . . . . . . . . . . . . 43
5.5 R´ eseau ADALINE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.6 Trajectoire de la descente du gradient pour diff´ erents taux d’apprentissage : (a)
taux faible ; (b) taux moyen ; (c) taux (trop) ´ elev´ e. . . . . . . . . . . . . . . . . . . 47
5.7 R´ eseau multicouche pour r´ esoudre le probl` eme du «ou exclusif». . . . . . . . . . . 48
v
vi TABLE DES FIGURES
5.8 Fronti` eres de d´ ecision engendr´ ees par le r´ eseau de la figure 5.7 : (a) neurone 1 de
la couche 1 ; (b) neurone 2 de la couche 1 ; (c) neurone 1 de la couche 2. . . . . . . 49
5.9 Fronti` ere de d´ ecision engendr´ ee par le neurone qui effectue une conjonction. . . . 49
5.10 R´ eseau multicouche permettant de faire de l’approximation de fonction. . . . . . . 50
5.11 Exemples de fronti` eres de d´ ecision : (a) convexe ouverte ; (b) convexe ferm´ ee ; (c)
concave ouverte ; et (d) concave ferm´ ee. . . . . . . . . . . . . . . . . . . . . . . . 50
5.12 Repr´ esentation matricielle d’un r´ eseau de trois couches (reproduction de la figure
2.7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.13 Illustration du ph´ enom` ene de sur-apprentissage pour le cas simple d’une approxi-
mation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.14 Illustration de la validation crois´ ee. . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.15 Exemple d’un neurone satur´ e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.16 Illustration de la m´ ethode du gradient conjugu´ e. . . . . . . . . . . . . . . . . . . . 65
5.17
´
Etape de localisation d’un intervalle initial de recherche. . . . . . . . . . . . . . . 66
5.18
´
Etape de r´ eduction de l’intervalle de recherche : (a) cas o` u F
c
< F
d
; (b) cas o` u
F
d
< F
c
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.1 Couche comp´ etitive de S = K neurones. . . . . . . . . . . . . . . . . . . . . . . . 70
6.2 Algorithme du «k-means». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3 Example d’une partition rigide en deux classes : (a) cas sans bruit ; (b) cas avec
bruit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.4 Algorithme du «fuzzy k-means». . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5 Exemple d’une partition floue ` a deux classes. . . . . . . . . . . . . . . . . . . . . 74
6.6 Algorithme du «possibilistic k-means». . . . . . . . . . . . . . . . . . . . . . . . 77
7.1 R´ eseau de Kohonen avec carte rectangulaire de S = 6 ×7 = 42 neurones. . . . . 80
7.2 Topologie de voisinage (quatre voisins) pour une carte ` a deux dimensions : (a)
Λ
18
= 2 ; (b) Λ
18
= 1 ; et (c) Λ
18
= 0. . . . . . . . . . . . . . . . . . . . . . . . . 80
7.3 Exemple de d´ ecroissance (a) du taux d’apprentissage et (b) de la fenˆ etre de voisi-
nage en fonction du temps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.4 Algorithme de Kohonen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.5 Fonction de voisinage gaussienne. . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.6 Illustration de la relation entre la carte auto-organis´ ee Φ et le vecteur
g
w du
neurone gagnant pour le stimulus p. . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.7 Exemple d’une carte auto-organis´ ee ` a une dimension. Les stimuli d’apprentissage
sont distribu´ ees uniform´ ement ` a l’int´ erieur d’un triangle. . . . . . . . . . . . . . . 85
7.8 Exemple d’une carte auto-organis´ ee ` a deux dimensions. Les stimuli d’apprentis-
sage sont distribu´ ees uniform´ ement ` a l’int´ erieur d’un carr´ e. . . . . . . . . . . . . 85
TABLE DES FIGURES vii
7.9 Exemple d’une carte auto-organis´ ee ` a deux dimensions (droite). Les stimuli d’ap-
prentissage sont distribu´ ees uniform´ ement ` a l’int´ erieur d’un volume tridimension-
nel en forme de cactus (gauche). . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.10 R´ eseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.1 Exemple d’un GNG entraˆın´ e sur des stimuli ´ echantillonn´ es dans un volume en
forme de prisme rectangulaire, sur une surface rectangulaire appos´ ee perpendicu-
lairement ` a l’une des faces du prisme et ` a une courbe en forme d’anneau au bout
d’une tige appos´ ee ` a l’une des extr´ emit´ es de la surface. . . . . . . . . . . . . . . . 92
9.1 Architecture du r´ eseau fuzzy ART. . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.2 Repr´ esentation vectorielle d’un ensemble flou E d´ efini sur un r´ ef´ erentiel de deux
´ el´ ements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.3 R´ egions associ´ ees ` a
i
w = [x y
c
]
T
(en trait plein) et ` a a
1

i
w (en trait pointill´ e). . 97
9.4 Architecture du r´ eseau fuzzy ARTmap. . . . . . . . . . . . . . . . . . . . . . . . . 99
10.1 Illustration des composantes principales pour un nuage de points en deux dimen-
sions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.2 R´ eseau permettant d’effectuer une analyse en S composantes principales. . . . . . 107
10.3 R´ eseau auto-associatif pour la reconnaissance de chiffres. . . . . . . . . . . . . . 110
10.4 Prototypes pour l’apprentissage auto-associatif des chiffres «0», «1» et «2». . . . 111
10.5 Exemples de r´ eponses du r´ eseau auto-associatif de la figure 10.3 pour des stimuli
d´ egrad´ es ou bruit´ es : (a) chiffres 0 ; (b) chiffres 1 ; et (c) chiffres 2. . . . . . . . . . 111
11.1 R´ eseau RBF avec fonctions radiales gaussiennes. . . . . . . . . . . . . . . . . . . 114
Liste des tableaux
2.1 Fonctions de transfert a = f(n). . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1 Valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte de clas-
sement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.2 Valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte d’ap-
proximation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
ix
Chapitre 1
Introduction
Les r´ eseaux de neurones, fabriqu´ es de structures cellulaires artificielles, constituent une ap-
proche permettant d’aborder sous des angles nouveaux les probl` emes de perception, de m´ emoire,
d’apprentissage et de raisonnement. Ils s’av` erent aussi des alternatives tr` es prometteuses pour
contourner certaines des limitations des ordinateurs classiques. Grˆ ace ` a leur traitement parall` ele
de l’information et ` a leurs m´ ecanismes inspir´ es des cellules nerveuses (neurones), ils inf` erent des
propri´ et´ es ´ emergentes permettant de solutionner des probl` emes jadis qualifi´ es de complexes.
Nous aborderons dans ce cours les principales architectures de r´ eseaux de neurones que l’on
retrouve dans la litt´ erature. Il ne s’agit pas de les ´ etudier toutes, car elles sont trop nombreuses,
mais plut ˆ ot d’en comprendre les m´ ecanismes internes fondamentaux et de savoir comment et quand
les utiliser. En ce sens, nous mettrons autant l’emphase sur l’analyse math´ ematique de ces r´ eseaux
que sur la fac¸on de les utiliser dans la pratique pour r´ esoudre des probl` emes concrets.
Nous aborderons ´ egalement certaines notions relatives aux ensembles flous et ` a la logique dans
la mesure o` u ces derniers sont incorpor´ es dans certaines des architectures de r´ eseaux de neurones
que nous ´ etudierons.
Le reste de ce chapitre ´ elabore davantage sur les objectifs poursuivis par ce cours, puis pr´ esente
un bref historique du domaine des r´ eseaux de neurones avant de terminer par un survol de leurs
diff´ erentes applications. Le chapitre 2 introduit ensuite le mod` ele math´ ematique du neurone arti-
ficiel et ´ etablit une notation coh´ erente qui sera suivie tout au long des chapitres subs´ equents. Le
chapitre 3 effectue un certain nombre de rappels en alg` ebre lin´ eaire, rappels qui seront forts utiles
tout au long de cet ouvrage lorsque nous ´ etudierons diff´ erentes architectures de r´ eseaux de neu-
rones. Le chapitre 4 pr´ esente quant ` a lui la probl´ ematique g´ en´ erale de l’apprentissage en d´ ecrivant
les principales r` egles pouvant ˆ etre utilis´ ees ainsi que les diff´ erents types d’approche. Ainsi, nous
aborderons les notions de correction d’erreur, d’apprentissage hebbien, comp´ etitif, supervis´ e, non-
supervis´ e et, finalement, d’apprentissage par renforcement. Par la suite, nous ´ etudierons en d´ etails
diff´ erentes architectures de r´ eseau de neurones dont le perceptron multicouche, le r´ eseau de Koho-
nen, le «Growing Neural Gas» (GNG), certains membres de la famille des r´ eseaux ART («Adap-
tive Resonance Theory»), le «Radial Basis Function» (RBF) et le «Support Vector Machine»
(SVM). Nous traiterons aussi de l’algorithme du «K-means» qui s’apparente au r´ eseau de Koho-
1
2 CHAPITRE 1. INTRODUCTION
nen, ainsi que de l’analyse en composantes principales (ACP) via un apprentissage hebbien.
Ces notes de cours sont d´ eriv´ ees d’un certain nombre d’ouvrages dont les principaux sont
´ enum´ er´ es en annexe.
1.1 Objectifs
Le cerveau humain contient environ 100 milliards de neurones. Ces neurones vous permettent,
entre autre, de lire ce texte tout en maintenant une respiration r´ eguli` ere permettant d’oxyg´ ener
votre sang, en actionnant votre c ?ur qui assure une circulation efficace de ce sang pour nourrir vos
cellules, etc. Ils vous permettent mˆ eme, je l’esp` ere, de comprendre les id´ ees que je tente de vous
transmettre !
Chacun de ces neurones est par ailleurs fort complexe. Essentiellement, il s’agit de tissu vi-
vant et de chimie. Les sp´ ecialistes des neurones biologiques (ceux qui ?uvrent en neurophysiologie)
commencent ` a peine ` a comprendre quelques uns de leurs m´ ecanismes internes. On croit en g´ en´ eral
que leurs diff´ erentes fonctions neuronales, y compris celle de la m´ emoire, sont stock´ ees au niveau
des connexions (synapses) entre les neurones. C’est ce genre de th´ eorie
1
qui a inspir´ e la plupart
des architectures de r´ eseaux de neurones artificiels
2
que nous aborderons dans ce cours. L’appren-
tissage consiste alors soit ` a ´ etablir de nouvelles connexions, soit ` a en modifier des existantes.
Ceci nous am` ene ` a poser une question fondamentale : en ce basant sur nos connaissances
actuelles, peut-on construire des mod` eles approximatifs de neurones et les entraˆıner pour, ´ eventuel-
lement, r´ ealiser des tˆ aches utiles ? Eh bien, la r´ eponse courte est «oui», mˆ eme si les r´ eseaux que
nous allons d´ evelopper ne poss` edent qu’une infime fraction de la puissance du cerveau humain,
et c’est l’objectif du cours de vous montrer comment on peut y arriver sans salir son linge !
Pour ce qui est de la r´ eponse longue (plus d´ etaill´ ee), elle suit dans les chapitres subs´ equents.
Mais avant d’y arriver, faisons un peu d’histoire...
1.2 Histoire
De nombreux ouvrages ont permis de documenter l’histoire des recherches en r´ eseaux de
neurones. En particulier, le livre intitul´ e «Neurocomputing : Foundations of Research» ´ edit´ e par
John Anderson et Edward Rosenfeld est une compilation de 43 articles qui ont marqu´ e le domaine
sur le plan historique. Chacun d’entre eux est d’ailleurs pr´ ec´ ed´ e d’une introduction qui permet de
situer l’article dans son contexte.
1
Des th´ eories r´ ecentes sugg` erent au contraire que l’information pourrait ˆ etre stock´ ee au niveau de la morphologie
des connexions (des dendrites) ; mais ceci est totalement en dehors du cadre de ce cours (ainsi que du domaine de
comp´ etence du professeur !).
2
Ce cours traitant exclusivement des r´ eseaux de neurones artificiels (par opposition ` a biologique), nous omettrons
parfois d’ajouter le mot «artificiel» ` a la suite de «neurone» et de «r´ eseau de neurones», sachant qu’il est toujours
sous-entendu, sauf lorsque mention explicite du contraire.
1.2. HISTOIRE 3
Deux ingr´ edients sont ` a la base de tout avancement des connaissances. Premi` erement, il im-
porte de poss´ eder un nouveau concept, ou un nouveau point de vue ` a propos d’un sujet, qui vient
jeter une lumi` ere l` a o` u il n’y avait qu’obscurit´ e. Par exemple, consid´ erons le c ?ur humain.
`
A
diff´ erentes ´ epoques on le consid´ erait comme le centre de l’ˆ ame ou encore comme une source
de chaleur. Quelque part au 17e si` ecle, les m´ edecins ont commenc´ e ` a le consid´ erer comme une
pompe et ont donc conc¸u des exp´ eriences pour tenter de comprendre son fonctionnement, ce qui
a ´ eventuellement permis une compr´ ehension du syst` eme sanguin, etc. Sans le concept de pompe,
une compr´ ehension du c ?ur et du syst` eme sanguin en g´ en´ eral ´ etait simplement hors d’atteinte.
Deuxi` emement, il importe aussi de poss´ eder des outils technologiques permettant de construire
des syst` emes concrets. Par exemple, on connaissait les th´ eories physiques permettant d’envisager
la conception d’une bombe atomique bien avant d’ˆ etre capable de r´ ealiser une telle bombe. On sa-
vait aussi math´ ematiquement reconstruire des images de radiographie en coupe (tomographie) bien
avant de poss´ eder les ordinateurs et les algorithmes capables d’effectuer efficacement les calculs
requis dans un temps raisonnable.
L’histoire des r´ eseaux de neurones est donc tiss´ ee ` a travers des d´ ecouvertes conceptuelles et
des d´ eveloppements technologiques survenus ` a diverses ´ epoques.
Bri` evement, les premi` eres recherches remontent ` a la fin du 19e et au d´ ebut du 20e si` ecle. Ils
consistent en de travaux multidisciplinaires en physique, en psychologie et en neurophysiologie
par des scientifiques tels Hermann von Helmholtz, Ernst Mach et Ivan Pavlov.
`
A cette ´ epoque, il
s’agissait de th´ eories plut ˆ ot g´ en´ erales sans mod` ele math´ ematique pr´ ecis d’un neurone. On s’entend
pour dire que la naissance du domaine des r´ eseaux de neurones artificiels remonte aux ann´ ees
1940 avec les travaux de Warren McCulloch et Walter Pitts qui ont montr´ e qu’avec de tels r´ eseaux,
on pouvait, en principe, calculer n’importe quelle fonction arithm´ etique ou logique. Vers la fin
des ann´ ees 1940, Donald Hebb
3
a ensuite propos´ e une th´ eorie fondamentale pour l’apprentissage.
Nous y reviendrons d’ailleurs ` a plusieurs reprises dans les chapitres suivants.
La premi` ere application concr` ete des r´ eseaux de neurones artificiels est survenue vers la fin
des ann´ ees 1950 avec l’invention du r´ eseau dit «perceptron» par un d´ enomm´ e Frank Rosenblatt.
Rosenblatt et ses coll` egues ont construit un r´ eseau et d´ emontr´ e ses habilit´ es ` a reconnaˆıtre des
formes. Malheureusement, il a ´ et´ e d´ emontr´ e par la suite que ce perceptron simple ne pouvait
r´ esoudre qu’une classe limit´ ee de probl` eme. Environ au mˆ eme moment, Bernard Widrow et Ted
Hoff ont propos´ e un nouvel algorithme d’apprentissage pour entraˆıner un r´ eseau adaptatif de neu-
rones lin´ eaires, dont la structure et les capacit´ es sont similaires au perceptron. Nous les ´ etudierons
tous les deux au chapitre 5.
Vers la fin des ann´ ees 1960, un livre publi´ e par Marvin Minsky et Seymour Papert est venu jeter
beaucoup d’ombre sur le domaine des r´ eseaux de neurones. Entre autres choses, ces deux auteurs
ont d´ emontr´ e les limitations des r´ eseaux d´ evelopp´ es par Rosenblatt et Widrow-Hoff. Beaucoup
de gens ont ´ et´ e influenc´ es par cette d´ emonstration qu’ils ont g´ en´ eralement mal interpr´ et´ ee. Ils ont
conclu ` a tort que le domaine des r´ eseaux de neurones ´ etait un cul de sac et qu’il fallait cesser de
s’y int´ eresser (et de financer la recherche dans ce domaine), d’autant plus qu’on ne disposait pas ` a
l’´ epoque d’ordinateurs suffisamment puissants pour effectuer des calculs complexes.
3
Un canadien qui a pass´ e la majorit´ e de sa carri` ere acad´ emique ` a l’Universit´ e McGill.
4 CHAPITRE 1. INTRODUCTION
Heureusement, certains chercheurs ont pers´ ev´ er´ e en d´ eveloppant de nouvelles architectures
et de nouveaux algorithmes plus puissants. En 1972, Teuvo Kohonen et James Anderson ont
d´ evelopp´ e ind´ ependamment et simultan´ ement de nouveaux r´ eseaux pouvant servir de m´ emoires
associatives (chapitre 7).
´
Egalement, Stephen Grossberg a investigu´ e ce qu’on appelle les r´ eseaux
auto-organis´ es (chapitre 9).
Dans les ann´ ees 1980, une pierre d’achoppement a ´ et´ e lev´ ee par l’invention de l’algorithme de
r´ etropropagation des erreurs (section 5.4). Cette algorithme est la r´ eponse aux critiques de Minsky
et Papert formul´ ees ` a la fin des ann´ ees 1960. C’est ce nouveau d´ eveloppement, g´ en´ eralement at-
tribu´ e ` a David Rumelhart et James McClelland, mais aussi d´ ecouvert plus ou moins en mˆ eme
temps par Paul Werbos et par Yann LeCun, qui a litt´ eralement ressuscit´ e le domaine des r´ eseaux
de neurones. Depuis ce temps, c’est un domaine o` u bouillonne constamment de nouvelles th´ eories,
de nouvelles structures et de nouveaux algorithmes. Dans ce cours, nous allons tenter d’en survoler
les principaux.
1.3 Applications
Les r´ eseaux de neurones servent aujourd’hui ` a toutes sortes d’applications dans divers do-
maines. Par exemple, on a d´ evelopp´ e un auto-pilote pour avion, ou encore un syst` eme de gui-
dage pour automobile, on a conc¸u des syst` emes de lecture automatique de ch` eques bancaires et
d’adresses postales, on produit des syst` emes de traitement du signal pour diff´ erentes applications
militaires, un syst` eme pour la synth` ese de la parole, des r´ eseaux sont aussi utilis´ es pour bˆ atir
des syst` emes de vision par ordinateur, pour faire des pr´ evisions sur les march´ es mon´ etaires, pour
´ evaluer le risque financier ou en assurance, pour diff´ erents processus manufacturiers, pour le diag-
nostic m´ edical, pour l’exploration p´ etroli` ere ou gazi` ere, en robotique, en t´ el´ ecommunication, et
j’en passe ! Bref, les r´ eseaux de neurones ont aujourd’hui un impact consid´ erable et, il y a fort ` a
parier, que leur importance ira grandissant dans le futur.
Chapitre 2
Mod` ele de neurone et r´ eseau
Dans ce chapitre, nous pr´ esentons le mod` ele math´ ematique que nous emploierons dans les cha-
pitres suivants pour d´ ecrire, d’une part, un neurone artificiel et, d’autre part, un r´ eseau de neurones
complet, c’est-` a-dire un ensemble de neurones reli´ es en r´ eseau. Le mod` ele que nous pr´ esentons
dans ce chapitre est celui de base, commun ` a beaucoup d’architectures. Il n’est cependant pas uni-
versel, nous pr´ esenterons dans les chapitres subs´ equents les diff´ erentes variantes au fur et ` a mesure
qu’il sera n´ ecessaire de le faire.
2.1 Notations
Tout au long de cet ouvrage, nous tenterons d’adopter une notation math´ ematique coh´ erente.
Les principales notations que nous adopterons sont ´ enum´ er´ ees ci-dessous. Il n’est pas n´ ecessaire
de tout m´ emoriser d’un seul coup, on pourra au besoin s’y rapporter plus tard.
Concepts de base
– Les scalaires seront d´ esign´ es par des lettres minuscules italiques : p. ex. a, b, c . . .
– Un «vecteur» d´ esigne une colonne de nombres.
– Les vecteurs seront repr´ esent´ es par des minuscules grasses («bold») non italiques : p. ex.
a, b, c . . .
– Une «matrice» d´ esigne un tableau de nombres ayant un certain nombre de lignes et de
colonnes.
– Les matrices seront d´ enot´ ees par des majuscules grasses («bold») non italiques : p. ex. A,
B, C. . .
– Un «vecteur-rang´ ee» est une rang´ ee d’une matrice utilis´ ee comme un vecteur (donc une
rang´ ee transpos´ ee).
5
6 CHAPITRE 2. MOD
`
ELE DE NEURONE ET R
´
ESEAU
Poids d’une couche de neurones
– W
k
(t) d´ esigne la matrice des poids pour la couche k d’un r´ eseau au temps t.
– w
k
j
(t) d´ esigne le vecteur correspondant ` a la colonne j de W
k
(t).

i
w
k
(t) d´ esigne le vecteur-rang´ ee correspondant ` a la ligne i de W
k
(t).
– w
k
i,j
(t) d´ esigne l’´ el´ ement (i, j) de W
k
(t) (i d´ esigne toujours une ligne et j une colonne).
Biais d’une couche de neurones
– b
k
(t) d´ esigne le vecteur des biais pour la couche k d’un r´ eseau au temps t.
– b
k
i
(t) d´ esigne l’´ el´ ement i de b
k
(t).
Stimulus d’un r´ eseau
– p(t) d´ esigne un vecteur stimulus pr´ esent´ e ` a l’entr´ ee d’un r´ eseau au temps t.
– p
i
(t) d´ esigne l’´ el´ ement i de p(t).
Niveaux d’activation d’une couche de neurones
– n
k
(t) d´ esigne le vecteur des niveaux d’activation pour la couche k d’un r´ eseau au temps t.
– n
k
i
(t) d´ esigne l’´ el´ ement i de n
k
(t).
Sorties d’une couche de neurones
– a
k
(t) d´ esigne un vecteur des sorties pour la couche k d’un r´ eseau au temps t.
– a
k
i
(t) d´ esigne l’´ el´ ement i de a
k
(t).
Cibles d’un r´ eseau
– d(t) d´ esigne un vecteur cible pour les sorties d´ esir´ ees d’un r´ eseau au temps t.
– d
i
(t) d´ esigne l’´ el´ ement i de d(t).
Base d’apprentissage
– {(p
1
, d
1
), (p
2
, d
2
), . . . , (p
Q
, d
Q
)} d´ esigne un ensemble de Q associations stimulus/cible
pour l’apprentissage supervis´ e.
Signaux d’erreur
– e(t) = d(t) −a(t) d´ esigne un vecteur mesurant l’erreur entre les sorties d´ esir´ ees (cible) et
les sorties calcul´ ees d’un r´ eseau au temps t.
2.1. NOTATIONS 7
– e
i
(t) d´ esigne l’´ el´ ement i de e(t).
Dimensions
– M d´ esigne le nombre de couches d’un r´ eseau.
– S
k
d´ esigne le nombre de neurones sur la couche k d’un r´ eseau.
– Q d´ esigne le nombre d’associations pour l’apprentissage.
– R d´ esigne la dimension des stimulus d’entr´ ee.
Fonctions de transfert d’une couche de neurones
– f
k
(n
k
) = a
k
d´ esigne le vecteur des sorties de la couche k, telles que calcul´ ees par la fonction
de transfert f appliqu´ ee sur chacun des n
k
i
, i = 1, . . . , S
k
.
– f
k
(n
k
i
) = a
k
i
d´ esigne l’´ el´ ement i de f
k
(n
k
).

˙
f(n) =

∂n
f(n) d´ esigne la d´ eriv´ ee partielle de f par rapport ` a n.

˙
F(n) =













˙
f(n
1
) 0 · · · 0
0
˙
f(n
2
) 0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · ·
˙
f(n
S
)













.
Notations diverses
– ||x|| d´ esigne la norme du vecteur x.
– F(x) d´ esigne un indice de performance (une fonction) appliqu´ e sur le vecteur x.


F(x) d´ esigne une approximation de F(x).
– ∇F(x) =

∂F
∂x
1
∂F
∂x
2
· · ·
∂F
∂xn

T
d´ esigne le vecteur gradient de F(x).
– ∇
2
F(x) =














2
∂x
1
∂x
1
F

2
∂x
1
∂x
2
F · · ·

2
∂x
1
∂xn
F

2
∂x
2
∂x
1
F

2
∂x
2
∂x
2
F · · ·

2
∂x
2
∂xn
F
.
.
.
.
.
.
.
.
.
.
.
.

2
∂xn∂x
1
F

2
∂xn∂x
2
F · · ·

2
∂xn∂xn
F













d´ esigne la matrice «hessienne» de F(x).
– λ
i
d´ esigne une valeur propre d’une matrice.
– z
i
d´ esigne un vecteur propre.
8 CHAPITRE 2. MOD
`
ELE DE NEURONE ET R
´
ESEAU

w
1,1
w
1,R
p
1
p
2
p
3
p
R
b
-1
ƒ
n a


R entrées Modèle du neurone
a = ƒ(w
T
p − b)
FIG. 2.1 – Mod` ele d’un neurone artificiel.
2.2 Mod` ele d’un neurone
Le mod` ele math´ ematique d’un neurone artificiel est illustr´ e ` a la figure 2.1. Un neurone est es-
sentiellement constitu´ e d’un int´ egrateur qui effectue la somme pond´ er´ ee de ses entr´ ees. Le r´ esultat
n de cette somme est ensuite transform´ ee par une fonction de transfert f qui produit la sortie a du
neurone. En suivant les notations pr´ esent´ ees ` a la section pr´ ec´ edente, les R entr´ ees du neurones cor-
respondent au vecteur p = [p
1
p
2
· · · p
R
]
T
, alors que w = [w
1,1
w
1,2
· · · w
1,R
]
T
repr´ esente le vecteur
des poids du neurone. La sortie n de l’int´ egrateur est donn´ ee par l’´ equation suivante :
n =
R

j=1
w
1,j
p
j
−b
= w
1,1
p
1
+ w
1,2
p
2
+· · · + w
1,R
p
R
−b,
(2.1)
que l’on peut aussi ´ ecrire sous forme matricielle :
n = w
T
p −b. (2.2)
Cette sortie correspond ` a une somme pond´ er´ ee des poids et des entr´ ees moins ce qu’on nomme le
biais b du neurone. Le r´ esultat n de la somme pond´ er´ ee s’appelle le niveau d’activation du neurone.
Le biais b s’appelle aussi le seuil d’activation du neurone. Lorsque le niveau d’activation atteint ou
d´ epasse le seuil b, alors l’argument de f devient positif (ou nul). Sinon, il est n´ egatif.
On peut faire un parall` ele entre ce mod` ele math´ ematique et certaines informations que l’on
connait (ou que l’on croit connaˆıtre) ` a propos du neurone biologique. Ce dernier poss` ede trois
principales composantes : les dendrites, le corps cellulaire et l’axone (voir figure 2.2). Les den-
drites forment un maillage de r´ ecepteurs nerveux qui permettent d’acheminer vers le corps du
neurone des signaux ´ electriques en provenance d’autres neurones. Celui-ci agit comme un esp` ece
d’int´ egrateur en accumulant des charges ´ electriques. Lorsque le neurone devient suffisamment ex-
cit´ e (lorsque la charge accumul´ ee d´ epasse un certain seuil), par un processus ´ electrochimique,
2.2. MOD
`
ELE D’UN NEURONE 9
FIG. 2.2 – Sch´ ema d’un neurone biologique.
il engendre un potentiel ´ electrique qui se propage ` a travers son axone
1
pour ´ eventuellement ve-
nir exciter d’autres neurones. Le point de contact entre l’axone d’un neurone et le dendrite d’un
autre neurone s’appelle le synapse. Il semble que c’est l’arrangement spatial des neurones et de
leur axone, ainsi que la qualit´ e des connexions synaptiques individuelles qui d´ etermine la fonc-
tion
2
pr´ ecise d’un r´ eseau de neurones biologique. C’est en se basant sur ces connaissances que le
mod` ele math´ ematique d´ ecrit ci-dessus a ´ et´ e d´ efini.
Un poids d’un neurone artificiel repr´ esente donc l’efficacit´ e d’une connexion synaptique. Un
poids n´ egatif vient inhiber une entr´ ee, alors qu’un poids positif vient l’accentuer. Il importe de
retenir que ceci est une grossi` ere approximation d’un v´ eritable synapse qui r´ esulte en fait d’un pro-
cessus chimique tr` es complexe et d´ ependant de nombreux facteurs ext´ erieurs encore mal connus.
Il faut bien comprendre que notre neurone artificiel est un mod` ele pragmatique qui, comme nous
le verrons plus loin, nous permettra d’accomplir des tˆ aches int´ eressantes. La vraisemblance bio-
logique de ce mod` ele ne nous importe peu. Ce qui compte est le r´ esultat que ce mod` ele nous
permettra d’atteindre.
Un autre facteur limitatif dans le mod` ele que nous nous sommes donn´ es concerne son caract` ere
discret. En effet, pour pouvoir simuler un r´ eseau de neurones, nous allons rendre le temps discret
dans nos ´ equations. Autrement dit, nous allons supposer que tous les neurones sont synchrones,
c’est-` a-dire qu’` a chaque temps t, ils vont simultan´ ement calculer leur somme pond´ er´ ee et produire
une sortie a(t) = f(n(t)). Dans les r´ eseaux biologiques, tous les neurones sont en fait asynchrones.
Revenons donc ` a notre mod` ele tel que formul´ e par l’´ equation 2.2 et ajoutons la fonction d’ac-
1
Un axone peut ˆ etre plus ou moins long selon le type de neurone.
2
Notez bien, cependant, que des th´ eories r´ ecentes remettent en cause cette hypoth` ese. Mais ceci sort du cadre du
cours !
10 CHAPITRE 2. MOD
`
ELE DE NEURONE ET R
´
ESEAU
ƒ
a
Entrée Modèle du neurone
a = ƒ(Wp-b)
W
b
+
p
n
-1
1 x 1
1 x R
R x 1
1 x 1 1 x 1
R
1
FIG. 2.3 – Repr´ esentation matricielle du mod` ele d’un neurone artificiel.
tivation f pour obtenir la sortie du neurone :
a = f(n) = f(w
T
p −b). (2.3)
En remplac¸ant w
T
par une matrice W = w
T
d’une seule ligne, on obtient une forme g´ en´ erale que
nous adopterons tout au long de cet ouvrage :
a = f(Wp −b). (2.4)
L’´ equation 2.4 nous am` ene ` a introduire un sch´ ema de notre mod` ele plus compact que celui
de la figure 2.1. La figure 2.3 illustre celui-ci. On y repr´ esente les R entr´ ees comme un rectangle
noir (le nombre d’entr´ ees est indiqu´ e sous le rectangle). De ce rectangle sort le vecteur p dont la
dimension matricielle est R×1. Ce vecteur est multipli´ e par une matrice W qui contient les poids
(synaptiques) du neurones. Dans le cas d’un neurone simple, cette matrice poss` ede la dimension
1×R. Le r´ esultat de la multiplication correspond au niveau d’activation qui est ensuite compar´ e au
seuil b (un scalaire) par soustraction. Finalement, la sortie du neurone est calcul´ ee par la fonction
d’activation f. La sortie d’un neurone est toujours un scalaire.
2.3 Fonctions de transfert
Jusqu’` a pr´ esent, nous n’avons pas sp´ ecifi´ e la nature de la fonction d’activation de notre mod` ele.
Il se trouve que plusieurs possibilit´ es existent. Diff´ erentes fonctions de transfert pouvant ˆ etre uti-
lis´ ees comme fonction d’activation du neurone sont ´ enum´ er´ ees au tableau 2.1. Les trois les plus
utilis´ ees sont les fonctions «seuil» (en anglais «hard limit»), «lin´ eaire» et «sigmo¨ıde».
Comme son noml’indique, la fonction seuil applique un seuil sur son entr´ ee. Plus pr´ ecis´ ement,
une entr´ ee n´ egative ne passe pas le seuil, la fonction retourne alors la valeur 0 (on peut interpr´ eter
ce 0 comme signifiant faux), alors qu’une entr´ ee positive ou nulle d´ epasse le seuil, et la fonction
2.3. FONCTIONS DE TRANSFERT 11
TAB. 2.1 – Fonctions de transfert a = f(n).
Nom de la fonction Relation d’entr´ ee/sortie Icˆ one Nom Matlab
seuil
a = 0 si n < 0
a = 1 si n ≥ 0
hardlim
seuil sym´ etrique
a = −1 si n < 0
a = 1 si n ≥ 0
hardlims
lin´ eaire a = n purelin
lin´ eaire satur´ ee
a = 0 si n < 0
a = n si 0 ≤ n ≤ 1
a = 1 si n > 1
satlin
lin´ eaire satur´ ee sym´ etrique
a = −1 si n < −1
a = n si −1 ≤ n ≤ 1
a = 1 si n > 1
satlins
lin´ eaire positive
a = 0 si n < 0
a = n si n ≥ 0
poslin
sigmo¨ıde a =
1
1+exp
−n
logsig
tangente hyperbolique a =
e
n
−e
−n
e
n
+e
−n
tansig
comp´ etitive
a = 1 si n maximum
a = 0 autrement
C
compet
retourne 1 (vrai). Utilis´ ee dans le contexte d’un neurone, cette fonction est illustr´ ee ` a la figure
2.4a. On remarque alors que le biais b dans l’expression de a = hardlim(w
T
p −b) (´ equation 2.4)
d´ etermine l’emplacement du seuil sur l’axe w
T
p, o` u la fonction passe de 0 ` a 1. Nous verrons plus
loin que cette fonction permet de prendre des d´ ecisions binaires.
La fonction lin´ eaire est tr` es simple, elle affecte directement son entr´ ee ` a sa sortie :
a = n. (2.5)
Appliqu´ ee dans le contexte d’un neurone, cette fonction est illustr´ ee ` a la figure 2.4b. Dans ce cas,
la sortie du neurone correspond ` a son niveau d’activation dont le passage ` a z´ ero se produit lorsque
w
T
p = b.
La fonction de transfert sigmo¨ıde est quant ` a elle illustr´ ee ` a la figure 2.4c. Son ´ equation est
donn´ ee par :
a =
1
1 + exp
−n
. (2.6)
Elle ressemble soit ` a la fonction seuil, soit ` a la fonction lin´ eaire, selon que l’on est loin ou pr` es de b,
respectivement. La fonction seuil est tr` es non-lin´ eaire car il y a une discontinuit´ e lorsque w
T
p = b.
De son cˆ ot´ e, la fonction lin´ eaire est tout ` a fait lin´ eaire. Elle ne comporte aucun changement de
pente. La sigmo¨ıde est un compromis int´ eressant entre les deux pr´ ec´ edentes. Notons finalement,
que la fonction «tangente hyperbolique» est une version sym´ etrique de la sigmo¨ıde.
12 CHAPITRE 2. MOD
`
ELE DE NEURONE ET R
´
ESEAU
+1
-1
w
T
p
0
a
b
b
-b
0
a
b
w
T
p
0
a
b
+1
-1
w
T
p
(a) (b) (c)
FIG. 2.4 – Fonction de transfert : (a) du neurone «seuil»; (b) du neurone «lin´ eaire», et (c) du
neurone «sigmo¨ıde».
2.4 Architecture de r´ eseau
Un r´ eseau de neurones est un maillage de plusieurs neurones, g´ en´ eralement organis´ e en couches.
Pour construire une couche de S neurones, il s’agit simplement de les assembler comme ` a la fi-
gure 2.5. Les S neurones d’une mˆ eme couche sont tous branch´ es aux R entr´ ees. On dit alors que
la couche est totalement connect´ ee. Un poids w
i,j
est associ´ e ` a chacune des connexions. Nous
noterons toujours le premier indice par i et le deuxi` eme par j (jamais l’inverse). Le premier in-
dice (rang´ ee) d´ esigne toujours le num´ ero de neurone sur la couche, alors que le deuxi` eme indice
(colonne) sp´ ecifie le num´ ero de l’entr´ ee. Ainsi, w
i,j
d´ esigne le poids de la connexion qui relie
le neurone i ` a son entr´ ee j. L’ensemble des poids d’une couche forme donc une matrice W de
dimension S ×R :
W =









w
1,1
w
1,2
· · · w
1,R
w
2,1
w
2,2
· · · w
2,R
.
.
.
.
.
.
.
.
.
.
.
.
w
S,1
w
S,2
· · · w
S,R









(2.7)
Notez bien que S = R, dans le cas g´ en´ eral (les nombres de neurones et d’entr´ ees sont ind´ ependants).
Si l’on consid` ere que les S neurones forment un vecteur de neurones, alors on peut cr´ eer les
vecteurs b = [b
1
b
2
· · · b
S
]
T
, n = [n
1
n
2
· · · n
S
]
T
et a = [a
1
a
2
· · · a
S
]
T
. Ceci nous am` ene ` a la
repr´ esentation graphique simplifi´ ee, illustr´ ee ` a la figure 2.6. On y retrouve, comme ` a la figure
2.3, les mˆ emes vecteurs et matrice. La seule diff´ erence se situe au niveau de la taille, ou plus
pr´ ecis´ ement du nombre de rang´ ees (S), de b, n, a et W.
Finalement, pour construire un r´ eseau, il ne suffit plus que de combiner des couches comme
` a la figure 2.7. Cet exemple comporte R entr´ ees et trois couches de neurones comptant respecti-
vement S
1
, S
2
et S
3
neurones. Dans le cas g´ en´ eral, de nouveau, S
1
= S
2
= S
3
. Chaque couche
poss` ede sa propre matrice de poids W
k
, o` u k d´ esigne l’indice de couche. Dans le contexte des vec-
teurs et des matrices relatives ` a une couche, nous emploierons toujours un exposant pour d´ esigner
cet indice. Ainsi, les vecteurs b
k
, n
k
et a
k
sont aussi associ´ es ` a la couche k.
Il importe de remarquer dans cet exemple que les couches qui suivent la premi` ere ont comme
entr´ ee la sortie de la couche pr´ ec´ edente. Ainsi, on peut enfiler autant de couche que l’on veut,
2.4. ARCHITECTURE DE R
´
ESEAU 13
w
1,1
p
1
p
2
p
3
p
R

b
1
-1
ƒ
n
1
a
1
R entrées Couche de S neurones
a = ƒ(Wp − b)

b
2
-1
ƒ
n
2
a
2

b
S
-1
ƒ
n
S
a
S
… … …
w
S,R
FIG. 2.5 – Couche de S neurones.
du moins en th´ eorie. Nous pouvons aussi fixer un nombre quelconque de neurones sur chaque
couche. En pratique, nous verrons plus tard qu’il n’est cependant pas souhaitable d’utiliser trop de
neurones. Finalement, notez aussi que l’on peut changer de fonction de transfert d’une couche ` a
l’autre. Ainsi, toujours dans le cas g´ en´ eral, f
1
= f
2
= f
3
.
La derni` ere couche est nomm´ ee «couche de sortie». Les couches qui pr´ ec` edent la couche de
sortie sont nomm´ ees «couches cach´ ees». Nous verrons un peu plus tard pourquoi. Le r´ eseau de la
figure 2.7 poss` ede donc deux couches cach´ ees et une couche de sortie.
Les r´ eseaux multicouches sont beaucoup plus puissants que les r´ eseaux simples ` a une seule
couche. En utilisant deux couches (une couche cach´ ee et une couche de sortie), ` a condition d’em-
ployer une fonction d’activation sigmo¨ıde sur la couche cach´ ee, on peut entraˆıner un r´ eseau ` a
produire une approximation de la plupart des fonctions, avec une pr´ ecision arbitraire (cela peut
cependant requ´ erir un grand nombre de neurones sur la couche cach´ ee). Sauf dans de rares cas, les
r´ eseaux de neurones artificiels exploitent deux ou trois couches.
Entraˆıner un r´ eseau de neurones signifie modifier la valeur de ses poids et de ses biais pour
qu’il r´ ealise la fonction entr´ ee/sortie d´ esir´ ee. Nous ´ etudierons en d´ etails, dans des chapitres subs´ equents,
14 CHAPITRE 2. MOD
`
ELE DE NEURONE ET R
´
ESEAU
ƒ
a
Entrée Couche de S neurones
a = ƒ(Wp − b)
W
b
+
p
n
-1
S x 1
R x 1
S x R
S x 1 S x 1
R S
FIG. 2.6 – Repr´ esentation matricielle d’une couche de S neurones.
Entrée
p
-1
R
ƒ
1
a
1
Couche 1
a
1
= ƒ
1
(W
1
p − b
1
)
W
1
b
1
+
n
1
S
1
x 1
S
1
x

R
S
1
x 1
S
1
x 1
S
1
R x 1
ƒ
2
a
2
Couche 2
a
2
= ƒ
2
(W
2
a
1
− b
2
)
W
2
b
2
+
n
2
S
2
x 1
S
2
x S
1
S
2
x 1
S
2
x 1
S
2
ƒ
3
a
3
Couche 3
a
3
= ƒ
3
(W
3
a
2
− b
3
)
W
3
b
3
+
n
3
S
3
x 1
S
3
x 1
S
3
x 1
S
3
S
3
x S
2
-1 -1
FIG. 2.7 – Repr´ esentation matricielle d’un r´ eseau de trois couches.
diff´ erents algorithmes pour y parvenir dans diff´ erents contextes. Pour sp´ ecifier la structure du
r´ eseau, il faut aussi choisir le nombre de couches et le nombre de neurones sur chaque couche.
Tout d’abord, rappelons que le nombre d’entr´ ees du r´ eseau (R), de mˆ eme que le nombre de neu-
rones sur la couche de sortie est fix´ e par les sp´ ecifications du probl` eme que l’on veut r´ esoudre avec
ce r´ eseau. Par exemple, si la donn´ ee du probl` eme comporte quatre variables en entr´ ee et qu’elle
exige de produire trois variables en sortie, alors nous aurons simplement R = 4 et S
M
= 3, o` u
M correspond ` a l’indice de la couche de sortie (ainsi qu’au nombre de couches). Ensuite, la na-
ture du probl` eme peut aussi nous guider dans le choix des fonctions de transfert. Par exemple, si
l’on d´ esire produire des sorties binaires 0 ou 1, alors on choisira probablement une fonction seuil
(voir tableau 2.1, page 11) pour la couche de sortie. Il reste ensuite ` a choisir le nombre de couches
cach´ ees ainsi que le nombre de neurones sur ces couches, et leur fonction de transfert. Il faudra
aussi fixer les diff´ erents param` etres de l’algorithme d’apprentissage. Mais nous y reviendrons en
temps et lieu !
Finalement, la figure 2.8 illustre le dernier ´ el´ ement de construction que nous emploierons
2.4. ARCHITECTURE DE R
´
ESEAU 15
D
u(t) a(t)
a(0)
Délai
a(t) = u(t-1)
FIG. 2.8 –
´
El´ ement de retard.
pour bˆ atir des r´ eseaux dit «r´ ecurrents». Il s’agit d’un registre ` a d´ ecalage qui permet d’introduire
un retard dans une donn´ ee que l’on veut acheminer dans un r´ eseau. La sortie retard´ ee a(t) prend
la valeur de l’entr´ ee u au temps t −1. Cet ´ el´ ement de retard pr´ esuppose que l’on peut initialiser la
sortie au temps t = 0 avec la valeur a(0). Cette condition initiale est indiqu´ ee ` a la figure 2.8 par
une fl` eche qui entre par le bas de l’´ el´ ement.
Avant de passer ` a la d´ ecription des architectures concr` etes et de leur algorithmes d’appren-
tissage, nous allons d’abord effectuer au chapitre suivant quelques rappels sur l’alg` ebre lin´ eaire.
En effet, comme le lecteur attentif l’aura devin´ e, nous allons avoir ` a manipuler beaucoup de ma-
trices et d’op´ erations matricielles tout au long de ces chapitres. La notation matricielle peut ˆ etre
tr` es puissante, parce que compacte, mais ´ egalement obscure lorsqu’on ne la maˆıtrise pas bien, d’o` u
l’importance de ces rappels.
Chapitre 3
Alg` ebre lin´ eaire
Dans ce chapitre, nous faisons plusieurs rappels essentiels en alg` ebre lin´ eaire. Au chapitre
pr´ ec´ edent, nous avons vu que les entr´ ees et les sorties d’un r´ eseau de neurones, ainsi que les
rang´ ees de ses matrices de poids forment des vecteurs. Il est donc important de bien comprendre
ce qu’est un espace vectoriel en ´ etudiant ses principales propri´ et´ es. Ensuite, nous aborderons des
outils alg´ ebriques de base tels les transformations lin´ eaires, les changements de base ainsi que les
valeurs et vecteurs propres. Ces outils serviront par la suite tout au long des chapitres subs´ equents.
3.1 D´ efinition d’un espace vectoriel
Lorsque nous d´ efinissons un vecteur x = [x
1
x
2
· · · x
n
]
T
, nous faisons habituellement r´ ef´ erence
` a un espace euclidien de n dimensions, que nous notons
n
. Cependant, la notion d’espace vecto-
riel est beaucoup plus vaste que ce dernier qui ne repr´ esente qu’un cas particulier.
D´ efinition. Un espace vectoriel lin´ eaire X est un ensemble d’´ el´ ements (de vecteurs) d´ efini sur
un champ scalaire F, et respectant les propri´ et´ es suivantes :
1. poss` ede un op´ erateur d’addition tel que :
(a) x, y ∈ X implique x +y ∈ X ;
(b) x +y = y +x; (commutativit´ e)
(c) (x +y) +z = x + (y +z) ; (associativit´ e)
(d) ∃0 ∈ X tel que x +0 = x, ∀x ∈ X ; (´ el´ ement neutre)
(e) ∀x ∈ X, ∃-x tel que x + (-x) = 0; (´ el´ ement inverse)
2. poss` ede un op´ erateur de multiplication tel que :
(a) a ∈ F et x ∈ X implique ax ∈ X ;
(b) ∀x ∈ X et le scalaire 1, 1x = x; (´ el´ ement neutre)
17
18 CHAPITRE 3. ALG
`
EBRE LIN
´
EAIRE
x
1
x
2
x
y
x+y
x
1
x
2
x
3
x
2
x
1
(a) (b) (c)
FIG. 3.1 – Diff´ erents sous-ensembles de
2
: (a) r´ egion rectangulaire ; (b) droite ; (c) plan.
(c) ∀a, b ∈ F et ∀x ∈ X, a(bx) = (ab)x; (associativit´ e)
(d) (a + b)x = ax + bx; (distributivit´ e)
(e) a(x +y) = ax + ay ; (distributivit´ e)
Il est facile de d´ emontrer que ces propri´ et´ es sont respect´ ees pour
n
et, par cons´ equent,
2
.
On peut cependant se poser la question ` a propos de certains sous-ensembles de
2
. Par exemple,
consid´ erons la r´ egion rectangulaire illustr´ ee ` a la figure 3.1a. Ce sous-ensemble de
2
n’est pas
un espace vectoriel car, entre autres, la propri´ et´ e 1a n’est pas respect´ ee. En effet, si l’on prend
deux vecteurs ` a l’int´ erieur du rectangle et qu’on les additionne, il se peut que le r´ esultat sorte du
rectangle. Par contre, on peut montrer (et ceci est laiss´ ee en exercice) que la droite infinie illustr´ ee
` a la figure 3.1b respecte toutes les propri´ et´ es ´ enum´ er´ ees ci-dessus et, par cons´ equent, d´ efini un
espace vectoriel. Notez bien, cependant, que cette droite se doit de passer par l’origine, sinon la
propri´ et´ e 1d ne serait pas respect´ ee.
Un autre exemple d’un espace vectoriel est l’ensemble P
2
des polynˆ omes de degr´ e 2 ou moins.
Par exemple, deux ´ el´ ements de cet espace sont :
x = 3 + 2t + t
2
, (3.1)
y = 5 −t. (3.2)
Cet ensemble respecte les 10 propri´ et´ es d’un espace vectoriel. En effet, si l’on additionne deux
polynˆ omes de degr´ e 2 ou moins, on obtient un autre polynˆ ome de degr´ e 2 ou moins. On peut aussi
multiplier un polynˆ ome par un scalaire sans changer l’ordre de celui-ci, etc. En notation vectorielle,
on peut donc repr´ esenter les deux polynˆ omes de l’exemple par x = [3 2 1]
T
et y = [5 -1 0]
T
.
Mentionnons qu’on peut aussi former des espaces vectoriels avec des ensembles de fonctions
plus g´ en´ erales que des polynˆ omes. Il importe seulement de respecter les 10 propri´ et´ es fondamen-
tales d’un espace vectoriel ! Si nous prenons la peine de pr´ eciser cette d´ efinition formelle, c’est
parce que la r´ esolution d’un probl` eme avec un r´ eseau de neurones requiert toujours de pouvoir
repr´ esenter ce probl` eme ` a l’aide d’un espace vectoriel. C’est donc une notion tout ` a fait fondamen-
tale ` a ce sujet d’´ etude.
3.1. D
´
EFINITION D’UN ESPACE VECTORIEL 19
3.1.1 D´ ependance lin´ eaire
Soient les n vecteurs {x
1
, x
2
, . . . , x
n
}. Alors ces vecteurs sont lin´ eairement d´ ependants s’il
existe n scalaires a
1
, a
2
, . . . , a
n
tels qu’au moins un d’eux est non nul et que :
a
1
x
1
+ a
2
x
2
+· · · + a
n
x
n
= 0. (3.3)
Et r´ eciproquement, si a
1
x
1
+ a
1
x
1
+ · · · + a
1
x
1
= 0 implique que ∀i, a
i
= 0, alors les vecteurs
sont (lin´ eairement) ind´ ependants.
Par exemple, les vecteurs suivants :
x
1
=

1
−1
−1
¸
¸
¸ , x
2
=

1
1
−1
¸
¸
¸ (3.4)
sont lin´ eairement ind´ ependants car si a
1
x
1
+ a
2
x2 = 0, alors :

a
1
+ a
2
-a
1
+ a
2
-a
1
−a
2
¸
¸
¸ =

0
0
0
¸
¸
¸ , (3.5)
et a
1
+ a
2
= 0 implique que a
1
= −a
2
, et −a
1
+ a
2
= 0 implique a
1
= a
2
. Ainsi, il faut que
a
1
= a
2
= 0.
Par contre, les polynˆ omes p
1
= 1 + t + t
2
, p
2
= 2 + 2t + t
2
et p
3
= 1 + t sont lin´ eairement
d´ ependants puisque a
1
p
1
+ a
2
p
2
+ a
3
p
3
= 0 pour a
1
= 1, a
2
= −1 et a
3
= 1.
3.1.2 Bases et dimensions
La dimension d’un espace vectoriel est d´ etermin´ ee par le nombre minimum de vecteurs de
base requis pour couvrir l’espace vectoriel en entier. On dit d’un ensemble de vecteur {u
1
, u
2
, . . . , u
n
}
qu’il couvre un espace vectoriel X si et seulement si tous les x ∈ X de cet espace peuvent ˆ etre
exprim´ es comme une combinaison lin´ eaire des vecteurs de base :
x = a
1
u
1
+ a
2
u
2
+· · · + a
n
u
n
. (3.6)
Par exemple, dans
2
, nous avons l’habitude de travailler avec les vecteurs de base u
1
= [1 0] et
u
2
= [0 1], mais ce n’est pas la seule possibilit´ e. Un autre choix serait [0.5 0.5] et [−0.5 0.5] ou
encore [2 0] et [0 2]. La seule chose qui importe est que les vecteurs de base soient lin´ eairement
ind´ ependants.
Pour notre espace P
2
des polynˆ omes de degr´ e 2 ou moins, on peut choisir autant {1, t, t
2
} que
{1, 1 + t, 1 + t + t
2
}, par exemple.
20 CHAPITRE 3. ALG
`
EBRE LIN
´
EAIRE
3.1.3 Produit scalaire
Le produit scalaire entre deux vecteurs x et y, que nous noterons <x, y>, est une op´ eration
tr` es importante pour les r´ eseaux de neurones. N’importe quelle fonction scalaire prenant deux
vecteurs comme argument et respectant les trois propri´ et´ es suivantes peut servir ` a d´ efinir un produit
scalaire :
1. <x, y> = <y, x>;
2. <x, (ay
1
+ by
2
)> = a<x, y
1
> + b<x, y
2
>;
3. <x, x> ≥ 0, avec <x, x> = 0 uniquement pour x = 0;
La premi` ere propri´ et´ e sp´ ecifie qu’un produit scalaire doit ˆ etre sym´ etrique. La deuxi` eme pr´ ecise que
le produit d’un vecteur par une combinaison lin´ eaire de deux vecteurs est ´ egale ` a la combinaison
lin´ eaire des produits scalaires. Finalement, la troisi` eme propri´ et´ e restreint le produit scalaire d’un
vecteur avec lui-mˆ eme aux valeurs positives, sauf pour le vecteur nul qui doit donner z´ ero.
Le produit scalaire habituellement utilis´ e sur
n
est d´ efini par :
<x, y> = x
T
y = x
1
y
1
+ x
2
y
2
+· · · + x
n
y
n
. (3.7)
3.1.4 Norme
La norme d’un vecteur est une mesure de longueur. La fonction scalaire ||x|| s’appelle une
norme si elle satisfait aux quatre propri´ et´ es suivantes :
1. ||x|| ≥ 0 ;
2. ||x|| = 0 si, et seulement si, x = 0;
3. ||ax|| = |a| ||x|| ;
4. ||x +y|| ≤ ||x|| +||y|| ;
La premi` ere propri´ et´ e sp´ ecifie qu’une norme est toujours positive ou nulle. La deuxi` eme pr´ ecise
qu’elle n’est nulle que pour le vecteur nul. La troisi` eme impose que la norme d’un vecteur multipli´ e
par un scalaire soit (lin´ eairement) proportionnelle ` a ce scalaire. Finalement, la derni` ere propri´ et´ e
impose que la norme d’une somme de deux vecteurs soit inf´ erieure ou ´ egale ` a la somme des
normes.
La norme la plus souvent utilis´ ee, nomm´ ee l
2
, est d´ efinie par ||x|| =

<x, x>, ce qui dans
un espace euclidien
n
correspond ` a la norme euclienne habituelle :
||x|| =

x
2
1
+ x
2
2
+· · · + x
2
n
. (3.8)
Beaucoup d’autres normes sont possibles telle que, par exemple, ||x|| = |x
1
| + |x
2
| + · · · + |x
n
|.
Cette derni` ere s’appelle norme l
1
(on dit aussi «city block» ou encore «manhattan»). Dans le cas
g´ en´ eral, il existe les normes dites l
p
telles que :
||x|| =
p

|x
1
|
p
+|x
2
|
p
+· · · +|x
n
|
p
, (3.9)
3.1. D
´
EFINITION D’UN ESPACE VECTORIEL 21
o` u p ≥ 1. Dans le cas o` u p →∞, on obtient la norme l

suivante :
||x|| = max
i
|x
i
|. (3.10)
Ceci nous indique que plus p devient grand, plus on attache de l’importance aux grandes compo-
santes de x.
`
A la limite, on ne tient compte que de la plus grande composante du vecteur.
Finalement, mentionnons qu’il importe parfois de «normaliser» nos vecteurs en les divisant
par leur norme :

x
||x||

= 1. (3.11)
On obtient alors un vecteur qui pointe dans la mˆ eme direction qu’auparavant mais dont la norme
est unitaire.
Les concepts de produit scalaire et de norme permettent aussi d’introduire la notion d’angle θ
entre deux vecteurs x et y via la fameuse loi des cosinus :
<x, y> = ||x|| ||y|| cos θ. (3.12)
3.1.5 Orthogonalit´ e
Deux vecteurs x et y sont dits orthogonaux si leur produit scalaire <x, y> est nul (θ = 90

).
Un vecteur x ∈ X est aussi dit orthogonal ` a un sous-espace X

⊂ X lorsqu’il est orthogonal
avec tous les vecteurs x

de ce sous-espace. Par exemple, un plan dans
3
d´ efinit un sous-espace
de dimension 2 pour lequel il existe un vecteur perpendiculaire (orthogonal) ` a ce plan (voir figure
3.1c).
Parfois, il importe de convertir un ensemble de n vecteurs ind´ ependants {x
1
, x
2
, . . . , x
n
} en
n vecteurs orthogonaux {v
1
, v
2
, . . . , v
n
}. On peut effectuer cette op´ eration avec la m´ ethode de
Gram-Schmidt. Le premier vecteur orthogonal peut ˆ etre quelconque, nous choisissons donc le
premier vecteur ind´ ependant :
v
1
= x
1
. (3.13)
Pour le second vecteur orthogonal, on utilise x
2
, mais apr` es avoir soustrait de x
2
, la portion du
vecteur qui est dans la direction de v
1
. On obtient :
v
2
= x
2
−av
1
, (3.14)
o` u a est choisi de mani` ere ` a ce que v
2
soit orthogonal ` a v
1
. Ceci implique que :
<v
1
, v
2
> = <v
1
, (x
2
−av
1
)> = <v
1
, x
2
>−a<v
1
, v
1
> = 0 (3.15)
et :
a =
<v
1
, x
2
>
<v
1
, v
1
>
. (3.16)
Ainsi, pour trouver la composante de x
2
dans la direction de v
1
, c’est-` a-dire av
1
, il s’agit de
calculer le produit scalaire entre les deux vecteurs. Ceci s’appelle le projecteur de x
2
sur v
1
(voir
figure 3.2). Si l’on continue ce processus, le k
` eme
vecteur orthogonal est obtenu par l’expression :
22 CHAPITRE 3. ALG
`
EBRE LIN
´
EAIRE
v
1
= x
1
x
2
av
1
v
2
FIG. 3.2 – Illustration de la m´ ethode de transformation orthogonale Gram-Schmidt.
v
k
= x
k

k−1
¸
i=1
<v
i
, x
k
>
<v
i
, v
i
>
v
i
. (3.17)
3.2 Transformations lin´ eaires
Une transformation lin´ eaire A est une application d’un espace vectoriel X vers un espace
vectoriel Y telle que :
1. ∀x
1
, x
2
∈ X, A(x
1
+x
2
) = A(x
1
) +A(x
2
) ;
2. ∀x ∈ X, a ∈ , A(ax) = aA(x).
La premi` ere propri´ et´ e sp´ ecifie que la transform´ ee d’une somme de vecteurs doit ˆ etre ´ egale ` a la
somme des transform´ ees, pour qu’elle soit lin´ eaire. La deuxi` eme propri´ et´ e pr´ ecise que la trans-
form´ ee d’un vecteur auquel on a appliqu´ e un facteur d’´ echelle doit aussi ˆ etre ´ egale ` a ce facteur
appliqu´ e sur la transform´ ee du vecteur original. Si l’une ou l’autre de ces deux propri´ et´ es n’est pas
respect´ ee, la transformation n’est pas lin´ eaire.
3.2.1 Repr´ esentations matricielles
Nous allons maintenant montrer que toute transformation lin´ eaire peut ˆ etre repr´ esent´ ee par
une matrice. Soient {v
1
, v
2
, . . . , v
n
} les vecteurs de base pour X et {u
1
, u
2
, . . . , u
m
} ceux de Y.
Avec ces bases, nous pouvons repr´ esenter n’importe quels vecteurs x ∈ X et y ∈ Y avec les
combinaisons lin´ eaires suivantes :
x =
n
¸
j=1
x
j
v
j
et y =
m
¸
i=1
y
i
u
i
. (3.18)
Soit la transformation lin´ eaire A qui applique X sur Y (A : X −→Y). Donc :
A(x) = y, (3.19)
3.2. TRANSFORMATIONS LIN
´
EAIRES 23
que l’on peut r´ e-´ ecrire de la fac¸on suivante :
A

¸
n
¸
j=1
x
j
v
j
¸

=
m
¸
i=1
y
i
u
i
. (3.20)
Mais puisque A est un op´ erateur lin´ eaire, on peut aussi ´ ecrire :
n
¸
j=1
x
j
A(v
j
) =
m
¸
i=1
y
i
u
i
. (3.21)
En consid´ erant maintenant que les vecteurs A(v
j
) sont des ´ el´ ements de Y, on peut les r´ e-´ ecrire en
tant qu’une combinaison lin´ eaire de ses vecteurs de base :
A(v
j
) =
m
¸
i=1
a
ij
u
i
, (3.22)
et en substituant l’´ equation 3.22 dans l’´ equation 3.21, on obtient :
n
¸
j=1
x
j
m
¸
i=1
a
ij
u
i
=
m
¸
i=1
y
i
u
i
. (3.23)
En inversant l’ordre des sommations, on peut ´ ecrire :
m
¸
i=1
u
i
n
¸
j=1
a
ij
x
j
=
m
¸
i=1
y
i
u
i
, (3.24)
et en r´ earrangeant cette derni` ere ´ equation, on produit le r´ esultat :
m
¸
i=1
u
i

¸
n
¸
j=1
a
ij
x
j
−y
i
¸

= 0. (3.25)
Finalement, en se rappelant que les vecteurs de base u
i
doivent ˆ etre ind´ ependants, on peut conclure
que leurs coefficients doivent forc´ ement ˆ etre nuls, donc :
n
¸
j=1
a
ij
x
j
= y
i
. (3.26)
Ce qui correspond au produit de matrice :

a
11
a
12
· · · a
1n
a
21
a
22
· · · a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
· · · a
mn
¸
¸
¸
¸
¸
¸

x
1
x
2
.
.
.
x
n
¸
¸
¸
¸
¸
¸
=

y
1
x
2
.
.
.
y
m
¸
¸
¸
¸
¸
¸
, (3.27)
que l’on peut noter Ax = y.
Autrement dit, toute transformation lin´ eaire peut ˆ etre d´ ecrite par une matrice A qu’il s’agit
de multiplier avec le vecteur que l’on veut transformer, pour obtenir le vecteur r´ esultant de la
transformation.
24 CHAPITRE 3. ALG
`
EBRE LIN
´
EAIRE
v
1
= u
1
x v
2
= u
2
q
Ax
θ
θ
Av
1
Av
2
s
i
n

θ
cos θ
-sin θ
c
o
s

θ
(a) (b)
FIG. 3.3 – Transformation de rotation : (a) rotation du vecteur x; (b) rotation des vecteurs de base
v
1
et v
2
.
Comme exemple de transformation lin´ eaire, consid´ erons la rotation qui consiste ` a faire tourner
un vecteur autour de l’origine. Pour simplifier, utilisons X = Y =
2
et travaillons avec les
vecteurs de base habituels, c’est-` a-dire ceux du plan cart´ esien illustr´ es ` a la figure 3.3a. La clef
ici est de transformer chaque vecteur de base comme ` a la figure 3.3b. Ceci s’accomplit grˆ ace ` a
l’´ equation 3.20 :
A(v
1
) = cos(θ)v
1
+ sin(θ)v
2
= a
11
v
1
+ a
21
v
2
, (3.28)
A(v
2
) = −sin(θ)v
1
+ cos(θ)v
2
= a
12
v
1
+ a
22
v
2
. (3.29)
Ce qui nous donne les deux colonnes d’une matrice de rotation A dans
2
:
A =
¸
cos θ −sin θ
sin θ cos θ
¸
(3.30)
3.2.2 Changement de base
Il est important de noter que la repr´ esentation matricielle d’une transformation lin´ eaire n’est
pas unique car elle d´ epend des vecteurs de base. Dans cette sous-section, nous allons examiner ce
qu’il advient d’une transformation lorsqu’on effectue un changement de base.
Soit la transformation lin´ eaire A : X −→ Y et l’ensemble {v
1
, v
2
, . . . , v
n
} des vecteurs de
base de X, et {u
1
, u
2
, . . . , u
m
} ceux de Y. Par cons´ equent :
Ax = y, ∀x ∈ X. (3.31)
Supposons maintenant que l’on veuille changer de base pour X et Y. Soient {t
1
, t
2
, . . . , t
n
}
et {w
1
, w
2
, . . . , w
m
} les nouveaux ensembles de vecteurs de base. Avec ces bases, nous aurons
A

x

= y

, ∀x

∈ X, o` u x = B
t
x

, y = B
w
y

, B
t
= [t
1
t
2
· · · t
n
] et B
w
= [w
1
w
2
· · · w
m
]. En
substituant ces r´ esultats dans l’´ equation 3.31, on obtient l’expression suivante :
AB
t
x

= B
w
y

(3.32)
3.2. TRANSFORMATIONS LIN
´
EAIRES 25
puis en multipliant de part et d’autre par B
−1
w
:
(B
−1
w
AB
t
)x

= y

, (3.33)
ce qui implique que A

= B
−1
w
AB
t
.
On doit retenir qu’en changeant de base pour repr´ esenter nos vecteurs, nous changerons aussi
la repr´ esentation matricielle de nos transformations. Le r´ esultat sera le mˆ eme car les deux transfor-
mations sont similaires. Seule la repr´ esentation change (les colonnes de nombres). L’int´ erˆ et d’un
changement de base est que certaines repr´ esentations sont plus faciles ` a interpr´ eter que d’autres,
comme nous le verrons plus loin.
3.2.3 Valeurs et vecteurs propres
Nous terminons ce chapitre en abordant une autre notion fondamentale pour l’analyse des
transformations lin´ eaires en g´ en´ erale, et des r´ eseaux de neurones en particulier : les valeurs et
vecteurs propres.
Soit la transformation lin´ eaire A : X −→ X (ici le domaine et l’image de la transformation
sont les mˆ emes). Alors, les vecteurs z ∈ X et les scalaires λ satisfaisant ` a la relation :
A(z) = λz (3.34)
sont dits «vecteurs propres» (z) et «valeurs propres» (λ), respectivement. Cette d´ efinition sp´ ecifie
qu’un vecteur propre d’une transformation donn´ ee repr´ esente une direction dans laquelle tous les
vecteurs pointant dans cette direction continueront ` a pointer dans la mˆ eme direction apr` es la trans-
formation, mais avec un facteur d’´ echelle λ correspondant ` a la valeur propre associ´ ee. Notez bien
que cette interpr´ etation n’est valide que lorsque les valeurs propres sont r´ eelles et que les vecteurs
propres existent ce qui n’est pas toujours le cas.
En posant un certain ensemble de vecteur de base, on peut reformuler l’´ equation 3.34 sous sa
forme matricielle :
Az = λz (3.35)
ou d’une mani` ere ´ equivalente :
(A−λI)z = 0 (3.36)
o` u I repr´ esente la matrice identit´ e. Cette derni` ere ´ equation implique que les colonnes de A− λI
sont d´ ependantes et, par cons´ equent, que son d´ eterminant est nul :
|A−λI| = 0 (3.37)
Ce d´ eterminant est un polynˆ ome de degr´ e n poss´ edant exactement n racines, dont certaines peuvent
ˆ etre complexes et d’autres r´ ep´ et´ ees.
Si l’on reprend notre exemple de la transformation de rotation :
A =
¸
cos θ −sin θ
sin θ cos θ
¸
(3.38)
26 CHAPITRE 3. ALG
`
EBRE LIN
´
EAIRE
On peut r´ e-´ ecrire l’´ equation 3.36 de la fac¸on suivante :

cos θ −λ −sin θ
sin θ cos θ −λ

= 0, (3.39)
ce qui donne le polynˆ ome suivant :
λ
2
−2λcos θ + (cos
2
θ + sin
2
θ) = λ
2
−2λcos θ + 1 = 0, (3.40)
dont les racines λ
1
= cos θ + j sin θ et λ
2
= cos θ − j sin θ sont complexes. Ainsi, puisque qu’il
n’y a pas de valeur propre r´ eelle (sauf pour θ = 0

ou encore θ = 180

), cela implique que tout
vecteur r´ eel transform´ e pointera dans une nouvelle direction (ce qui est l’effet recherch´ e pour une
rotation !).
Lorsqu’une matrice A de dimension n × n engendre n valeurs propres distinctes, alors il est
possible d’engendrer n vecteurs propres ind´ ependants qui correspondent ` a un ensemble de vecteurs
de base pour la transformation que A repr´ esente. Dans ce cas, on peut diagonaliser la matrice de
la transformation en effectuant un changement de base. Plus formellement, si B = [z
1
z
2
· · · z
n
], la
matrice des n vecteurs propres, alors :
B
−1
AB =

λ
1
0 · · · 0
0 λ
2
· · · 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · · λ
n
¸
¸
¸
¸
¸
¸
, (3.41)
o` u {λ
1
, λ
2
, . . . , λ
n
} sont les valeurs propres de A. Ce r´ esultat d´ ecoule directement de la d´ efinition
des vecteurs et valeurs propres de l’´ equation 3.35 :
AB = B

λ
1
0 · · · 0
0 λ
2
· · · 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · · λ
n
¸
¸
¸
¸
¸
¸
(3.42)
Il nous sera tr` es utile dans les chapitres ` a venir, lorsque nous analyserons la performance de divers
algorithmes d’apprentissage pour les r´ eseaux de neurones.
Chapitre 4
Processus d’apprentissage
Parmi les propri´ et´ es d´ esirables pour un r´ eseau de neurones, la plus fondamentale est sˆ urement
la capacit´ e d’apprendre de son environnement, d’am´ eliorer sa performance ` a travers un processus
d’apprentissage. Mais qu’est-ce donc que l’apprentissage ? Malheureusement, il n’existe pas de
d´ efinition g´ en´ erale, universellement accept´ ee, car ce concept touche ` a trop de notions distinctes
qui d´ ependent du point de vue que l’on adopte.
Dans le contexte des r´ eseaux de neurones artificiels, nous adopterons un point de vue pragma-
tique en proposant la d´ efinition suivante :
L’apprentissage est un processus dynamique et it´ eratif permettant de modifier les
param` etres d’un r´ eseau en r´ eaction avec les stimuli qu’il rec¸oit de son environne-
ment. Le type d’apprentissage est d´ etermin´ e par la mani` ere dont les changements de
param` etre surviennent.
Cette d´ efinition implique qu’un r´ eseau se doit d’ˆ etre stimul´ e par un environnement, qu’il subisse
des changements en r´ eaction avec cette stimulation, et que ceux-ci provoquent dans le futur une
r´ eponse nouvelle vis-` a-vis de l’environnement. Ainsi, le r´ eseau peut s’am´ eliorer avec le temps.
Dans la plupart des architectures que nous ´ etudierons, l’apprentissage se traduit par une mo-
dification de l’efficacit´ e synaptique, c’est-` a-dire par un changement dans la valeur des poids qui
relient les neurones d’une couche ` a l’autre. Soit le poids w
i,j
reliant le neurone i ` a son entr´ ee j. Au
temps t, un changement ∆w
i,j
(t) de poids peut s’exprimer simplement de la fac¸on suivante :
∆w
i,j
(t) = w
i,j
(t + 1) − w
i,j
(t), (4.1)
et, par cons´ equent, w
i,j
(t +1) = w
i,j
(t) +∆w
i,j
(t), avec w
i,j
(t +1) et w
i,j
(t) repr´ esentant respec-
tivement les nouvelle et ancienne valeurs du poids w
i,j
.
Un ensemble de r` egles bien d´ efinies permettant de r´ ealiser un tel processus d’adaptation des
poids constitue ce qu’on appelle l’algorithme
1
d’apprentissage du r´ eseau.
1
Le mot «algorithme» provient du nom de famille d’un math´ ematicien perse nomm´ e Mohammed Al-Khwarizmi
qui a v´ ecu au 9` e si` ecle de notre ` ere. C’est ` a celui-ci que l’on attribue l’invention de r` egles pas-` a-pas pour l’addition, la
soustraction, la multiplication ainsi que la division de nombres d´ ecimaux. En latin, son nom fut traduit par Algorismus,
qui par la suite se transforma en algorithme.
27
28 CHAPITRE 4. PROCESSUS D’APPRENTISSAGE
Dans la suite de ce chapitre, nous allons passer en revue diff´ erents types de r` egles ainsi que
diff´ erents principes pouvant guider l’apprentissage d’un r´ eseau de neurone.
4.1 Par correction d’erreur
La premi` ere r` egle que l’on peut utiliser est fond´ ee sur la correction de l’erreur observ´ ee en
sortie. Soit a
i
(t) la sortie que l’on obtient pour le neurone i au temps t. Cette sortie r´ esulte d’un
stimulus p(t) que l’on applique aux entr´ ees du r´ eseau dont un des neurones correspond au neurone
i. Soit d
i
(t) la sortie que l’on d´ esire obtenir pour ce mˆ eme neurone i au temps t. Alors, a
i
(t) et
d
i
(t) seront g´ en´ eralement diff´ erents et il est naturel de calculer l’erreur e
i
(t) entre ce qu’on obtient
et ce qu’on voudrait obtenir :
e
i
(t) = d
i
(t) − a
i
(t), (4.2)
et de chercher un moyen de r´ eduire autant que possible cette erreur. Sous forme vectorielle, on
obtient :
e(t) = d(t) −a(t), (4.3)
avec e(t) = [e
1
(t)e
2
(t) · · · e
i
(t) · · · e
S
(t)] qui d´ esigne le vecteur des erreurs observ´ ees sur les S
neurones de sortie du r´ eseau. L’apprentissage par correction des erreurs consiste ` a minimiser un
indice de performance F bas´ e sur les signaux d’erreur e
i
(t), dans le but de faire converger les
sorties du r´ eseau avec ce qu’on voudrait qu’elles soient. Un crit` ere tr` es populaire est la somme des
erreurs quadratiques :
F(e(t)) =
S

i=1
e
2
i
(t) = e(t)
T
e(t). (4.4)
Maintenant, il importe de remarquer que les param` etres libres d’un r´ eseau sont ses poids.
Prenons l’ensemble de ces poids et assemblons les sous la forme d’un vecteur w(t) au temps t.
Pour minimiser F(e(t)) = F(w(t)) = F(t), nous allons commencer par choisir des poids initiaux
(t = 0) au hasard, puis nous allons modifier ces poids de la mani` ere suivante :
w(t + 1) = w(t) + ηx(t), (4.5)
o` u le vecteur x(t) d´ esigne la direction dans laquelle nous allons chercher le minimum et η est une
constante positive d´ eterminant l’amplitude du pas dans cette direction (la vitesse d’apprentissage).
L’objectif est de faire en sorte que F(t + 1) < F(t). Mais comment peut-on choisir la direction x
pour que la condition pr´ ec´ edente soit respect´ ee ? Consid´ erons la s´ erie de Taylor de 1er ordre autour
de w(t) :
F(t + 1) = F(t) + ∇F(t)
T
∆w(t), (4.6)
o` u ∇F(t) d´ esigne le gradient de F par rapport ` a ses param` etres libres (les poids w) au temps t, et
∆w(t) = w(t + 1) − w(t). Or, pour que F(t + 1) < F(t), il faut que la condition suivante soit
respect´ ee :
∇F(t)
T
∆w(t) = η∇F(t)
T
x(t) < 0. (4.7)
N’importe quel vecteur x(t) qui respecte l’in´ egalit´ e de l’´ equation 4.7 pointe donc dans une di-
rection qui diminue F. On parle alors d’une direction de «descente». Pour obtenir une descente
4.2. PAR LA R
`
EGLE DE HEBB 29
w
1
w
2
ÑF(t)
w (t)
FIG. 4.1 – Trajectoire de la descente du gradient.
maximum, ´ etant donn´ ee η > 0, il faut que le vecteur x(t) pointe dans le sens oppos´ e au gradient
car c’est dans ce cas que le produit scalaire sera minimum :
x(t) = −∇F(t) (4.8)
Ce qui engendre la r` egle dite de «descente du gradient» :
∆w(t) = −η∇F(t) (4.9)
illustr´ ee ` a la figure 4.1. Dans l’espace des poids, cette figure montre les courbes de niveau de F
repr´ esent´ ees par des ellipses hypoth´ etiques. La fl` eche en pointill´ es montre la direction optimale
pour atteindre le minimum de F. La fl` eche pleine montre la direction du gradient qui est perpen-
diculaire ` a la courbe de niveau en w(t).
L’expression exacte du gradient d´ epend de la fonction d’activation utilis´ ee pour les neurones.
Nous reviendrons en d´ etails sur la m´ ethode de la descente du gradient au chapitre 5, lorsque nous
traiterons du perceptron multicouche.
La r` egle de la correction des erreurs est utilis´ ee pour beaucoup de r´ eseaux de neurones artifi-
ciels, bien qu’elle ne soit pas plausible biologiquement. En effet, comment le cerveau pourrait-il
connaˆıtre a priori les sorties qu’il doit produire ? Cette r` egle ne peut ˆ etre utilis´ ee que dans un
contexte d’apprentissage supervis´ e sur lequel nous reviendrons bient ˆ ot.
4.2 Par la r` egle de Hebb
Dans cette section nous abordons une r` egle qui s’inspire des travaux du neurophysiologiste
Donald Hebb :
«When an axon of cell A is near enough to excite a cell B and repeatedly or per-
sistently takes part in firing it, some growth process or metabolic changes take place
in one or both cells such that A’s efficiency as one of the cells firing B, is increased.»
30 CHAPITRE 4. PROCESSUS D’APPRENTISSAGE
Dans un contexte neurobiologique, Hebb cherchait ` a ´ etablir une forme d’apprentissage associatif
au niveau cellulaire. Dans le contexte des r´ eseaux artificiels, on peut reformuler l’´ enonc´ e de Hebb
sous la forme d’une r` egle d’apprentissage en deux parties :
1. Si deux neurones de part et d’autre d’un synapse (connexion) sont activ´ es simultan´ ement
(d’une mani` ere synchrone), alors la force de ce synapse doit ˆ etre augment´ ee ;
2. Si les mˆ emes deux neurones sont activ´ es d’une mani` ere asynchrone, alors le synapse corres-
pondant doit ˆ etre affaibli ou carr´ ement ´ elimin´ e.
Un tel synapse est dit «synapse hebbien». Il utilise un m´ ecanisme interactif, d´ ependant du temps et
de l’espace, pour augmenter l’efficacit´ e synaptique d’une mani` ere proportionnelle ` a la corr´ elation
des activit´ es pr´ e- et post-synaptiques. De cette d´ efinition ressort les propri´ et´ es suivantes :
1. D´ ependance temporelle. Les modifications d’un synapse hebbien d´ ependent du moment
exact des activit´ es pr´ e- et post-synaptiques ;
2. D´ ependance spatiale.
´
Etant donn´ e la nature mˆ eme du synapse qui constitue un lieu de trans-
mission d’information, l’apprentissage hebbien se doit de poss´ eder une contigu¨ıt´ e spatiale.
C’est cette propri´ et´ e qui, entre autres, permet l’apprentissage dit non-supervis´ e sur lequel
nous reviendrons bient ˆ ot ;
3. Interaction. L’apprentissage hebbien d´ epend d’une interaction entre les activit´ es de part et
d’autre du synapse.
4. Conjonction ou corr´ elation. Une interpr´ etation de l’´ enonc´ e de Hebb est que la condition per-
mettant un changement dans l’efficacit´ e synaptique est une conjonction des activit´ es pr´ e et
post-synaptiques. C’est la co-occurrence des activit´ es de part et d’autre du synapse qui en-
gendre une modification de celui-ci. Une interpr´ etation plus statistique r´ ef` ere ` a la corr´ elation
de ces activit´ es. Deux activit´ es positives simultan´ ees (corr´ elation positive) engendrent une
augmentation de l’efficacit´ e synaptique, alors que l’absence d’une telle corr´ elation engendre
une baisse de cette efficacit´ e.
Math´ ematiquement, on peut exprimer la r` egle de Hebb sous sa forme la plus simple par la
formule suivante :
∆w
j
(t − 1) = ηp
j
(t)a(t), (4.10)
o` u η est une constante positive qui d´ etermine la vitesse de l’apprentissage, p
j
(t) correspond ` a
l’activit´ e pr´ e-synaptique (l’entr´ ee j du neurone) au temps t, et a(t) ` a l’activit´ e post-synaptique
(sortie du neurone) ` a ce mˆ eme temps t. Cette formule fait ressortir explicitement la corr´ elation
entre le signal qui entre et celui qui sort. Sous une forme vectorielle, on ´ ecrit :
∆w(t − 1) = ηp(t)a(t). (4.11)
Un probl` eme imm´ ediat avec la r` egle de l’´ equation 4.11 est que les changements de poids ∆w
j
(t)
peuvent croˆıtre de fac¸on exponentielle si, par exemple, l’entr´ ee et la sortie demeurent constantes
dans le temps. Pour pallier ` a cette croissance exponentielle qui provoquerait invariablement une
saturation du poids, on ajoute parfois un facteur d’oubli qui retranche de la variation de poids, une
fraction α du poids actuel. On obtient ainsi :
∆w
j
(t − 1) = ηp
j
(t)a(t) − αw
j
(t − 1), (4.12)
4.2. PAR LA R
`
EGLE DE HEBB 31
o` u 0 ≤ α ≤ 1 est une nouvelle constante. Sous forme vectorielle, on ´ ecrit :
∆w(t − 1) = ηp(t)a(t) − αw(t − 1). (4.13)
La r` egle de Hebb avec oubli, ´ enonc´ ee ` a l’´ equation 4.13, contourne efficacement le probl` eme
des poids qui croissent (ou d´ ecroissent) sans limite. Supposons que p
j
(t) = a(t) = 1 et que nous
ayons atteint le r´ egime permanent o` u ∆w
j
= 0. Alors, la valeur maximale w
max
j
que peut atteindre
le poids w
j
(t) est donn´ ee par :
w
max
j
= (1 − α)w
max
j
+ η (4.14)
=
η
α
. (4.15)
Mais cette r` egle ne r´ esout pas tous les probl` emes.
`
A cause du terme d’oubli, il est primordial
que les stimuli soient r´ ep´ et´ es r´ eguli` erement, sinon les associations apprises grˆ ace ` a la r` egle de
l’´ equation 4.13 seront ´ eventuellement perdues car compl` etement oubli´ ees. Une autre variante de la
r` egle de Hebb s’exprime donc de la mani` ere suivante :
∆w
j
(t − 1) = ηp
j
(t)a(t) − αa(t)w
j
(t − 1). (4.16)
Et si l’on fixe α = η pour simplifier (on pose un rythme d’apprentissage ´ egale ` a celui de l’oubli),
on obtient la r` egle dite «instar» :
∆w
j
(t − 1) = ηa(t) [p
j
(t) − w
j
(t − 1)] , (4.17)
que l’on peut r´ e-´ ecrire sous sa forme vectorielle de la fac¸on suivante :
∆w(t − 1) = ηa(t) [p(t) −w(t − 1)] . (4.18)
Une fac¸on d’aborder cette r` egle, est de regarder ce qui se passe lorsque a(t) = 1 :
w(t) = w(t − 1) + η [p(t) −w(t − 1)] (4.19)
= (1 − η)w(t − 1) + ηp(t). (4.20)
Alors, on constate qu’en pr´ esence d’une activit´ e post-synaptique positive, le vecteur de poids est
d´ eplac´ e dans la direction du vecteur d’entr´ ee p(t), le long du segment qui relie l’ancien vecteur de
poids avec le vecteur d’entr´ ee, tel qu’illustr´ e ` a la figure 4.2. Lorsque η = 0, le nouveau vecteur de
poids est ´ egal ` a l’ancien (aucun changement). Lorsque η = 1, le nouveau vecteur de poids est ´ egal
au vecteur d’entr´ ee. Finalement, lorsque η =
1
2
, le nouveau vecteur est ` a mi-chemin entre l’ancien
vecteur de poids et le vecteur d’entr´ ee.
Une propri´ et´ e particuli` erement int´ eressante de la r` egle instar est qu’avec des entr´ ees norma-
lis´ ees, suite au processus d’apprentissage, les poids w convergeront ´ egalement vers des vecteurs
normalis´ es. Mais nous y reviendrons lorsque nous traiterons du r´ eseau «instar».
32 CHAPITRE 4. PROCESSUS D’APPRENTISSAGE
w(t-1)
p(t)
w(t)
FIG. 4.2 – Repr´ esentation graphique de la r` egle «instar» lors d’une activit´ e post-synaptique posi-
tive.
4.3 Comp´ etitif
L’apprentissage comp´ etitif, comme son nom l’indique, consiste ` a faire comp´ etitionner les neu-
rones d’un r´ eseau pour d´ eterminer lequel sera actif ` a un instant donn´ e. Contrairement aux autres
types d’apprentissage o` u, g´ en´ eralement, tous les neurones peuvent apprendre simultan´ ement et
de la mˆ eme mani` ere, l’apprentissage comp´ etitif produit un «vainqueur» ainsi que, parfois, un
ensemble de neurones «voisins» du vainqueur, et seuls ce vainqueur et, potentiellement, son voi-
sinage b´ en´ eficient d’une adaptation de leur poids. On dit alors que l’apprentissage est local car
limit´ e ` a un sous-ensemble des neurones du r´ eseau.
Une r` egle d’apprentissage comp´ etitif comporte les ´ el´ ements suivants :
– Un ensemble de neurones identiques (mˆ eme type) sauf pour les valeurs de leurs poids sy-
naptiques ;
– Une limite impos´ ee ` a la «force» d’un neurone ;
– Un m´ ecanisme permettant aux neurones de comp´ etitionner pour le droit de r´ epondre ` a un
certain sous-ensemble des stimuli d’entr´ ee, de mani` ere ` a ce qu’un seul neurone de sortie
soit actif ` a la fois.
Ainsi, les neurones individuels peuvent apprendre ` a se sp´ ecialiser sur des sous-ensembles de sti-
muli similaires pour devenir des d´ etecteurs de caract´ eristiques.
Dans leur forme la plus simple, les r´ eseaux de neurones qui utilisent l’apprentissage comp´ etitif
sont souvent constitu´ es d’une seule couche de neurones de sortie, totalement connect´ ee sur les
entr´ ees. Un neurone vainqueur modifiera ses poids synaptiques en les rapprochant (g´ eom´ etriquement)
d’un stimulus d’entr´ ee p pour lequel il a battu tous les autres neurones lors de la comp´ etition :
∆w =

η(p −w) si le neurone est vainqueur
0 autrement
, (4.21)
o` u 0 < η < 1 correspond ` a un taux d’apprentissage. Un neurone qui ne gagne pas la comp´ etition
ne modifiera aucunement ses poids. Il ne sera donc pas affect´ e par le stimulus en question. Parfois,
on d´ efinit ´ egalement un voisinage autour du neurone gagnant et on applique une r` egle similaire sur
4.4. PROBL
`
EME DE L’AFFECTATION DU CR
´
EDIT 33
les voisins, mais avec un taux d’apprentissage diff´ erent :
∆w =





η
1
(p −w) si le neurone est vainqueur
η
2
(p −w) si le neurone est voisin du vainqueur
0 autrement
, (4.22)
avec η
2
≤ η
1
.
Comme nous le verrons plus loin dans ce chapitre, l’apprentissage comp´ etitif est surtout utilis´ e
dans le contexte d’un apprentissage dit non-supervis´ e, c’est-` a-dire lorsqu’on ne connait pas les
valeurs d´ esir´ ees pour les sorties du r´ eseau.
4.4 Probl` eme de l’affectation du cr´ edit
Dans le domaine g´ en´ eral de l’apprentissage, il existe un probl` eme qui tourne autour de la
notion de «affectation du cr´ edit»
2
. Essentiellement, il s’agit d’affecter le cr´ edit d’un r´ esultat global,
par exemple l’ad´ equation des sorties d’un r´ eseau face ` a un certain stimulus d’entr´ ee, ` a l’ensemble
des d´ ecisions internes prises par le syst` eme (le r´ eseau) et ayant conduit ` a ce r´ esultat global. Dans le
cas de l’exemple d’un r´ eseau, les d´ ecisions internes correspondent aux sorties des neurones situ´ es
sur les couches qui pr´ ec` edent la couche de sortie. Ces couches sont habituellement qualifi´ ees de
«couches cach´ ees» car on ne dispose pas, a priori, d’information sur l’ad´ equation de leurs sorties.
Le probl` eme de l’affectation du cr´ edit est donc bien pr´ esent dans l’apprentissage des r´ eseaux
de neurones. Par exemple, si l’on adopte une r` egle bas´ ee sur la correction des erreurs, comment
fera-t-on pour calculer cette erreur sur les couches cach´ ees, si l’on ne poss` ede pas l’information
` a propos de leurs sorties d´ esir´ ees ? De mˆ eme, que fera-t-on si l’on dispose uniquement d’une
appr´ eciation g´ en´ erale de performance du r´ eseau face ` a chaque stimulus, et non des sorties d´ esir´ ees
pour chaque neurone de la couche de sortie ? Nous apporterons certains ´ el´ ements de r´ eponse ` a ces
questions dans les sous-sections suivantes, puis dans les chapitres subs´ equents au fur et ` a mesure
que nous aborderons des algorithmes concrets d’apprentissage.
4.5 Supervis´ e
L’apprentissage dit supervis´ e est caract´ eris´ e par la pr´ esence d’un «professeur» qui poss` ede
une connaissance approfondie de l’environnement dans lequel ´ evolue le r´ eseau de neurones. En
pratique, les connaissances de ce professeur prennent la forme d’un ensemble de Q couples de
vecteurs d’entr´ ee et de sortie que nous noterons {(p
1
, d
1
), (p
2
, d
2
), . . . , (p
Q
, d
Q
)}, o` u p
i
d´ esigne
un stimulus (entr´ ee) et d
i
la cible pour ce stimulus, c’est-` a-dire les sorties d´ esir´ ees du r´ eseau.
Chaque couple (p
i
, d
i
) correspond donc ` a un cas d’esp` ece de ce que le r´ eseau devrait produire
(la cible) pour un stimulus donn´ e. Pour cette raison, l’apprentissage supervis´ e est aussi qualifi´ e
d’apprentissage par des exemples.
2
Traduction litt´ erale de «Credit assignment».
34 CHAPITRE 4. PROCESSUS D’APPRENTISSAGE
e(t)
Environnement Professeur
Système
supervisé
p(t)

a(t)

d(t)
+
FIG. 4.3 – Sch´ ema bloc de l’apprentissage supervis´ e.
L’apprentissage supervis´ e est illustr´ e d’une mani` ere conceptuelle ` a la figure 4.3. L’environne-
ment est inconnu du r´ eseau. Celui-ci produit un stimulus p qui est achemin´ e ` a la fois au professeur
et au r´ eseau. Grˆ ace ` a ses connaissances intrins` eques, le professeur produit une sortie d´ esir´ ee d(t)
pour ce stimulus. On suppose que cette r´ eponse est optimale. Elle est ensuite compar´ ee (par sous-
tration) avec la sortie du r´ eseau pour produire un signal d’erreur e(t) qui est r´ e-inject´ e dans le
r´ eseau pour modifier son comportement via une proc´ edure it´ erative qui, ´ eventuellement, lui per-
met de simuler la r´ eponse du professeur. Autrement dit, la connaissance de l’environnement par le
professeur est graduellement transf´ er´ ee vers le r´ eseau jusqu’` a l’atteinte d’un certain crit` ere d’arrˆ et.
Par la suite, on peut ´ eliminer le professeur et laisser le r´ eseau fonctionner de fac¸on autonome.
Le lecteur attentif aura remarqu´ e qu’un apprentissage supervis´ e n’est rien d’autre qu’un syno-
nyme de l’apprentissage par correction des erreurs (voir section 4.1). Il poss` ede donc les mˆ emes
limitations, ` a savoir que sans professeur pour fournir les valeurs cibles, il ne peut d’aucune fac¸on
apprendre de nouvelles strat´ egies pour de nouvelles situations qui ne sont pas couvertes par les
exemples d’apprentissage.
4.6 Par renforcement
L’apprentissage par renforcement permet de contourner certaines des limitations de l’appren-
tissage supervis´ e. Il consiste en un esp` ece d’apprentissage supervis´ e, mais avec un indice de sa-
tisfaction scalaire au lieu d’un signal d’erreur vectoriel. Ce type d’apprentissage est inspir´ e des
travaux en psychologie exp´ erimentale de Thorndike (1911) :
«Of several responses made to the same situation, those which are accompanied or
closely followed by satisfaction to the animal will, other things being equal, be more
firmly connected with the situation, so that, when it recurs, they will be more likely to
recur ; those which are accompanied or closely followed by discomfort to the animal
will, other things being equal, have their connections with that situation weakened, so
that, when it recurs, they will be less likely to occur. The greater the satisfaction or
discomfort, the greater the strengthening or weakening of the bond.»
Mˆ eme si cet ´ enonc´ e ne peut expliquer ` a lui seul le comportement animal au niveau biologique, sa
simplicit´ e et son pragmatisme peut nous permettre de composer des r` egles d’apprentissage utiles.
4.7. NON-SUPERVIS
´
E 35
Dans le contexte des r´ eseaux de neurones artificiels, nous pouvons reformuler l’´ enonc´ e de Thorn-
dike de la fac¸on suivante :
Lorsqu’une action (d´ ecision) prise par le r´ eseau engendre un indice de satisfaction
positif, alors la tendance du r´ eseau ` a prendre cette action doit ˆ etre renforc´ ee. Autre-
ment, la tendance ` a prendre cette action doit ˆ etre diminu´ ee.
En pratique, l’usage de l’apprentissage par renforcement est complexe ` a mettre en ?uvre, de sorte
que nous n’aborderons aucun r´ eseau qui l’emploie. Il importe cependant de bien comprendre la
diff´ erence entre ce type d’apprentissage et l’apprentissage supervis´ e que nous ´ etudierons en d´ etails
au chapitre 5.
L’apprentissage supervis´ e dispose d’un signal d’erreur qui non seulement permet de calcu-
ler un indice de satisfaction (p.ex. l’erreur quadratique moyenne), mais permet aussi d’estimer le
gradient local qui indique une direction pour l’adaptation des poids synaptiques. C’est cette infor-
mation fournie par le professeur qui fait toute la diff´ erence. Dans l’apprentissage par renforcement,
l’absence de signal d’erreur rend le calcul de ce gradient impossible. Pour estimer le gradient, le
r´ eseau est oblig´ e de tenter des actions et d’observer le r´ esultat, pour ´ eventuellement inf´ erer une
direction de changement pour les poids synaptiques. Pour ce faire, il s’agit alors d’implanter un
processus d’essais et d’erreurs tout en retardant la r´ ecompense offerte par l’indice de satisfaction.
Ainsi, on introduit deux ´ etapes distinctes : une d’exploration o` u l’on essaie des directions al´ eatoires
de changement, et une d’exploitation o` u l’on prend une d´ ecision. Ce processus en deux ´ etapes peut
ralentir consid´ erablement l’apprentissage. De plus, il introduit un dilemme entre le d´ esir d’utiliser
l’information d´ ej` a apprise ` a propos du m´ erite des diff´ erentes actions, et celui d’acqu´ erir de nou-
velles connaissances sur les cons´ equences de ces d´ ecisions pour, ´ eventuellement, mieux les choisir
dans le futur.
4.7 Non-supervis´ e
La derni` ere forme d’apprentissage que nous abordons est dite «non-supervis´ ee» ou encore
«auto-organis´ ee». Elle est caract´ eris´ ee par l’absence compl` ete de professeur, c’est-` a-dire qu’on
ne dispose ni d’un signal d’erreur, comme dans le cas supervis´ e, ni d’un indice de satisfaction,
comme dans le cas par renforcement. Nous ne disposons donc que d’un environnement qui fournit
des stimuli, et d’un r´ eseau qui doit apprendre sans intervention externe. En assimilant les stimuli de
l’environnement ` a une description de son ´ etat interne, la tˆ ache du r´ eseau est alors de mod´ eliser cet
´ etat le mieux possible. Pour y arriver, il importe d’abord de d´ efinir une mesure de la qualit´ e pour
ce mod` ele, et de s’en servir par la suite pour optimiser les param` etres libres du r´ eseau, c’est-` a-dire
ses poids synaptiques.
`
A la fin de l’apprentissage, le r´ eseau a d´ evelopp´ e une habilit´ e ` a former des
repr´ esentations internes des stimuli de l’environnement permettant d’encoder les caract´ eristiques
de ceux-ci et, par cons´ equent, de cr´ eer automatiquement des classes de stimuli similaires.
L’apprentissage non-supervis´ e s’appuie g´ en´ eralement sur un processus comp´ etitif (voir sec-
tion 4.3) permettant d’engendrer un mod` ele o` u les poids synaptiques des neurones repr´ esentent des
prototypes de stimuli. La qualit´ e du mod` ele r´ esultant doit s’´ evaluer ` a l’aide d’une m´ etrique permet-
tant de mesurer la distance entre les stimuli et leurs prototypes. Souvent, cette m´ etrique est bas´ ee
36 CHAPITRE 4. PROCESSUS D’APPRENTISSAGE
sur la norme l
2
(voir section 3.1.4). C’est le processus de comp´ etition qui permet de s´ electionner le
prototype associ´ e ` a chaque stimulus en recherchant le neurone dont le vecteur de poids synaptiques
est le plus proche (au sens de la m´ etrique choisie) du stimulus en question.
4.8 Tˆ aches d’apprentissage
Nous terminons ce chapitre en ´ enum´ erant diff´ erentes cat´ egories de tˆ aches que l’on peut vouloir
r´ ealiser avec un r´ eseau de neurones :
1. Approximation. Soit la fonction g telle que :
d = g(p), (4.23)
o` u p est l’argument de la fonction (un vecteur) et d la valeur (un scalaire) de cette fonction
´ evalu´ ee en p. Supposons maintenant que la fonction g(·) est inconnue. La tˆ ache d’approxi-
mation consiste alors ` a concevoir un r´ eseau de neurones capable d’associer les ´ el´ ements
des couples entr´ ee-sortie : {(p
1
, d
1
), (p
2
, d
2
), . . . , (p
Q
, d
Q
)}. Ce probl` eme peut ˆ etre r´ esolu ` a
l’aide d’un apprentissage supervis´ e sur les Q exemples, avec les p
i
repr´ esentant les stimuli,
et les d
i
repr´ esentant les sorties d´ esir´ ees pour chacun de ces stimuli, avec i = 1, 2, . . . , Q.
Ou inversement, on peut aussi dire que l’apprentissage supervis´ e est un probl` eme d’approxi-
mation de fonction ;
2. Association. Il en existe deux types : l’auto-association et l’h´ et´ ero-association. Le probl` eme
de l’auto-association consiste ` a m´ emoriser un ensemble de patrons (vecteurs) en les pr´ esentant
successivement au r´ eseau. Par la suite, on pr´ esente au r´ eseau une version partielle ou d´ eform´ ee
d’un patron original, et la tˆ ache consiste ` a produire en sortie le patron original correspondant.
Le probl` eme de l’h´ et´ ero-association consiste quant ` a lui ` a associer des paires de patrons :
un patron d’entr´ ee et un patron de sortie. L’auto-association implique un apprentissage non
supervis´ e, alors que l’h´ et´ ero-association requiert plut ˆ ot un apprentissage supervis´ e.
3. Classement. Pour cette tˆ ache, il existe un nombre fixe de cat´ egories (classes) de stimuli
d’entr´ ee que le r´ eseau doit apprendre ` a reconnaˆıtre. Dans un premier temps, le r´ eseau doit
entreprendre une phase d’apprentissage supervis´ e durant laquelle les stimuli sont pr´ esent´ es
en entr´ ee et les cat´ egories sont utilis´ ees pour former les sorties d´ esir´ ees, g´ en´ eralement en
utilisant une sortie par cat´ egorie. Ainsi, la sortie 1 est associ´ ee ` a la cat´ egorie 1, la sortie 2 ` a
la cat´ egorie 2, etc. Pour un probl` eme comportant Q cat´ egories, on peut par exemple fixer les
sorties d´ esir´ ees d = [d
1
, d
2
, . . . , d
Q
]
T
` a l’aide de l’expression suivante :
d
i
=

1 si le stimulus appartient ` a la cat´ egorie i
0 autrement
, i = 1, . . . , Q. (4.24)
Par la suite, dans une phase de reconnaissance, il suffira de pr´ esenter au r´ eseau n’importe
quel stimulus inconnu pour pouvoir proc´ eder au classement de celui-ci dans l’une ou l’autre
des cat´ egories. Une r` egle simple de classement consiste, par exemple, ` a choisir la cat´ egorie
associ´ ee avec la sortie maximale.
4.8. T
ˆ
ACHES D’APPRENTISSAGE 37
4. Pr´ ediction. La notion de pr´ ediction est l’une des plus fondamentales en apprentissage. Il
s’agit d’un probl` eme de traitement temporel de signal. En supposant que nous poss´ edons M
´ echantillons pass´ es d’un signal, x(t −1), x(t −2), . . . , x(t −M), ´ echantillonn´ es ` a intervalle
de temps fixe, la tˆ ache consiste ` a pr´ edire la valeur de x au temps t. Ce probl` eme de pr´ ediction
peut ˆ etre r´ esolu grˆ ace ` a un apprentissage par correction des erreurs, mais d’une mani` ere non
supervis´ e (sans professeur), ´ etant donn´ e que les valeurs de sortie d´ esir´ ee peuvent ˆ etre inf´ er´ ees
directement de la s´ erie chronologique. Plus pr´ ecis´ ement, l’´ echantillon de x(t) peut servir de
valeur d´ esir´ ee et le signal d’erreur pour l’adaptation des poids se calcule simplement par
l’´ equation suivante :
e(t) = x(t) − x(t | t − 1, t − 2, . . . , t − M), (4.25)
o` u x(t) d´ esigne la sortie d´ esir´ ee et x(t | t−1, t−2, . . . , t−M) repr´ esente la sortie observ´ ee du
r´ eseau ´ etant donn´ e les M ´ echantillons pr´ ec´ edents. La pr´ ediction s’apparente ` a la construction
d’un mod` ele physique de la s´ erie chronologique. Dans la mesure o` u le r´ eseau poss` ede des
neurones dont la fonction de transfert est non-lin´ eaire, le mod` ele pourra lui-aussi ˆ etre non-
lin´ eaire.
5. Commande. La commande d’un processus est une autre tˆ ache d’apprentissage que l’on peut
aborder ` a l’aide d’un r´ eseau de neurones. Consid´ erons un syst` eme dynamique non-lin´ eaire
{u(t), y(t)} o` u u(t) d´ esigne l’entr´ ee du syst` eme et y(t) correspond ` a la r´ eponse de celui-ci.
Dans le cas g´ en´ eral, on d´ esire commander ce syst` eme de mani` ere ` a ce qu’il se comporte
selon un mod` ele de r´ ef´ erence, souvent un mod` ele lin´ eaire, {r(t), d(t)}, o` u pour tout temps
t ≥ 0, on arrive ` a produire une commande u(t) telle que :
lim
t→∞
|d(t) − y(t)| = 0, (4.26)
de mani` ere ` a ce que la sortie du syst` eme suivent de pr` es celle du mod` ele de r´ ef´ erence. Ceci
peut se r´ ealiser grˆ ace ` a certains types de r´ eseaux supervis´ es.
Dans les chapitres qui suivent, nous allons aborder des r´ eseaux sp´ ecifiques en commenc¸ant par l’un
des plus connus et des plus utilis´ es : le perceptron multicouches et son algorithme de r´ etropropagation
des erreurs.
38
Chapitre 5
Perceptron multicouche
Le premier r´ eseau de neurones que nous allons ´ etudier s’appelle le «perceptron multicouche
1
»
(PMC). Ce type de r´ eseau est dans la famille g´ en´ erale des r´ eseaux ` a «propagation vers l’avant
2
»,
c’est-` a-dire qu’en mode normal d’utilisation, l’information se propage dans un sens unique, des
entr´ ees vers les sorties sans aucune r´ etroaction. Son apprentissage est de type supervis´ e, par cor-
rection des erreurs (chapitre 4). Dans ce cas uniquement, le signal d’erreur est «r´ etropropag´ e» vers
les entr´ ees pour mettre ` a jour les poids des neurones.
Le perceptron multicouche est un des r´ eseaux de neurones les plus utilis´ es pour des probl` emes
d’approximation, de classification et de pr´ ediction. Il est habituellement constitu´ e de deux ou trois
couches de neurones totalement connect´ es. Avant d’en ´ etudier le fonctionnement global, nous al-
lons nous attarder ` a divers cas particuliers plus simples. En particulier, nous allons aborder le cas
du perceptron simple, c’est-` a-dire le perceptron ` a une seule couche de neurones dont les fonctions
d’activation sont de type seuils (section 2.3). Nous allons ensuite consid´ erer diff´ erentes r` egles d’ap-
prentissage pour la correction des erreurs. Nous traiterons le cas de la r` egle LMS
3
, de l’algorithme
de r´ etropropagation (en anglais «backpropagation»), de la m´ ethode de Newton et de la m´ ethode
du gradient conjugu´ e.
5.1 Perceptron simple
Le perceptron simple est illustr´ e ` a la figure 5.1. En suivant la notation sch´ ematique ´ etablie au
chapitre 2, il s’agit d’une seule couche de S neurones totalement connect´ ee sur un vecteur p de R
entr´ ees. La matrice W = [
1
w
2
w· · ·
S
w]
T
de dimension S ×R repr´ esente l’ensemble des poids de
la couche, avec les vecteur-rang´ ees
i
w (dimension R×1) repr´ esentant les R poids des connexions
reliant le neurone i avec ses entr´ ees. Le vecteur b (dimension S×1) d´ esigne l’ensemble des S biais
de la couche. Les niveaux d’activation n = Wp − b = [n
1
n
2
· · · n
S
]
T
des neurones de la couche
servent d’argument ` a la fonction d’activation qui applique un seuil au niveau 0 (section 2.3) pour
1
En anglais «multilayer perceptron» ou MLP.
2
En anglais «feedforward networks».
3
En anglais «Least Mean Square».
39
40 CHAPITRE 5. PERCEPTRON MULTICOUCHE
a
Entrée Couche de S neurones
a = hardlims(Wp−b)
W
b
+
p
n
-1
S x 1
R x 1
S x R
S x 1 S x 1
R
S
FIG. 5.1 – Perceptron ` a une seule couche avec fonction seuil.
produire le vecteur des sorties a = [a
1
a
2
· · · a
S
]
T
, o` u :
a
i
=

+1 si n
i
≥ 0
−1 autrement
(5.1)
Consid´ erons maintenant le cas non-trivial le plus simple, ` a savoir lorsque R = 2 et S = 1, c’est-` a-
dire lorsque la couche n’est form´ ee que d’un seul neurone reli´ e ` a deux entr´ ees. Dans ce cas, nous
aurons p = [p
1
p
2
]
T
, W = [
1
w]
T
= [w
1,1
w
1,2
], b = [b
1
] et a = [a
1
], o` u :
a
1
=

+1 si w
1,1
p
1
+ w
1,2
p
2
≥ b
1
−1 autrement
(5.2)
Cette derni` ere ´ equation nous indique clairement que la sortie du r´ eseau (neurone) peut prendre
seulement deux valeurs distinctes selon le niveau d’activation du neurone : −1 lorsque ce dernier
est strictement inf´ erieur ` a 0 ; +1 dans le cas contraire. Il existe donc dans l’espace des entr´ ees
une fronti` ere d´ elimitant deux r´ egions correspondantes. Cette fronti` ere est d´ efinie par la condition
w
1,1
p
1
+ w
1,2
p
2
= b
1
de l’´ equation 5.2 qui correspond ` a l’expression g´ en´ erale d’une droite, telle
qu’illustr´ ee ` a la figure 5.2.
´
Etant donn´ e un certain vecteur de poids w = [w
1,1
w
1,2
]
T
, il est ais´ e de
montrer que ce vecteur doit ˆ etre perpendiculaire ` a cette droite. En effet, pour tous les points p de
la droite, nous avons la relation w
T
p = b, o` u b = b
1
. Or le terme w
T
p correspond ` a un produit
scalaire (section 3.1.3) et l’on sait que <x, y> = ||x|| ||y|| cos θ (´ equation 3.12), o` u θ repr´ esente
l’angle entre les vecteurs x et y. Nous avons donc :
<w, p> = ||w|| ||p|| cos θ = b (5.3)
pour tous les points p qui appartiennent ` a la droite, et le produit scalaire doit rester constant. Mais
s’il reste constant alors que la norme de p change, c’est parce que l’angle entre les vecteurs doit
aussi changer. Soit p

, le point de la droite dont le vecteur correspondant poss` ede la plus petite
norme. Ce vecteur est perpendiculaire ` a la droite et sa norme correspond ` a la distance perpendicu-
laire entre la droite et l’origine. Maintenant, si sa norme est minimale, c’est que cos θ est maximal
5.1. PERCEPTRON SIMPLE 41
p
1
p
2
w
n > 0
n < 0
n = 0
FIG. 5.2 – Fronti` ere de d´ ecision pour un perceptron simple ` a 1 neurone et deux entr´ ees.
et, par cons´ equent, que l’angle θ entre p

et w est nul. Ainsi, w pointe dans la mˆ eme direction que
p

et :
||p

|| =
b
||w||
(5.4)
Nous pouvons ´ egalement d´ eduire que l’origine appartiendra ` a la r´ egion gris´ ee (n > 0) si, et seule-
ment si, b < 0. Autrement, comme ` a la figure 5.2, l’origine appartiendra ` a la r´ egion n < 0. Si
b = 0, alors la fronti` ere de d´ ecision passera par l’origine.
Si l’on consid` ere maintenant le cas o` u S > 1, alors chaque neurone i poss´ edera son propre
vecteur de poids
i
w et son propre biais b
i
, et nous nous retrouverons avec S fronti` eres de d´ ecision
distinctes. Toutes ces fronti` eres de d´ ecision seront lin´ eaires. Elles permettront chacune de d´ ecouper
l’espace d’entr´ ee en deux r´ egions infinies, de part et d’autre d’une droite. Chaque neurone d’un
perceptron simple permet donc de r´ esoudre parfaitement un probl` eme de classification (voir sec-
tion 4.8) ` a deux classes, ` a condition que celles-ci soient lin´ eairement s´ eparables. Il ne reste plus
qu’` a trouver une r` egle d’apprentissage pour pouvoir d´ eterminer les poids et les biais du r´ eseau
permettant de classer au mieux Q couples d’apprentissage :
{(p
1
, d
1
), (p
2
, d
2
), . . . , (p
Q
, d
Q
)} (5.5)
Pour fixer les id´ ees, consid´ erons le probl` eme particulier, illustr´ e ` a la figure 5.3, consistant ` a
discriminer entre le point noir (p
1
) et les points blancs (p
2
et p
3
) d´ efinis par :

p
1
=
¸
1
2
¸
, d
1
= +1

,

p
2
=
¸
−1
2
¸
, d
2
= −1

,

p
3
=
¸
0
−2
¸
, d
3
= −1
¸
(5.6)
et fixons S = 1 (un seul neurone). Il s’agit de trouver un vecteur de poids w correspondant ` a
l’une ou l’autre des fronti` eres de d´ ecision illustr´ ees ` a la figure 5.3a. Pour simplifier davantage,
42 CHAPITRE 5. PERCEPTRON MULTICOUCHE
p
1
p
2
w
p
1
p
2
w
p
1
p
2
w
p
1
p
2
w(t+1)
w(t)
(a) (b) (c) (d)
FIG. 5.3 – Exemple d’un probl` eme ` a deux classes (points noirs vs points blancs).
nous supposons pour cet exemple que b = 0, de sorte que les fronti` eres de d´ ecision induites par
w passent toutes par l’origine. Le probl` eme, bien sˆ ur, est que nous ne connaissons pas a priori la
bonne orientation pour w. Nous allons donc l’initialiser al´ eatoirement, par exemple w = [1 −1]
T
(voir figure 5.3b).
Consid´ erons le point p
1
(point noir). La sortie du r´ eseau pour ce point est donn´ ee par :
a = hardlims(w
T
p
1
) = hardlims

[1 −1]
¸
1
2
¸
= hardlims(−1) = −1 (5.7)
Or, la sortie d´ esir´ ee pour ce point est +1 (les zones grises ` a la figure 5.3 produisent une sortie +1).
Le r´ eseau n’a donc pas le comportement d´ esir´ e, il faudra modifier le vecteur w. On peut remarquer
que dans le cas particulier de ce probl` eme simplifi´ e, la norme de w ne compte pas car le biais est
nul, seule son orientation importe.
Comment pourrions-nous modifier w pour que le r´ eseau puisse classifier ad´ equatement le
point p
1
? Une solution consisterait ` a fixer w = p
1
, tel qu’illustr´ e ` a la figure 5.3c. De cette mani` ere,
le point p
1
serait parfaitement classer. Mais le probl` eme avec cette approche est que la fronti` ere
de d´ ecision bondirait d’un stimulus ` a l’autre au fil de l’apprentissage ce qui pourrait engendrer des
oscillations et empˆ echer la convergence dans certains cas. La solution consiste donc ` a prendre une
position interm´ ediaire en approchant la direction de w de celle de p
1
:
w(t + 1) = w(t) +p
1
(5.8)
tel qu’illustr´ e ` a la figure 5.3d. Cette r` egle fonctionne bien pour la cat´ egorie de stimulus o` u l’on
d´ esire obtenir une sortie +1. Dans la situation inverse, il faut au contraire ´ eloigner w de p
1
.
D´ efinissons un signal d’erreur e =
d−a
2
o` u e ∈ {−1, 0, +1}. Alors, nous avons l’ensemble sui-
vant de r` egles :
∆w =

p si e = +1
0 si e = 0
−p si e = −1
(5.9)
o` u ∆w = w(t +1) −w(t) et p est le stimulus que l’on cherche ` a apprendre. Dans le cas o` u b = 0,
on peut aussi mettre ` a jour le biais en observant simplement que celui-ci n’est rien d’autre qu’un
poids comme les autres, mais dont l’entr´ ee est fix´ ee ` a -1. Ainsi :
∆b = −e (5.10)
5.1. PERCEPTRON SIMPLE 43
(a) (b) (c)
FIG. 5.4 – Exemples de probl` emes non lin´ eairement s´ eparables.
Et dans le cas g´ en´ eral o` u l’on dispose de S neurones, on peut r´ e´ ecrire l’´ equation 5.9 sous forme
matricielle de la fac¸on suivante :
∆W = ep
T
(5.11)
∆b = −e (5.12)
o` u e = [e
1
e
2
· · · e
S
]
T
= d−a est le vecteur des erreurs que l’on observe en sortie pour le stimulus
p.
Malgr´ e sa relative simplicit´ e, la r` egle du perceptron s’av` ere tr` es puissante. Vous pouvez faci-
lement exp´ erimenter avec cette r` egle grˆ ace ` a la «Neural Network toolbox» de Matlab, programme
de d´ emonstration nnd4pr.
Nous ne d´ emontrerons pas ici qu’elle converge toujours vers une solution en un nombre fini
d’it´ erations, mais sachez qu’une telle preuve existe. Il importe cependant de connaˆıtre les hy-
poth` eses sous-jacentes ` a cette preuve :
1. Le probl` eme doit ˆ etre lin´ eairement s´ eparable ;
2. Les poids ne sont mis ` a jour que lorsqu’un stimulus d’entr´ ee est class´ e incorrectement ;
3. Il existe une borne sup´ erieure sur la norme des vecteurs de poids.
La premi` ere hypoth` ese va de soit car s’il n’existe aucune solution lin´ eaire au probl` eme, on ne peut
pas s’attendre ` a ce qu’un r´ eseau qui ne peut produire que des solutions lin´ eaires puisse converger !
La deuxi` eme hypoth` ese est implicite dans l’´ equation 5.11. Lorsque le signal d’erreur e est nul,
le changement de poids ∆W est ´ egalement nul. La troisi` eme hypoth` ese est plus subtile mais
non limitative. Si l’on s’arrange pour conserver le ratio
||w||
b
constant, sans changer l’orientation
de w pour un neurone donn´ e, on ne change aucunement la fronti` ere de d´ ecision que ce neurone
engendre. Sans perte de g´ en´ eralit´ e, on peut donc r´ eduire la norme des poids lorsque celle-ci devient
trop grande.
Mais qu’entend-on par un probl` eme ` a deux classes «lin´ eairement s´ eparables»? Et bien sim-
plement un probl` eme de classification dont la fronti` ere de d´ ecision permettant de s´ eparer les deux
classes peut s’exprimer sous la forme d’un hyperplan (plan dans un espace ` a n dimensions). Par
exemple, les probl` emes de la figure 5.4 ne sont pas s´ eparables en deux dimensions (par de simples
droites). Des fronti` eres possibles sont dessin´ ees en pointill´ es. Elles sont toutes non lin´ eaires.
44 CHAPITRE 5. PERCEPTRON MULTICOUCHE
a
Entrée Couche de S neurones
a = purelin(Wp−b)
W
b
+
p
n
-1
S x 1
R x 1
S x R
S x 1 S x 1
R
S
FIG. 5.5 – R´ eseau ADALINE.
5.2 R` egle LMS
`
A la section pr´ ec´ edente, nous avons trait´ e le cas du perceptron simple o` u les neurones utilisent
une fonction de transfert de type «seuil». Nous allons maintenant consid´ erer la mˆ eme architecture
de r´ eseau ` a une seule couche mais avec cette fois-ci une fonction de transfert lin´ eaire comme ` a la
figure 5.5. Ce r´ eseau s’appelle «ADALINE» (en anglais «ADAptive LInear NEuron») ` a cause de
sa fonction de transfert lin´ eaire. Il souffre des mˆ emes limitations que le perceptron simple : il ne
peut r´ esoudre que des probl` emes lin´ eairement s´ eparables. Cependant, son algorithme d’apprentis-
sage, la r` egle du «Least Mean Square», est beaucoup plus puissante que la r` egle du perceptron
original, car bien que cette derni` ere soit assur´ ee de converger vers une solution, si celle-ci existe,
le r´ eseau r´ esultant est parfois sensible au bruit puisque la fronti` ere de d´ ecision se retrouve sou-
vent trop proche des patrons d’apprentissage (l’algorithme s’arrˆ ete d` es que tous les patrons sont
biens class´ es). En revanche, la r` egle LMS minimise l’erreur quadratique moyenne, de sorte que la
fronti` ere de d´ ecision a tendance ` a se retrouver aussi loin que possible des prototypes.
En pratique, la r` egle du LMS a d´ ebouch´ e vers de nombreuses applications dont une des plus
fameuses est l’annulation de l’´ echo pour les communications t´ el´ ephoniques. Lorsque que vous
faites un appel inter-urbain ou outre-mer, vous vous trouvez peut-ˆ etre, sans le savoir, ` a utiliser un
r´ eseau ADALINE!
Comme ` a la section 4.1 o` u nous avons d´ evelopp´ e le concept d’un apprentissage par correction
des erreurs, et comme son nom l’indique, la r` egle LMS consiste ` a tenter de minimiser un indice
de performance F bas´ e sur l’erreur quadratique moyenne. Poss´ edant un ensemble d’apprentissage
de Q associations stimulus/cible {(p
q
, d
q
)}, q = 1, . . . , Q, o` u p
q
repr´ esente un vecteur stimulus
(entr´ ees) et d
q
un vecteur cible (sorties d´ esir´ ees), ` a chaque instant t, on peut propager vers l’avant
un stimulus diff´ erent p(t) ` a travers le r´ eseau de la figure 5.5 pour obtenir un vecteur de sorties a(t).
Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ eseau produit en sortie pour ce stimulus
et la cible d(t) qui lui est associ´ ee :
e(t) = d(t) −a(t). (5.13)
5.2. R
`
EGLE LMS 45
Sachant que tous les neurones d’une mˆ eme couche sont ind´ ependants les uns des autres, et
pour simplifier les ´ equations, nous allons d´ evelopper la r` egle LMS pour S = 1, c’est-` a-dire le cas
d’un seul neurone. Ensuite, nous pourrons facilement l’´ etendre au cas g´ en´ eral de S neurones. Nous
allons aussi regrouper tous les param` etres libres du neurone en un seul vecteur x :
x =
¸
w
b
¸
. (5.14)
De mˆ eme, nous allons regrouper en un vecteur y le stimulus p et l’entr´ ee virtuelle −1 associ´ ee au
biais du neurone :
y =
¸
p
−1
¸
. (5.15)
Ce qui nous permettra d’´ ecrire la sortie a du neurone sous une forme simplifi´ ee :
a = w
T
p −b = x
T
y. (5.16)
Nous allons donc travailler avec le signal d’erreur scalaire e(t) = d(t) − a(t) et construire notre
indice de performance F en fonction du vecteur x des param` etres libres du neurone :
F(x) = E

e
2
(t)

, (5.17)
o` u E[·] d´ esigne l’esp´ erance math´ ematique. Le probl` eme avec cette ´ equation est que l’on ne peut pas
facilement calculer cette esp´ erance math´ ematique puisqu’on ne connaˆıt pas les lois de probabilit´ e
de x. On pourrait faire la moyenne des erreurs pour les Q associations d’apprentissage mais ce
serait long. Une id´ ee plus int´ eressante, et plus performante en pratique, consiste simplement ` a
estimer l’erreur quadratique moyenne par l’erreur quadratique instantan´ ee pour chaque association
d’apprentissage :
ˆ
F(x) = e
2
(t). (5.18)
Alors, ` a chaque it´ eration de l’algorithme, on peut calculer le vecteur gradient de cet estim´ e :
ˆ
∇F(x) = ∇e
2
(t), (5.19)
o` u les R premiers ´ el´ ements de ∇e
2
(t) correspondent aux d´ eriv´ es partielles par rapport aux R poids
du neurone, et le dernier ´ el´ ement correspond ` a la d´ eriv´ e partielle par rapport ` a son biais. Ainsi :

∇e
2
(t)

j
=
∂e
2
(t)
∂w
1,j
= 2e(t)
∂e(t)
∂w
1,j
, j = 1, . . . , R, (5.20)
et :

∇e
2
(t)

R+1
=
∂e
2
(t)
∂b
= 2e(t)
∂e(t)
∂b
. (5.21)
Il s’agit maintenant de calculer les deux d´ eriv´ es partielles de e(t) par rapport ` a w
1,j
:
∂e(t)
∂w
1,j
=
∂[d(t) −a(t)]
∂w
1,j
=

∂w
1,j

d(t) −(
1
w
T
p(t) −b
1
)

=

∂w
1,j
¸
d(t) −

R
¸
k=1
w
1,k
p
k
(t) −b
1
¸
= −p
j
(t), (5.22)
46 CHAPITRE 5. PERCEPTRON MULTICOUCHE
et b :
∂e(t)
∂b
= 1. (5.23)
Notez bien que les termes p
j
(t) et −1 sont les ´ el´ ements de y, de sorte qu’on peut ´ ecrire :
ˆ
∇F(x) = ∇e
2
(t) = −2e(t)y(t). (5.24)
Ce r´ esultat nous permet aussi d’appr´ ecier la simplicit´ e qu’engendre l’id´ ee d’utiliser l’erreur instan-
tan´ ee plut ˆ ot que l’erreur moyenne. Pour calculer le gradient estim´ e de notre indice de performance,
il suffit de multiplier l’erreur instantan´ ee par le stimulus d’entr´ ee !
L’´ equation 5.24 va nous permettre d’appliquer la m´ ethode de la descente du gradient d´ ecrite
par l’´ equation 4.7 (voir section 4.1, page 28) pour modifier les param` etres du neurone dans le sens
d’une diminution de F :
∆x(t) = x(t + 1) −x(t) = −η∇F(x)

x=x(t)
. (5.25)
En substituant ∇F(x) par
ˆ
∇F(x), on obtient :
∆x(t) = 2ηe(t)y(t), (5.26)
ce qui ´ equivaut ` a :
∆w(t) = 2ηe(t)p(t), (5.27)
∆b(t) = −2ηe(t). (5.28)
Les ´ equations 5.27 et 5.28 d´ efinissent la r` egle LMS de base. On la nomme ´ egalement r` egle de
Widrow-Hoff, du nom de ses auteurs. Dans le cas d’une couche de S neurones, nous pourrons
mettre ` a jour chaque rang´ ee i de la matrice de poids ainsi que chaque ´ el´ ement i du vecteur de biais
` a l’aide des ´ equations suivantes :

i
w(t) = 2ηe
i
(t)p(t), (5.29)
∆b
i
(t) = −2ηe
i
(t). (5.30)
Ce qui nous permet de r´ e´ ecrire le tout sous la forme matricielle :
∆W(t) = 2ηe(t)p
T
(t), (5.31)
∆b(t) = −2ηe(t). (5.32)
Mˆ eme si nous ne d´ emontrerons pas ici la convergence de l’algorithme LMS, il importe de rete-
nir que pour les indices de performance quadratiques (comme dans le cas ADALINE), la m´ ethode
de la descente du gradient est garantie de converger vers un minimum global, ` a condition de res-
treindre la valeur du taux d’apprentissage. En pratique, nous sommes int´ eress´ es ` a fixer η le plus
grand possible pour converger le plus rapidement possible (par de grands pas). Mais il existe un
seuil ` a partir duquel un trop grand η peut faire diverger l’algorithme. Le gradient ´ etant toujours
perpendiculaire aux lignes de contour de F(x), un petit η permettra de suivre ces lignes de contour
vers le bas jusqu’` a ce qu’on rencontre le minimum global. En voulant aller trop vite, l’algorithme
5.3. R
´
ESEAU MULTICOUCHE 47
(a) (b) (c)
FIG. 5.6 – Trajectoire de la descente du gradient pour diff´ erents taux d’apprentissage : (a) taux
faible ; (b) taux moyen ; (c) taux (trop) ´ elev´ e.
peut sauter par dessus un contour et se mettre ` a osciller. Dans le cas quadratique, les lignes de
contour ont une forme elliptique comme ` a la figure 5.6. Lorsque le taux est faible, la trajectoire est
continue mais peut converger lentement vers l’optimum. Avec un taux plus ´ elev´ e (moyen), les pas
sont plus grands mais peuvent avoir tendance ` a osciller. On atteint normalement l’optimum plus
rapidement. Lorsque le taux est trop ´ elev´ e, l’algorithme peut diverger.
On peut montrer que pour garantir la convergence de l’algorithme LMS avec le r´ eseau ADA-
LINE, il faut que 0 < η <
1
λmax
o` u λ
max
est la plus grande valeur propre de la matrice E

y y
T

.
Pour initialiser l’algorithme, il s’agit simplement de fixer tous les poids et biais du r´ eseau ` a z´ ero.
Puis, pour r´ ealiser l’apprentissage, il s’agit de lui pr´ esenter toutes les associations stimulus/cible
disponibles, ` a tour de rˆ ole, et de mettre les poids ` a jour ` a chaque fois en utilisant les ´ equations 5.31
et 5.32. Une p´ eriode d’entraˆınement correspond ` a appliquer ces ´ equations une fois pour chaque
couple (p
i
, d
i
), i = 1, . . . , Q. Notez qu’il peut ˆ etre avantageux de permuter l’ordre de pr´ esentation
` a chaque p´ eriode. L’algorithme it` ere ainsi jusqu’` a un nombre maximum (fix´ e a priori) de p´ eriodes
ou encore jusqu’` a ce que la somme des erreurs quadratiques en sortie soit inf´ erieure ` a un certain
seuil.
5.3 R´ eseau multicouche
Jusqu’` a pr´ esent, nous n’avons trait´ e que des r´ eseaux ` a une seule couche de neurones. Nous
avons aussi vu que ces r´ eseaux ne pouvaient r´ esoudre que des probl` emes de classification lin´ eai-
rement s´ eparables. Les r´ eseaux multicouches permettent de lever cette limitation. On peut mˆ eme
d´ emontrer qu’avec un r´ eseau de trois couches (deux couches cach´ ees + une couche de sortie),
comme celui de la figure 2.7 (voir page 14), on peut construire des fronti` eres de d´ ecision de com-
plexit´ e quelconque, ouvertes ou ferm´ ees, concaves ou convexes, ` a condition d’employer une fonc-
tion de transfert non lin´ eaire et de disposer de suffisamment de neurones sur les couches cach´ ees.
Un r´ eseau multicouche n’est rien d’autre qu’un assemblage de couches concat´ en´ ees les unes
48 CHAPITRE 5. PERCEPTRON MULTICOUCHE

2
2
p
1
p
2

1
-1
n
1
1
a
1
1
Entrées Couche de décision

-1.5
-1
n
1
2
a
1
2
-1
-1
2
1
n
2
1
a
2
1
1
1.5
-1
Conjonction
FIG. 5.7 – R´ eseau multicouche pour r´ esoudre le probl` eme du «ou exclusif».
aux autres, de la gauche vers la droite, en prenant les sorties d’une couche et en les injectant comme
les entr´ ees de la couche suivante.
`
A la section suivante, nous allons d´ evelopper l’algorithme dit de
«r´ etropropagation des erreurs» qui permet d’entraˆıner un r´ eseau multicouche. Mais pour l’instant
nous allons tenter d’illustrer ` a quoi servent les couches suppl´ ementaires. Une chose que l’on peut
d´ ej` a remarquer est qu’il ne sert ` a rien d’assembler plusieurs couches ADALINE car la combinaison
de plusieurs couches lin´ eaires peut toujours se ramener ` a une seule couche lin´ eaire ´ equivalente.
C’est pourquoi, pour ˆ etre utile, un r´ eseau multicouche doit toujours poss´ eder des neurones avec
fonctions de transfert non-lin´ eaires sur ses couches cach´ ees. Sur sa couche de sortie, selon le type
d’application, il pourra comporter des neurones lin´ eaires ou non-lin´ eaires.
5.3.1 Probl` eme du «ou exclusif»
`
A la figure 5.4a, nous avons illustr´ e un probl` eme de classification non s´ eparable lin´ eairement.
Il s’agit du probl` eme classique du «ou exclusif» (xor) que l’on ne peut pas r´ esoudre ni avec un
perceptron simple, ni avec un r´ eseau ADALINE, car les points noirs ne peuvent pas ˆ etre s´ epar´ es
des blancs ` a l’aide d’une seule fronti` ere de d´ ecision lin´ eaire. Dans ce probl` eme, les points noirs
repr´ esentent le vrai (valeur 1) et les points blancs le faux (valeur 0). Le «ou exclusif», pour ˆ etre
vrai, exige qu’une seule de ses entr´ ees soit vraie, sinon il est faux. On peut r´ esoudre facilement ce
probl` eme ` a l’aide du r´ eseau multicouche illustr´ e ` a la figure 5.7. Ce r´ eseau ` a deux couches utilise
des fonctions de transfert seuil. Sur la premi` ere couche, chaque neurone engendre les fronti` eres
de d´ ecision illustr´ ees aux figures 5.8a et 5.8b. Les zones gris´ ees repr´ esentent la r´ egion de l’espace
d’entr´ ee du r´ eseau pour laquelle le neurone correspondant produit une r´ eponse vrai. Le rˆ ole du
neurone sur la couche de sortie, illustr´ e ` a la figure 5.8c, consiste ` a effectuer la conjonction des
deux r´ egions produites par les neurones de la premi` ere couche. Notez bien que les entr´ ees de
la deuxi` eme couche sont les sorties de la premi` ere couche. La figure 5.8 repr´ esente toutes les
fronti` eres de d´ ecision dans l’espace des entr´ ees. La fronti` ere de d´ ecision engendr´ ee par le neurone
5.3. R
´
ESEAU MULTICOUCHE 49
1
w
1
p
1
p
2
2
w
1
p
1
p
2
p
1
p
2
(a) (b) (c)
FIG. 5.8 – Fronti` eres de d´ ecision engendr´ ees par le r´ eseau de la figure 5.7 : (a) neurone 1 de la
couche 1 ; (b) neurone 2 de la couche 1 ; (c) neurone 1 de la couche 2.
a
1
1
a
1
2
1
w
2
FIG. 5.9 – Fronti` ere de d´ ecision engendr´ ee par le neurone qui effectue une conjonction.
de la couche de sortie est aussi illustr´ ee dans son propre espace d’entr´ ee ` a la figure 5.9. Il importe
de remarquer que la sortie des fonctions seuils employ´ ees ´ etant limit´ ee aux valeurs {0, 1} (que l’on
interpr` ete comme ´ etant respectivement faux et vrai), seuls les coins du carr´ e illustr´ e ` a la figure sont
pertinents. Pour r´ ealiser une conjonction (un «et logique»), le neurone effectue donc la somme de
ses deux entr´ ees et fixe un seuil ` a 1.5. Si la somme est inf´ erieur ` a 1.5, alors il produit vrai en sortie,
sinon il produit faux. Dans ce cas, seul le coin sup´ erieur droite du carr´ e produit vrai en sortie.
Mentionnons finalement que le r´ eseau de la figure 5.7 n’est pas le seul ` a pouvoir r´ esoudre
ce probl` eme du «ou exclusif». D’autres combinaisons de poids et de biais pourraient produire le
mˆ eme r´ esultat (pouvez-vous en trouver d’autres ?).
5.3.2 Approximation de fonction
Pour faire de l’approximation de fonction (section 4.8), on peut montrer qu’un r´ eseau mul-
ticouche comme celui de la figure 5.10, avec une seule couche cach´ ee de neurones sigmo¨ıdes et
une couche de sortie avec des neurones lin´ eaires permet d’approximer n’importe quelle fonction
d’int´ erˆ et avec une pr´ ecision arbitraire, ` a condition de disposer de suffisamment de neurones sur la
50 CHAPITRE 5. PERCEPTRON MULTICOUCHE
Entrée
p
-1
R
a
1
Couche sigmoïde
a
1
= logsig(W
1
p − b
1
)
W
1
b
1
+
n
1
S
1
x 1
S
1
x R
S
1
x 1
S
1
x 1
S
1
R x 1
a
2
Couche linéaire
a
2
= purelin(W
2
a
1
− b
2
)
W
2
b
2
+
n
2
S
2
x 1
S
2
x 1
S
2
x 1
S
2
S
2
x S
1
-1
FIG. 5.10 – R´ eseau multicouche permettant de faire de l’approximation de fonction.
(a) (b) (c) (d)
FIG. 5.11 – Exemples de fronti` eres de d´ ecision : (a) convexe ouverte ; (b) convexe ferm´ ee ; (c)
concave ouverte ; et (d) concave ferm´ ee.
couche cach´ ee. Intuitivement, un peu ` a la fac¸on des s´ eries de Fourier qui utilisent des sinus et co-
sinus, cette preuve passe par la d´ emonstration que l’on peut approximer n’importe quelle fonction
d’int´ erˆ et par une combinaison lin´ eaire de sigmo¨ıdes.
5.3.3 Classification
Pour faire de la classification, on utilisera des r´ eseaux soit ` a deux, soit ` a trois couches de neu-
rones sigmo¨ıdes. On peut montrer qu’une seule couche cach´ ee suffit ` a engendrer des fronti` eres de
d´ ecision
4
convexes, ouvertes ou ferm´ ees, de complexit´ e arbitraire, alors que deux couches cach´ ees
permettent de cr´ eer des fronti` eres de d´ ecision concaves
5
ou convexes, ouvertes ou ferm´ ees, de
complexit´ e arbitraire. La figure 5.11 montre en deux dimensions diff´ erents types de fronti` eres de
d´ ecision. Intuitivement, on veut voir que la premi` ere couche cach´ ee d’un tel r´ eseau sert ` a d´ ecouper
l’espace d’entr´ ee ` a l’aide de fronti` eres de d´ ecision lin´ eaires, comme on l’a vu pour le perceptron
simple, la deuxi` eme couche sert ` a assembler des fronti` eres de d´ ecision non-lin´ eaires
6
convexes en
4
Notez bien qu’une fronti` ere de d´ ecision n’est pas n´ ecessairement une fonction !
5
Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure, alors qu’une courbe
concave implique un point d’inflexion.
6
Les non-lin´ earit´ es proviennent des sigmo¨ıdes !
5.4. R
´
ETROPROPAGATION DES ERREURS 51
Entrée
p
-1
R
ƒ
1
a
1
Couche 1
a
1
= ƒ
1
(W
1
p − b
1
)
W
1
b
1
+
n
1
S
1
x 1
S
1
x

R
S
1
x 1
S
1
x 1
S
1
R x 1
ƒ
2
a
2
Couche 2
a
2
= ƒ
2
(W
2
a
1
− b
2
)
W
2
b
2
+
n
2
S
2
x 1
S
2
x S
1
S
2
x 1
S
2
x 1
S
2
ƒ
3
a
3
Couche 3
a
3
= ƒ
3
(W
3
a
2
− b
3
)
W
3
b
3
+
n
3
S
3
x 1
S
3
x 1
S
3
x 1
S
3
S
3
x S
2
-1 -1
FIG. 5.12 – Repr´ esentation matricielle d’un r´ eseau de trois couches (reproduction de la figure 2.7).
s´ electionnant ou en retranchant des r´ egions engendr´ ees par la couche pr´ ec´ edente et, de mˆ eme, la
couche de sortie permet d’assembler des fronti` eres de d´ ecision concaves en s´ electionnant ou en
retranchant des r´ egions convexes engendr´ ees par la couche pr´ ec´ edente.
Avant de passer ` a l’algorithme de r´ etropropagation qui nous permettra d’entraˆıner un r´ eseau
multicouche, que nous nommerons dor´ enavant perceptron multicouche ou PMC, mentionnons que
ce n’est pas par hasard que nous avons remplac´ e la fonction de transfert seuil par la fonction
sigmo¨ıde, mais bien pour pouvoir proc´ eder ` a un apprentissage automatique. Par exemple, mˆ eme si
nous avons pu construire ` a la main, avec la fonction seuil, le r´ eseau de la figure 5.7 pour r´ esoudre le
probl` eme du «ou exclusif», nous ne saurions pas comment apprendre automatiquement ` a g´ en´ erer
les bons poids et les bons biais de ce r´ eseau. Le probl` eme avec la fonction seuil est que sa d´ eriv´ ee
est toujours nulle sauf en un point ou elle n’est mˆ eme pas d´ efinie ! On ne peut donc pas l’utiliser
avec la m´ ethode de la descente du gradient qui nous a si bien servi pour le r´ eseau ADALINE.
5.4 R´ etropropagation des erreurs
Pour d´ evelopper les ´ equations de l’algorithme de r´ etropropagation des erreur (en anglais
«backpropagation»), nous aurons besoin de toute la puissance des notations introduites ` a la section
2.1 (voir page 5) et illustr´ ees ` a la figure 2.7 que nous reproduisons ` a la figure 5.12.
L’´ equation qui d´ ecrit les sorties d’une couche k dans un perceptron multicouche est donn´ ee
par :
a
k
= f
k

W
k
a
k−1
−b
k

, pour k = 1, . . . , M, (5.33)
o` u M est le nombre total de couches et a
0
= p d´ efinit le cas de base de cette formule de
r´ ecurrence. Les sorties du r´ eseau correspondent alors ` a a
M
. L’algorithme de r´ etropropagation
est une g´ en´ eralisation de la r` egle LMS. Tous deux utilisent comme indice de performance l’er-
reur quadratique moyenne, et tous deux permettent un apprentissage de type supervis´ e avec un
ensemble d’association stimulus/cible {(p
q
, d
q
)}, q = 1, . . . , Q, o` u p
q
repr´ esente un vecteur sti-
mulus (entr´ ees) et d
q
un vecteur cible (sorties d´ esir´ ees).
`
A chaque instant t, on peut propager vers
52 CHAPITRE 5. PERCEPTRON MULTICOUCHE
l’avant un stimulus diff´ erent p(t) ` a travers le r´ eseau de la figure 5.12 pour obtenir un vecteur de
sorties a(t). Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ eseau produit en sortie pour
ce stimulus et la cible d(t) qui lui est associ´ ee :
e(t) = d(t) −a(t). (5.34)
L’indice de performance F permet de minimiser l’erreur quadratique moyenne :
F(x) = E

e
T
(t)e(t)

(5.35)
o` u E[.] d´ esigne l’esp´ erance math´ ematique et le vecteur x regroupe l’ensemble des poids et des
biais du r´ eseau. Tout comme pour la r` egle LMS, nous allons approximer cet indice par l’erreur
instantan´ ee :
ˆ
F(x) = e
T
(t)e(t) (5.36)
et nous allons utiliser la m´ ethode de la descente du gradient pour optimiser x :
∆w
k
i,j
(t) = −η

ˆ
F
∂w
k
i,j
(5.37)
∆b
k
i
(t) = −η

ˆ
F
∂b
k
i
(5.38)
o` u η d´ esigne le taux d’apprentissage.
La proc´ edure d’optimisation est donc tr` es semblable ` a celle de la r` egle LMS. Cependant,
il faut faire face ` a deux difficult´ es suppl´ ementaires. Premi` erement, les fonctions de transfert des
neurones ne sont plus n´ ecessairement lin´ eaires. Leur d´ eriv´ e partielle ne sera donc plus constante.
Deuxi` emement, nous ne poss´ edons les sorties d´ esir´ ees (les cibles) que pour les neurones de la
couche de sortie. C’est surtout cette deuxi` eme observation qui va nous poser probl` eme.
Pour calculer la d´ eriv´ e partielle de
ˆ
F, il faudra faire appel ` a la r` egle de chaˆınage des d´ eriv´ es :
df[n(w)]
dw
=
df[n]
dn
×
dn(w)
dw
. (5.39)
Par exemple, si f[n] = e
n
et n = 2w, donc f[w] = e
2w
, alors :
df[n(w)]
dw
=

de
n
dn

×

d2w
dw

= (e
n
)(2) = 2e
2w
. (5.40)
Nous allons nous servir de cette r` egle pour calculer les d´ eriv´ es partielles des ´ equations 5.37 et
5.38 :

ˆ
F
∂w
k
i,j
=

ˆ
F
∂n
k
i
×
∂n
k
i
∂w
k
i,j
, (5.41)

ˆ
F
∂b
k
i
=

ˆ
F
∂n
k
i
×
∂n
k
i
∂b
k
i
. (5.42)
5.4. R
´
ETROPROPAGATION DES ERREURS 53
Le deuxi` eme terme de ces ´ equations est facile ` a calculer car les niveaux d’activation n
k
i
de la
couche k d´ ependent directement des poids et des biais sur cette couche :
n
k
i
=
S
k−1
¸
j=1
w
k
i,j
a
k−1
j
−b
k
i
. (5.43)
Par cons´ equent :
∂n
k
i
∂w
k
i,j
= a
k−1
j
,
∂n
k
i
∂b
k
i
= −1. (5.44)
On remarque que cette partie de la d´ eriv´ ee partielle de
ˆ
F par rapport ` a un poids (ou un biais) est
toujours ´ egale ` a l’entr´ ee de la connexion correspondante.
Maintenant, pour le premier terme des ´ equations 5.41 et 5.42, d´ efinissons la sensibilit´ e s
k
i
de
ˆ
F aux changements dans le niveau d’activation n
k
i
du neurone i de la couche k :
s
k
i


ˆ
F
∂n
k
i
. (5.45)
On peut alors r´ e´ ecrire les ´ equations 5.41 et 5.42 de la fac¸on suivante :

ˆ
F
∂w
k
i,j
= s
k
i
a
k−1
j
, (5.46)

ˆ
F
∂b
k
i
= −s
k
i
, (5.47)
et les expressions des ´ equations 5.37 et 5.38 de la fac¸on suivante :
∆w
k
i,j
(t) = −ηs
k
i
(t)a
k−1
j
(t), (5.48)
∆b
k
i
(t) = ηs
k
i
(t), (5.49)
ce qui donne en notation matricielle :
∆W
k
(t) = −ηs
k
(t)(a
k−1
)
T
(t), (5.50)
∆b
k
(t) = ηs
k
(t), (5.51)
avec :
s
k


ˆ
F
∂n
k
=


ˆ
F
∂n
k
1

ˆ
F
∂n
k
2
.
.
.

ˆ
F
∂n
k
S
k
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
. (5.52)
Par rapport ` a la r` egle LMS, il est int´ eressant de noter la ressemblance des ´ equations ci-dessus avec
les ´ equations 5.31 et 5.32. On remarque que le terme 2e(t) est simplement remplac´ e par s
M
(t).
54 CHAPITRE 5. PERCEPTRON MULTICOUCHE
5.4.1 Calcul des sensibilit´ es
Il reste maintenant ` a calculer les sensibilit´ es s
k
, ce qui requerra une nouvelle application de la
r` egle de chaˆınage des d´ eriv´ es. Dans ce cas, nous obtiendrons une formule de r´ ecurrence o` u la sensi-
bilit´ e des couches en amont (entr´ ees) d´ ependra de la sensibilit´ e des couches en aval (sorties). C’est
de l` a que provient l’expression «r´ etropropagation», car le sens de propagation de l’information est
invers´ e par rapport ` a celui de l’´ equation 5.33.
Pour d´ eriver la formule de r´ ecurrence des sensibilit´ es, nous allons commencer par calculer la
matrice suivante :
∂n
k+1
∂n
k
=

∂n
k+1
1
∂n
k
1
∂n
k+1
1
∂n
k
2
· · ·
∂n
k+1
1
∂n
k
S
k
∂n
k+1
2
∂n
k
1
∂n
k+1
2
∂n
k
2
· · ·
∂n
k+1
2
∂n
k
S
k
.
.
.
.
.
.
.
.
.
.
.
.
∂n
k+1
S
k+1
∂n
k
1
∂n
k+1
S
k+1
∂n
k
2
· · ·
∂n
k+1
S
k+1
∂n
k
S
k
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
. (5.53)
Cette matrice ´ enum` ere toutes les sensibilit´ es des niveaux d’activation d’une couche par rapport ` a
ceux de la couche pr´ ec´ edente. Consid´ erons chaque ´ el´ ement (i, j) de cette matrice :
∂n
k+1
i
∂n
k
j
=

∂n
k
j

¸
S
k
¸
l=1
w
k+1
i,l
a
k
l
−b
k+1
i
¸

= w
k+1
i,j
∂a
k
j
∂n
k
j
= w
k+1
i,j
∂f
k
(n
k
j
)
∂n
k
j
= w
k+1
i,j
˙
f
k
(n
k
j
), (5.54)
avec :
˙
f
k
(n
k
j
) =
∂f
k
(n
k
j
)
∂n
k
j
. (5.55)
Par cons´ equent, la matrice de l’´ equation 5.53 peut s’´ ecrire de la fac¸on suivante :
∂n
k+1
∂n
k
= W
k+1
˙
F
k
(n
k
), (5.56)
o` u :
˙
F
k
(n
k
) =

˙
f
k
(n
k
1
) 0 · · · 0
0
˙
f
k
(n
k
2
) 0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · ·
˙
f
k
(n
k
S
k
)
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
. (5.57)
Ceci nous permet maintenant d’´ ecrire la relation de r´ ecurrence pour les sensibilit´ es :
s
k
=

ˆ
F
∂n
k
=

∂n
k+1
∂n
k

T

ˆ
F
∂n
k+1
=
˙
F
k

n
k

W
k+1

T ∂
ˆ
F
∂n
k+1
=
˙
F
k

n
k

W
k+1

T
s
k+1
. (5.58)
5.4. R
´
ETROPROPAGATION DES ERREURS 55
Cette ´ equation nous permet de calculer s
1
` a partir de s
2
, qui lui-mˆ eme est calcul´ e ` a partir de s
3
,
etc., jusqu’` a s
M
. Ainsi les sensibilit´ es sont r´ etropropag´ ees de la couche de sortie jusqu’` a la couche
d’entr´ ee :
s
M
→s
M−1
→· · · s
2
→s
1
. (5.59)
Il ne nous reste plus qu’` a trouver le cas de base, s
M
, permettant de mettre fin ` a la r´ ecurrence :
s
M
i
=

ˆ
F
∂n
M
i
=

d −a
M

T

d −a
M

∂n
M
i
=

∂n
M
i

¸
S
M
¸
l=1
(d
l
−a
M
l
)
2
¸

= −2

d
i
−a
M
i

∂a
M
i
∂n
M
i
= −2

d
i
−a
M
i

˙
f
M

n
M
i

. (5.60)
En notation matricielle, on ´ ecrit :
s
M
= −2
˙
F
M

n
M

d −a
M

. (5.61)
5.4.2 Algorithme d’entraˆınement
Voici donc un r´ esum´ e de la d´ emarche ` a suivre pour entraˆıner un perceptron multicouche :
1. Initialiser tous les poids du r´ eseau ` a de petites valeurs al´ eatoires.
2. Pour chaque association (p
q
, d
q
) dans la base d’apprentissage :
(a) Propager les entr´ ees p
q
vers l’avant ` a travers les couches du r´ eseau :
a
0
= p
q
, (5.62)
a
k
= f
k

W
k
a
k−1
−b
k

, pour k = 1, . . . , M. (5.63)
(b) R´ etropropager les sensibilit´ es vers l’arri` ere ` a travers les couches du r´ eseau :
s
M
= −2
˙
F
M

n
M

d
q
−a
M

, (5.64)
s
k
=
˙
F
k

n
k

W
k+1

T
s
k+1
, pour k = M −1, . . . , 1. (5.65)
(c) Mettre ` a jour les poids et biais :
∆W
k
= −ηs
k

a
k−1

T
, pour k = 1, . . . , M, (5.66)
∆b
k
= ηs
k
, pour k = 1, . . . , M. (5.67)
3. Si le crit` ere d’arrˆ et est atteint, alors stop.
4. Sinon, permuter l’ordre de pr´ esentation des associations de la base d’apprentissage.
5. Recommencer ` a l’´ etape 2.
56 CHAPITRE 5. PERCEPTRON MULTICOUCHE
5.4.3 Crit` eres d’arrˆ et
Plusieurs crit` eres d’arrˆ ets peuvent ˆ etre utilis´ es avec l’algorithme de r´ etropropagation des er-
reurs. Le plus commun consiste ` a fixer un nombre maximum de p´ eriodes d’entraˆınement, ce qui
fixe effectivement une limite sup´ erieure sur la dur´ ee de l’apprentissage. Ce crit` ere est important car
la r´ etropropagation des erreurs n’offre aucune garantie quant ` a la convergence de l’algorithme. Il
peut arriver, par exemple, que le processus d’optimisation reste pris dans un minimum local. Sans
un tel crit` ere, l’algorithme pourrait ne jamais se terminer.
Un deuxi` eme crit` ere commun consiste ` a fixer une borne inf´ erieure sur l’erreur quadratique
moyenne, ou encore sur la racine
7
carr´ ee de cette erreur. D´ ependant de l’application, il est parfois
possible de fixer a priori un objectif ` a atteindre. Lorsque l’indice de performance choisi diminue
en dessous de cet objectif, on consid` ere simplement que le PMC a suffisamment bien appris ses
donn´ ees et on arrˆ ete l’apprentissage.
Les deux crit` eres pr´ ec´ edents sont utiles mais ils comportent aussi des limitations. Le crit` ere
relatif au nombre maximum de p´ eriodes d’entraˆınement n’est aucunement li´ e ` a la performance du
r´ eseau. Le crit` ere relatif ` a l’erreur minimale obtenue mesure quant ` a lui un indice de performance
mais ce dernier peut engendrer un ph´ enom` ene dit de sur-apprentissage qui n’est pas d´ esirable dans
la pratique, surtout si l’on ne poss` ede pas une grande quantit´ e de donn´ ees d’apprentissage, ou si
ces derni` eres ne sont pas de bonne qualit´ e.
Un processus d’apprentissage par correction des erreurs, comme celui de la r´ etropropagation,
vise ` a r´ eduire autant que possible l’erreur que commet le r´ eseau. Mais cette erreur est mesur´ ee
sur un ensemble de donn´ ees d’apprentissage. Si les donn´ ees sont bonnes, c’est-` a-dire quelles
repr´ esentent bien le processus physique sous-jacent que l’on tente d’apprendre ou de mod´ eliser,
et que l’algorithme a converg´ e sur un optimum global, alors il devrait bien performer sur d’autres
donn´ ees issues du mˆ eme processus physique. Cependant, si les donn´ ees d’apprentissage sont par-
tiellement corrompues par du bruit ou par des erreurs de mesure, alors il n’est pas ´ evident que la
performance optimale du r´ eseau sera atteinte en minimisant l’erreur, lorsqu’on la testera sur un jeu
de donn´ ees diff´ erent de celui qui a servi ` a l’entraˆınement. On parle alors de la capacit´ e du r´ eseau ` a
g´ en´ eraliser, c’est-` a-dire de bien performer avec des donn´ ees qu’il n’a jamais vu auparavant.
Par exemple, la figure 5.13 illustre le probl` eme du sur-apprentissage dans le contexte d’une
tˆ ache d’approximation de fonction (voir section 4.8). La droite en pointill´ es montre une fonction
lin´ eaire que l’on voudrait approximer en ne connaissant que les points noirs. La courbe en trait
plein montre ce qu’un r´ eseau hypoth´ etique pourrait apprendre. On constate que la courbe passe
par tous les points d’entraˆınement et donc que l’erreur est nulle. De toute ´ evidence, ce r´ eseau ne
g´ en´ eralisera pas bien si l’on ´ echantillonne d’autres points sur la droite !
Une solution ` a ce probl` eme consiste ` a utiliser un autre crit` ere d’arrˆ et bas´ e sur une technique
dite de validation crois´ ee (en anglais «cross-validation»). Cette technique consiste ` a utiliser deux
ensembles ind´ ependants
8
de donn´ ees pour entraˆıner notre r´ eseau : un pour l’apprentissage (l’ajuste-
ment des poids) et l’autre pour la validation, c’est-` a-dire le calcul d’un indice de performance (une
7
On parle alors de la racine de l’erreur quadratique moyenne. En anglais, on dit «Root Mean Square» ou RMS.
8
En pratique cela consiste ` a partitionner les donn´ ees disponibles en deux ensembles distincts.
5.4. R
´
ETROPROPAGATION DES ERREURS 57
FIG. 5.13 – Illustration du ph´ enom` ene de sur-apprentissage pour le cas simple d’une approxima-
tion de fonction.
entraînement
erreur
temps
validation
arrêt
sur-apprentissage
FIG. 5.14 – Illustration de la validation crois´ ee.
erreur, un taux de reconnaissance ou tout autre mesure pertinente ` a l’application). Le crit` ere d’arrˆ et
consiste alors ` a stopper l’apprentissage lorsque l’indice de performance calcul´ e sur les donn´ ees de
validation cesse de s’am´ eliorer pendant plusieurs p´ eriodes d’entraˆınement. La figure 5.14 illustre
le crit` ere de la validation crois´ ee dans le cas d’un indice de performance que l’on cherche ` a mi-
nimiser. La courbe en pointill´ es de ce graphique repr´ esente l’indice de performance d’un r´ eseau
hypoth´ etique
9
calcul´ e sur les donn´ ees d’apprentissage, alors que la courbe en trait plein montre le
mˆ eme indice mais calcul´ e sur les donn´ ees de validation. On voit qu’il peut exister un moment au
cours de l’apprentissage o` u l’indice en validation se d´ et´ eriore alors que le mˆ eme indice continue ` a
s’am´ eliorer pour les donn´ ees d’entraˆınement. C’est alors le d´ ebut du «sur-apprentissage».
9
Des courbes semblables s’observent couramment dans la pratique.
58 CHAPITRE 5. PERCEPTRON MULTICOUCHE

0.3
0.4
100
100
-0.5
-1
n a
FIG. 5.15 – Exemple d’un neurone satur´ e.
5.4.4 Ph´ enom` ene de saturation
Une autre consid´ eration pratique dont on doit tenir compte lorsqu’on entraˆıne un PMCconcerne
le ph´ enom` ene de saturation des neurones o` u, sous certaines conditions, les neurones peuvent ` a toute
fin pratique cesser d’apprendre tellement leur convergence devient lente. Consid´ erons par exemple
le r´ eseau de la figure 5.15, constitu´ e d’un seul neurone ` a deux entr´ ees avec p
1
= p
2
= 100. Si l’on
calcule son niveau d’activation n, on obtient :
n = 100 ×0.3 + 100 ×0.4 + 0.5 = 70.5 (5.68)
On peut d´ ej` a remarquer que l’effet du biais est n´ egligeable devant celui des deux poids d’entr´ ee,
malgr´ e le fait qu’ils soient tous les trois du mˆ eme ordre de grandeur, ` a cause de l’amplitude des
entr´ ees. Si l’on calcule la sortie du neurone, on obtient :
a = logsig(n) =
1
1 + exp(−n)
=
1
1 + exp(−70.5)
≈ 1. (5.69)
En effet, exp(−70.5) = 2.4 × 10
−31
. On dit alors que le neurone est satur´ e. Le probl` eme avec un
tel neurone est qu’il ne peut presque plus apprendre car la d´ eriv´ ee de sa fonction d’activation est
pratiquement nulle :
˙ a =
da
dn
=
d
dn
¸
1
1 + exp(−n)
¸
=
(−1)
d
dn
(1 + exp(−n))
(1 + exp(−n))
2
=
exp(−n)
(1 + exp(−n))
2
= a ×
exp(−n)
1 + exp(−n)
= a ×
1 + exp(−n) −1
1 + exp(−n)
= a(1 −a) (5.70)
Avec a ≈ 1, on obtient :
˙ a ≈ 1 ×(1 −1) = 0 (5.71)
Or, comme les variations de poids dans l’algorithme de r´ etropropagation des erreurs, d´ efinies aux
´ equations 5.66 et 5.67, d´ ependent lin´ eairement des sensibilit´ es (voir ´ equations 5.64 et 5.65) qui
elles-mˆ emes d´ ependent de la d´ eriv´ ee de la fonction d’activation, on voit imm´ ediatement qu’elles
tendent vers z´ ero lorsque le neurone est satur´ e et que la convergence, mˆ eme si elle est toujours
possible, requerra beaucoup de p´ eriodes d’apprentissage.
5.4. R
´
ETROPROPAGATION DES ERREURS 59
Par cons´ equent, ` a cause de ce ph´ enom` ene de saturation, il importe de normaliser les donn´ ees
` a l’entr´ ee d’un PMC, c’est-` a-dire de les transformer de mani` ere ` a ´ eviter tout risque de saturation.
Une autre fac¸on de proc´ eder est d’initialiser les poids sur la premi` ere couche en choisissant un
intervalle de valeurs al´ eatoires ajust´ e aux stimuli d’apprentissage. Par exemple, pour l’entr´ ee j
d’un r´ eseau ` a R entr´ ees, on pourrait choisir l’intervalle suivant :
¸
1
−max
q
|p
q
j
|
,
1
max
q
|p
q
j
|
¸
, j = 1, . . . , R, (5.72)
o` u {q} d´ esigne l’ensemble des stimuli d’apprentissage.
Une autre alternative serait de fixer tous les poids ` a z´ ero. Bien que ceci r´ eglerait certes le
probl` eme de la saturation des neurones, ce n’est malheureusement pas une alternative viable. En
effet, il se trouve que l’origine de l’espace des poids correspond souvent ` a un lieu d’instabilit´ e de
la fonction d’erreur du r´ eseau. Et ceci peut facilement entraˆıner la divergence de l’algorithme de
r´ etropropagation.
5.4.5 Groupage
Au lieu de mettre ` a jour les poids pour chaque donn´ ee d’entraˆınement, une alternative consiste
` a accumuler les variations de poids sur une p´ eriode d’apprentissage compl` ete et de mettre ` a jour
les poids en une seule fois avec la moyenne de ces variations. On parle alors d’apprentissage
«hors-ligne» ou par groupage (en anglais «batching»). L’id´ ee est la suivante : l’estimation du
gradient qu’engendre chaque donn´ ee d’entraˆınement est peu pr´ ecise, la moyenne de ces estimations
devrait ˆ etre plus pr` es du gradient r´ eel. En fait, si les donn´ ees d’entraˆınement couvrent ad´ equatement
l’espace des entr´ ees, alors la moyenne de ces estimations sera exacte.
Mais le groupage n’est pas une panac´ ee car cela peut aussi ralentir consid´ erablement la conver-
gence, puisque les poids changent moins souvent. Autrement dit, si l’estimation du gradient bas´ ee
sur une seule donn´ ee d’entraˆınement a tendance ` a ˆ etre bonne, alors on pourrait converger jusqu’` a
Q fois plus lentement si l’on proc` ede par groupage. Par contre, lorsque cette estimation est plut ˆ ot
mauvaise, le groupage sert ` a ´ eviter de partir dans une mauvaise direction qui, autrement, augmen-
terait nos chances de rester pris dans un minimum local inad´ equat.
5.4.6 Momentum
Une fac¸on d’am´ eliorer l’algorithme de r´ etropropagation est de rajouter un terme d’inertie dont
le rˆ ole est de filtrer les oscillations dans la trajectoire de la descente du gradient :
∆W
k
(t) = α∆W
k
(t −1) −(1 −α)ηs
k

a
k−1

T
, pour k = 1, . . . , M, (5.73)
∆b
k
(t) = α∆b
k
(t −1) + (1 −α)ηs
k
, pour k = 1, . . . , M. (5.74)
o` u 0 ≤ α < 1 s’appelle le momentum. Lorsque α = 0, les ´ equations 5.73 et 5.74 sont ´ equivalentes
aux ´ equations 5.66 et 5.67, respectivement. Lorsque α = 1, les ∆W
k
(t) et ∆b
k
(t) ne d´ ependent
60 CHAPITRE 5. PERCEPTRON MULTICOUCHE
plus des ´ equations de r´ etropropagation des erreurs, mais uniquement des ∆W
k
(t−1) et ∆b
k
(t−1),
c’est-` a-dire des changements de poids ` a l’´ etape pr´ ec´ edente.
Le terme du momentum produit deux effets distincts selon la situation. Premi` erement, lorsque
la trajectoire du gradient a tendance ` a osciller (comme ` a la figure 5.6c), il contribue ` a la stabiliser en
ralentissant les changements de direction. Par exemple, avec α = 0.8, cela correspond d’embl´ ee ` a
ajouter 80% du changement pr´ ec´ edent au changement courant. Deuxi` emement, lorsque le gradient
courant pointe dans la mˆ eme direction que le gradient pr´ ec´ edent, le terme d’inertie contribue ` a
augmenter l’ampleur du pas dans cette direction et donc ` a acc´ el´ erer la convergence.
5.4.7 Taux d’apprentissage variable
Une autre fac¸on d’am´ eliorer la vitesse de convergence pour la r´ etropropagation des erreurs
serait de modifier le taux d’apprentissage dynamiquement tout au long de l’entraˆınement. Plusieurs
approches peuvent ˆ etre consid´ er´ ees. Par exemple, on peut adopter la strat´ egie suivante :
1. Si l’erreur quadratique totale, calcul´ ee pour toutes les associations de la base d’apprentis-
sage, augmente d’une p´ eriode ` a l’autre par plus d’un certain pourcentage β (typiquement de
1 ` a 5%) ` a la suite d’une mise ` a jour des poids, alors cette mise ` a jour doit ˆ etre abandonn´ ee
et le taux d’apprentissage doit ˆ etre multipli´ e par un facteur 0 < ρ < 1, et le momentum doit
ˆ etre fix´ e ` a z´ ero ;
2. Si l’erreur quadratique totale diminue ` a la suite d’une mise ` a jour des poids, alors celle-ci
est conserv´ ee et le taux d’apprentissage est multipli´ e par un facteur γ > 1 ; si le momentum
avait pr´ ec´ edemment ´ et´ e fix´ e ` a z´ ero, alors on lui redonne sa valeur originale ;
3. Si l’erreur quadratique totale augmente par moins de β, alors la mise ` a jour des poids est
accept´ ee et le taux d’apprentissage reste inchang´ e ; Si le momentum avait pr´ ec´ edemment ´ et´ e
fix´ e ` a z´ ero, alors on lui redonne sa valeur originale ;
Cette approche suppose que l’apprentissage fonctionne par groupage, c’est-` a-dire que les mises
` a jour des poids sont accumul´ ees sur l’ensemble des associations de la base d’apprentissage et
appliqu´ ees une fois ` a la fin de chaque p´ eriode (section 5.4.5). Dans certains cas cela peut acc´ el´ erer
grandement la convergence. Dans d’autres cas, cette approche peut aussi nuire ` a la convergence.
Il faut comprendre que ce genre de technique ajoute des param` etres
10
(β, ρ et γ) qu’il faut fixer a
priori. Pour un probl` eme donn´ e, certaines combinaisons de param` etres peuvent ˆ etre b´ en´ efiques et
d’autres non. Parfois, l’emploi d’une telle m´ ethode peut mˆ eme entraˆıner une divergence rapide l` a
o` u la r´ etropropagation des erreurs avec momentum produisait une convergence lente.
5.4.8 Autres consid´ erations pratiques
Nous ´ enum´ erons ci-dessous d’autres consid´ erations pratiques pour l’entraˆınement du PMC.
Selon les circonstances, celles-ci peuvent aussi avoir un effet appr´ eciable sur la performance de
l’algorithme de r´ etropropagation des erreurs.
10
L’approche d´ ecrite ici, propos´ ee par Vogl et al. en 1988, est relativement simple parmi l’ensemble des variantes
qui ont ´ et´ e explor´ ees dans la litt´ erature pour faire varier dynamiquement le taux d’apprentissage.
5.4. R
´
ETROPROPAGATION DES ERREURS 61
1. Lorsqu’on utilise une couche de sortie non-lin´ eaire, c’est-` a-dire une couche dont les neu-
rones poss` edent des fonctions d’activation non lin´ eaires telles que la sigmo¨ıde ou la tangente
hyperbolique (voir section 2.3), il importe de ne pas chercher ` a saturer les neurones en fixant
des sorties d´ esir´ ees qui tendent vers l’assymptote de la fonction. Dans le cas de la sigmo¨ıde,
par exemple, au lieu de fixer des sorties d´ esir´ ees ` a 0 ou ` a 1, on peut les fixer ` a 0.05 et
0.95. Ainsi, la r´ etropropagation des erreurs ne cherchera pas ` a entraˆıner les poids dans une
direction qui pourrait rendre le neurone incapable de s’adapter.
2. Les sensibilit´ es des neurones sur les derni` eres couches ont tendance ` a ˆ etre plus grandes que
sur les premi` eres couches ; le taux d’apprentissage sur ces derni` eres devrait donc ˆ etre plus
grand que sur ces premi` eres si l’on veut que les diff´ erentes couches apprennent approxima-
tivement au mˆ eme rythme.
3.
`
A chaque p´ eriode d’entraˆınement, il importe de permuter l’ordre de pr´ esentation des stimuli
pour r´ eduire la probabilit´ e qu’une s´ equence de donn´ ees pathologique nous garde prison-
nier d’un pi` etre minimum local. En effet, la performance de la m´ ethode de la descente du
gradient peut d´ ependre grandement de cet ordre de pr´ esentation qui engendre des trajec-
toires diff´ erentes dans l’espace des param` etres, et des trajectoires diff´ erentes peuvent nous
amener ` a des minimums locaux diff´ erents. Mˆ eme s’il existe des s´ equences pathologiques,
le fait de permuter les donn´ ees ` a chaque p´ eriode nous garantit que l’on ne tombera pas
syst´ ematiquement sur les mˆ emes.
4. Dans le contexte d’un probl` eme de classification ` a n classes, on associe g´ en´ eralement un
neurone de sortie distinct ` a chacune d’elles (S
M
= n). Ainsi, on interpr´ etera chaque neurone
sur la couche de sortie comme indiquant si oui ou non le stimulus d’entr´ ee appartient ` a la
classe correspondante. On construira les vecteurs d de sorties d´ esir´ ees avec deux valeurs
possibles pour chaque composante : une valeur pour le «oui» et une valeur pour le «non».
Si l’on choisit la fonction d’activation logistique, on pourra coder le «oui» avec une valeur
proche de 1 et le «non» avec une valeur proche de 0 (voir item 1 ci-dessus). En mode de
reconnaissance, on pourra classer un stimulus inconnu dans la cat´ egorie associ´ ee au neurone
ayant produit la sortie maximale.
5. Dans le contexte d’un probl` eme d’approximation de fonction, on choisit g´ en´ eralement des
neurones lin´ eaires pour la couche de sortie. Autrement, cela force le r´ eseau ` a apprendre
l’inverse de la fonction d’activation utilis´ ee, en plus de la fonction que l’on veut vraiment
qu’il apprenne.
6. Effectuer l’apprentissage d’un r´ eseau quelconque revient ` a estimer les bonnes valeurs pour
chacun de ses poids. Pour pouvoir estimer les param` etres d’un syst` eme quelconque poss´ edant
un certain nombre de degr´ es de libert´ e (param` etres ind´ ependants), il est n´ ecessaire de poss´ eder
au moins un nombre ´ equivalent de donn´ ees. Mais dans la pratique il en faut bien plus ! Une
r` egle heuristique nous indique que pour pouvoir esp´ erer estimer correctement les n poids
d’un r´ eseau de neurones, 10n donn´ ees d’entraˆınement sont requises.
7. La performance d’un r´ eseau lorsqu’´ evalu´ ee avec ses donn´ ees d’entraˆınement est presque
toujours sur-estim´ ee. Il faut bien comprendre que le r´ eseau ne comporte aucune intelli-
gence r´ eelle. Il ne fait qu’apprendre les associations qu’on lui fournit.
`
A la limite, il peut
les apprendre «par c ?ur». Nous avons discut´ e ` a la section 5.4.3 du ph´ enom` ene de «sur-
apprentissage». Nous avons vu qu’une proc´ edure de validation-crois´ ee peut augmenter la
62 CHAPITRE 5. PERCEPTRON MULTICOUCHE
capacit´ e de g´ en´ eralisation d’un r´ eseau. Si l’on veut ´ evaluer correctement la performance
d’un r´ eseau, il faut le faire avec des donn´ ees qui n’ont aucunement servi au processus d’ap-
prentissage, ni pour la r´ etropropagation des erreurs, ni pour la validation crois´ ee. En pratique,
ceci implique de diviser les donn´ ees d’entraˆınement en trois sous-ensembles distincts : les
donn´ ees d’entraˆınement, de validation et de test. La proportion relative de ces ensembles peut
´ evidemment varier selon l’application, mais une bonne proportion se situe aux alentours de
50-20-30%, respectivement.
5.5 M´ ethode de Newton
La m´ ethode de Newton est une autre proc´ edure d’optimisation, parfois plus efficace que la
descente du gradient. Alors que cette derni` ere est bas´ ee sur une approximation par la s´ erie de
Taylor de premier ordre (qui n’utilise que la d´ eriv´ e premi` ere), la m´ ethode de Newton est bas´ ee sur
la s´ erie de Taylor de deuxi` eme ordre, o` u l’on tient compte non seulement de la d´ eriv´ e premi` ere,
mais aussi de la d´ eriv´ e seconde :
F(x

) = F(x + ∆x) ≈ F(x) +∇F(x)
T
∆x +
1
2
∆x
T

2
F(x)∆x =
ˆ
F(x), (5.75)
o` u x

est un point dans le voisinage de x, ∆x = x

−x, ∇F(x) est le vecteur gradient de F(x) et

2
F(x) est la matrice hessienne de F(x). L’id´ ee consiste ` a rechercher un plateau dans l’expression
quadratique de
ˆ
F(x). En d´ erivant l’expression de
ˆ
F(x) par rapport ` a ∆x et en fixant le tout ` a z´ ero,
on obtient :
∇F(x) +∇
2
F(x)∆x = 0. (5.76)
et :
∆x = −


2
F(x)

−1
∇F(x) (5.77)
La m´ ethode de Newton propose donc d’explorer l’espace des param` etres libres dans la direction
∆x qui pointe vers un plateau de
ˆ
F(x), c’est-` a-dire soit un maximum, soit un minimum.
Cette m´ ethode converge en une seule ´ etape lorsque F est une fonction quadratique, puisqu’on
approxime alors une fonction quadratique par une autre fonction quadratique ´ equivalente. Lorsque
F n’est pas quadratique, cette m´ ethode converge g´ en´ eralement tr` es rapidement ` a condition d’avoir
un bon point de d´ epart (x n’est pas trop loin de l’optimum), car la plupart des fonctions analytiques
s’approximent bien avec une fonction quadratique ` a l’int´ erieur d’un petit voisinage autour d’un op-
timum. Cependant, mˆ eme dans ce cas, on ne saura pas si cet optimum est minimum ou maximum.
On ne saura pas non plus si l’optimum est local ou global. De plus, lorsqu’on s’´ eloigne de ce voi-
sinage, la m´ ethode de Newton peut donner des r´ esultats impr´ evisibles. Finalement, cette m´ ethode
comporte aussi le gros d´ esavantage de n´ ecessiter le calcul et le stockage de la matrice hessienne,
d’une part, et de son inverse, d’autre part. Dans le cas d’un perceptron multicouche comportant
plusieurs centaines ou mˆ eme plusieurs milliers de poids, cela s’av` ere totalement impossible en
pratique
11
.
11
Il faut se rappeler que si le vecteur gradient croˆıt lin´ eairement avec le nombre de param` etres libres de la fonction,
la taille (en nombre d’´ el´ ements) de la matrice hessienne, elle, croˆıt avec le carr´ e de ce nombre. De plus, le meilleur al-
gorithme connu pour l’inversion d’une matrice n×n poss` ede une complexit´ e O(n
2.376
). Quant ` a la m´ ethode classique
d’´ elimination de Gauss, elle requiert un temps O(n
3
).
5.6. M
´
ETHODE DU GRADIENT CONJUGU
´
E 63
Nous avons pr´ esent´ e dans cette section la m´ ethode de Newton non pas pour l’utiliser avec
le perceptron multicouche, mais bien pour mettre en relief les m´ erites de la r´ etropropagation, et
aussi pour faire le tour des diff´ erentes alternatives disponibles. Ceci nous am` ene ` a discuter d’un
compromis o` u il ne sera pas n´ ecessaire de calculer ni d’inverser la matrice hessienne.
5.6 M´ ethode du gradient conjugu´ e
La m´ ethode du gradient poss` ede la plupart des avantages de la m´ ethode de Newton mais sans
l’inconv´ enient d’avoir ` a calculer et ` a inverser la matrice hessienne. Elle est bas´ ee sur le concept
des vecteurs conjugu´ es, d’une part, ainsi que sur la recherche d’un minimum le long d’une droite,
d’autre part.
Les vecteurs d’un ensemble {p
k
} sont mutuellement conjugu´ es par rapport ` a une matrice A
positive d´ efinie (dont les valeurs propres sont toutes strictement positives) si, et seulement si,
p
T
k
Ap
j
= 0, k = j. (5.78)
Comme pour les vecteurs orthogonaux, il existe une infinit´ e d’ensembles de vecteurs conjugu´ es
qui couvrent un espace vectoriel de dimension m. Un de ceux-l` a est form´ e des vecteurs propres
de A, {z
1
, z
2
, . . . , z
m
}, associ´ es aux valeurs propres {λ
1
, λ
2
, . . . , λ
m
}. Pour le montrer, il suffit de
remplacer les p
k
par des z
k
dans l’´ equation pr´ ec´ edente :
z
T
k
Az
j
= z
T
k
λ
j
z
j
= λ
j
z
T
k
z
j
= 0, k = j, (5.79)
o` u la derni` ere ´ egalit´ e d´ ecoule du fait que les vecteurs propres d’une matrice positive d´ efinie sont
toujours orthogonaux. Par cons´ equent, les vecteurs propres d’une telle matrice sont ` a la fois ortho-
gonaux et conjugu´ es. Cependant, cette observation ne nous aide pas beaucoup si la matrice A en
question correspond ` a la matrice hessienne ∇
2
F que l’on veut ´ eviter de calculer dans la m´ ethode
de Newton, notre objectif ´ etant de trouver un algorithme efficace utilisant la d´ eriv´ ee seconde mais
sans ˆ etre oblig´ e de la calculer explicitement.
Pour une fonction F quadratique poss´ edant m param` etres libres, on peut montrer qu’il est
toujours possible d’atteindre son minimum en effectuant tout au plus m recherches lin´ eaires le long
de droites orient´ ees dans des directions conjugu´ ees {p
1
, p
2
, . . . , p
m
}. La question qui demeure est
comment construire ces directions conjugu´ ees sans faire r´ ef´ erence ` a la matrice hessienne de F ?
L’expression g´ en´ erale d’une fonction quadratique est donn´ ee par :
F(x) =
1
2
x
T
Ax +d
T
x + c (5.80)
o` u le gradient ∇F est donn´ e par :
∇F(x) = Ax +d (5.81)
et la matrice hessienne par ∇
2
F(x) = A. En posant g
t
≡ ∇F(x)|
x=xt
et en combinant ces
´ equations, on peut trouver le changement de gradient ∆g
t
` a l’it´ eration t :
∆g
t
= g
t+1
−g
t
= (Ax
t+1
+d) −(Ax
t
+d) = A∆x
t
(5.82)
64 CHAPITRE 5. PERCEPTRON MULTICOUCHE
o` u la variation des param` etres libres ∆x
t
au temps t est donn´ ee par :
∆x
t
= x
t+1
−x
t
= α
t
p
t
(5.83)
avec un α
t
choisi de mani` ere ` a minimiser F(x
t
) dans la direction de p
t
.
On peut maintenant r´ e´ ecrire la condition des vecteurs conjugu´ es de l’´ equation 5.78 de la
mani` ere suivante :
α
t
p
T
t
Ap
j
= ∆x
T
t
Ap
j
= ∆g
T
t
p
j
= 0, t = j. (5.84)
On remarque imm´ ediatement qu’en consid´ erant le changement de gradient ` a chaque it´ eration t
de l’algorithme, on peut faire disparaˆıtre la matrice hessienne de l’´ equation qui d´ efinit la condi-
tion des vecteurs conjugu´ es. La direction de recherche p
j
sera alors conjugu´ ee ` a condition d’ˆ etre
orthogonale ` a la variation du gradient !
`
A chaque it´ eration t de l’algorithme des gradients conjugu´ es, il s’agit donc de construire une
direction de recherche p
t
qui est orthogonale ` a {∆g
0
, ∆g
1
, . . . , ∆g
t−1
} en utilisant une proc´ edure
semblable ` a la m´ ethode de Gram-Schmidt (section 3.1.5, page 21), qui peut se simplifier ` a l’ex-
pression suivante :
p
t
= −g
t
+ β
t
p
t−1
(5.85)
o` u les scalaires β
t
peuvent se calculer de trois mani` eres ´ equivalentes :
β
t
=
∆g
T
t−1
g
t
∆g
T
t−1
p
t−1
, β
t
=
g
T
t
g
t
g
T
t−1
g
t−1
, β
t
=
∆g
T
t−1
g
t
g
T
t−1
g
t−1
(5.86)
5.6.1 Algorithme du gradient conjugu´ e
Pour entraˆıner un r´ eseau perceptron multicouche avec la m´ ethode du gradient conjugu´ e, il im-
porte tout d’abord de proc´ eder par groupage. En effet, puisqu’on cherche ` a exploiter l’information
contenue dans la variation du gradient (une forme de d´ eriv´ ee seconde), il est primordial de calculer
celle-ci ` a partir de gradients estim´ es avec un maximum de pr´ ecision. Sinon, on se retrouverait ` a
surtout exploiter du bruit qui entraˆınerait ` a coup sˆ ur la divergence de l’algorithme. Ensuite, il s’agit
de remarquer que l’indice de performance d’un perceptron multicouche n’est pas une fonction qua-
dratique, de sorte qu’on ne doit pas s’attendre ` a converger en m it´ erations comme ce serait le cas
pour une fonction quadratique. Ceci implique qu’il faudra r´ e-initialiser la m´ ethode ` a toutes les m
it´ erations, ` a chaque fois que nous passerons ` a travers m directions
12
conjugu´ ees successives. Pour
ce faire, nous pourrons simplement employer la m´ ethode de descente du gradient. Voici donc les
principales ´ etapes de l’algorithme :
1. t = 0 ;
2. Choisir la prochaine direction conjugu´ ee de recherche :
p
t
=

−g
t
+ β
t
p
t−1
si t mod m = 0
−g
t
si t mod m = 0
(5.87)
12
Il y a aura autant de directions conjugu´ ees qu’il y a de poids dans le r´ eseau.
5.6. M
´
ETHODE DU GRADIENT CONJUGU
´
E 65
x
1
p
0
p
1
x
0
-g
1
FIG. 5.16 – Illustration de la m´ ethode du gradient conjugu´ e.
avec g
t
≡ ∇F(x)|
x=xt
et β
t
est calcul´ e comme ` a l’´ equation 5.86 :
β
t
=
∆g
T
t−1
g
t
∆g
T
t−1
p
t−1
, β
t
=
g
T
t
g
t
g
T
t−1
g
t−1
, β
t
=
∆g
T
t−1
g
t
g
T
t−1
g
t−1
(5.88)
3. Faire un pas comme ` a l’´ equation 5.83, en choisissant α
t
de mani` ere ` a minimiser la fonction
F dans la direction de recherche p
t
:
x
t+1
= x
t
+ α
t
p
t
; (5.89)
4. t = t + 1 ;
5. Si le crit` ere d’arrˆ et n’est pas atteint, alors recommencer ` a l’´ etape 2.
Cet algorithme est illustr´ e ` a la figure 5.16 dans le cas d’une fonction F quadratique ` a deux
variables. Dans ce cas, on converge en deux it´ erations. La direction initiale p
0
est choisie dans le
sens inverse du gradient. En faisant une recherche du minimum dans cette direction, on obtient
un point x
1
sur une autre courbe de niveau. Au lieu de recommencer dans la direction inverse du
gradient, perpendiculaire ` a la courbe de niveau, on choisit plut ˆ ot une direction conjugu´ ee p
1
qui
pointe alors dans la direction du minimum global, puisque F est quadratique et ne poss` ede que
deux param` etres libres.
5.6.2 Recherche du minimum le long d’une droite
Pour compl´ eter la description de la m´ ethode du gradient conjugu´ e, il ne nous reste plus qu’` a
r´ esoudre le probl` eme de la recherche du minimum d’une fonction le long d’une droite. Soit F(x
0
)
la valeur initiale de la fonction ` a minimiser et p la direction dans laquelle on veut faire cette
minimisation. Alors, on commence par calculer :
F
i
= F(x
0
+ 2
i
εp), i = 0, 1, . . . , I (5.90)
jusqu’` a ce qu’on trouve un F
I
> F
I−1
, avec ε repr´ esentant une distance ´ el´ ementaire pour notre
recherche d’un intervalle initial contenant le minimum. Ce dernier doit donc se trouver quelque
66 CHAPITRE 5. PERCEPTRON MULTICOUCHE
x
0
x
1
x
2
x
3
e
F
1
F
2
F
0
x
4
2e
4e
8e
F
3
F
4
FIG. 5.17 –
´
Etape de localisation d’un intervalle initial de recherche.
part entre F
I−2
et F
I
et l’intervalle de recherche est maintenant r´ eduit ` a a
1
= x
0
+2
I−2
εp et b
1
=
x
0
+ 2
I
εp (voir figure 5.17). Pour r´ eduire davantage cet intervalle, on peut appliquer l’algorithme
suivant appel´ e «Golden Section search» :
1. α = 0.618 ;
2. Calculer :
c
1
= a
1
+ (1 −α)(b
1
−a
1
)
d
1
= b
1
−(1 −α)(b
1
−a
1
)
F
c
= F(c
1
)
F
d
= F(d
1
)
3. k = 1 ;
4. Si F
c
< F
d
, alors calculer (voir figure 5.18a) :
a
k+1
= a
k
b
k+1
= d
k
c
k+1
= a
k+1
+ (1 −α)(b
k+1
−a
k+1
)
d
k+1
= c
k
F
d
= F
c
F
c
= F(c
k+1
)
Autrement calculer (voir figure 5.18b) :
a
k+1
= c
k
b
k+1
= b
k
c
k+1
= d
k
d
k+1
= b
k+1
−(1 −α)(b
k+1
−a
k+1
)
F
c
= F
d
F
d
= F(d
k+1
)
5.6. M
´
ETHODE DU GRADIENT CONJUGU
´
E 67
a
b
c d
intervalle
a b c d
intervalle
(a) (b)
FIG. 5.18 –
´
Etape de r´ eduction de l’intervalle de recherche : (a) cas o` u F
c
< F
d
; (b) cas o` u
F
d
< F
c
.
5. k = k + 1 ;
6. Si ||b
k
−a
k
|| > τ, alors recommencer ` a l’´ etape 4.
o` u τ est un param` etre de tol´ erance sp´ ecifiant la pr´ ecision d´ esir´ ee pour la recherche du minimum.
Notez bien que cet algorithme suppose qu’il n’existe qu’un seul minimum dans l’intervalle initial
de recherche.
68
Chapitre 6
Nu´ ees dynamiques
Dans ce chapitre, nous allons ´ etudier trois variantes d’un algorithme nomm´ e «nu´ ees dyna-
miques» et permettant d’effectuer une classification non-supervis´ ee d’un ensemble de Q stimuli
{p
1
, p
2
, . . . , p
Q
}. L’objectif est double : produire une partition en K classes de cet ensemble,
d’une part, et trouver K prototypes W = {
1
w,
2
w, . . . ,
K
w}
T
permettant de repr´ esenter au mieux
les «centres» de ces classes. Bien qu’historiquement cet algorithme n’appartienne pas au domaine
des r´ eseaux de neurones, plusieurs architectures neuronales, dont celles d´ ecrites dans les deux cha-
pitres suivants (Kohonen et GNG), s’en inspirent en effectuant des traitements semblables. Nous
abordons donc cet algorithme en guise d’introduction aux r´ eseaux non supervis´ es, bas´ es sur l’ap-
prentissage comp´ etitif (voir chapitre 4).
On peut visualiser les prototypes
i
w, i = 1, . . . , K, comme les poids de K neurones comp´ etitifs
align´ es sur une seule couche, tel qu’illustr´ e ` a la figure 6.1. Le niveau d’activation d’un neurone
«comp´ etitif» est d´ etermin´ e par la distance entre son vecteur de poids et le stimulus d’entr´ ee,
contrairement au neurone de type «perceptron» o` u l’on mesurait plut ˆ ot une corr´ elation entre ces
deux vecteurs. Ensuite, la fonction d’activation comp´ etitive (compet) retourne un 1 pour le neu-
rone ayant la plus grande sortie (le gagnant), et un 0 pour tous les autres :
a
i
=

1 si n
i
= max
k
(n
k
), k = 1, . . . , K
0 autrement
(6.1)
En cas d’´ egalit´ e pour la premi` ere place, on fait gagner arbitrairement le neurone dont l’indice est
le plus petit.
C’est la norme ||x−y|| qui d´ efinit la distance entre deux vecteurs x et y et donc leur manque de
ressemblance. En calculant la n´ egation de cette norme, on obtiendra une mesure de similarit´ e qui
nous permettra de regrouper les stimuli d’apprentissage en cat´ egories (classes). Habituellement,
on utilisera une norme bas´ ee sur le produit scalaire classique mais pouvant incorporer une matrice
positive d´ efinie Atelle que :
||x −y||
A
=

(x −y)
T
A(x −y), (6.2)
Lorsque A est la matrice identit´ e, on parle alors de distance euclidienne entre x et y. Dans le cas
69
70 CHAPITRE 6. NU
´
EES DYNAMIQUES
C
a
Entrée Couche de K neurones
a = compet(n)
W
p
n
R x 1
K x R
K x 1 K x 1
R K
n
i
= −
||
i
w − p
||
FIG. 6.1 – Couche comp´ etitive de S = K neurones.
o` u Acorrespond ` a l’inverse de la matrice de covariance des stimuli d’entraˆınement, on parle alors
de la distance de Mahalanobis.
6.1 K-means
L’algorithme dit du «k-means» permet de partitionner l’ensemble des stimuli en K classes
{C
1
, C
2
, . . . , C
K
}. Il s’agit ici d’une partition rigide, c’est-` a-dire d’une collection de K sous-
ensembles o` u chaque stimulus d’entr´ ee appartient ` a une et une seule classe de la partition U:
U =






u
1,1
u
1,2
· · · u
1,Q
u
2,1
u
2,2
. . . u
2,Q
.
.
.
.
.
.
.
.
.
.
.
.
u
K,1
u
K,2
· · · u
K,Q






(6.3)
avec u
i,j
∈ {0, 1} d´ esignant l’appartenance du stimulus p
j
` a la classe C
i
:
u
i,j
=

1 si p
j
∈ C
i
0 autrement
. (6.4)
De plus, on impose les deux contraintes suivantes sur cette partition :
K

i=1
u
i,j
= 1, j = 1, . . . , Q, (6.5)
Q

j=1
u
i,j
> 0, i = 1, . . . , K. (6.6)
La premi` ere sp´ ecifie que tout stimulus doit appartenir ` a une et une seule classe de la partition, alors
que la deuxi` eme pr´ ecise qu’une classe doit poss´ eder au moins un stimulus.
6.1. K-MEANS 71
1. Initialiser les centres W(0) en choisissant al´ eatoirement K stimuli parmi les Qdonn´ ees
d’apprentissage ;
2. Calculer la partition initiale U(0) ` a l’aide de l’´ equation :
u
i,j
=

1 si ||p
j

i
w|| = min
k
||p
j

k
w||
0 autrement
, i = 1, . . . , K, j = 1, . . . , Q, (6.8)
en brisant (arbitrairement) les ´ egalit´ es, s’il y a lieu, en choisissant la classe dont l’indice
est minimum;
3. t = 1 ;
4. R´ ep´ eter :
(a) Calculer les nouveaux centres W(t) en calculant les centro¨ıdes des classes :
i
w =
Q

j=1
u
i,j
p
j
Q

j=1
u
i,j
, i = 1, . . . , K. (6.9)
(b) Calculer la nouvelle partition U(t) ` a l’aide de l’´ equation 6.8 ;
(c) t = t + 1 ;
5. Tant que U(t) = U(t −1) et t ≤ t
max
.
FIG. 6.2 – Algorithme du «k-means».
Connaissant les centres W = [
1
w
2
w· · ·
K
w]
T
des classes, l’indice de performance F(U, W)
que l’on d´ esire minimiser peut s’exprimer de la fac¸on suivante :
F(U, W) =
Q

j=1
K

i=1
(u
i,j
) ||p
j

i
w||
2
(6.7)
o` u l’on cherche ` a trouver la partition qui minimise la distance entre les centres des classes et les
stimuli. L’algorithme it´ eratif permettant d’optimiser cette fonction objectif est r´ esum´ e ` a la figure
6.2. Il se poursuit tant que la mise ` a jour des centres engendre une modification de la partition, ou
jusqu’` a l’atteinte d’un nombre maximum d’it´ erations t
max
.
Un probl` eme avec cet algorithme est que l’on force une partition rigide des stimuli d’en-
traˆınement ce qui, en pr´ esence de bruit, peut provoquer une certaine instabilit´ e. Consid´ erons par
exemple les stimuli d’entraˆınement repr´ esent´ es ` a la figure 6.3a. Dans ce cas, nous avons deux
classes bien s´ epar´ ees pour lesquelles l’algorithme du k-means, avec K = 2, convergera assur´ ement
vers la partition indiqu´ ee par les points noirs et les points blancs. Mais si l’on ajoute un stimulus
´ eloign´ e des autres, par exemple une erreur de mesure, alors la partition engendr´ ee par les k-means
peut devenir instable comme ` a la figure 6.3b, ´ etant donn´ e que tous les stimuli ont la mˆ eme impor-
tance dans la partition rigide. Pour limiter ce ph´ enom` ene, une solution consiste ` a faire appel aux
72 CHAPITRE 6. NU
´
EES DYNAMIQUES
(a) (b)
FIG. 6.3 – Example d’une partition rigide en deux classes : (a) cas sans bruit ; (b) cas avec bruit.
notions d’ensemble flou et de partition floue.
6.2 Fuzzy K-means
L’algorithme dit du «fuzzy k-means»
1
(le k-means flou) est semblable au k-means, sauf que
la partition engendr´ ee par les centres est floue, c’est-` a-dire que le degr´ e d’appartenance u
i,j
du
stimulus p
j
` a la classe C
i
varie dans l’intervalle [0, 1] au lieu d’ˆ etre ´ el´ ement de {0, 1}, comme
pr´ ec´ edemment. L’indice de performance que l’on d´ esire minimiser s’exprime maintenant par l’ex-
pression :
F
m
(U, W) =
Q

j=1
K

i=1
(u
i,j
)
m
||p
j

i
w||
2
, (6.10)
o` u m > 1 est un exposant qui fixe le niveau de flou de l’algorithme dont les ´ etapes sont r´ esum´ ees
` a la figure 6.4. L’algorithme se poursuit ainsi tant que la mise ` a jour des centres engendre une
modification non n´ egligeable de la partition floue, ou jusqu’` a un nombre maximum d’it´ erations
t
max
. G´ en´ eralement, on juge de la convergence en fixant un seuil ε sur l’´ el´ ement de la matrice Uqui
a chang´ e le plus. Si ce changement est inf´ erieur au seuil fix´ e, on consid` ere alors que l’algorithme
a converg´ e.
Le param` etre m de l’algorithme d´ etermine le niveau de partage des degr´ es d’appartenance
de la matrice U. On fixe g´ en´ eralement m = 2. Plus m augmente, plus on se trouve ` a partager
les degr´ es d’appartenance entre les diff´ erentes classes. Il importe de se rappeler que l’algorithme
du fuzzy k-means, tout comme celui du k-means, impose la contrainte de l’´ equation 6.5, ` a savoir
que l’appartenance global d’un stimulus ` a l’ensemble des classes est toujours ´ egal ` a 1. Lorsque m
s’approche de 1, on tend alors vers le k-means puisque la partition floue devient de plus en plus
1
J.C. Dunn, «A Fuzzy Relative of the ISODATA Process and its Use in Detecting Compact Well-Separated Clus-
ters», J. Cybernetics, vol. 3, no. 3, p. 32-57, 1973.
6.2. FUZZY K-MEANS 73
1. Initialiser les centres W(0) en choisissant al´ eatoirement K stimuli parmi les Qdonn´ ees
d’apprentissage ;
2. Fixer les param` etres m et ε ;
3. Calculer la partition initiale U(0) ` a l’aide de l’´ equation :
u
i,j
=
1
K

k=1

||p
j

i
w||
||p
j

k
w||
2
m−1
, i = 1, . . . , K, j = 1, . . . , Q; (6.11)
4. t = 1 ;
5. R´ ep´ eter :
(a) Calculer les nouveaux centres W(t) ` a l’aide de l’´ equation :
i
w =
Q

j=1
(u
i,j
)
m
p
j
Q

j=1
(u
i,j
)
m
, i = 1, . . . , K. (6.12)
(b) Calculer la nouvelle partition floue U(t) en utilisant l’´ equation 6.11 ;
(c) t = t + 1 ;
6. Tant que max
i,j
|u
i,j
(t) −u
i,j
(t −1)| > ε et t ≤ t
max
;
FIG. 6.4 – Algorithme du «fuzzy k-means».
rigide. Ceci devient un peu plus explicite en r´ e´ ecrivant l’´ equation 6.11 de la mani` ere suivante :
u
i,j
(t) =

1
||p
j

i
w||
2
m−1
K

k=1

1
||p
j

k
w||
2
m−1
(6.13)
Lorsque m → 1, l’exposant
2
m−1
tend vers l’infini et, par cons´ equent, le terme de la somme du
d´ enominateur qui correspond au centre le plus proche du stimulus p
j
devient infiniment dominant,
de sorte que le degr´ e d’appartenance ` a la classe correspondante tendra vers 1 (et les autres vers 0).
L’algorithme du fuzzy k-means g´ en´ eralise donc celui du k-means en ´ etant beaucoup moins
sensible au bruit dans les stimuli grˆ ace au partage de l’appartenance entre les diff´ erentes classes.
Ceci permet dans bien des situations d’´ eviter de rester pris dans des minimums locaux de la fonc-
tion objectif F
m
. L’algorithme est donc ´ egalement beaucoup moins sensible ` a une mauvaise ini-
tialisation des centres. Cependant, il demeure un probl` eme important, illustr´ e ` a la figure 6.5. On
voit sur cette figure deux nuages de points bien s´ epar´ es ainsi que deux points A et B qui semblent
74 CHAPITRE 6. NU
´
EES DYNAMIQUES
A
B
FIG. 6.5 – Exemple d’une partition floue ` a deux classes.
correspondre ` a du bruit. Typiquement, l’algorithme du fuzzy k-means affectera ces deux points
` a l’une ou l’autre des deux classes, en fonction de l’emplacement exact de ces points ainsi qu’en
fonction de la position initiale des centres. Le probl` eme est que peu importe cette affectation finale,
les degr´ es d’appartenance de Aet B aux deux classes en question seront tous les deux 0.5 puisqu’il
sont approximativement ` a ´ egale distance des centres. Ceci r´ esulte de la contrainte de l’´ equation 6.5
qui impose un partage de l’appartenance avec une somme des degr´ es ´ egale ` a 1. Autrement dit, un
stimulus situ´ e ` a ´ egale distance de deux centres obtiendra toujours des degr´ es ´ egaux d’appartenance
aux classes correspondantes, peu importe la distance mesur´ ee. Dans le cas de la figure 6.5, le point
A obtient un degr´ e d’appartenance de 0.5, tout comme le point B, mˆ eme si le point B semble a
priori beaucoup plus plausible que le point A, ´ etant situ´ e beaucoup plus pr` es des deux centres. Ceci
a comme cons´ equence d’accorder la mˆ eme importance au point A qu’au point B. Dans le cas de
donn´ ees bruit´ ees, cela peut empˆ echer les centres de converger vers des r´ egions denses de l’espace
d’entr´ ee.
6.3 Possibilistic K-means
L’algorithme dit du «Possibilistic k-means»
2
cherche ` a pallier aux limitations du fuzzy k-
means en levant la contrainte de l’´ equation 6.5 et en modifiant la fonction objectif de mani` ere ` a
ne pas converger vers une solution triviale o` u tous les degr´ es d’appartenance seraient nuls. Les
´ el´ ements u
i,j
de la partition floue Udoivent alors respecter les trois contraintes suivantes :
u
i,j
∈ [0, 1], i = 1, . . . , K, j = 1, . . . , Q, (6.14)
Q

j=1
u
i,j
> 0, i = 1, . . . , K, (6.15)
2
R. Krishnapuram, J.M. Keller, «A Possibilistic Approach to Clustering», IEEE Transactions on Fuzzy Systems,
vol. 1, no. 2, p. 98-110, mai 1993.
6.3. POSSIBILISTIC K-MEANS 75
K

i
u
i,j
> 0, j = 1, . . . , Q, (6.16)
o` u les deux premi` eres contraintes sp´ ecifient respectivement que les degr´ es d’appartenance des sti-
muli aux classes sont compris entre 0 et 1, et que toute classe doit poss´ eder au moins un stimulus
avec un degr´ e d’appartenance non nul. Ces deux contraintes sont identiques ` a celles de l’algo-
rithme du fuzzy k-means. La troisi` eme contrainte, celle de l’´ equation 6.16, se distingue cependant
` a la fois du k-means et du fuzzy k-means qui impose ` a chaque stimulus d’avoir une somme des
degr´ es d’appartenance ´ egale ` a 1 (´ equation 6.5). Le possibilistic k-means impose plut ˆ ot que chaque
stimulus appartienne ` a au moins une classe avec un degr´ e d’appartenance non nul. Ceci implique
que la somme des degr´ es d’appartenance d’un stimulus ` a l’ensemble des classes peut maintenant
ˆ etre soit plus petite, soit plus grande que 1, d’une part, et qu’un stimulus puisse appartenir ` a une
seule classe avec un degr´ e d’appartenance inf´ erieur ` a 1, d’autre part. Dans ce dernier cas, un stimu-
lus bruit´ e tr` es ´ eloign´ e de tous les centres pourra n’appartenir qu’` a une seule classe, avec un degr´ e
d’appartenance arbitrairement petit.
Pour r´ ealiser ces contraintes, cependant, on ne peut pas optimiser la mˆ eme fonction objec-
tif que pour le fuzzy k-means (´ equation 6.10), car on tendrait syst´ ematiquement vers des degr´ ees
d’appartenance arbitrairement petits. Il s’agit alors d’ajouter un deuxi` eme terme ` a cette fonction
objectif pour stimuler l’´ emergence de u
i,j
les plus grands possibles. On utilise l’expression sui-
vante :
F
m
(U, W) =
Q

j=1
K

i=1
(u
i,j
)
m
||p
j

i
w||
2
+
K

i=1
η
i
Q

j=1
(1 −u
i,j
)
m
, (6.17)
o` u les η
i
sont des valeurs positives ad´ equates repr´ esentant l’´ etendue du nuage associ´ e ` a la classe C
i
.
Le premier terme de cette ´ equation cherche ` a minimiser les distances entre les stimuli et les centres
des classes, alors que le deuxi` eme force les u
i,j
` a ˆ etre maximum en ´ evitant donc la solution tri-
viale. Les ´ el´ ements cl´ es dans cette fonction objectif sont les η
i
qui viennent pond´ erer l’importance
relative de ces deux crit` eres.
Pour optimiser cette fonction objectif, il importe de remarquer que les contraintes impos´ ees
par le possibilistic k-means (´ equations 6.14 ` a 6.16) rendent les lignes et les colonnes de la matrice
Uind´ ependantes. En effet, les u
i,j
sont maintenant libres de changer ind´ ependamment les uns des
autres car la contrainte de l’´ equation 6.6 a ´ et´ e lev´ ee. Ceci nous permet donc de minimiser F
m
par
rapport ` a Uen minimisant individuellement chaque u
i,j
. On obtient alors les termes F
i,j
m
de F
m
:
F
i,j
m
(u
i,j
,
i
w) = (u
i,j
)
m
||p
j

i
w||
2

i
(1 −u
i,j
)
m
. (6.18)
que l’on peut d´ eriver par rapport ` a u
i,j
et, en affectant le r´ esultat ` a 0, on obtient le r´ esultat suivant :
u
i,j
=
1
1 +

||p
j

i
w||
2
η
i
1
m−1
. (6.19)
qui nous pr´ ecise la fac¸on dont il faudra estimer la partition floue ` a chaque it´ eration de l’algorithme,
´ etant donn´ e les stimuli d’apprentissage et les positions des centres. L’´ equation 6.19 sp´ ecifie que le
degr´ e d’appartenance ` a une classe ne d´ epend que de la distance entre le stimulus et le centre de la
76 CHAPITRE 6. NU
´
EES DYNAMIQUES
classe. C’est exactement le r´ esultat que nous cherchions. Il ne reste plus qu’` a d´ eterminer la fac¸on
de calculer les η
i
qui viennent pond´ erer cette distance.
Le param` etre mdans l’´ equation 6.19 repr´ esente le niveau de flou de l’algorithme, comme pour
le fuzzy k-means, mais son interpr´ etation est diff´ erente. Lorsque m → 1, l’exposant
1
m−1
tend vers
l’infini et les degr´ es d’appartenance deviennent binaires : 1 si la distance du stimulus au centre est
inf´ erieur ` a η
i
, 0 autrement. Au contraire, lorsque m → ∞, l’exposant
1
m−1
→ 0 et tous les degr´ es
d’appartenance deviennent ´ egaux ` a 0.5 peu importe la distance entre les stimuli et les centres ; on
obtient alors le flou maximum puisque tous les stimuli appartiennent ` a toutes les classes avec 50%
de possibilit´ e. Pour le fuzzy k-means on conseille habituellement m = 2 qui donne des r´ esultats
satisfaisants dans la plupart des situations. Pour le possibilistic k-means, cette valeur est parfois
trop ´ elev´ ee, on conseille plut ˆ ot 1.5 ≤ m < 2.
La valeur de η
i
d´ etermine la distance ` a partir de laquelle le degr´ e d’appartenance d’un stimulus
` a la classe devient 50%. C’est en quelque sorte la zone d’influence de la classe C
i
, ` a l’int´ erieur de
laquelle la possibilit´ e d’appartenance est sup´ erieure ` a 50%. De fac¸on g´ en´ erale, il importe donc
que sa valeur soit corr´ el´ ee avec l’´ etendu du nuage des stimuli associ´ es ` a la classe. En pratique, la
d´ efinition suivante fonctionne bien :
η
i
=
Q

j=1
(u
i,j
)
m
||p
j

i
w||
2
Q

j=1
(u
i,j
)
m
. (6.20)
Cette expression rend η
i
proportionnel ` a la moyenne pond´ er´ ee des distances intra-classe. Une autre
fac¸on de proc´ eder est de consid´ erer seulement dans l’´ equation ci-dessus les u
i,j
≥ α, on parle
alors d’une coupe α de la partition. Dans ce cas, η
i
repr´ esente la moyenne pond´ er´ ee des distances
intra-classe pour les «bons» stimuli, c’est-` a-dire ceux dont le degr´ e d’appartenance ` a la classe est
sup´ erieur ` a α.
Les valeurs de η
i
peuvent ˆ etre fix´ ees a priori, ou encore ˆ etre ajust´ ees ` a chaque it´ eration de
l’algorithme. Dans ce dernier cas, cependant, il importe de prendre des pr´ ecautions pour ´ eviter les
instabilit´ es pouvant r´ esulter de tels changements en continu. En pratique, l’algorithme du possi-
bilistic k-means est assez robuste ` a de larges variations de η
i
, ` a condition d’avoir bien initialiser
les centres. Ainsi, on peut calculer les η
i
` a partir de la partition floue initiale, puis les r´ e-estimer
lorsque l’algorithme a converg´ e une premi` ere fois. Ensuite, on peut recommencer la proc´ edure si
l’on d´ esire obtenir une meilleure estimation de la partition floue. Cette deuxi` eme ´ etape converge
g´ en´ eralement en quelques it´ erations seulement puisque les centres sont d´ ej` a correctement posi-
tionn´ es. Dans le cas de stimuli bruit´ es, elle permet de d´ eterminer les degr´ es d’appartenance aux
classes avec presque la mˆ eme pr´ ecision que dans le cas d’un environnement non bruit´ e. Des valeurs
de α entre 0.1 et 0.4 produisent g´ en´ eralement des r´ esultats satisfaisants.
L’algorithme du possibilistic k-means est r´ esum´ e ` a la figure 6.6. Il comporte deux parties dont
la deuxi` eme est optionnelle. Dans les deux cas, nous adoptons le mˆ eme crit` ere d’arrˆ et que pour le
fuzzy k-means. Pour le choix des centres initiaux, on ne peut pas proc´ eder comme pr´ ec´ edemment
en choisissant al´ eatoirement des stimuli ` a l’int´ erieur de la base d’apprentissage car les centres
de l’algorithme du possibilistic k-means ne sont pas aussi mobiles que ceux des deux algorithmes
6.3. POSSIBILISTIC K-MEANS 77
1. Initialiser les centres W(0) ainsi que la partition floue U(0) en utilisant l’algorithme
du fuzzy k-means ;
2. Estimer les η
i
en utilisant l’´ equation 6.20 avec une coupe α = 0 ;
3. Fixer les valeurs de m et ε ;
4. t = 1 ;
5. R´ ep´ eter :
(a) Calculer les nouveaux centres W(t) en utilisant l’´ equation 6.12 ;
(b) Calculer la nouvelle partition floue U(t) en utilisant l’´ equation 6.19 ;
(c) t = t + 1 ;
6. Tant que max
i,j
|u
i,j
(t) −u
i,j
(t −1)| > ε et t ≤ t
max
;
7. R´ e-estimer les η
i
en utilisant l’´ equation 6.20 avec une coupe 0.1 ≤ α ≤ 0.4 ;
8. t = 1 ;
9. R´ ep´ eter :
(a) Calculer les nouveaux centres W(t) en utilisant l’´ equation 6.12 ;
(b) Calculer la nouvelle partition floue U(t) en utilisant l’´ equation 6.19 ;
(c) t = t + 1 ;
10. Tant que max
i,j
|u
i,j
(t) −u
i,j
(t −1)| > ε et t ≤ t
max
;
FIG. 6.6 – Algorithme du «possibilistic k-means».
pr´ ec´ edents. En effet, ` a cause du param` etre η
i
qui restreint le rayon d’action des centres, un mauvais
choix de leur position initiale peut limiter grandement la performance de l’algorithme, et mˆ eme
empˆ echer sa convergence. Pour cette raison, on commence habituellement avec un fuzzy k-means
qui, lui, est beaucoup plus robuste ` a une mauvaise initialisation des centres.
Mentionnons finalement qu’en changeant la norme utilis´ ee pour calculer la distance entre
un stimulus et un centre, on peut construire diff´ erentes variantes du possibilistic k-means. Par
exemple, en calculant la matrice de covariance floue des stimulus :
F
i
=
Q

j=1
(u
i,j
)
m
(p
j

i
w)(p
j

i
w)
T
Q

j=1
(u
i,j
)
m
, (6.21)
et en l’utilisant pour calculer la norme suivante :
||p
j

i
w||
2
=
R

|F
i
| (p
j

i
w)
T
F
−1
i
(p
j

i
w), (6.22)
on obtient l’algorithme dit du «possibilistic Gustafson-Kessel».
78
Chapitre 7
R´ eseau de Kohonen
Dans ce chapitre, nous allons ´ etudier un r´ eseau de neurones dit r´ eseau de Kohonen
1
, ou en-
core carte auto-organis´ ee de Kohonen. Il s’agit d’un r´ eseau non supervis´ e avec un apprentissage
comp´ etitif o` u l’on apprend non seulement ` a mod´ eliser l’espace des entr´ ees avec des prototypes,
comme avec les nu´ ees dynamiques (chapitre 6), mais ´ egalement ` a construire une carte ` a une ou
deux dimensions permettant de structurer cet espace.
Un r´ eseau de Kohonen est illustr´ e ` a la figure 7.1. Les neurones de ce r´ eseau correspondent
aux prototypes (figure 7.1a). Ils sont constitu´ es d’un vecteur de poids dans l’espace des entr´ ees
(d’une fac¸on semblable aux centres des nu´ ees dynamiques). La carte des neurones (figure 7.1b)
d´ efinit quant ` a elle des relations de voisinage entre les neurones. Par exemple, la figure 7.2 montre
la forme «carr´ ee» de voisinage qui est la plus souvent utilis´ ee (les neurones y sont repr´ esent´ es par
des cercles vides). On voit sur cette figure que les neurones adjacents sont li´ es entre eux par des
arˆ etes (on pourrait aussi avoir des arˆ etes diagonales). Ce sont les voisins imm´ ediats sp´ ecifi´ es par
le voisinage Λ
i
= k du neurone i, c’est-` a-dire l’ensemble des neurones li´ es au neurone i par des
chemins dans le graphe de la carte contenant au plus k arˆ etes.
L’algorithme d’apprentissage du r´ eseau de Kohonen est de type comp´ etitif (section 4.3). La
mise ` a jour des poids ∆
i
w du neurone i au temps t s’exprime de la fac¸on suivante :

i
w(t) =

η(t)[p(t) −
i
w(t)] si i ∈ Λ
g
(t)
0 autrement
(7.1)
o` u p(t) d´ esigne le stimulus d’apprentissage au temps t et Λ
g
(t) repr´ esente le voisinage au temps t
du neurone gagnant g. Ce dernier est d´ etermin´ e simplement en retenant l’indice du neurone pour
lequel la distance avec le stimulus p est minimum :
g(p) = arg min
i
||p −
i
w||, i = 1, 2, . . . , S (7.2)
o` u S correspond au nombre de neurones du r´ eseau.
1
Teuvo Kohonen, «The Self-Organizing Map», Proceedings of the IEEE, p. 1464-1480, 1990 (la version originale
de cet article remonte ` a 1982).
79
80 CHAPITRE 7. R
´
ESEAU DE KOHONEN
C
a
Entrée Couche de S neurones
a = compet(n)
W
p
n
R x 1
S x R
S x 1 S x 1
R S
n
i
= −
||
i
w − p
||
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
Carte auto-organisée
(a) (b)
FIG. 7.1 – R´ eseau de Kohonen avec carte rectangulaire de S = 6 ×7 = 42 neurones.
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
(a) (b) (c)
FIG. 7.2 – Topologie de voisinage (quatre voisins) pour une carte ` a deux dimensions : (a) Λ
18
= 2 ;
(b) Λ
18
= 1 ; et (c) Λ
18
= 0.
`
A l’´ equation 7.1, il importe de remarquer que le taux d’apprentissage η et le voisinage du
neurone gagnant Λ
g
d´ ependent tous deux du temps. L’id´ ee ´ etant d’employer au d´ epart un grand
taux d’apprentissage ainsi qu’un grand voisinage, et de r´ eduire ceux-ci au fur et ` a mesure que le
temps (donc l’apprentissage) progresse. On utilise souvent une d´ ecroissance lin´ eaire pour le taux
d’apprentissage :
η(t) =

η
0

η
0
−ητ
τ

t si t < τ
η
τ
autrement
(7.3)
o` u η
0
est le taux d’apprentissage initial, η
τ
est le taux d’apprentissage final, et o` u τ d´ elimite la
fronti` ere entre deux phases d’apprentissage. De mˆ eme, pour le voisinage, on peut aussi utiliser une
d´ ecroissance lin´ eaire :
Λ(t) =

Λ
0

1 −
t
τ

si t < τ
0 autrement
(7.4)
Ces fonctions lin´ eaires d´ ecroissantes sont illustr´ ees ` a la figure 7.3. Le param` etre τ marque la fin
d’une p´ eriode d’organisation et le d´ ebut d’une p´ eriode de convergence. La phase d’organisation,
grˆ ace ` a un taux d’apprentissage ´ elev´ e ainsi qu’un voisinage ´ etendu, permet de d´ eployer la carte de
7.1. ALGORITHME DE KOHONEN 81
t
η
τ
η
0
η
τ
t
Λ
τ
Λ
0
(a) (b)
FIG. 7.3 – Exemple de d´ ecroissance (a) du taux d’apprentissage et (b) de la fenˆ etre de voisinage
en fonction du temps.
neurones l` a o` u les donn´ ees sont concentr´ ees. Elle permet aussi, grˆ ace ` a une d´ ecroissance progres-
sive du taux d’apprentissage et du voisinage, de d´ eplier la carte de mani` ere ` a ce que sa topologie
corresponde au mieux ` a la topologie des stimuli. Ainsi, les stimuli adjacents dans l’espace des
entr´ ees seront associ´ es ` a des neurones adjacents dans la carte du r´ eseau. La phase de convergence,
grˆ ace ` a un taux d’apprentissage faible et un voisinage nul, permet quant ` a elle de raffiner la position
des neurones de mani` ere ` a les centrer sur des nuages denses de stimuli.
7.1 Algorithme de Kohonen
L’algorithme de base de Kohonen est r´ esum´ e ` a la figure 7.4. Il consiste ` a ´ echantillonner les
stimuli d’apprentissage jusqu’` a l’atteinte d’un certain crit` ere d’arrˆ et. Celui-ci est le plus souvent
sp´ ecifi´ e par un nombre maximum d’it´ eration t
max
mais peut aussi tenir compte de la stabilit´ e
des poids. Par exemple, lorsque max
i
||∆
i
w|| < ε durant plusieurs it´ erations, on peut d´ ecider
arbitrairement de stopper l’apprentissage puisque le r´ eseau mod´ elise suffisamment bien l’espace
des entr´ ees.
`
A chaque it´ eration, on d´ etermine le neurone gagnant (le plus proche) et on d´ eplace
celui-ci, ainsi que son voisinage actuel, dans la direction du stimulus courant en utilisant le taux
d’apprentissage courant.
Une variante que l’on peut aussi rencontrer consiste ` a remplacer l’´ equation 7.1 par l’expression
suivante :

i
w(t) = π
i,g
(t)η(t)[p(t) −
i
w(t)] (7.5)
o` u :
π
i,g
(t) = exp


d
2
i,g

2
(t)

(7.6)
vient remplacer le voisinage Λ
g
par une fonction π
i,g
qui d´ epend de la distance topologique d
i,g
(en
nombre d’arˆ etes dans la carte) entre le neurone i et le neurone gagnant g. La fonction π
i,g
a une
forme gaussienne telle qu’illustr´ ee ` a la figure 7.5. Elle se trouve ` a r´ eduire le taux d’apprentissage
82 CHAPITRE 7. R
´
ESEAU DE KOHONEN
1. Initialiser les poids
i
w(0) avec de petites valeurs al´ eatoires ;
2. Fixer η
0
, η
τ
, τ et Λ
0
;
3. t = 1 ;
4. R´ ep´ eter tant que t ≤ t
max
:
(a) Choisir al´ eatoirement un stimulus p(t) parmi l’ensemble d’apprentissage ;
(b) D´ eterminer le neurone gagnant g(p) ` a l’aide de l’´ equation 7.2 :
g(p) = arg min
i
||p(t) −
i
w(t)||, i = 1, 2, . . . , S
(c) Mettre ` a jour les poids ` a l’aide de l’´ equation 7.1 :

i
w(t) =

η(t)[p(t) −
i
w(t)] si i ∈ Λ
g
(t)
0 autrement
o` u η(t) correspond au taux d’apprentissage et Λ
g
(t) ` a un voisinage autour du neu-
rone gagnant g ; η(t) et Λ
g
(t) sont toutes deux des fonctions d´ ecroissantes dans le
temps.
(d) t = t + 1 ;
FIG. 7.4 – Algorithme de Kohonen.
effectif du neurone i par rapport ` a son ´ eloignement topologique du neurone gagnant. Tout comme
pour le voisinage Λ
g
, il importe que le rayon d’action de π
i,g
d´ ecroisse dans le temps de mani` ere ` a
ce que vers la fin de l’apprentissage, seul le neurone gagnant subisse une mise ` a jour significative
de son vecteur
g
w. Pour ce faire, par exemple, on peut faire d´ ecroˆıtre exponentiellement la variance
σ de la gaussienne en fonction du temps :
σ(t) = σ
0
exp


t
τ

(7.7)
o` u σ
0
d´ efinit la variance au temps initial. Pour l’interpr´ etation de π
i,g
, il importe de se rappeler que
la distance topologique est discr` ete : d
i,g
∈ IN. Par exemple, pour σ
0
= d
i,g
= 5 et τ = 1000 on
obtient σ(1) = 4.995 et π
i,g
(1) = exp(−25/49.9) = 0.606, π
i,g
(500) = 0.257 et π
i,g
(1000) =
0.025. Pour σ
0
= 3, d
i,g
= 5 et τ = 1000, on obtiendra π
i,g
(1) = 0.249, π
i,g
(500) = 0.023 et
π
i,g
(1000) = 3.5 ×10
−5
7.2 Propri´ et´ es
Cette section r´ esume les principales propri´ et´ es statistiques de l’algorithme de Kohonen par
rapport ` a son espace continu d’entr´ ee X, pour lequel la topologie est d´ efinie par une m´ etrique de
distance, et son espace discret de sortie Y dont la topologie est sp´ ecifi´ ee par le treillis de la carte
7.2. PROPRI
´
ET
´
ES 83
d
i,g
π
i,g

FIG. 7.5 – Fonction de voisinage gaussienne.
de neurones. Le r´ eseau r´ ealise donc une transformation non-lin´ eaire Φ :
Φ : X → Y (7.8)
Cette transformation peut ˆ etre vue comme une abstraction de l’´ equation 7.2 qui d´ etermine l’identit´ e
du neurone gagnant en pr´ esence d’une stimulus p ∈ X.
Propri´ et´ e 1. Approximation de l’espace d’entr´ ee
La carte auto-organis´ ee de Kohonen, repr´ esent´ ee par un ensemble de vecteurs poids synaptiques
{
i
w|i = 1, 2, . . . , S}, construit dans l’espace de sortie Y, une approximation de l’espace d’entr´ ee
X, tel qu’illustr´ e ` a la figure 7.6.
Propri´ et´ e 2. Ordre topologique
La carte Φ obtenue par l’algorithme de Kohonen est ordonn´ ee topologiquement dans le sens o` u
l’emplacement des neurones dans l’espace des sorties (le treillis) correspond ` a une r´ egion par-
ticuli` ere de l’espace des entr´ ees. Deux r´ egions adjacentes dans l’espace des entr´ ees seront aussi
adjacentes dans l’espace des sorties. Ceci est une cons´ equence directe de l’´ equation 7.1 qui force
le vecteurs des poids synaptiques
g
w du neurone gagnant, ainsi qu’un certain nombre de poids
voisins
i
w ∈ Λ
g
de ce neurone gagnant, ` a bouger dans la direction des stimuli p.
Propri´ et´ e 3. Appariement des fonctions de densit´ e
La carte Φ refl` ete les variations statistiques des distributions de points dans l’espace des entr´ ees :
les r´ egions de X contenant beaucoup de stimuli seront appari´ ees avec davantage de neurones que
les r´ egions ´ eparses. Ainsi, elles seront mieux mod´ elis´ ees.
84 CHAPITRE 7. R
´
ESEAU DE KOHONEN
p
g(p)
g
w
Espace d'entrée
continu
Espace de sortie
discret
ϕ
FIG. 7.6 – Illustration de la relation entre la carte auto-organis´ ee Φ et le vecteur
g
w du neurone
gagnant pour le stimulus p.
7.3 Exemples
Cette section pr´ esente trois exemples tir´ es de l’article de Kohonen. Le premier, illustr´ e ` a la fi-
gure 7.7, pr´ esente le cas d’une carte ` a une dimension, c’est-` a-dire une carte constitu´ ee d’une chaˆıne
unidimensionnelle de neurones. Les stimuli d’apprentissage pour cet exemple sont ´ echantillonn´ es
uniform´ ement ` a l’int´ erieur d’un triangle. La premi` ere image de la figure (t = 0) montre l’initia-
lisation al´ eatoire du r´ eseau o` u la chaˆıne de neurones est totalement repli´ ee sur elle-mˆ eme. D` es
les premi` eres it´ erations de l’algorithme (t = 20), on commence ` a voir apparaˆıtre la chaˆıne qui se
d´ eplie graduellement au fil des it´ erations en prenant de l’expansion ` a l’int´ erieur du triangle o` u sont
situ´ ees les stimuli. Apr` es 25 000 it´ erations, on constate que la chaˆıne s’est compl` etement d´ eploy´ ee
pour occuper tout l’espace disponible.
La figure 7.8 pr´ esente un exemple avec cette fois-ci une carte ` a deux dimensions. Les stimuli
d’apprentissage pour cet exemple sont ´ echantillonn´ es uniform´ ement ` a l’int´ erieur d’un carr´ e. De
nouveau, d` es les premi` eres it´ erations, la carte initialis´ ee avec de petits vecteurs de poids al´ eatoires
se d´ eploie en se d´ epliant et, apr` es quelques dizaines de milliers d’it´ erations, finit par occuper tout
l’espace disponible.
Le dernier exemple pr´ esente un cas plus compliqu´ e o` u les stimuli sont tridimensionnels, d’une
part, et n’ont pas une topologie rectangulaire, d’autre part. Ils sont ´ echantillonn´ es dans un volume
synth´ etique dont la forme ´ evoque vaguement celle d’un cactus illustr´ e ` a la figure 7.9(a). Le r´ esultat
final de l’apprentissage, donn´ e ` a la figure 7.9(b), illustre le principal d´ efaut de l’approche de Koho-
nen. Bien que la carte obtenue approxime raisonnablement bien le volume des stimuli, on observe
7.3. EXEMPLES 85
FIG. 7.7 – Exemple d’une carte auto-organis´ ee ` a une dimension. Les stimuli d’apprentissage sont
distribu´ ees uniform´ ement ` a l’int´ erieur d’un triangle.
FIG. 7.8 – Exemple d’une carte auto-organis´ ee ` a deux dimensions. Les stimuli d’apprentissage
sont distribu´ ees uniform´ ement ` a l’int´ erieur d’un carr´ e.
86 CHAPITRE 7. R
´
ESEAU DE KOHONEN
(a) (b)
FIG. 7.9 – Exemple d’une carte auto-organis´ ee ` a deux dimensions (droite). Les stimuli d’appren-
tissage sont distribu´ ees uniform´ ement ` a l’int´ erieur d’un volume tridimensionnel en forme de cactus
(gauche).
7.4. R
´
ESEAU LVQ 87
C
a
1
Entrée Couche compétitive
a
1
= compet(n)
W
1
p
n
1
R x 1
S
1
x R
S
1
x 1 S
1
x 1
R S
1
n
i
= −
||
i
w − p
||
a
2
W
2
n
2
S
2
x S
1
S
2
x 1 S
2
x 1
S
2
Couche linéaire
a
2
= W
2
a
1
FIG. 7.10 – R´ eseau LVQ
aussi que sa topologie plus ou moins compatible avec celle des donn´ ees engendre certaines aber-
rations comme, par exemple, les neurones qui se sont positionn´ es dans l’espace des entr´ ees, entre
les branches du cactus, ` a des endroits o` u il n’existe aucun stimulus d’apprentissage. La topologie
fix´ ee ` a priori des cartes de Kohonen constitue donc un handicap que nous tenterons de lever avec
l’architecture pr´ esent´ ee au chapitre suivant : le r´ eseau GNG.
7.4 R´ eseau LVQ
En utilisant les principes de l’apprentissage comp´ etitif on peut aussi construire un r´ eseau
supervis´ ee nomm´ ee LVQ
2
. Ce r´ eseau hybride est illustr´ e ` a la figure 7.10. Sa premi` ere couche
comp´ etitive permet de mod´ eliser l’espace des entr´ ees, alors que la seconde lin´ eaire permet de
prendre des d´ ecisions. Chaque neurone de la premi` ere couche est associ´ e a priori ` a une classe,
avec g´ en´ eralement plusieurs neurones par classe (S
1
>> S
2
). Ceci permet de r´ eunir des fronti` eres
de d´ ecision convexes dans l’espace des entr´ ees. Tout comme pour le Kohonen ou les nu´ ees dy-
namiques, les neurones comp´ etitifs de la premi` ere couche apprennent ` a positionner un vecteur
prototype dans l’espace des entr´ ees et celui-ci permet de classifier une r´ egion de ce dernier, r´ egion
que l’on peut interpr´ eter comme une sous-classe de la classe ` a laquelle chaque neurone est associ´ e.
C’est la deuxi` eme couche de neurones qui prend les d´ ecisions grˆ ace aux poids w
2
i,j
de la
matrice W
2
:
w
2
i,j
=

1 si le neurone j est associ´ e au neurone i (classe i)
0 autrement
(7.9)
La matrice W
2
est donc fix´ ee une fois pour toute avant mˆ eme de commencer l’apprentissage.
Les neurones de la premi` ere couche sont g´ en´ eralement r´ epartis uniform´ ement entre les classes, ` a
2
En anglais : «Linear Vector Quantization».
88 CHAPITRE 7. R
´
ESEAU DE KOHONEN
moins que l’on dispose d’informations sur leur probabilit´ e a priori, auquel cas on pourra affecter
plus de neurones ` a certaines classes et moins ` a d’autres. L’apprentissage du r´ eseau LVQ consiste
simplement ` a positionner au mieux les prototypes en employant la r` egle de Kohonen. Lorsqu’un
stimulus est correctement class´ e par le r´ eseau, alors le vecteur de poids
g
w du neurone gagnant
est rapproch´ e de ce stimulus avec un taux d’apprentissage η. Autrement, c’est que le mauvais
neurone a gagn´ e et il s’agit simplement d’´ eloign´ e son vecteur de poids du stimulus, au lieu de
le rapprocher, avec le mˆ eme taux d’apprentissage, dans l’espoir qu’un autre neurone associ´ e ` a la
bonne classe puisse gagner la prochaine fois :

g
w(t) =



η [p(t) −
g
w(t)] si a
2
g
= d
g
= 1
−η [p(t) −
g
w(t)] si a
2
g
= 1 = d
g
= 0
(7.10)
Cette approche comporte n´ eanmoins une faille importante, d´ ependant de l’initialisation des neu-
rones, lorsque pour atteindre une zone associ´ ee ` a sa classe, un neurone doit traverser une zone
associ´ ee ` a une autre classe. Parce que le vecteur de poids d’un tel neurone sera repouss´ e par les sti-
muli pr´ esents dans cette r´ egion de transit, il risque fort, en pratique, de ne jamais pouvoir traverser
cette zone, et ainsi de ne jamais pouvoir servir ` a classifier une r´ egion associ´ ee ` a la bonne classe.
Pour contourner ce probl` eme, une solution souvent utilis´ ee consiste dans ce cas ` a non seule-
ment ajuster le vecteur du neurone gagnant, en l’´ eloignant du stimulus, mais aussi ` a choisir le
neurone le plus proche qui classifie correctement le stimulus pour le rapprocher de celui-ci. De
cette fac¸on, deux neurones sont ajust´ es simultan´ ement : le mauvais gagnant est ´ eloign´ e du stimu-
lus et un ´ eventuel futur bon gagnant est rapproch´ e de ce dernier.
Chapitre 8
R´ eseau GNG
Le r´ eseau «Growing Neural Gas»
1
(GNG) est un r´ eseau constructif qui ne pose a priori aucune
hypoth` ese sur la topologie de l’espace des entr´ ees. Un r´ eseau minimal est initialement cr´ e´ e et de
nouveaux neurones ainsi que de nouvelles connexions entre les neurones sont ajout´ es au fil de
l’apprentissage non supervis´ e.
La topologie du r´ eseau est repr´ esent´ ee par un graphe G = [V (t), E(t)] o` u V (t) d´ esigne l’en-
semble des sommets du graphe au temps t et E(t) l’ensemble de ses arˆ etes.
`
A chaque sommet est
associ´ e un neurone caract´ eris´ e par un vecteur de poids synaptiques
i
w ainsi qu’un signal d’erreur
e
i
. Ce dernier servira ` a accumuler l’erreur de mod´ elisation attribuable au neurone i et guidera le
choix de l’emplacement o` u nous ajouterons p´ eriodiquement de nouveaux sommets dans le graphe.
Les arˆ etes du graphe, liant deux sommets i et j, correspondent quant ` a elles ` a des connexions entre
les neurones sous-jacents.
`
A chaque connexion {i, j} est associ´ e un ˆ age a
i,j
. Une connexion jeune
implique une vraisemblance ´ elev´ ee de la relation topologique, alors qu’au contraire, une connexion
ˆ ag´ ee signifie une vraisemblance faible de cette relation. Lorsque l’ˆ age d’une connexion d´ epassera
un certain seuil, celle-ci pourra mourir et disparaˆıtre du graphe. Comme nous le verrons plus loin,
` a la fois les connexions et les neurones peuvent apparaˆıtre et disparaˆıtre du graphe tout au long du
processus d’apprentissage. C’est pourquoi les ensembles V et E d´ ependent tous les deux du temps.
8.1 Algorithme
L’algorithme du GNG comprend un certain nombre de param` etres essentiels. Tout d’abord,
il y a τ qui d´ efini la p´ eriode de temps entre les ajouts de neurone, c’est-` a-dire qu’` a toutes les
τ it´ erations, nous ajouterons un neurone quelque part dans le graphe. L’apprentissage du GNG,
tout comme celui du Kohonen (voir chapitre 7), est de type comp´ etitif. Le neurone gagnant ainsi
que ses voisins sont d´ eplac´ es dans la direction d’un stimulus en proportion de sa distance et d’un
certain taux d’apprentissage. Le GNG utilise deux taux distincts, un pour le neurone gagnant,
η
g
, et l’autre pour ses voisins imm´ ediats, η
v
. Contrairement au r´ eseau de Kohonen, cependant,
1
Bernd Fritzke, «A Growing Neural Gas Network Learns Topologies», publi´ e dans Advances in Neural Informa-
tion Processing Systems 7, G. Tesauro, D.S. Touretzky et T.K. Leen (´ editeurs), MIT Press, Cambridge MA, 1995.
89
90 CHAPITRE 8. R
´
ESEAU GNG
ces taux demeurent fixes tout au long de l’apprentissage.
´
Egalement, le voisinage est fix´ e ` a 1,
c’est-` a-dire que seuls les voisins imm´ ediats du neurone gagnant se d´ eplacent. Les connexions
entre les neurones ne peuvent d´ epasser un ˆ age maximum a
max
, sinon elle meurent et disparaissent.
Finalement, on utilise aussi un param` etre α pour contrˆ oler l’oubli des signaux d’erreur associ´ es
aux neurones du r´ eseau. Le rˆ ole pr´ ecis de chacun de ces param` etres est explicit´ e dans les ´ etapes
suivantes :
1. Initialisation : V = {x, y} et E = {{x, y}} avec
x
w(0) et
y
w(0) initialis´ es al´ eatoirement
avec de petits poids synaptiques dans l’espace des entr´ ees ; e
x
(0) = e
y
(0) = a
x,y
(0) = 0.
2. Fixer t
max
, τ, η
g
, η
v
, a
max
et α.
3. t = 1.
4. R´ ep´ eter tant que t ≤ t
max
:
(a) Choisir al´ eatoirement un stimulus p(t) parmi l’ensemble d’apprentissage.
(b) D´ eterminer les deux neurones gagnants g
1
et g
2
les plus pr` es de p(t) :
g
1
= arg min
i∈V (t)
||p(t) −
i
w(t)|| (8.1)
g
2
= arg min
i∈V (t)\{g
1
}
||p(t) −
i
w(t)|| (8.2)
(c) Incr´ ementer les ˆ ages de toutes les connexions adjacentes ` a g
1
:
∀{i, g
1
} ∈ E : a
i,g
1
= a
i,g
1
+ 1 (8.3)
(d) Incr´ ementer l’erreur associ´ ee au premier gagnant :
e
g
1
= e
g
1
+||p(t) −
g
1
w(t)|| (8.4)
(e) D´ eplacer les vecteur de poids synaptiques de g
1
et de ses voisins imm´ ediats dans la
direction de p(t) :

g
1
w(t) = η
g
[p(t) −
g
1
w(t)] (8.5)

v
w(t) = η
v
[p(t) −
v
w(t)], v ∈ Λ
g
1
(8.6)
o` u Λ
g
1
= {i ∈ V |i = g
1
et{i, g
1
} ∈ E(t)}.
(f) Si {g
1
, g
2
} ∈ E(t), alors a
g
1
,g
2
= 0 ; autrement :
E(t) = E(t) ∪ {{g
1
, g
2
}}, a
g
1
,g
2
(t) = 0. (8.7)
(g) Retirer de E toutes les connexions pour lesquelles a
i,j
> a
max
; retirer aussi tous
les neurones qui se retrouveraient isol´ es (sans aucune connexion) suite ` a la mort de
connexions.
(h) Si t mod τ = 0, alors :
i. D´ eterminer le neurone q poss´ edant l’erreur maximum :
q = arg max
i∈V
e
i
(8.8)
8.2. EXEMPLE 91
ii. D´ eterminer le neurone r, voisin de q, poss´ edant aussi l’erreur maximum :
r = arg max
i∈Λq
e
i
(8.9)
iii. Ins´ erer un nouveau neurone x ` a mi-chemin entre q et r :
x
w(t) =
q
w(t) +
r
w(t)
2
, e
x
=
e
q
2
, e
q
=
e
q
2
(8.10)
iv. Remplacer la connexion {q, r} par les deux connexions {q, x} et {x, r} avec a
q,x
=
a
x,r
= 0.
(i) R´ eduire les signaux d’erreur de tous les neurones :
e
i
= αe
i
, ∀i ∈ V (t) (8.11)
(j) t = t + 1.
8.2 Exemple
La figure 8.1 illustre la capacit´ e qu’` a le GNG ` a apprendre la topologie des donn´ ees. Pour cet
exemple, les donn´ ees d’apprentissage ont ´ et´ e g´ en´ er´ ees ` a partir de quatre distributions uniformes :
la premi` ere dans un volume tridimensionnel en forme de prisme rectangulaire, la deuxi` eme sur une
surface rectangulaire appos´ ee sur l’une des faces du prisme, la troisi` eme le long d’un segment de
droite au bout de la surface et la derni` ere le long d’un anneau au bout du segment de droite. La
figure montre le graphe du r´ eseau ` a diff´ erents instant durant l’apprentissage. Initialement (en haut
` a gauche), on commence avec un r´ eseau de deux neurones li´ es par une seule connexion. Au fil des
it´ erations, des neurones sont ajout´ es dans le graphe aux endroits o` u l’erreur de mod´ elisation est
maximum.
`
A la fin, nous seulement le r´ eseau ` a appris ` a mod´ eliser l’espace d’entr´ ee, mais il a aussi
r´ eussi ` a apprendre la topologie des diff´ erentes formes ´ echantillonn´ ees !
92 CHAPITRE 8. R
´
ESEAU GNG
FIG. 8.1 – Exemple d’un GNG entraˆın´ e sur des stimuli ´ echantillonn´ es dans un volume en forme de
prisme rectangulaire, sur une surface rectangulaire appos´ ee perpendiculairement ` a l’une des faces
du prisme et ` a une courbe en forme d’anneau au bout d’une tige appos´ ee ` a l’une des extr´ emit´ es de
la surface.
Chapitre 9
Architectures ART
Les architectures ART
1
sont issues des travaux de Stephen Grossberg et Gail Carpenter. Elles
sont bas´ ees sur une th´ eorie d’inspiration biologique
2
assez complexe sur laquelle nous n’insis-
terons pas. Elles se manifestent par diff´ erentes implantations sp´ ecifiques dont celles nomm´ ees
«ART1», «ART2», «ART3», «fuzzy ART», «ARTmap», «fuzzy ARTmap», etc. L’architecture
ART1
3
poss` ede la particularit´ e de n’accepter que des entr´ ees binaires, alors que le ART2
4
accepte
des entr´ ees continues en incorporant aux m´ ecanismes du ART1 diff´ erentes op´ erations complexes
de normalisation. Quant au ART3
5
, il d´ eveloppe le ART2 davantage en lui ajoutant un nouveau
m´ ecanisme de r´ einitialisation biologiquement inspir´ e. Ces trois architectures utilisent toutes un
processus d’apprentissage non supervis´ e. Dans ce chapitre, nous allons nous concentrer sur une
quatri` eme architecture, ´ egalement non supervis´ ee, nomm´ ee fuzzy ART
6
, qui poss` ede la relative
simplicit´ e du ART1 tout en offrant la capacit´ e du ART2 ` a traiter des entr´ ees continues.
Nous aborderons ensuite une des versions supervis´ ees des architectures ART : le fuzzy ART-
map
7
qui permet non seulement un apprentissage supervis´ e, mais ´ egalement un apprentissage
incr´ emental des connaissances, c’est-` a-dire un apprentissage o` u tous les stimuli ne sont pas n´ eces-
sairement disponibles en tout temps. Ainsi, on peut par exemple apprendre avec un premier sous-
ensemble de stimuli, puis mettre ce dernier de cˆ ot´ e et poursuivre l’apprentissage avec un autre sous-
ensemble sans que les connaissances acquises pr´ ec´ edemment soient oubli´ ees par le r´ eseau. Ceci
n’est tout simplement pas possible avec d’autres architectures neuronales comme, par exemple, le
1
En anglais : «Adaptive Resonance Theory».
2
S. Grossberg, Studies of Mind and Brain, Boston : D. Reidel Publishing Co., 1982.
3
G.A. Carpenter et S. Grossberg, «A Massively Parallel Architecture for a Self-Organizing Neural Pattern Recog-
nition Machine», Computer Vision, Graphics, and Image Processing, vol. 37, p. 54-115, 1987.
4
G.A. Carpenter et S. Grossberg, «ART2 : Self-Organization of Stable Category Recognition Codes for Analog
Input Patterns», Applied Optics, vol. 26, no. 23, p. 4919-4930, 1987.
5
G.A. Carpenter et S. Grossberg, «ART3 : Hierarchical Search using Chemical Transmitters in Self-Organizing
Pattern Recognition Architectures», Neural Networks, vol. 3, no. 23, p. 129-152, 1990.
6
G.A. Carpenter, S. Grossberg et D.B. Rosen, «Fuzzy ART : Fast Stable Learning and Categorization of Analog
Patterns by Adaptive Resonance Theory», Neural Networks, vol. 4, p. 759-771, 1991.
7
G.A. Carpenter, S. Grossberg et J. Reynolds, «Fuzzy ARTmap : A Neural Network Architecture for Incremental
Supervised Learning of Analog Multidimensional Maps», IEEE Transactions on Neural Networks, vol. 3, p. 698-713,
1992.
93
94 CHAPITRE 9. ARCHITECTURES ART
a
2
a
1
2Rx1
n
1
W
Sx2R
Sx1
Sx1
2R
C
S
R
p
Rx1
ρ
re
se
t
E
c
FIG. 9.1 – Architecture du r´ eseau fuzzy ART.
perceptron multicouche qui, lors de la deuxi` eme phase d’entraˆınement, oubliera tr` es rapidement
(en quelques p´ eriodes) tout ce qu’il a appris lors de la premi` ere phase. Pour permettre l’apprentis-
sage incr´ emental, le fuzzy ARTmap combine deux r´ eseaux fuzzy ART grˆ ace ` a un carte associative
(«map» en anglais ; d’o` u le nom «ARTmap»).
9.1 Fuzzy ART
Le fuzzy ART est un r´ eseau comp´ etitif ` a deux couches de neurones tel qu’illustr´ e ` a la fi-
gure 9.1. La premi` ere couche, not´ ee E
c
, sert ` a coder les stimuli d’entr´ ee avec un encodage dit
«compl´ ementaire». La deuxi` eme couche est une couche comp´ etitive semblable ` a celle du Koho-
nen. Cependant, tout comme les autres architectures ART, le fuzzy ART incorpore un m´ ecanisme
de r´ etroaction permettant de stabiliser les prototypes appris dans les vecteurs de poids qui relient
les deux couches. Ce m´ ecanisme dit de «r´ esonance» est contrˆ ol´ e par un param` etre ρ qui permet
de r´ e-initialiser au besoin la couche comp´ etitive. Pour chaque stimulus d’entr´ ee, les sorties a
2
du
r´ eseau sp´ ecifient une cat´ egorie parmi S.
Un peu comme le GNG, le fuzzy ART est un r´ eseau constructif o` u de nouveaux neurones
sont allou´ ees au fil de l’apprentissage. G´ en´ eralement, on fixe au d´ epart un nombre maximum de
neurones S, ce qui fixe ´ egalement un nombre maximum de cat´ egories de stimuli. Initialement,
aucun neurone n’est actif, le premier stimulus d’apprentissage activera le neurone associ´ e ` a la
premi` ere cat´ egorie. L’allocation subs´ equente de nouvelles cat´ egories d´ ependra ` a la fois des stimuli
et des param` etres de l’algorithme.
Les entr´ ees d’un fuzzy ART doivent ˆ etre des ensembles flous d´ efinis sur un r´ ef´ erentiel discret.
Soit p la repr´ esentation vectorielle d’un ensemble flou E d´ efini sur un r´ ef´ erentiel discret R =
{r
1
, r
2
, . . . , r
R
} :
E = {(r
j
, p
j
)|r
j
∈ Ret 0 ≤ p
j
≤ 1}, j = 1, . . . , R (9.1)
o` u 0 ≤ p
j
≤ 1 repr´ esente le degr´ e d’appartenance ` a E de l’´ el´ ement r
j
du r´ ef´ erentiel. Le vecteur
p = [p
1
p
2
· · · p
R
]
T
peut ainsi ˆ etre interpr´ et´ e comme un point dans un hypercube unitaire de R
dimensions, comme ` a la figure 9.2 o` u R = 2. Pour pouvoir utiliser un fuzzy ART, il s’agit donc de
transformer (normaliser) nos stimuli d’apprentissage de mani` ere ` a les faire tous entrer ` a l’int´ erieur
d’un hypercube unitaire, pour en faire des ensembles flous.
9.1. FUZZY ART 95
r
1
r
2
0
1
1
0
E
p
FIG. 9.2 – Repr´ esentation vectorielle d’un ensemble flou E d´ efini sur un r´ ef´ erentiel de deux
´ el´ ements.
Le r´ eseau fuzzy ART d´ efinit trois param` etres α, η et ρ :
α > 0, 0 < η ≤ 1, 0 < ρ < 1 (9.2)
o` u α repr´ esente un param` etre de s´ election, η le taux d’apprentissage et ρ le taux de vigilance. Nous
allons expliciter la signification de ces param` etres ci-dessous.
L’algorithme du fuzzy ART se r´ esume aux ´ etapes suivantes :
1. Initialiser les poids W = [
1
w
2
w· · ·
S
w]
T
avec des 1 ;
2. Fixer α, η et ρ ;
3. t = 1 ;
4. R´ ep´ eter tant que t ≤ t
max
:
(a) Choisir al´ eatoirement un ensemble flou p(t) parmi la base d’apprentissage ;
(b) Effectuer l’encodage compl´ ementaire E
c
:
a
1
(t) =
¸
p(t)
p
c
(t)
¸
(9.3)
o` u p
c
= [(1 −p
1
)(1 −p
2
) · · · (1 −p
R
)]
T
repr´ esente le compl´ ement flou de p.
(c) Calculer les niveaux d’activation n
1
i
des neurones de la premi` ere couche :
n
1
i
(t) =
|a
1
(t) ∩
i
w(t)|
α +|
i
w(t)|
, i = 1, . . . , S, (9.4)
o` u α est le taux de s´ election, | · | d´ esigne la norme l
1
du vecteur :
|x| =

[x
1
x
2
· · · x
n
]
T

=
n
¸
i=1
x
i
, (9.5)
96 CHAPITRE 9. ARCHITECTURES ART
et x ∩ y repr´ esente l’intersection floue entre x et y :

x
1
x
2
.
.
.
x
n
¸
¸
¸
¸
¸
¸

y
1
y
2
.
.
.
y
n
¸
¸
¸
¸
¸
¸
=

min(x
1
, y
1
)
min(x
2
, y
2
)
.
.
.
min(x
n
, y
n
)
¸
¸
¸
¸
¸
¸
(9.6)
(d) Calculer les sorties de la couche comp´ etitive :
a
2
i
(t) =

1 si n
1
i
(t) = max
j=1···S
n
1
j
(t)
0 autrement
, i = 1, . . . , S. (9.7)
Soit g = arg max
j
n
1
j
(t), l’indice du neurone gagnant.
(e) Si le degr´ e de r´ esonance du neurone g avec les sorties de la couche d’entr´ ee est inf´ erieur
au seuil ρ :
|a
1
(t) ∩
g
w(t)|
|a
1
(t)|
< ρ, (9.8)
alors bloquer temporairement le neurone g pour qu’il ne puisse plus gagner et retourner
` a l’´ etape 4d pour choisir le prochain gagnant.
(f) Lib´ erer tous les neurones bloqu´ es.
(g) Mettre ` a jour le prototype du neurone gagnant :

g
w(t) = η

a
1
(t) ∩
g
w(t)


g
w(t)

, (9.9)
o` u η est le taux d’apprentissage.
(h) t = t + 1 ;
Fin
La premi` ere chose que l’on peut remarquer ` a l’´ equation 9.3 est que la norme des vecteurs
encod´ es demeure toujours constante :
|a
1
(t)| =
R
¸
i=1
p
i
+
R
¸
i=1
(1 −p
i
) =
R
¸
i=1
p
i
+ R −
R
¸
i=1
p
i
= R (9.10)
Le processus d’encodage permet donc de normaliser en amplitude les stimuli d’entr´ ee.
Le niveau d’activation n
1
i
du neurone i de la couche comp´ etitive, calcul´ es ` a l’´ equation 9.4,
permet de mesurer le degr´ e de ressemblance entre le stimulus d’entr´ ee a
1
, exprim´ e dans son en-
codage compl´ ementaire, et le vecteur de poids
i
w. En posant
i
w = [x y
c
]
T
, o` u x et y sont deux
vecteurs quelconques dans l’espace des stimuli, on obtient l’interpr´ etation g´ eom´ etrique de la figure
9.3 pour le cas particulier d’un espace ` a deux dimensions. La r´ egion d´ efinie par le rectangle en trait
plein correspond ` a la zone d’activit´ e du neurone i. Pour tous les stimuli p situ´ es ` a l’int´ erieur de
cette zone, le num´ erateur de l’´ equation 9.4 sera ´ egal ` a :
a
1

i
w =
¸
p
p
c
¸

¸
x
y
c
¸
=
¸
p ∩ x
(p ∪ y)
c
¸
=
¸
x
y
c
¸
=
i
w (9.11)
9.1. FUZZY ART 97
p
r
1
r
2
0
1
1
0
y
x
p∩x
p∩x
Z
i
Z
i
⊕ p
FIG. 9.3 – R´ egions associ´ ees ` a
i
w = [x y
c
]
T
(en trait plein) et ` a a
1

i
w (en trait pointill´ e).
Par cons´ equent, on obtient dans ce cas |a
1

i
w| = |
i
w| et n
1
i
=
|
i
w|
α+|
i
w|
, c’est-` a-dire une valeur
inf´ erieure ` a 1. Pour un
i
w fix´ e, plus α sera grand, plus le niveau d’activation sera petit et, inverse-
ment, plus
i
w sera grand, plus le niveau d’activation tendra vers 1 pour un α donn´ e.
Pour les stimuli p situ´ es ` a l’ext´ erieur de la zone, comme ` a la figure 9.3, l’op´ eration a
1

i
w
engendre la nouvelle r´ egion indiqu´ ee en trait pointill´ e. Pour cette r´ egion, nous aurons |a
1

i
w| <
|
i
w| et le niveau d’activation calcul´ e sera nettement inf´ erieur ` a 1. Ainsi, les neurones dont la r´ egion
associ´ ee englobe p gagneront la comp´ etition avant les autres, et s’ils sont plusieurs ` a l’englober,
c’est celui dont la r´ egion est la plus petite qui sera d´ eclar´ e gagnant.
Soit Z
i
la r´ egion associ´ ee ` a
i
w. Dans le cas g´ en´ eral d’un espace des stimuli ` a R dimensions, il
s’agit d’un hyper-rectangle d´ efini respectivement par les coins x et y de ses composantes minimum
et maximum. La dimension de cette r´ egion peut se calculer de la fac¸on suivante :
|Z
i
| ≡ |y −x| (9.12)
Pour qu’un vecteur
i
w puisse changer de valeur (´ equation 9.9), il faut que le neurone correspon-
dant gagne la comp´ etition de l’´ equation 9.7 et que celui-ci n’´ echoue pas le crit` ere de r´ esonance
de l’´ equation 9.8. Dans ce cas seulement, la r´ egion Z
i
associ´ ee ` a ce neurone pourra grandir et,
´ eventuellement, englober le stimulus d’entr´ ee. Si l’on pose un taux d’apprentissage η = 1 ` a
l’´ equation 9.9, on parle dans ce cas d’apprentissage «instantan´ e», alors la r´ egion Z
i
sera agrandie
juste assez pour englober le stimulus p. Dans le cas particulier d’un neurone inactif (un neurone
qui n’a jamais gagn´ e), c’est-` a-dire un neurone dont le
i
w ne contient que des uns (´ etape 1 de l’al-
gorithme), on obtiendra
i
w(t + 1) = a
1
(t) et la r´ egion Z
i
sera limit´ e au point p(t). Par la suite,
l’apprentissage ne pourra qu’augmenter la taille de la r´ egion Z
i
et, par cons´ equent, la norme de
i
w ne pourra que diminuer. En fait, toujours sous l’hypoth` ese de η = 1, on peut montrer que la
r´ egion Z
i
correspondra toujours au plus petit rectangle (ou hyper-rectangle) englobant l’ensemble
des stimuli qui vont faire gagner et r´ esonner le neurone i au cours de l’apprentissage.
Le crit` ere de r´ esonance de l’´ equation 9.8 impose une contrainte sur la taille maximum que peut
atteindre les r´ egions associ´ ees aux neurones du fuzzy ART. En effet, le d´ enominateur |a
1
(t)| = R
98 CHAPITRE 9. ARCHITECTURES ART
est une constante et il faut que :
|a
1
(t) ∩
g
w(t)| ≥ Rρ (9.13)
pour que le neurone gagnant puisse subir une modification de son vecteur de poids. Or :
|a
1
(t) ∩
g
w(t)| =

¸
p
p
c
¸

¸
x
y
c
¸

=

¸
p ∩ x
p
c
∩ y
c
¸

=

¸
p ∩ x
(p ∪ y)
c
¸

(deMorgan)
= |p ∩ x| + R −|p ∪ y|
= R −(|p ∪ y| −|p ∩ x|)
= R −|Z
g
⊕p| (9.14)
o` u Z
g
⊕p d´ esigne la plus petite r´ egion (hyper-rectangle) qui englobe ` a la fois Z
g
et p (voir figure
9.3 avec i = g). Par cons´ equent, on obtient l’expression suivante :
|Z
g
⊕p| ≤ R(1 −ρ) (9.15)
qui sp´ ecifie la taille maximum qu’une r´ egion peut atteindre en fonction du taux de vigilance ρ.
Plus il est grand, plus les r´ egions sont contraintes ` a de petites tailles.
`
A la limite, lorsque ρ −→1,
le fuzzy ART apprendra les stimuli par cœur ! Plus il est petit, plus les r´ egions pourront croˆıtre.
`
A la limite, lorsque ρ −→ 0, un seul neurone pourrait couvrir tout l’espace d’entr´ ee, et le r´ eseau
ne produirait plus qu’une seule cat´ egorie. Lorsque le neurone gagnant ne respecte pas le crit` ere
de r´ esonance, alors il est temporairement retir´ e de la comp´ etition et le neurone suivant ayant le
plus grand niveau d’activation est s´ electionn´ e ` a son tour. Ce processus est r´ ep´ et´ e jusqu’` a ce qu’on
trouve un neurone qui «r´ esonne». Ceci sera toujours possible dans la mesure o` u le r´ eseau comporte
encore des neurones inactifs (la preuve est laiss´ ee en exercice).
G´ en´ eralement, dans le cas d’un stimulus qui ne ressemble ` a aucune des cat´ egories actives,
c’est-` a-dire lorsque le neurone gagnant ´ etait pr´ ec´ edemment inactif, on fixera automatiquement
le taux d’apprentissage η = 1 pour passer en mode d’apprentissage «instantan´ e». Sinon, si le
stimulus engendre la r´ esonance d’une cat´ egorie existante, alors on fixera un taux 0 < η ≤ 1 tel
que sp´ ecifi´ ee par l’utilisateur.
Finalement, mentionnons que le param` etre de s´ election α est habituellement fix´ e ` a une petite
valeur telle que, par exemple, 0.01. Ainsi, le neurone gagnant sera celui dont la r´ egion associ´ ee
requiert un minimum d’agrandissement relatif pour pouvoir englober le stimulus d’entr´ ee. Lorsque
α −→∞, ce n’est plus le pourcentage d’agrandissement qui compte, mais seulement la dimension
finalle.
9.2 Fuzzy ARTmap
Le fuzzy ARTmap est un r´ eseau supervis´ e capable d’effectuer un apprentissage incr´ emental.
Il est constitu´ e de deux r´ eseaux fuzzy ART respectivement nomm´ es ART
p
et ART
d
, tel qu’illustr´ e
9.2. FUZZY ARTMAP 99
a
2
a
1
2R
1
x 1
n
1
W
S
1
x2R
1
S
1
x1
S
1
x1
2R
1
C
S
1
R
1
p
R
1
x1
ρ
re
s
e
t
E
c
a
2
a
1
2R
2
x1
n
1
W
S
2
x2R
2
S
2
x1
S
2
x1
2R
2
C
S
2
R
2
d
R
2
x1
ρ
re
s
e
t
E
c
ART
p
ART
d
ρ
pd
r
e
s
e
t
Wpd
F
pd
a
pd
FIG. 9.4 – Architecture du r´ eseau fuzzy ARTmap.
` a la figure 9.4. Les r´ eseaux ART
p
et ART
d
sont reli´ es entre eux par un champ associatif nomm´ e
F
pd
. Ce champ est utilis´ e pour effectuer des pr´ edictions associatives entre les cat´ egories du module
ART
p
, qui sont associ´ ees aux stimuli d’entr´ ee, et celles du module ART
d
, qui sont associ´ ees aux
sorties d´ esir´ ees.
En mode d’apprentissage, on propage un stimulus d’entr´ ee dans le module ART
p
et, simul-
tan´ ement, on propage le vecteur des sorties d´ esir´ ees dans le module ART
d
. Les cat´ egories produites
par les deux modules sont alors compar´ ees ` a l’aide du champ associatif F
pd
. La matrice W
pd
de
dimension S
2
×S
1
contient des vecteurs de poids w
i
associ´ es ` a chacune des S
1
cat´ egories du mo-
dule ART
p
. Lorsque la cat´ egorie i produite par le ART
p
r´ esonne avec la cat´ egorie j produite par le
ART
d
, alors w
i
est modifi´ e pour ressembler davantage ` a a
2
d
, la sortie de ART
d
. Sinon, le module de
r´ esonance de F
pd
transmet un signal au ART
p
pour que celui-ci produise une nouvelle cat´ egorie.
Ce processus est recommenc´ e jusqu’` a ce que l’on trouve une association ad´ equate.
En mode de reconnaissance, on ne propage rien dans le module ART
d
; celui-ci demeure inac-
tif. Le stimulus d’entr´ ee est simplement propag´ e dans le module ART
p
et la cat´ egorie produite est
utilis´ ee pour s´ electionner le vecteur correspondant dans W
pd
.
100 CHAPITRE 9. ARCHITECTURES ART
Plus formellement, voici toutes les ´ etapes de l’algorithme d’apprentissage du fuzzy ARTmap :
1. Initialiser les poids W
pd
= [w
1
w
2
· · · w
S
1
] avec des 1 ;
2. Fixer les param` etres des modules ART
p
et ART
d
;
3. Fixer η
pd
et ρ
pd
de F
pd
;
4. t = 1 ;
5. R´ ep´ eter tant que t ≤ t
max
:
(a) Choisir un couple (p(t), d(t)) parmi les donn´ ees de la base d’apprentissage ;
(b) Propager p(t) dans le ART
p
;
(c) Propager d(t) dans le ART
d
;
(d) Calculer la sortie de F
pd
:
a
pd
= a
2
d
∩ w
pd
g
(9.16)
o` u a
2
d
d´ esigne le vecteur de sortie de ART
d
et g correspond ` a la cat´ egorie produite par
le ART
p
;
(e) Si le degr´ e de r´ esonance de F
pd
est inf´ erieur au seuil ρ
pd
, c’est-` a-dire si :
|a
pd
|
|a
2
d
|
< ρ
pd
, (9.17)
alors augmenter ρ
p
juste assez pour forcer le ART
p
` a produire une nouvelle cat´ egorie et
retourner ` a l’´ etape 5d. Pour ce faire, il faudra fixer temporairement ρ
p
l´ eg` erement plus
grand que |a
1
p
∩ w
p
g
|/|a
1
p
|.
(f) Mettre ` a jour le vecteur gagnant de F
pd
:
w
g
(t + 1) = ρ
pd
a
2
d
+ (1 −ρ
pd
) w
g
(t) (9.18)
(g) S’il y a lieu, remettre ρ
p
` a sa valeur initiale ;
Fin
Plus souvent qu’autrement, le fuzzy ARTmap est utilis´ e pour faire du classement. Dans ce
cas, la dimension R
2
de l’espace d’entr´ ee du module ART
d
correspondra au nombre de classes et
les vecteurs d’entr´ ee d seront restreints ` a des ensembles non flous, c’est-` a-dire ` a des vecteurs dont
une des composantes est 1, et toutes les autres sont 0 (coins de l’hypercube). Les taux de vigilance
et d’apprentissage seront η
d
= ρ
d
= 1 de mani` ere ` a ce que les vecteurs de sorties d´ esir´ es soient
appris par cœur et instantan´ ement. Autrement dit, le module ART
d
ne sert presqu’` a rien dans ce
cas, sinon ` a produire un indice de classe. De son cˆ ot´ e, le module ART
p
contiendra au moins autant
de neurones qu’il y a de classes, mais typiquement de 4 ` a 10 fois plus, pour pouvoir cr´ eer des
fronti` eres de d´ ecision complexes form´ ees de plusieurs hyper-rectangles entrelac´ es. Les param` etres
du module ART
p
seront fix´ es de mani` ere ` a ce que celui-ci puisse bien mod´ eliser son espace des
stimuli. On emploiera un taux d’apprentissage ´ elev´ e (η
p
= 1) si les donn´ ees sont peu bruit´ ees, et un
taux plus faible (p.ex. η
p
= 0.5) en pr´ esence de bruit. Le taux de vigilance sera d’autant plus ´ elev´ e
que l’on cherche ` a classer correctement toutes les donn´ ees. Mais gare au sur-apprentissage !
`
A la
limite, si ρ
p
= 1 on apprendra litt´ eralement par cœur toutes les donn´ ees mais la g´ en´ eralisation sera
9.2. FUZZY ARTMAP 101
TAB. 9.1 – Valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte de classe-
ment.
Param` etres Intervalles valeurs sugg´ er´ ees
taux de s´ election ]0, ∞[
α
p
= 0.01
α
d
= 0.01
taux d’apprentissage ]0, 1]
0.5 ≤ η
p
≤ 1
η
d
= 1
η
pd
= 1
taux de vigilance [0, 1]
0.5 ≤ ρ
p
≤ 0.9
ρ
d
= 1
ρ
pd
= 1
TAB. 9.2 – Valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte d’approxi-
mation de fonction.
Param` etres Intervalles valeurs sugg´ er´ ees
taux de s´ election ]0, ∞[
α
p
= 0.01
α
d
= 0.01
taux d’apprentissage ]0, 1]
0.5 ≤ η
p
≤ 1
0.5 ≤ η
d
≤ 1
η
pd
= 1
taux de vigilance [0, 1]
0.5 ≤ ρ
p
≤ 0.9
0.5 ≤ ρ
p
≤ 0.9
ρ
pd
= 1
catastrophique en pr´ esence de bruit. Une valeur comprise dans l’intervalle 0.5 ≥ ρ
p
≥ 0.9 produit
g´ en´ eralement de bons r´ esultats. Finalement, le taux d’apprentissage du champ associatif F
pd
est
souvent fix´ e ` a η
pd
= 1 pour apprendre instantan´ ement les bonnes associations de cat´ egorie. Dans
ce cas, la valeur du taux de vigilance ρ
pd
n’a pas d’importance (on la fixe donc ` a 1). En conclusion,
le tableau 9.1 donne des valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte
de classement.
Dans un contexte d’approximation de fonction, le rˆ ole du module ART
d
prend toute son impor-
tance. C’est lui qui produira des cat´ egories de valeurs pour la fonction que l’on tente de mod´ eliser.
Pour une fonction scalaire, nous aurons R
2
= 1. Pour une fonction vectorielle, nous aurons R
2
> 1.
En variant la vigilance ρ
d
nous pourrons varier la pr´ ecision de l’approximation.
`
A la limite, en
fixant ρ
d
= 1, nous pourrons apprendre par cœur toutes les valeurs ayant servi ` a l’apprentissage.
Il faut donc prendre garde au sur-apprentissage et limiter ce param` etre ` a la plage 0.5 ≤ η
d
≤ 0.9,
tout comme pour la vigilance du module ART
p
. En ce qui concerne les param` etres du module
F
pd
, il sont souvent fix´ es ` a η
pd
= ρ
pd
= 1, tout comme dans le contexte de classement. Le ta-
bleau 9.2 r´ esume les valeurs sugg´ er´ ees pour les param` etres du fuzzy ARTmap dans un contexte
d’approximation de fonction.
Mentionnons finalement que, dans un contexte d’approximation de fonction, contrairement ` a
celui d’un probl` eme de classement o` u la sortie a
pd
du r´ eseau fuzzy ARTmap indique directement
102 CHAPITRE 9. ARCHITECTURES ART
l’indice j de la classe associ´ ee au stimulus d’entr´ ee, la valeur de la fonction recherch´ ee doit ˆ etre
extraite du module ART
d
en allant chercher le vecteur de poids
j
w
d
= [x y
c
]
T
associ´ e ` a cet indice
de classe et en calculant le centre (x +y)/2 de sa r´ egion.
Chapitre 10
ACP et apprentissage hebbien
L’analyse en composantes principales (ACP) est une m´ ethode d’analyse des donn´ ees qui per-
met de r´ eduire la dimension d’un espace d’entr´ ee en ne retenant que les axes o` u la variance est im-
portante. Soit un ensemble de Q vecteurs {p
1
, p
2
, . . . , p
Q
} d´ efinis dans
n
. Ces vecteurs forment
un nuage de points dans un espace ` a n dimensions. En choisissant de nouvelles bases, on d´ esire
repr´ esenter ces vecteurs dans
m
, avec m < n tout en minimisant la perte d’information.
Shannon d´ efinit l’information contenu dans une variable al´ eatoire X = {x
1
, x
2
, . . . , x
N
} ` a
partir de son entropie H(X) :
H(X) = −
N
¸
k=1
Pr(x
k
) log[Pr(x
k
)] = −E[log(Pr(x
k
))] (10.1)
o` u Pr(x
k
) d´ esigne la probabilit´ e de rencontrer la k
` eme
r´ ealisation de X et E repr´ esente l’esp´ erance
math´ ematique. L’entropie nous dit que plus un x
k
poss` ede une probabilit´ e ´ elev´ ee, moins il contient
d’information.
`
Ala limite, lorsque la variable devient d´ eterministe, c’est-` a-dire lorsque Pr(x
k
) → 1
pour un certain k et que, par cons´ equent, Pr(x
j
) → 0 pour ∀j = k, alors l’entropie tend vers 0.
Cette d´ efinition suppose cependant que nous connaissions a priori la loi de densit´ e de nos variables
al´ eatoires ce qui, dans la pratique, n’est pas toujours le cas. Cependant, si l’on suppose qu’elles
ob´ eissent ` a des lois gaussiennes
1
:
Pr(x) =
1

2π σ
exp
¸

(x −µ)
2

2
¸
, (10.2)
o` u µ repr´ esente la moyenne et σ
2
la variance, alors l’entropie devient :
H(x) = E
¸
1
2
log(2πσ
2
)

+
1
2
E
¸

x −µ
σ

2
¸
=
1
2
log(2πσ
2
), (10.3)
et l’on observe qu’elle ne d´ epend plus que de la variance. Par cons´ equent, dans le cas de distribu-
tions gaussiennes, on peut conclure que la variance est synonyme d’information.
1
Notez bien que la loi de Gauss s’applique ` a une variable al´ eatoire continue. Dans ce cas, il faut remplacer la
sommation par une int´ egrale dans l’´ equation 10.1.
103
104 CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN
z
1
z
2
p
FIG. 10.1 – Illustration des composantes principales pour un nuage de points en deux dimensions.
Ceci nous am` ene ` a d´ efinir l’analyse en composantes principales en termes de la variance et
de la covariance entre les diff´ erentes composantes de nos stimuli. Intuitivement, nous recherchons
les directions dans nos nuages de points o` u la variance est maximale, tel qu’illustr´ e ` a la figure
10.1 dans un espace ` a deux dimensions, o` u z
1
et z
2
donnent l’orientation des deux composantes
principales et l’ellipse symbolise l’hypoth` ese de distribution gaussienne des vecteurs qui est sous-
jacente ` a l’ACP.
Tout d’abord, calculons la moyenne ¯ p de nos stimuli :
¯ p =
1
Q
Q
¸
k=1
p
k
. (10.4)
C’est le centre du nuage de points. La matrice de covariance C de nos stimuli est donn´ ee par :
C =
1
Q−1
Q
¸
k=1
(p
k
− ¯ p)(p
k
− ¯ p)
T
=

σ
2
11
σ
2
12
· · · σ
2
1n
σ
2
21
σ
2
22
· · · σ
2
2n
.
.
.
.
.
.
.
.
.
.
.
.
σ
2
n1
σ
2
n2
· · · σ
2
nn
¸
¸
¸
¸
¸
¸
¸
¸
¸
(10.5)
o` u σ
2
ij
repr´ esente la covariance entre les composantes i et j de nos stimuli, et n est leur dimension.
Une matrice de covariance est toujours sym´ etrique et positive d´ efinie (valeurs propres r´ eelles et
positives).
Pour trouver les composantes principales de nos donn´ ees, il s’agit de d´ eterminer les valeurs
et les vecteurs propres de la matrice C (voir section 3.2.3). Les vecteurs propres de C d´ efinissent
dans
n
les orientations des composantes principales de nos stimuli lorsque l’origine de l’espace
vectoriel est d´ eplac´ e en ¯ p. Les valeurs propres, quant ` a elles, repr´ esentent l’importance de chacune
de ces composantes. Elles correspondent aux variances des donn´ ees lorsque projet´ ees dans chacune
105
de ces orientations. Soit la matrice Z dont les colonnes contiennent les n vecteurs propres de C :
Z = [z
1
z
2
· · · z
n
]. (10.6)
Alors Z est une matrice de rotation et p

k
= Z
−1
(p
k
− ¯ p) = Z
T
(p
k
− ¯ p) repr´ esente le stimulus p
k
apr` es translation et rotation des axes dans la direction des composantes principales. Si l’on calcule
la matrice de covariance C

des p

k
, on obtient alors une matrice diagonale Λ dont les ´ el´ ements
correspondent aux valeurs propres de C :
Λ =

λ
1
0 · · · 0
0 λ
2
· · · 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · · λ
n
¸
¸
¸
¸
¸
¸
. (10.7)
Sans perte de g´ en´ eralit´ e, supposons que les vecteurs propres z
i
sont tri´ es en ordre d´ ecroissant
de leur valeur propre : λ
i
≥ λ
i+1
, i = 1, . . . , n − 1, alors l’analyse en composante principale
consiste ` a choisir les mpremiers vecteurs propres associ´ es aux plus grandes valeurs propres, c’est-
` a-dire ceux qui maximisent la variance. Pour r´ eduire la dimension de l’espace de repr´ esentation de
nos stimuli, il suffit donc de construire la matrice Wsuivante :
W = [z
1
z
2
. . . z
m
], m < n (10.8)
et de s’en servir pour projeter les p
k
de n dimension en p

k
` a m dimension :
p

k
= W
T
(p
k
− ¯ p), k = 1, . . . , Q. (10.9)
La proportion de la variance des p
k
contenue dans les p

k
se mesure habituellement par le ratio :
¸
m
i=1
λ
i
¸
n
i=1
λ
i
> τ, (10.10)
que l’on peut contraindre, par exemple, aux m composantes principales qui expliquent au moins
τ > 95% de la variance des stimuli d’origine. La trace
¸
n
i=1
λ
i
de la matrice Λ sert ici ` a mesurer la
variance globale des stimuli d’apprentissage. Il s’agit d’une mesure de volume, ou d’hyper-volume,
tout comme la norme est une mesure de longueur. Une autre mesure de volume pour un nuage de
points consiste ` a calculer le d´ eterminant de la matrice de covariance. Ainsi, on pourrait ´ egalement
choisir nos m composantes de la fac¸on suivante :
¸
m
i=1
λ
i
¸
n
i=1
λ
i
> τ, (10.11)
Mentionnons finalement qu’on peut aussi utiliser les valeurs propres de l’analyse en compo-
santes principales pour effectuer un blanchiment de nos stimuli en effectuant l’op´ eration suivante :
p

k
= Λ
−1/2
m
p

k
, k = 1, . . . , Q, (10.12)
o` u Λ
m
repr´ esente la matrice diagonale des m premi` eres composantes de Λ :
Λ
m
=

λ
1
0 · · · 0
0 λ
2
· · · 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 · · · λ
m
¸
¸
¸
¸
¸
¸
, (10.13)
ce qui engendre une matrice de covariance unitaire pour les p

k
.
106 CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN
10.1 R` egle de Hebb
L’apprentissage par la r` egle de Hebb (voir section 4.2) exprime la variation de poids en fonc-
tion de la corr´ elation entre l’entr´ ee p et la sortie a d’un neurone :
∆w = η pa. (10.14)
Cette r` egle nous dit que plus la r´ eponse du neurone sera forte vis-` a-vis d’un stimulus, plus la
variation de poids sera grande.
Dans le cas d’un neurone lin´ eaire, nous avons la relation a = w
T
p = p
T
w. En interpr´ etant w
comme une direction dans l’espace des stimuli et en supposant que les stimuli d’entr´ ee sont centr´ es
sur leur moyenne
2
, on peut se cr´ eer l’indice de performance F suivant :
F = a
2
= (w
T
p)(p
T
w), (10.15)
visant ` a maximiser la variance. Pour un module ||w|| fix´ e, on obtient une esp´ erance E(F) :
E[F] = E[(w
T
p)(p
T
w)] = w
T
E[pp
T
]w = w
T
Cw (10.16)
qui d´ epend de l’orientation de w et de la matrice de covariance C des stimuli. Clairement, on
constate que F sera maximum lorsque wsera orient´ e dans la direction de la composante principale
de C.
Le probl` eme majeur avec cette formulation de la r` egle de Hebb est que celle-ci est instable.
Le module de w aura tendance ` a croˆıtre sans cesse et l’approche diverge presque toujours. Une
solution consiste ` a normaliser w :
w(t + 1) =
w(t) +η pa
||w(t) +η pa||
(10.17)
10.2 R` egle de Oja
Une autre solution consiste ` a adopter une approximation de l’´ equation 10.17, nomm´ ee «r` egle
de Oja»
3
:
∆w = η a(p −a w) = η(a p −a
2
w) (10.18)
Pour voir que cette r` egle poss` ede bien le potentiel de trouver la composante principale des stimuli,
il suffit de calculer l’esp´ erance de la variation des poids :
E(∆w) = E[η(ap −a
2
w)] (10.19)
= η E[p(p
T
w) −(w
T
p)(p
T
w)w] (10.20)
= η E[(pp
T
)w−w
T
(pp
T
)ww] (10.21)
= η (Cw−w
T
Cww) (10.22)
2
Si ce n’est pas le cas, il suffit de le faire ` a l’aide de l’´ equation 10.4.
3
E. Oja, «A Simplified Neuron Model as a Principal Component Analyser», Journal of Mathematical Biology,
vol. 15, p. 239-245, 1982.
10.3. R
`
EGLE DE SANGER 107
a
Entrée Couche de S neurones
a = purelin(Wp)
W
p
n
R x 1
S x R
S x 1 S x 1
R S
FIG. 10.2 – R´ eseau permettant d’effectuer une analyse en S composantes principales.
Apr` es convergence, on obtient E(∆w) −→ 0 et :
Cw = (w
T
Cw)w = λw (10.23)
ce qui nous indique, par d´ efinition (voir section 3.2.3), que λ = w
T
Cw est une valeur propre
de C et w le vecteur propre qui lui est associ´ e. Finalement, en substituant l’´ equation 10.23 dans
l’expression de λ, on obtient :
λ = λw
T
w = λ||w||
2
, (10.24)
o` u ||w|| est la norme euclidienne de w. Ceci implique que la norme de ce vecteur est unitaire, du
moins une fois la convergence atteinte. On peut aussi montrer non seulement que cette convergence
est assur´ ee, mais que le vecteur propre obtenu sera associ´ e ` a la plus grande valeur propre de C, car
seule celle-ci est stable.
10.3 R` egle de Sanger
La r` egle de Oja nous permet de trouver la composante principale de nos stimuli. L’´ etape
suivante consiste ` a trouver le moyen de d´ eterminer les autres composantes en utilisant une couche
de neurones lin´ eaires comme ` a la figure 10.2. Un tel r´ eseau permet de r´ eduire la dimension de
l’espace des entr´ ees, de Rdimensions ` a S dimensions (S < R). La matrice W = {w
i,j
} repr´ esente
les poids w
i,j
des connexions reliant les neurones i aux composantes j des stimuli d’entr´ ee. La
r` egle suivante, dite «r` egle de Sanger»
4
, ou encore «Algorithme de Hebb g´ en´ eralis´ e», est une
g´ en´ eralisation de la r` egle de Oja :

i
w = η
¸
a
i
p −a
i
i
¸
k=1
a
k k
w
¸
, i = 1, . . . , S. (10.25)
4
T. Sanger, «Optimal Unsupervised Learning in a Single Layer Linear Feedforward Neural Network», Neural
Networks, vol. 12, p. 459-473, 1989.
108 CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN
En effet, dans le cas o` u S = 1, on retombe sur l’´ equation 10.18 :

1
w = η
¸
a
1
p −a
1
1
¸
k=1
a
1 1
w
¸
= η

a
1
p −a
2
1
1
w

(10.26)
Pour mieux visualiser l’´ equation 10.25, on peut la r´ e´ ecrire de la fac¸on suivante :

i
w = η a
i
[p

−a
i i
w] , i = 1, . . . , S, (10.27)
o` u p

est une version modifi´ ee du stimulus p :
p

= p −
i−1
¸
k=1
a
k k
w. (10.28)
qui d´ epend de l’indice i du neurone. Pour le premier neurone, i = 1, on obtient donc p

= p. Dans
ce cas, la formule g´ en´ eralis´ ee se r´ eduit ` a la r` egle de Oja, et l’on sait que ce neurone recherchera la
composante principale dans les stimuli.
Pour le deuxi` eme neurone de la couche, i = 2, on obtient :
p

= p −a
1 1
w. (10.29)
Sous l’hypoth` ese que le premier neurone a d´ ej` a converg´ e, on voit que l’on se trouve ` a retrancher
de p une fraction a
1
de la composante principale des stimuli. Ceci ressemble ´ etrangement ` a la
proc´ edure d’orthogonalisation de Gram-Schmidt (voir section 3.1.5). Le second neurone cherchera
donc la composante principale des p

, c’est-` a-dire la seconde composante principale des p. Et ainsi
de suite pour les autres neurones qui chercheront dans un espace r´ eduit des i − 1 composantes
principales pr´ ec´ edentes.
Dans la pratique, contrairement ` a ce qu’on laisse entendre ci-dessus, tous les neurones tendent
` a converger simultan´ ement. N´ eanmoins, la convergence d´ efinitive d’un neurone i d´ ependant de
celle du neurone i −1, les poids
i
w se stabiliseront dans l’ordre croissant de leur indice. Le temps
total d’apprentissage sera cependant inf´ erieur ` a ce qui serait n´ ecessaire pour un apprentissage in-
dividuel des neurones.
En notation matricielle, la r` egle de Hebb g´ en´ eralis´ ee permettant de faire une analyse en S
composantes principales s’exprime de la fac¸on suivante :
∆W(t) = η

a p
T
−LT[a a
T
] W(t)

, (10.30)
o` u LT[.] d´ esigne un op´ erateur matriciel qui met ` a z´ ero tous les ´ el´ ements de son argument au dessus
de la diagonale.
10.4 Apprentissage de Hebb supervis´ e
Nous terminons ce chapitre avec la version supervis´ ee de l’apprentissage de Hebb o` u l’on
remplace la sortie a du r´ eseau par la sortie d´ esir´ ee d :
∆W(t) = d(t) p(t)
T
(10.31)
10.4. APPRENTISSAGE DE HEBB SUPERVIS
´
E 109
et o` u l’on fixe le taux d’apprentissage η = 1. En supposant que la matrice de poids West initialis´ ee
` a 0, on obtient :
W = d
1
p
T
1
+d
2
p
T
2
+· · · +d
Q
p
T
Q
=
Q
¸
q=1
d
q
p
T
q
(10.32)
apr` es la pr´ esentation des Q paires (p
q
, d
q
) d’apprentissage. En notation matricielle, on obtient :
W = [d
1
d
2
· · · d
Q
]

p
T
1
p
T
2
.
.
.
p
T
Q
¸
¸
¸
¸
¸
¸
¸
= DP
T
, (10.33)
avec D = [d
1
d
2
· · · d
Q
] et P = [p
1
p
2
· · · p
Q
].
L’´ equation 10.33 permet de construire ce qu’on appelle une m´ emoire associative lin´ eaire. Elle
permet d’apprendre ` a m´ emoriser Qassociations entre un stimulus p
q
et une r´ eponse d
q
. Supposons
d’abord que tous les stimuli sont orthogonaux et normalis´ es (longueur unitaire). Alors, la r´ eponse
de cette m´ emoire ` a l’un d’entre eux, par exemple p
k
, sera :
a = Wp
k
=

¸
Q
¸
q=1
d
q
p
T
q
¸

p
k
=
Q
¸
q=1
d
q

p
T
q
p
k

. (10.34)
Or, puisque tous les stimuli sont orthogonaux et normalis´ es, on a :

p
T
q
p
k

=

1 si q = k
0 autrement
, (10.35)
et a = d
k
. La r´ eponse pour un stimulus d’apprentissage est donc la sortie d´ esir´ ee qui lui est
associ´ ee, ` a condition que les stimuli soient orthonormaux. Dans le cas o` u ils ne seraient plus
orthogonaux (mais toujours normalis´ es), on obtiendrais :
a = Wp
k
= d
k
+
¸
q=k
d
q

p
T
q
p
k

, (10.36)
o` u la somme ci-dessus repr´ esente un terme d’erreur par rapport ` a la r´ eponse d´ esir´ ee, engendr´ e par
la non orthogonalit´ e des stimuli.
10.4.1 R` egle de la matrice pseudo-inverse
De nouveau, nous constatons que la r` egle de Hebb seule n’est pas suffisante pour produire le
r´ esultat souhait´ e dans le cas g´ en´ eral, ` a savoir :
Wp
q
= d
q
, q = 1, . . . , Q. (10.37)
Une m´ ethode pour y arriver consiste ` a d’abord d´ efinir un indice de performance F quadratique ` a
minimiser, semblable ` a ce que nous avons utilis´ e pour le perceptron (voir chapitre 5) :
F(W) = ||D−WP||
2
, (10.38)
110 CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN
a
Entrée Couche de S neurones
a = hardlims(Wp)
W
p
n
30 x 1
30 x 30
30 x 1 30 x 1
30 30
FIG. 10.3 – R´ eseau auto-associatif pour la reconnaissance de chiffres.
o` u D− WP est la forme matricielle de l’´ equation 10.37. Nous avons d´ ej` a d´ emontr´ e ` a la section
pr´ ec´ edente que F(W) = 0 lorsque les stimuli d’apprentissage sont orthonormaux. Ensuite, pour
minimiser l’´ equation 10.38 dans le cas g´ en´ eral, il faudrait que D− WP → 0 et donc que W =
DP
−1
. Or, la matrice P n’est g´ en´ eralement pas carr´ ee (sauf si P = Q) et ne peut donc pas ˆ etre
invers´ ee. Pour contourner cette difficult´ e, il faut faire appel ` a la matrice pseudo-inverse P
+
de
Moore-Penrose d´ efinie par :
P
+
= (P
T
P)
−1
P
T
(10.39)
`
A condition que les stimuli de Psoient ind´ ependants, la matrice (P
T
P) peut toujours ˆ etre invers´ ee
et on obtient :
P
+
P = (P
T
P)
−1
P
T
P
= (P
T
P)
−1
(P
T
P)
= I. (10.40)
Ainsi, en fixant :
W = DP
+
, (10.41)
on obtient la r` egle dite de la «matrice pseudo-inverse» pour construire notre m´ emoire associative
lin´ eaire. Contrairement ` a celle de l’´ equation 10.33, cette r` egle produira toujours la r´ eponse d´ esir´ ee
pour n’importe quel stimulus qui a servi ` a l’apprentissage. Pour un stimulus n’ayant pas servi ` a
l’apprentissage, elle produira une r´ eponse d’autant plus proche de celle d’un stimulus d’apprentis-
sage que ce premier est proche de ce dernier.
10.4.2 Exemple d’auto-association
La figure 10.3 illustre un r´ eseau auto-associatif permettant d’apprendre ` a reconnaˆıtre des
chiffres repr´ esent´ es par une matrice binaire de 5 × 6 pixels (voir figure 10.4). Pour entraˆıner
un tel r´ eseau, il suffit de construire des stimuli et des r´ eponses d´ esir´ ees en assemblant des vecteurs
de bits ` a partir de la concat´ enation des lignes de pixels. Apr` es entraˆınement avec l’´ equation 10.41,
10.4. APPRENTISSAGE DE HEBB SUPERVIS
´
E 111
FIG. 10.4 – Prototypes pour l’apprentissage auto-associatif des chiffres «0», «1» et «2».
(a) (b) (c)
FIG. 10.5 – Exemples de r´ eponses du r´ eseau auto-associatif de la figure 10.3 pour des stimuli
d´ egrad´ es ou bruit´ es : (a) chiffres 0 ; (b) chiffres 1 ; et (c) chiffres 2.
dans une certaine mesure, le r´ eseau sera capable de produire en sortie des chiffres complets mˆ eme
si les stimuli d’entr´ ee sont incomplets ou bruit´ es. Par exemple, retirer la moiti´ e inf´ erieure des pixels
des chiffres n’affecte aucunement la sortie du r´ eseau, comme le montre la figure 10.5 (premi` ere
ligne). Par contre, si l’on retire davantage de pixels (67% des pixels ; voir seconde ligne de la fi-
gure), alors seul le «1» est reconnu correctement. Dans le cas du «0», le r´ eseau ne produit rien de
coh´ erent alors que pour le «2», il produit un «1». Finalement, si l’on bruite les stimuli de nos trois
chiffres (troisi` eme ligne de la figure), on constate que le r´ eseau n’a aucun probl` eme ` a reconstruire
les r´ eponses d´ esir´ ees. Ceci illustre bien la robustesse d’une m´ emoire associative lin´ eaire.
112
Chapitre 11
R´ eseau RBF
Dans ce chapitre, nous allons ´ etudier les r´ eseaux dits ` a «fonction de base radiale»
1
. Nous
avons vu au chapitre 5 qu’il est possible d’approximer n’importe quelle fonction ` a l’aide d’un per-
ceptron en int´ egrant une couche cach´ ee de neurones sigmo¨ıdes et une couche de sortie de neurones
lin´ eaires, comme ` a la figure 5.10 (page 50). Dans ce cas, on obtient les sorties suivantes pour le
r´ eseau :
a
2
= purelin(W
2
a
1
−b
2
) = W
2
a
1
−b
2
(11.1)
Simplifions ce r´ eseau au cas d’un seul neurone de sortie (S
2
= 1), posons a
2
=
ˆ
f et annulons les
biais de la couche de sortie pour simplifier (b
2
= 0). On obtient alors :
ˆ
f = W
2
a
1
=
S
1

j=1
w
1,j
a
1
j
, (11.2)
o` u a
1
= [a
1
1
a
1
2
. . . a
1
S
1
]
T
correspond aux sorties des neurones de la couche cach´ ee, et w
1,j
au poids
qui relie le neurone cach´ e j ` a la sortie unique de notre r´ eseau. En interpr´ etant les a
1
j
comme des
bases (voir section 3.1.2), on remarque imm´ ediatement que l’´ equation 11.2 permet d’approximer
la fonction f ` a l’aide d’une combinaison lin´ eaire de celles-ci. La probl´ ematique de l’apprentissage
d’un tel perceptron consiste, premi` erement, ` a trouver des bases ad´ equates pour effectuer l’approxi-
mation recherch´ ee et, deuxi` emement, ` a trouver les bon coefficients de la combinaison lin´ eaire. Les
bases engendr´ ees par la couche cach´ ee du r´ eseau sont en fait des fonctions sigmo¨ıdes que l’on po-
sitionne dans l’espace des entr´ ees. Des travaux th´ eoriques ont montr´ e qu’un tel perceptron poss` ede
la propri´ et´ e d’approximation universelle, c’est-` a-dire qu’il peut approximer n’importe quelle fonc-
tion avec une pr´ ecision arbitraire, ` a condition de disposer de suffisamment de neurones sur sa
couche cach´ ee.
Mais les neurones sigmo¨ıdes ne sont pas les seuls ` a poss´ eder cette capacit´ e d’approximation
universelle. De nombreuses autres fonctions la poss` ede aussi, dont les fonctions radiales qu’uti-
lisent les r´ eseaux RBF. Il est important de se rappeler qu’un neurone sigmo¨ıde agit partout dans
son espace d’entr´ ee. Il passe une fronti` ere de d´ ecision lin´ eaire qui traverse l’espace de bord en
bord. En ce sens, lorsqu’un un stimulus est pr´ esent´ e ` a la couche cach´ ee d’un perceptron multi-
couche, tous les neurones de cette derni` ere peuvent contribuer ` a produire la r´ eponse du r´ eseau. Ils
1
En anglais : «Radial Basis Function» (RBF).
113
114 CHAPITRE 11. R
´
ESEAU RBF
Entrée
R
Couche radiale
a = ϕ(p)
S
1
x 1
p
W
1
S
1
x R
R x 1
a
2
= f
Couche linéaire
f = purelin(W
2
a)
S
2
x 1
S
2
a
1
= ϕ
W
2
S
2
x S
1
S
1
FIG. 11.1 – R´ eseau RBF avec fonctions radiales gaussiennes.
travaillent globalement. Ceci explique entre autres pourquoi on ne peut pas utiliser une perceptron
multicouche pour faire de l’apprentissage incr´ emental, comme on peut le faire avec un r´ eseau ART,
par exemple.
Contrairement aux neurones sigmo¨ıdes, les neurones «radiaux» travaillent localement dans
l’espace des entr´ ees. C’est la principale particularit´ e des r´ eseaux RBF. Plusieurs fonctions radiales
peuvent ˆ etre utilis´ ees, mais la plus courante est une fonction φ de type gaussienne multivari´ ee :
φ(x) = exp


(x −
i
w)
T
Σ
−1
(x −
i
w)
2

, (11.3)
o` u Σ d´ esigne une matrice de covariance que l’on pose plus souvent qu’autrement ´ egale ` a σ
2
I et o` u
i
w d´ esigne la position (le centre) du neurone radial dans son espace d’entr´ ee. Ainsi, la r´ eponse ` a
un stimulus p d´ epend d’un voisinage autour du centre, dont la variance σ
2
est ´ egale dans toutes les
directions, avec une d´ ecroissance exponentielle qui d´ epend du carr´ e de la distance entre le stimulus
et le centre :
φ(x) = exp


(x −
i
w)
T
(x −
i
w)

2

= exp


||x −
i
w||
2

2

, (11.4)
o` u || · || d´ esigne la norme euclienne. Un r´ eseau RBF peut alors approximer une fonction f avec
l’expression suivante :
ˆ
f(p) =
S
1

j=1
w
2
1,j
φ
j
(p) (11.5)
o` u w
2
1,j
est le poids de la deuxi` eme couche qui relie le neurone j de la premi` ere couche au neurone
de sortie 1, S
1
est le nombre de neurones sur la premi` ere couche et φ
j
(p) est la fonction radiale
associ´ e au neurone j de cette derni` ere. Dans le cas vectoriel o` u l’on d´ esire plusieurs sorties, on
obtient l’expression suivante :
ˆ
f (p) = W
2
Φ(p) (11.6)
o` u Φ = [φ
1
φ
2
, . . . , φ
S
1]
T
dont le r´ eseau ´ equivalent est illustr´ e ` a la figure 11.1.
11.1. ENTRA
ˆ
INEMENT D’UN R
´
ESEAU RBF 115
11.1 Entraˆınement d’un r´ eseau RBF
Pour entraˆıner le r´ eseau RBF, on peut utiliser plusieurs strat´ egies. La premi` ere consiste ` a op-
timiser simultan´ ement tous les param` etres du r´ eseau, par exemple, en utilisant la r´ etropropagation
des erreurs. Il s’agit de la position des centres des fonctions radiales, de leur variance et, fina-
lement, des poids de la couche lin´ eaire de sortie. Malheureusement, cette approche comportent
certaines difficult´ es li´ ees ` a la nature tr` es diff´ erente de ces deux couches et de leur dynamique
de convergence. La premi` ere couche, constitu´ ee de neurones non lin´ eaires agissant localement
dans l’espace des entr´ ees, a plut ˆ ot tendance ` a converger lentement, alors que la seconde, avec ses
neurones lin´ eaires, converge g´ en´ eralement tr` es rapidement. Ces dynamiques tr` es diff´ erentes pro-
voquent souvent une stagnation de l’apprentissage autour d’un minimum local parfois tr` es ´ eloign´ e
de l’optimum global.
Ce qu’il importe de remarquer ici est que les deux couches du r´ eseau RBF r´ ealisent des
fonctions distinctes. En ce sens, on peut tr` es bien proc´ eder ` a leur apprentissage en deux ´ etapes
´ egalement distinctes. La premi` ere consistant ` a estimer la position des centres des neurones radiaux
puis ` a estimer leur variance, et la deuxi` eme ` a estimer les poids de la couche lin´ eaire.
Une premi` ere alternative pour le positionnement des centres consiste simplement ` a les distri-
buer uniform´ ement dans l’espace des entr´ ees. Cette solution comporte cependant des limitations
´ evidentes, tout particuli` erement lorsque cet espace d’entr´ ee est de grande dimension.
Une seconde alternative est de fixer les centres sur certains stimuli p
k
choisis al´ eatoirement
parmi l’ensemble des donn´ ees d’apprentissage. Dans ce cas, on peut imposer comme fonction
radiale une gaussienne isotrope normalis´ ee et centr´ ees sur
i
w
1
= p
k
:
φ
i
(p) = exp


S
1
δ
2
max
||p −
i
w
1
||
2

, (11.7)
o` u S
1
correspond au nombre total de neurones radiaux, δ
2
max
au carr´ e de la distance maximum
entre leurs centres et
i
w
1
` a la position de ces derniers. Ce choix de fonction radiale entraˆıne un
´ ecart type fixe de σ = δ
max
/

2S
1
pour tous les neurones. Il permet de garantir des fonctions
radiales ni trop pointues ni trop aplaties, ces deux extrˆ emes ´ etant ` a ´ eviter autant que possible. Il
ne reste plus qu’` a estimer les poids de la couche lin´ eaire en utilisant, par exemple, la r` egle de la
matrice pseudo-inverse (voir section 10.4.1) :
W
2
= DP
+
(11.8)
o` u D = [d
1
d
2
· · · d
Q
] est la matrice des r´ eponses d´ esir´ ees pour le r´ eseau, P = [Φ
1
Φ
2
· · · Φ
Q
] est
la matrice des r´ eponses de la couche radiale et P
+
la matrice pseudo-inverse de P.
Finalement, une troisi` eme alternative consiste ` a positionner les centres des neurones radiaux
` a l’aide de l’une ou l’autre des m´ ethodes d’apprentissage non supervis´ e ´ etudi´ ees aux chapitres 6 ` a
9 (nu´ ees dynamiques, Kohonen, GNG ou Fuzzy ART). Une fois les centres positionn´ es, il ne reste
plus qu’` a estimer les σ
i
en utilisant, par exemple, la partition (floue ou non floue ; voir chapitre
6) des stimuli engendr´ ee par le processus comp´ etitif des neurones, puis ` a estimer les poids de
la couche lin´ eaire ` a l’aide d’une m´ ethode supervis´ ee comme la r` egle LMS (voir section 5.2) ou,
comme ci-dessus, celle de la matrice pseudo-inverse.
116 CHAPITRE 11. R
´
ESEAU RBF
En conclusion, mentionnons que la principale difficult´ e des r´ eseaux RBF concerne la question
du nombre de neurones radiaux ` a utiliser pour une application donn´ ee. A priori, il n’existe pas de
m´ ethode pour fixer leur nombre, et cette architecture souffre de fac¸on particuli` erement aigu¨ e de
ce qu’on appelle la «mal´ ediction de la dimension»
2
, ` a savoir l’augmentation exponentielle du
nombre de neurones cach´ es requis en fonction de la dimension R de l’espace d’entr´ ee. Lorsque R
est grand, une fac¸on d’att´ enuer ce probl` eme consiste ` a remplacer les hyper-sph` eres qui r´ esultent
de l’imposition d’une variance fixe par des hyper-ellipses o` u la matrice de covariance n’est plus
contrainte. On peut ainsi r´ eduire le nombre de neurones ` a positionner au d´ etriment du nombre de
param` etres ` a estimer.
2
En anglais : «curse of dimensionality».
Bibliographie
[1] M.T. Hagan, H.B. Demuth, M. Beale, «Neural Network Design», PWS Publishing Compa-
gny, 1995.
[2] J.C. Principe, N.R. Euliano, W.C. Lefebvre, «Neural and Adaptive Systems : Fundamentals
through Simulations», Wiley, 2000.
[3] Simon Haykin, «Neural Networks : A Comprehensive Foundation», IEEE Press, 1994.
[4] J.A. Freeman, D.M. Skapura, «Neural Networks : Algorithms, Applications, and Program-
ming Techniques», Addison-Wesley, 1992.
[5] R.P. Lippmann, «An Introduction to Computing with Neural Nets», IEEE ASSP Magazine,
pp. 4-22, avril 1987.
[6] R. Krishnapuram, J.M. Keller, «A Possibilistic Approach to Clustering», IEEE Transactions
on Fuzzy Systems, vol. no. 2, p. 98-110, 1993.
[7] Bernd Fritzke, «A Growing Neural Gas Network Learns Topologies», Advances in Neural
Information Processing Systems 7, G. Tesauro, D.S. Touretzky et T.K. Leen (´ editeurs), MIT
Press, Cambridge MA, 1995.
[8] G.A. Carpenter, S. Grossberg, N. Markuzon, J.H. Reynolds, D.B. Rosen, «Fuzzy ARTMAP :
A neural network architecture for incremental supervised learning of analog multidimensional
maps», IEEE Transactions on Neural Networks, vol. 3, no. 5, p. 698-713, 1992.

Table des mati` res e
1 Introduction 1.1 1.2 1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 4 5 5 8

2 Mod` le de neurone et r´ seau e e 2.1 2.2 2.3 2.4 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mod` le d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e

Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Architecture de r´ seau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 e 17

3 Alg` bre lin´ aire e e 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.2 3.2.1 3.2.2 3.2.3

D´ finition d’un espace vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 e D´ pendance lin´ aire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 e e Bases et dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Orthogonalit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 e Repr´ sentations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . 22 e Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . 25 27

Transformations lin´ aires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 e

4 Processus d’apprentissage 4.1 4.2 4.3 4.4

Par correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Par la r` gle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 e Comp´ titif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 e Probl` me de l’affectation du cr´ dit . . . . . . . . . . . . . . . . . . . . . . . . . . 33 e e i

ii 4.5 4.6 4.7 4.8

` TABLE DES MATIERES Supervis´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 e Par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Non-supervis´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 e Tˆ ches d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 a 39

5 Perceptron multicouche 5.1 5.2 5.3

Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 R` gle LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 e R´ seau multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 e 5.3.1 5.3.2 5.3.3 Probl` me du «ou exclusif» . . . . . . . . . . . . . . . . . . . . . . . . . . 48 e Approximation de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Calcul des sensibilit´ s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 e Algorithme d’entraˆnement . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ı Crit` res d’arrˆ t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 e e Ph´ nom` ne de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 e e Groupage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Taux d’apprentissage variable . . . . . . . . . . . . . . . . . . . . . . . . 60 Autres consid´ rations pratiques . . . . . . . . . . . . . . . . . . . . . . . 60 e

5.4

R´ tropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 e 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.4.6 5.4.7 5.4.8

5.5 5.6

M´ thode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 e M´ thode du gradient conjugu´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 e e 5.6.1 5.6.2 Algorithme du gradient conjugu´ . . . . . . . . . . . . . . . . . . . . . . 64 e Recherche du minimum le long d’une droite . . . . . . . . . . . . . . . . . 65 69

6 Nu´ es dynamiques e 6.1 6.2 6.3

K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Fuzzy K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Possibilistic K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 79

7 R´ seau de Kohonen e 7.1 7.2 7.3 7.4

Algorithme de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Propri´ t´ s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ee Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 R´ seau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 e

. . . . . . . . . . . . . .2 R` gle de Oja . . . . . . . . . . . . . . . . .2 Fuzzy ART . . . . . . . . 106 e 10. . . . . .2 iii 89 Algorithme . . . . . . . . . . . .` TABLE DES MATIERES 8 R´ seau GNG e 8. . . . . . . . . . . . . . . . . . . .1 R` gle de la matrice pseudo-inverse . . . .1 R` gle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . . . . . . . . . . .2 Exemple d’auto-association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 e 10. . . 89 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 R` gle de Sanger . 94 Fuzzy ARTmap . . . . . 107 e 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 9. . . .1 Entraˆnement d’un r´ seau RBF . . . . . 110 11 R´ seau RBF e 113 11. . 106 e 10. . . 115 ı e . . . . . 91 93 9 Architectures ART 9. . . .4 Apprentissage de Hebb supervis´ . . . . .1 8. . . . . 108 e 10. . . . . . . . . . 98 103 10 ACP et apprentissage hebbien 10. . . . . . . . . . . . . . . . . . . . . . . . .

.1 3. (c) taux (trop) elev´ . . . . . . .7 . . . . . . . . 15 Diff´ rents sous-ensembles de e 2 : (a) r´ gion rectangulaire . . . . . . . . . . . . . . . . . . . . . 32 Sch´ ma bloc de l’apprentissage supervis´ . . . . . . . . . . . . . . . . . (b) du neurone «lin´ aire». . . 41 e e e ` Exemple d’un probl` me a deux classes (points noirs vs points blancs). . . (c) plan. . . . . . . e 8 9 Repr´ sentation matricielle du mod` le d’un neurone artificiel. . . . . . . . . . . . . . . . .1 2. . . . . . . . . . .3 5. . . 29 Repr´ sentation graphique de la r` gle «instar» lors d’une activit´ post-synaptique e e e positive. . . . . . . . . 13 Repr´ sentation matricielle d’une couche de S neurones. . . . . . . . . . . . . . . . 12 ı Couche de S neurones.2 3. . . . . . . . . . 40 ` Fronti` re de d´ cision pour un perceptron simple a 1 neurone et deux entr´ es. . (b) taux moyen .1 5. . . . . . . . . . . . . . . . . . . . . . . . . . .2 5. . . . . . . . . . 44 e Trajectoire de la descente du gradient pour diff´ rents taux d’apprentissage : (a) e taux faible . . . . . 42 e ` Exemples de probl` mes non lin´ airement s´ parables.3 5. . e Sch´ ma d’un neurone biologique. . . . . . . . . . . . . 47 ´ e R´ seau multicouche pour r´ soudre le probl` me du «ou exclusif». . 24 Trajectoire de la descente du gradient.8 3. . . . . . . . . . . . . . . . 14 e e ´e El´ ment de retard. . . . . . . . . . . . . . . . . . 34 e e Perceptron a une seule couche avec fonction seuil. . (b) rotation des vecteurs de base v1 et v2 . . . . . .7 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 e e e R´ seau ADALINE. . . .3 2. . . . .6 5. (b) droite . . . .2 4. . . . . . . . . . . . . . . . .3 Mod` le d’un neurone artificiel. 10 e e Fonction de transfert : (a) du neurone «seuil» .4 5. . 48 e e e v 4. . . . . . . 18 e Illustration de la m´ thode de transformation orthogonale Gram-Schmidt. . . .4 2. . . . . . . . . . . . . . . . . . 22 e Transformation de rotation : (a) rotation du vecteur x . . . . . . . . . . . 14 e Repr´ sentation matricielle d’un r´ seau de trois couches. . . . . . . .2 2. .Table des figures 2. . . . . . . . . . . . .1 4. et (c) e du neurone «sigmo¨de». . . . . . . . . . . . . .5 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 2. . . . . . .5 5. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Etape de localisation d’un intervalle initial de recherche. . . . . . . et (d) concave ferm´ e. . . . . 81 Algorithme de Kohonen. . . (b) Λ18 = 1 . . . . . 67 Couche comp´ titive de S = K neurones. . . . . . . . . . . . . 80 Exemple de d´ croissance (a) du taux d’apprentissage et (b) de la fenˆ tre de voisie e nage en fonction du temps. . . .5 7. . . . . . . . . . . . 57 5. . . . . . . . 6. Les stimuli d’apprentissage e ` sont distribu´ es uniform´ ment a l’int´ rieur d’un triangle. . 57 e 5. . . . . . .13 Illustration du ph´ nom` ne de sur-apprentissage pour le cas simple d’une approxie e mation de fonction. . .4 6. .11 Exemples de fronti` res de d´ cision : (a) convexe ouverte . (b) cas avec bruit.16 Illustration de la m´ thode du gradient conjugu´ . . . . . . . . . . . . . . . . . . .15 Exemple d’un neurone satur´ . . . . . . . . . . .7). . 66 < Fd . . . . . . . . 49 e e e 5. . . . . . .6 7. . . . . . . . . . . 50 e 5. . .12 Repr´ sentation matricielle d’un r´ seau de trois couches (reproduction de la figure e e 2. .7 7. . . . . . . . . . . . . . .5 6. . . . . . . . . . . .1 7. . 49 Fronti` re de d´ cision engendr´ e par le neurone qui effectue une conjonction. . . . . . . . . . . . .vi 5. . . . . . . . . . . . . 85 e e e e ` . . . . . . . . . .2 6. . . . . . . . . . . . . . . .2 7. . . . . . . . . . . . . . . . 73 Exemple d’une partition floue a deux classes. . . . . . . . . . 70 e Algorithme du «k-means». . .3 6. . . . . . . . . . . . . . . . . . .8 5. 71 Example d’une partition rigide en deux classes : (a) cas sans bruit . . . . . . .8 . 50 e 5. . . . . .4 7. . . . . . . 58 e 5. . . 65 . . . . . . . . . . . . . . . . . . . . 77 R´ seau de Kohonen avec carte rectangulaire de S = 6 × 7 = 42 neurones. . . . . (b) convexe ferm´ e . . . . . . . . . . . . . . . . . .14 Illustration de la validation crois´ e. . . . . . . . . . . . . . Les stimuli d’apprentise ` sage sont distribu´ es uniform´ ment a l’int´ rieur d’un carr´ . . . . . . . . . . . . . . . . . . ´ 5. . . . . . .1 6. . . . . . . . . . . . 83 Illustration de la relation entre la carte auto-organis´ e Φ et le vecteur g w du e neurone gagnant pour le stimulus p. . . . . . . . . (c) neurone 1 de la couche 2. . . . . . . . . . . . . . . . . .9 TABLE DES FIGURES Fronti` res de d´ cision engendr´ es par le r´ seau de la figure 5. . . . . . . . . . . .18 Etape de r´ duction de l’intervalle de recherche : (a) cas o` Fc e u Fd < Fc . . . . . . . . . . . . . . . . . (b) cas o` u . . . . . . . . . 82 Fonction de voisinage gaussienne. . . . 74 ` Algorithme du «possibilistic k-means». . . . 72 Algorithme du «fuzzy k-means». . . . . . 80 e Topologie de voisinage (quatre voisins) pour une carte a deux dimensions : (a) ` Λ18 = 2 . . .6 7. . . . . . . . . . . . 84 Exemple d’une carte auto-organis´ e a une dimension. . . . . . . .10 R´ seau multicouche permettant de faire de l’approximation de fonction. . . . . (c) e e e concave ouverte . . . . . . . . . . . . . . . . . et (c) Λ18 = 0. . . . . . . . . . . . 51 5. . . .7 : (a) neurone 1 de e e e e la couche 1 . . . . . . (b) neurone 2 de la couche 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 e e e ` Exemple d’une carte auto-organis´ e a deux dimensions. . . . . . . . . e e ´ 5. . . . . . . . . . . . . . .3 7. . . . .

(b) chiffres 1 . .9 vii Exemple d’une carte auto-organis´ e a deux dimensions (droite). . . . . . . . . . . . . . . . 92 e ` e e Architecture du r´ seau fuzzy ART. . . 111 e e e 11. . . 86 7.1 Illustration des composantes principales pour un nuage de points en deux dimensions. . . . . . . . . . . . . . . . . . 95 ´e R´ gions associ´ es a i w = [x yc ]T (en trait plein) et a a1 ∩ i w (en trait pointill´ ). . . . . .4 Prototypes pour l’apprentissage auto-associatif des chiffres «0». . . . . . . . . 97 e e ` e ` Architecture du r´ seau fuzzy ARTmap. . .1 R´ seau RBF avec fonctions radiales gaussiennes. . . . . . . . . . . . . . . . . . . . . . . . .10 R´ seau LVQ . . . . . . . . . . . . . . .3 9. . . .1 Exemple d’un GNG entraˆn´ sur des stimuli echantillonn´ s dans un volume en ı e e ´ forme de prisme rectangulaire. . . . . . . . . . «1» et «2». . . . . . . . . . . . . . . . . . . . . . . . . . .1 9. . . . . . . . . .2 R´ seau permettant d’effectuer une analyse en S composantes principales. . . . . . .2 9. . . . 110 e 10. . . . . . . . . . . . . . . . . . sur une surface rectangulaire appos´ e perpendicue lairement a l’une des faces du prisme et a une courbe en forme d’anneau au bout ` ` d’une tige appos´ e a l’une des extr´ mit´ s de la surface.TABLE DES FIGURES 7. . . . . . . . . . . . . . 99 e 9. 94 e Repr´ sentation vectorielle d’un ensemble flou E d´ fini sur un r´ f´ rentiel de deux e e ee el´ ments. . . . . . . . . . . . 87 e 8. . . . . . . . . .3 pour des stimuli e e d´ grad´ s ou bruit´ s : (a) chiffres 0 . . . . . . . . . . 114 e . Les stimuli d’ape ` prentissage sont distribu´ es uniform´ ment a l’int´ rieur d’un volume tridimensione e e ` nel en forme de cactus (gauche). . . 104 10. . . . .5 Exemples de r´ ponses du r´ seau auto-associatif de la figure 10. . . . .3 R´ seau auto-associatif pour la reconnaissance de chiffres. . . . et (c) chiffres 2. . . . 111 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 e 10. .4 10.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte de clasee e sement. . . . .1 9. . . . . . . .2 Fonctions de transfert a = f (n). . 101 Valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte d’apee e proximation de fonction.Liste des tableaux 2. . . . . . . . . . . . . . . . . . . . . 101 ix . . .1 9. . . . . . . . . .

fabriqu´ s de structures cellulaires artificielles. d’apprentissage hebbien. certains membres de la famille des r´ seaux ART («Adape tive Resonance Theory»). ¸ e e ´ ` Nous aborderons egalement certaines notions relatives aux ensembles flous et a la logique dans la mesure o` ces derniers sont incorpor´ s dans certaines des architectures de r´ seaux de neurones u e e ´ que nous etudierons. nous mettrons autant l’emphase sur l’analyse math´ matique de ces r´ seaux e e que sur la facon de les utiliser dans la pratique pour r´ soudre des probl` mes concrets. none e ´ supervis´ et. le «Growing Neural Gas» (GNG). nous etudierons en d´ tails e e diff´ rentes architectures de r´ seau de neurones dont le perceptron multicouche. finalement.Chapitre 1 Introduction Les r´ seaux de neurones. Le chapitre 4 pr´ sente quant a lui la probl´ matique g´ n´ rale de l’apprentissage en d´ crivant e e e e e ˆ les principales r` gles pouvant etre utilis´ es ainsi que les diff´ rents types d’approche. comp´ titif. e e d’apprentissage et de raisonnement. e mais plutˆ t d’en comprendre les m´ canismes internes fondamentaux et de savoir comment et quand o e les utiliser. d’apprentissage par renforcement. ee ´ e e Nous aborderons dans ce cours les principales architectures de r´ seaux de neurones que l’on e ´ retrouve dans la litt´ rature. le «Radial Basis Function» (RBF) et le «Support Vector Machine» (SVM). de m´ moire. constituent une ape e proche permettant d’aborder sous des angles nouveaux les probl` mes de perception. Ainsi. Il ne s’agit pas de les etudier toutes. puis pr´ sente e un bref historique du domaine des r´ seaux de neurones avant de terminer par un survol de leurs e diff´ rentes applications. supervis´ . ´ Le reste de ce chapitre elabore davantage sur les objectifs poursuivis par ce cours. Ils s’av` rent aussi des alternatives tr` s prometteuses pour e e contourner certaines des limitations des ordinateurs classiques. le r´ seau de Kohoe e e nen. car elles sont trop nombreuses. rappels qui seront forts utiles e e ´ tout au long de cet ouvrage lorsque nous etudierons diff´ rentes architectures de r´ seaux de neue e ` rones. Le chapitre 2 introduit ensuite le mod` le math´ matique du neurone artie e e ´ ficiel et etablit une notation coh´ rente qui sera suivie tout au long des chapitres subs´ quents. Nous traiterons aussi de l’algorithme du «K-means» qui s’apparente au r´ seau de Kohoe 1 . nous e e e aborderons les notions de correction d’erreur. Grˆ ce a leur traitement parall` le a ` e ` de l’information et a leurs m´ canismes inspir´ s des cellules nerveuses (neurones). Par la suite. ils inf` rent des e e e propri´ t´ s emergentes permettant de solutionner des probl` mes jadis qualifi´ s de complexes. En ce sens. Le e e chapitre 3 effectue un certain nombre de rappels en alg` bre lin´ aire.

faisons un peu d’histoire. ee 1. Chacun d’entre eux est d’ailleurs pr´ c´ d´ d’une introduction qui permet de e e e situer l’article dans son contexte. je l’esp` re. Les sp´ cialistes des neurones biologiques (ceux qui ?uvrent en neurophysiologie) e ` ` commencent a peine a comprendre quelques uns de leurs m´ canismes internes. peut-on construire des mod` les approximatifs de neurones et les entraˆner pour. il s’agit de tissu vivant et de chimie. nous omettrons e ` parfois d’ajouter le mot «artificiel» a la suite de «neurone» et de «r´ seau de neurones». sauf lorsque mention explicite du contraire.2 Histoire De nombreux ouvrages ont permis de documenter l’histoire des recherches en r´ seaux de e ´ e neurones. e e et c’est l’objectif du cours de vous montrer comment on peut y arriver sans salir son linge ! Pour ce qui est de la r´ ponse longue (plus d´ taill´ e).1 Objectifs Le cerveau humain contient environ 100 milliards de neurones. eventuele ı lement. ainsi que de l’analyse en composantes principales (ACP) via un apprentissage hebbien.2 CHAPITRE 1. y compris celle de la m´ moire.. entre autre. On croit en g´ n´ ral e e e que leurs diff´ rentes fonctions neuronales. mˆ me si les r´ seaux que e a e e e nous allons d´ velopper ne poss` dent qu’une infime fraction de la puissance du cerveau humain. ˆ Des th´ ories r´ centes sugg` rent au contraire que l’information pourrait etre stock´ e au niveau de la morphologie e e e e des connexions (des dendrites) . sont stock´ es au niveau e e e des connexions (synapses) entre les neurones. Ceci nous am` ne a poser une question fondamentale : en ce basant sur nos connaissances e ` ´ actuelles. en actionnant votre c ?ur qui assure une circulation efficace de ce sang pour nourrir vos cellules. e e e e Mais avant d’y arriver. Ces neurones vous permettent. e 2 ` Ce cours traitant exclusivement des r´ seaux de neurones artificiels (par opposition a biologique). 1 . INTRODUCTION nen. etc. de lire ce texte tout en maintenant une respiration r´ guli` re permettant d’oxyg´ ner e e e votre sang.. Ils vous permettent mˆ me. C’est ce genre de th´ orie1 qui a inspir´ la plupart e e 2 des architectures de r´ seaux de neurones artificiels que nous aborderons dans ce cours. sachant qu’il est toujours e sous-entendu. En particulier. soit a en modifier des existantes. Essentiellement. la r´ ponse courte est «oui». elle suit dans les chapitres subs´ quents. L’apprene `´ ` tissage consiste alors soit a etablir de nouvelles connexions. 1. r´ aliser des tˆ ches utiles ? Eh bien. mais ceci est totalement en dehors du cadre de ce cours (ainsi que du domaine de comp´ tence du professeur !). le livre intitul´ «Neurocomputing : Foundations of Research» edit´ par e John Anderson et Edward Rosenfeld est une compilation de 43 articles qui ont marqu´ le domaine e sur le plan historique. de comprendre les id´ es que je tente de vous e e e transmettre ! Chacun de ces neurones est par ailleurs fort complexe. Ces notes de cours sont d´ riv´ es d’un certain nombre d’ouvrages dont les principaux sont e e ´ enum´ r´ s en annexe.

e e on pouvait. en psychologie et en neurophysiologie ` ´ par des scientifiques tels Hermann von Helmholtz. calculer n’importe quelle fonction arithm´ tique ou logique. e ` Bri` vement. les premi` res recherches remontent a la fin du 19e et au d´ but du 20e si` cle. les m´ decins ont commenc´ a le consid´ rer comme une e e e` e pompe et ont donc concu des exp´ riences pour tenter de comprendre son fonctionnement. A cette epoque. Beaucoup e e e e e ´e de gens ont et´ influenc´ s par cette d´ monstration qu’ils ont g´ n´ ralement mal interpr´ t´ e. Ernst Mach et Ivan Pavlov. un livre publi´ par Marvin Minsky et Seymour Papert est venu jeter e e beaucoup d’ombre sur le domaine des r´ seaux de neurones. ou un nouveau point de vue a propos d’un sujet. consid´ rons le c ?ur humain. Premi` rement. Nous les etudierons e e tous les deux au chapitre 5. Bernard Widrow et Ted e e e e Hoff ont propos´ un nouvel algorithme d’apprentissage pour entraˆner un r´ seau adaptatif de neue ı e ´ rones lin´ aires. e e e e e . Ils e e e e consistent en de travaux multidisciplinaires en physique. Donald Hebb a ensuite propos´ une th´ orie fondamentale pour l’apprentissage. il importe aussi de poss´ der des outils technologiques permettant de construire e e des syst` mes concrets. ces deux auteurs e ont d´ montr´ les limitations des r´ seaux d´ velopp´ s par Rosenblatt et Widrow-Hoff.1. e e e e ´ Deuxi` mement. il a et´ d´ montr´ par la suite que ce perceptron simple ne pouvait e r´ soudre qu’une classe limit´ e de probl` me. Quelque part au 17e si` cle. qui vient e ` jeter une lumi` re l` o` il n’y avait qu’obscurit´ . ce qui ¸ e ´ a eventuellement permis une compr´ hension du syst` me sanguin. en principe. il ime e ` porte de poss´ der un nouveau concept. On s’entend e o e e e e e pour dire que la naissance du domaine des r´ seaux de neurones artificiels remonte aux ann´ es e e 1940 avec les travaux de Warren McCulloch et Walter Pitts qui ont montr´ qu’avec de tels r´ seaux. il s’agissait de th´ ories plutˆ t g´ n´ rales sans mod` le math´ matique pr´ cis d’un neurone. L’histoire des r´ seaux de neurones est donc tiss´ e a travers des d´ couvertes conceptuelles et e e ` e ` ´ des d´ veloppements technologiques survenus a diverses epoques. La premi` re application concr` te des r´ seaux de neurones artificiels est survenue vers la fin e e e des ann´ es 1950 avec l’invention du r´ seau dit «perceptron» par un d´ nomm´ Frank Rosenblatt. Malheureusement. HISTOIRE 3 ` Deux ingr´ dients sont a la base de tout avancement des connaissances. Vers la fin des ann´ es 1960. Environ au mˆ me moment.2. Sans le concept de pompe. e e e ` Nous y reviendrons d’ailleurs a plusieurs reprises dans les chapitres suivants. On sae e vait aussi math´ matiquement reconstruire des images de radiographie en coupe (tomographie) bien e avant de poss´ der les ordinateurs et les algorithmes capables d’effectuer efficacement les calculs e requis dans un temps raisonnable. e 3 ` Un canadien qui a pass´ la majorit´ de sa carri` re acad´ mique a l’Universit´ McGill. A e a u e e ´ diff´ rentes epoques on le consid´ rait comme le centre de l’ˆ me ou encore comme une source e e a de chaleur. d’autant plus qu’on ne disposait pas a e l’´ poque d’ordinateurs suffisamment puissants pour effectuer des calculs complexes. Vers la fin e 3 des ann´ es 1940. etc. Entre autres choses. on connaissait les th´ ories physiques permettant d’envisager e e la conception d’une bombe atomique bien avant d’ˆ tre capable de r´ aliser une telle bombe. Ils ont e e e e ee ` ´ conclu a tort que le domaine des r´ seaux de neurones etait un cul de sac et qu’il fallait cesser de e ` s’y int´ resser (et de financer la recherche dans ce domaine). dont la structure et les capacit´ s sont similaires au perceptron. Par exemple. e e e e Rosenblatt et ses coll` gues ont construit un r´ seau et d´ montr´ ses habilit´ s a reconnaˆtre des e e e e e ` ı ´e e formes. e e une compr´ hension du c ?ur et du syst` me sanguin en g´ n´ ral etait simplement hors d’atteinte. Par exemple.

qui a litt´ ralement ressuscit´ le domaine des r´ seaux e e e de neurones. c’est un domaine o` bouillonne constamment de nouvelles th´ ories. et e e e e ee ` j’en passe ! Bref. mais aussi d´ couvert plus ou moins en mˆ me e ` e e temps par Paul Werbos et par Yann LeCun. 1. les r´ seaux de neurones ont aujourd’hui un impact consid´ rable et. on a d´ velopp´ un auto-pilote pour avion. Dans ce cours. il y a fort a e e parier. des r´ seaux sont aussi utilis´ s pour bˆ tir e e e e a des syst` mes de vision par ordinateur. en t´ l´ communication. u e de nouvelles structures et de nouveaux algorithmes. en robotique. pour diff´ rents processus manufacturiers. En 1972. Par exemple. Depuis ce temps.3 Applications ` Les r´ seaux de neurones servent aujourd’hui a toutes sortes d’applications dans divers doe maines. . Stephen Grossberg a investigu´ ce qu’on appelle les r´ seaux e e auto-organis´ s (chapitre 9). INTRODUCTION Heureusement. on a concu des syst` mes de lecture automatique de ch` ques bancaires et ¸ e e d’adresses postales. certains chercheurs ont pers´ v´ r´ en d´ veloppant de nouvelles architectures e ee e et de nouveaux algorithmes plus puissants. pour l’exploration p´ troli` re ou gazi` re. g´ n´ ralement ate ` e e e e tribu´ a David Rumelhart et James McClelland. Egalement. Teuvo Kohonen et James Anderson ont d´ velopp´ ind´ pendamment et simultan´ ment de nouveaux r´ seaux pouvant servir de m´ moires e e e e e e ´ associatives (chapitre 7). une pierre d’achoppement a et´ lev´ e par l’invention de l’algorithme de e r´ tropropagation des erreurs (section 5. Cette algorithme est la r´ ponse aux critiques de Minsky e e et Papert formul´ es a la fin des ann´ es 1960. un syst` me pour la synth` se de la parole. on produit des syst` mes de traitement du signal pour diff´ rentes applications e e militaires. que leur importance ira grandissant dans le futur.4 CHAPITRE 1. ou encore un syst` me de guie e e dage pour automobile. C’est ce nouveau d´ veloppement. pour faire des pr´ visions sur les march´ s mon´ taires. nous allons tenter d’en survoler les principaux. pour le diage nostic m´ dical.4). pour e e e e ´ evaluer le risque financier ou en assurance. e ´e e Dans les ann´ es 1980.

– Un «vecteur-rang´ e» est une rang´ e d’une matrice utilis´ e comme un vecteur (donc une e e e rang´ e transpos´ e). e e B. e 2. e e a. e – Les vecteurs seront repr´ sent´ s par des minuscules grasses («bold») non italiques : p. . un r´ seau de neurones e e complet. d’une part. Il n’est pas n´ cessaire ee e de tout m´ moriser d’un seul coup. A. on pourra au besoin s’y rapporter plus tard. Le mod` le que nous pr´ sentons a e e e e ` dans ce chapitre est celui de base. ex. ex. d’autre part. – Les matrices seront d´ not´ es par des majuscules grasses («bold») non italiques : p. a. e e ´ Les principales notations que nous adopterons sont enum´ r´ es ci-dessous. – Une «matrice» d´ signe un tableau de nombres ayant un certain nombre de lignes et de e colonnes. b. .1 Notations Tout au long de cet ouvrage. ex. . e Concepts de base – Les scalaires seront d´ sign´ s par des lettres minuscules italiques : p.Chapitre 2 Mod` le de neurone et r´ seau e e Dans ce chapitre. . . b. C . nous pr´ sentons le mod` le math´ matique que nous emploierons dans les chae e e pitres suivants pour d´ crire. nous pr´ senterons dans les chapitres subs´ quents les diff´ rentes variantes au fur et a mesure e e e qu’il sera n´ cessaire de le faire. . c’est-` -dire un ensemble de neurones reli´ s en r´ seau. e e – Un «vecteur» d´ signe une colonne de nombres. un neurone artificiel et. Il n’est cependant pas uni` versel. c . commun a beaucoup d’architectures. nous tenterons d’adopter une notation math´ matique coh´ rente. c . e e 5 .

dQ )} d´ signe un ensemble de Q associations stimulus/cible e pour l’apprentissage supervis´ . e ee Base d’apprentissage – {(p1 . . (pQ . e e – ak (t) d´ signe l’´ l´ ment i de ak (t).6 Poids d’une couche de neurones ` ´ CHAPITRE 2. e ee i Cibles d’un r´ seau e – d(t) d´ signe un vecteur cible pour les sorties d´ sir´ es d’un r´ seau au temps t. e ee i Sorties d’une couche de neurones – ak (t) d´ signe un vecteur des sorties pour la couche k d’un r´ seau au temps t. e ` – i wk (t) d´ signe le vecteur-rang´ e correspondant a la ligne i de Wk (t). d1 ). . MODELE DE NEURONE ET RESEAU – Wk (t) d´ signe la matrice des poids pour la couche k d’un r´ seau au temps t. e e k e ee e – wi. . e e e ee – bk (t) d´ signe l’´ l´ ment i de bk (t). e e k ` – wj (t) d´ signe le vecteur correspondant a la colonne j de Wk (t). e e . e e e e – di (t) d´ signe l’´ l´ ment i de d(t). (p2 . d2 ). e e e` e e – pi (t) d´ signe l’´ l´ ment i de p(t). j) de Wk (t) (i d´ signe toujours une ligne et j une colonne). i Stimulus d’un r´ seau e – p(t) d´ signe un vecteur stimulus pr´ sent´ a l’entr´ e d’un r´ seau au temps t. e Signaux d’erreur – e(t) = d(t) − a(t) d´ signe un vecteur mesurant l’erreur entre les sorties d´ sir´ es (cible) et e e e les sorties calcul´ es d’un r´ seau au temps t.j (t) d´ signe l’´ l´ ment (i. . e e – nk (t) d´ signe l’´ l´ ment i de nk (t). e ee Niveaux d’activation d’une couche de neurones – nk (t) d´ signe le vecteur des niveaux d’activation pour la couche k d’un r´ seau au temps t. Biais d’une couche de neurones – bk (t) d´ signe le vecteur des biais pour la couche k d’un r´ seau au temps t.

i = 1. ee i i e ∂ ` e e e – f˙(n) = ∂n f (n) d´ signe la d´ riv´ e partielle de f par rapport a n. . . e e – F (x) d´ signe une approximation de F (x). . .. ··· ∂2 F ∂x1 ∂xn ∂2        2 F (x) =       ∂2 F ∂x1 ∂x1 ∂2 ∂x2 ∂x1 ∂2 F ∂x1 ∂x2 ∂2 ∂x2 ∂x2  F F – . ∂2 F ∂xn ∂x1 . telles que calcul´ es par la fonction e e k k de transfert f appliqu´ e sur chacun des ni .      · · · f˙(nS ) Notations diverses – ||x|| d´ signe la norme du vecteur x. e – F (x) = ∂F ∂F ∂x1 ∂x2 ∂F · · · ∂xn T d´ signe le vecteur gradient de F (x).        . . e e – Q d´ signe le nombre d’associations pour l’apprentissage.1. e ··· ··· . . NOTATIONS – ei (t) d´ signe l’´ l´ ment i de e(t). . 0 0 .    – λi d´ signe une valeur propre d’une matrice. e . 0 0 f˙(n2 ) . . e – f k (nk ) = ak d´ signe l’´ l´ ment i de f k (nk ). S . .. e e 7 Fonctions de transfert d’une couche de neurones – f k (nk ) = ak d´ signe le vecteur des sorties de la couche k. .2. . e – R d´ signe la dimension des stimulus d’entr´ e. .       ˙ – F(n) =        f˙(n1 ) 0 . . . 0 ··· 0 . ∂2 F ∂xn ∂x2 ∂2 F ∂xn ∂xn    F   ∂x2 ∂xn   d´ signe la matrice «hessienne» de F (x).  . e ee Dimensions – M d´ signe le nombre de couches d’un r´ seau. . e  . e – F (x) d´ signe un indice de performance (une fonction) appliqu´ sur le vecteur x. e e – S k d´ signe le nombre de neurones sur la couche k d’un r´ seau. e – zi d´ signe un vecteur propre. ..

1 p1 + w1. ´ que l’on peut aussi ecrire sous forme matricielle : n = wT p − b. Sinon.1 – Mod` le d’un neurone artificiel. En suivant les notations pr´ sent´ es a la section pr´ c´ dente. Les dendrites forment un maillage de r´ cepteurs nerveux qui permettent d’acheminer vers le corps du e ´ neurone des signaux electriques en provenance d’autres neurones. Le r´ sultat n de la somme pond´ r´ e s’appelle le niveau d’activation du neurone. alors que w = [w1.2 p2 + · · · + w1. il est n´ gatif. e e On peut faire un parall` le entre ce mod` le math´ matique et certaines informations que l’on e e e ` connait (ou que l’on croit connaˆtre) a propos du neurone biologique. Celui-ci agit comme un esp` ce e ´ d’int´ grateur en accumulant des charges electriques. Lorsque le neurone devient suffisamment exe ´ cit´ (lorsque la charge accumul´ e d´ passe un certain seuil). le corps cellulaire et l’axone (voir figure 2. Lorsque le niveau d’activation atteint ou d´ passe le seuil b.2).1 … pR w1. e e e . e ee Le biais b s’appelle aussi le seuil d’activation du neurone. La sortie n de l’int´ grateur est donn´ e par l’´ quation suivante : e e e R n = j=1 w1.1) = w1.1. Un neurone est ese e e` sentiellement constitu´ d’un int´ grateur qui effectue la somme pond´ r´ e de ses entr´ es. les R entr´ es du neurones core e ` e e e T T respondent au vecteur p = [p1 p2 · · · pR ] .R ] repr´ sente le vecteur e des poids du neurone. Le r´ sultat e e ee e e n de cette somme est ensuite transform´ e par une fonction de transfert f qui produit la sortie a du e neurone.j pj − b (2.2 Mod` le d’un neurone e Le mod` le math´ matique d’un neurone artificiel est illustr´ a la figure 2.1 w1.R pR − b.8 R entrées ` ´ CHAPITRE 2. (2. 2. MODELE DE NEURONE ET RESEAU Modèle du neurone p1 p2 w1. par un processus electrochimique. Ce dernier poss` de trois ı e principales composantes : les dendrites.2) ` Cette sortie correspond a une somme pond´ r´ e des poids et des entr´ es moins ce qu’on nomme le ee e biais b du neurone. e 2. alors l’argument de f devient positif (ou nul).2 · · · w1.R … p3 ∑ b -1 n ƒ a a = ƒ(w Tp − b) F IG .

e ´ ` ´ il engendre un potentiel electrique qui se propage a travers son axone1 pour eventuellement venir exciter d’autres neurones. Il importe de e e retenir que ceci est une grossi` re approximation d’un v´ ritable synapse qui r´ sulte en fait d’un proe e e cessus chimique tr` s complexe et d´ pendant de nombreux facteurs ext´ rieurs encore mal connus. ainsi que la qualit´ des connexions synaptiques individuelles qui d´ termine la fonce e tion2 pr´ cise d’un r´ seau de neurones biologique. cependant. Dans les r´ seaux biologiques. tous les neurones sont en fait asynchrones.2 et ajoutons la fonction d’ace e e ˆ Un axone peut etre plus ou moins long selon le type de neurone.2. Ce qui compte est le r´ sultat que ce mod` le nous e e e permettra d’atteindre. MODELE D’UN NEURONE 9 F IG . nous permettra d’accomplir des tˆ ches int´ ressantes. Un e e poids n´ gatif vient inhiber une entr´ e. Le point de contact entre l’axone d’un neurone et le dendrite d’un autre neurone s’appelle le synapse. Un autre facteur limitatif dans le mod` le que nous nous sommes donn´ s concerne son caract` re e e e discret. Autrement dit. alors qu’un poids positif vient l’accentuer. La vraisemblance bioa e logique de ce mod` le ne nous importe peu. pour pouvoir simuler un r´ seau de neurones. En effet. e e e Un poids d’un neurone artificiel repr´ sente donc l’efficacit´ d’une connexion synaptique. ils vont simultan´ ment calculer leur somme pond´ r´ e et produire a a e ee une sortie a(t) = f (n(t)). Notez bien. nous allons rendre le temps discret e ´ dans nos equations.` 2. comme nous e le verrons plus loin. Mais ceci sort du cadre du e e e cours ! 2 1 .2 – Sch´ ma d’un neurone biologique. e ` Revenons donc a notre mod` le tel que formul´ par l’´ quation 2. nous allons supposer que tous les neurones sont synchrones. 2. e e e Il faut bien comprendre que notre neurone artificiel est un mod` le pragmatique qui. Il semble que c’est l’arrangement spatial des neurones et de leur axone. C’est en se basant sur ces connaissances que le e e ´e e mod` le math´ matique d´ crit ci-dessus a et´ d´ fini. c’est-` -dire qu’` chaque temps t. que des th´ ories r´ centes remettent en cause cette hypoth` se.

3) En remplacant wT par une matrice W = wT d’une seule ligne. Diff´ rentes fonctions de transfert pouvant etre utie e ´ lis´ es comme fonction d’activation du neurone sont enum´ r´ es au tableau 2.1. MODELE DE NEURONE ET RESEAU Modèle du neurone p Rx1 W 1xR + n 1x1 ƒ 1 a 1x1 -1 R b 1x1 a = ƒ(Wp-b) F IG .1. nous n’avons pas sp´ cifi´ la nature de la fonction d’activation de notre mod` le. «lin´ aire» et «sigmo¨de». On y repr´ sente les R entr´ es comme un rectangle e e noir (le nombre d’entr´ es est indiqu´ sous le rectangle).10 Entrée ` ´ CHAPITRE 2. De ce rectangle sort le vecteur p dont la e e dimension matricielle est R × 1. la fonction seuil applique un seuil sur son entr´ e.4) L’´ quation 2. Plus pr´ cis´ ment. La figure 2. et la fonction e e .3 – Repr´ sentation matricielle du mod` le d’un neurone artificiel. la sortie du neurone est calcul´ e par la fonction e d’activation f . e e e une entr´ e n´ gative ne passe pas le seuil. alors qu’une entr´ e positive ou nulle d´ passe le seuil. Finalement. 2. Le r´ sultat de la multiplication correspond au niveau d’activation qui est ensuite compar´ au e e seuil b (un scalaire) par soustraction.4 nous am` ne a introduire un sch´ ma de notre mod` le plus compact que celui e e ` e e de la figure 2.3 illustre celui-ci. cette matrice poss` de la dimension e 1 × R.3 Fonctions de transfert Jusqu’` pr´ sent. 2. a e e e e ˆ Il se trouve que plusieurs possibilit´ s existent. Les trois les plus e ee utilis´ es sont les fonctions «seuil» (en anglais «hard limit»). La sortie d’un neurone est toujours un scalaire. on obtient une forme g´ n´ rale que ¸ e e nous adopterons tout au long de cet ouvrage : a = f (Wp − b). e e ı Comme son nom l’indique. Dans le cas d’un neurone simple. (2. e e tivation f pour obtenir la sortie du neurone : a = f (n) = f (wT p − b). (2. la fonction retourne alors la valeur 0 (on peut interpr´ ter e e e ce 0 comme signifiant faux). Ce vecteur est multipli´ par une matrice W qui contient les poids e (synaptiques) du neurones.

6) 1 + exp−n ` ` Elle ressemble soit a la fonction seuil.2.4a. La sigmo¨de est un compromis int´ ressant entre les deux pr´ c´ dentes. Son equation est ı e ` donn´ e par : e 1 a= . ı e e e que la fonction «tangente hyperbolique» est une version sym´ trique de la sigmo¨de.3. cette fonction est illustr´ e a la figure e e ` T 2. selon que l’on est loin ou pr` s de b.4) e T ` d´ termine l’emplacement du seuil sur l’axe w p. e e T respectivement. cette fonction est illustr´ e a la figure 2. On remarque alors que le biais b dans l’expression de a = hardlim(w p − b) (´ quation 2. e e ` ` ` e la sortie du neurone correspond a son niveau d’activation dont le passage a z´ ro se produit lorsque T w p = b. e e e ` De son cˆ t´ . (2. (2. elle affecte directement son entr´ e a sa sortie : e e e ` a = n. o` la fonction passe de 0 a 1. FONCTIONS DE TRANSFERT 11 TAB . ` ´ La fonction de transfert sigmo¨de est quant a elle illustr´ e a la figure 2.4b. e ı . La fonction seuil est tr` s non-lin´ aire car il y a une discontinuit´ lorsque w p = b. Nom de la fonction seuil seuil sym´ trique e lin´ aire e lin´ aire satur´ e e e Relation d’entr´ e/sortie e a = 0 si n < 0 a = 1 si n ≥ 0 a = −1 si n < 0 a=1 si n ≥ 0 a=n a = 0 si n < 0 a = n si 0 ≤ n ≤ 1 a = 1 si n > 1 a = −1 si n < −1 a=n si − 1 ≤ n ≤ 1 a=1 si n > 1 a = 0 si n < 0 a = n si n ≥ 0 a= a= a=1 a=0 1 1+exp−n en −e−n en +e−n Icˆ ne o Nom Matlab hardlim hardlims purelin satlin lin´ aire satur´ e sym´ trique e e e lin´ aire positive e sigmo¨de ı tangente hyperbolique comp´ titive e satlins poslin logsig tansig si n maximum autrement C compet retourne 1 (vrai).1 – Fonctions de transfert a = f (n). la fonction lin´ aire est tout a fait lin´ aire. Notons finalement.4c. 2. soit a la fonction lin´ aire. Dans ce cas. Utilis´ e dans le contexte d’un neurone. Nous verrons plus e u loin que cette fonction permet de prendre des d´ cisions binaires. Elle ne comporte aucun changement de oe e e pente.5) Appliqu´ e dans le contexte d’un neurone. e La fonction lin´ aire est tr` s simple.

Dans le cas g´ n´ ral. alors on peut cr´ er les e e T T T vecteurs b = [b1 b2 · · · bS ] .3. ı 2.  w2. e e e e ` Pour construire une couche de S neurones. alors que le deuxi` me indice e e e e (colonne) sp´ cifie le num´ ro de l’entr´ e.2 · · · w1. . ou plus e e pr´ cis´ ment du nombre de rang´ es (S). de nouveau. il s’agit simplement de les assembler comme a la figure 2.j d´ signe le poids de la connexion qui relie e e e e ` le neurone i a son entr´ e j. Un poids wi. les mˆ mes vecteurs et matrice. Cet exemple comporte R entr´ es et trois couches de neurones comptant respectie vement S 1 . n = [n1 n2 · · · nS ] et a = [a1 a2 · · · aS ] . n. de b. Ceci nous am` ne a la e ` ` repr´ sentation graphique simplifi´ e. pour construire un r´ seau.  .  ..7) Notez bien que S = R. Dans le contexte des vece u e ` teurs et des matrices relatives a une couche.4 – Fonction de transfert : (a) du neurone «seuil» . a et W. 2. Le premier ine dice (rang´ e) d´ signe toujours le num´ ro de neurone sur la couche. Nous e e ` noterons toujours le premier indice par i et le deuxi` me par j (jamais l’inverse). on peut enfiler autant de couche que l’on veut. Ainsi. il ne suffit plus que de combiner des couches comme e ` a la figure 2. S 2 et S 3 neurones. comme a la figure e e e ` 2.6.5. Ainsi. g´ n´ ralement organis´ en couches. dans le cas g´ n´ ral (les nombres de neurones et d’entr´ es sont ind´ pendants). e e e Finalement.1  W= .12 a +1 0 -1 wTp ` ´ CHAPITRE 2.R         (2. Les S neurones d’une mˆ me couche sont tous branch´ s aux R entr´ es. .4 Architecture de r´ seau e Un r´ seau de neurones est un maillage de plusieurs neurones. e e e . Chaque couche e e poss` de sa propre matrice de poids Wk . nous emploierons toujours un exposant pour d´ signer e cet indice. (b) du neurone «lin´ aire».1 wS.j est associ´ a chacune des connexions.1 w1. On dit alors que e e e la couche est totalement connect´ e. L’ensemble des poids d’une couche forme donc une matrice W de e dimension S × R :   w1. les vecteurs bk . Ainsi. wi. nk et ak sont aussi associ´ s a la couche k. . illustr´ e a la figure 2. On y retrouve.R . La seule diff´ rence se situe au niveau de la taille. MODELE DE NEURONE ET RESEAU a b a +1 0 -b wTp 0 -1 wTp b b b (a) (b) (c) F IG . . e e e e Si l’on consid` re que les S neurones forment un vecteur de neurones.2 · · · w2. wS. et (c) du e neurone «sigmo¨de».7.. .2 · · · wS.R    w2. . S 1 = S 2 = S 3 . o` k d´ signe l’indice de couche. e ` Il importe de remarquer dans cet exemple que les couches qui suivent la premi` re ont comme e entr´ e la sortie de la couche pr´ c´ dente.

´ 2.4. ARCHITECTURE DE RESEAU
R entrées Couche de S neurones

13

p1

w1,1


b1 -1

n1

ƒ

a1

p2

p3


b2

n2

ƒ

a2

-1

pR

wS,R


bS -1

nS


ƒ
aS

a = ƒ(Wp − b)

F IG . 2.5 – Couche de S neurones. du moins en th´ orie. Nous pouvons aussi fixer un nombre quelconque de neurones sur chaque e couche. En pratique, nous verrons plus tard qu’il n’est cependant pas souhaitable d’utiliser trop de ` neurones. Finalement, notez aussi que l’on peut changer de fonction de transfert d’une couche a 1 2 3 l’autre. Ainsi, toujours dans le cas g´ n´ ral, f = f = f . e e La derni` re couche est nomm´ e «couche de sortie». Les couches qui pr´ c` dent la couche de e e e e sortie sont nomm´ es «couches cach´ es». Nous verrons un peu plus tard pourquoi. Le r´ seau de la e e e figure 2.7 poss` de donc deux couches cach´ es et une couche de sortie. e e ` Les r´ seaux multicouches sont beaucoup plus puissants que les r´ seaux simples a une seule e e ` couche. En utilisant deux couches (une couche cach´ e et une couche de sortie), a condition d’eme ` ployer une fonction d’activation sigmo¨de sur la couche cach´ e, on peut entraˆner un r´ seau a ı e ı e produire une approximation de la plupart des fonctions, avec une pr´ cision arbitraire (cela peut e cependant requ´ rir un grand nombre de neurones sur la couche cach´ e). Sauf dans de rares cas, les e e r´ seaux de neurones artificiels exploitent deux ou trois couches. e Entraˆner un r´ seau de neurones signifie modifier la valeur de ses poids et de ses biais pour ı e ´ qu’il r´ alise la fonction entr´ e/sortie d´ sir´ e. Nous etudierons en d´ tails, dans des chapitres subs´ quents, e e e e e e

14
Entrée

` ´ CHAPITRE 2. MODELE DE NEURONE ET RESEAU
Couche de S neurones

p
Rx1

W
SxR

+

n
Sx1

ƒ
S

a
Sx1

-1
R

b
Sx1

a = ƒ(Wp − b)
F IG . 2.6 – Repr´ sentation matricielle d’une couche de S neurones. e
Entrée Couche 1 Couche 2 Couche 3

p
Rx1

W1
S xR
1

a1

+

n1
S1 x 1

S1 x 1

W2
S xS
2 1

a2

ƒ1
-1
S1

+

n2
S2 x 1

S2 x 1

W3
S xS
3 2

a3

ƒ2
-1
S2

+

n3
S3 x 1

S3 x 1

ƒ3
S3

-1
R

b1
S1 x 1

b2
S2 x 1

b3
S3 x 1

a1 = ƒ1(W1p − b1)

a2 = ƒ2(W2a1 − b2)

a3 = ƒ3(W3a2 − b3)

F IG . 2.7 – Repr´ sentation matricielle d’un r´ seau de trois couches. e e

diff´ rents algorithmes pour y parvenir dans diff´ rents contextes. Pour sp´ cifier la structure du e e e r´ seau, il faut aussi choisir le nombre de couches et le nombre de neurones sur chaque couche. e Tout d’abord, rappelons que le nombre d’entr´ es du r´ seau (R), de mˆ me que le nombre de neue e e rones sur la couche de sortie est fix´ par les sp´ cifications du probl` me que l’on veut r´ soudre avec e e e e ce r´ seau. Par exemple, si la donn´ e du probl` me comporte quatre variables en entr´ e et qu’elle e e e e exige de produire trois variables en sortie, alors nous aurons simplement R = 4 et S M = 3, o` u ` M correspond a l’indice de la couche de sortie (ainsi qu’au nombre de couches). Ensuite, la nature du probl` me peut aussi nous guider dans le choix des fonctions de transfert. Par exemple, si e l’on d´ sire produire des sorties binaires 0 ou 1, alors on choisira probablement une fonction seuil e ` (voir tableau 2.1, page 11) pour la couche de sortie. Il reste ensuite a choisir le nombre de couches cach´ es ainsi que le nombre de neurones sur ces couches, et leur fonction de transfert. Il faudra e aussi fixer les diff´ rents param` tres de l’algorithme d’apprentissage. Mais nous y reviendrons en e e temps et lieu ! ´e Finalement, la figure 2.8 illustre le dernier el´ ment de construction que nous emploierons

´ 2.4. ARCHITECTURE DE RESEAU

15

Délai u(t) a(t)

D
a(0)

a(t) = u(t-1)
´e F IG . 2.8 – El´ ment de retard. ` e pour bˆ tir des r´ seaux dit «r´ currents». Il s’agit d’un registre a d´ calage qui permet d’introduire a e e un retard dans une donn´ e que l’on veut acheminer dans un r´ seau. La sortie retard´ e a(t) prend e e e ´e la valeur de l’entr´ e u au temps t − 1. Cet el´ ment de retard pr´ suppose que l’on peut initialiser la e e sortie au temps t = 0 avec la valeur a(0). Cette condition initiale est indiqu´ e a la figure 2.8 par e ` une fl` che qui entre par le bas de l’´ l´ ment. e ee ` Avant de passer a la d´ cription des architectures concr` tes et de leur algorithmes d’apprene e tissage, nous allons d’abord effectuer au chapitre suivant quelques rappels sur l’alg` bre lin´ aire. e e ` En effet, comme le lecteur attentif l’aura devin´ , nous allons avoir a manipuler beaucoup de mae ˆ trices et d’op´ rations matricielles tout au long de ces chapitres. La notation matricielle peut etre e ´ tr` s puissante, parce que compacte, mais egalement obscure lorsqu’on ne la maˆtrise pas bien, d’o` e ı u l’importance de ces rappels.

e 3. (commutativit´ ) e (c) (x + y) + z = x + (y + z) . ∀x ∈ X . Au chapitre e e pr´ c´ dent. Il est donc important de bien comprendre e ´ ce qu’est un espace vectoriel en etudiant ses principales propri´ t´ s. nous faisons habituellement r´ f´ rence e ee ` a un espace euclidien de n dimensions.Chapitre 3 Alg` bre lin´ aire e e Dans ce chapitre. poss` de un op´ rateur de multiplication tel que : e e (a) a ∈ F et x ∈ X implique ax ∈ X . que nous notons n . (´ l´ ment neutre) ee (e) ∀x ∈ X . Un espace vectoriel lin´ aire X est un ensemble d’´ l´ ments (de vecteurs) d´ fini sur e e ee e un champ scalaire F. (´ l´ ment neutre) ee 17 . les changements de base ainsi que les e e valeurs et vecteurs propres. nous faisons plusieurs rappels essentiels en alg` bre lin´ aire. Ensuite. y ∈ X implique x + y ∈ X . la notion d’espace vectoriel est beaucoup plus vaste que ce dernier qui ne repr´ sente qu’un cas particulier. (associativit´ ) e (d) ∃0 ∈ X tel que x + 0 = x. ainsi que les e e e e rang´ es de ses matrices de poids forment des vecteurs. e D´ finition. nous avons vu que les entr´ es et les sorties d’un r´ seau de neurones. Ces outils serviront par la suite tout au long des chapitres subs´ quents. Cependant. poss` de un op´ rateur d’addition tel que : e e (a) x. et respectant les propri´ t´ s suivantes : ee 1. 1x = x .1 D´ finition d’un espace vectoriel e Lorsque nous d´ finissons un vecteur x = [x1 x2 · · · xn ]T . nous aborderons des ee outils alg´ briques de base tels les transformations lin´ aires. (´ l´ ment inverse) ee 2. (b) x + y = y + x . ∃-x tel que x + (-x) = 0 . (b) ∀x ∈ X et le scalaire 1.

(associativit´ ) e (d) (a + b)x = ax + bx . (3. o on peut donc repr´ senter les deux polynˆ mes de l’exemple par x = [3 2 1]T et y = [5 -1 0]T . C’est donc une notion tout a fait fondamene e ` ce sujet d’´ tude. on peut montrer (et ceci est laiss´ e en exercice) que la droite infinie illustr´ e e e ` a la figure 3. e ee e e ` On peut cependant se poser la question a propos de certains sous-ensembles de 2 . etc. Par contre. cependant. on obtient un autre polynˆ me de degr´ 2 ou moins. 3. c’est e e parce que la r´ solution d’un probl` me avec un r´ seau de neurones requiert toujours de pouvoir e e e ` ` repr´ senter ce probl` me a l’aide d’un espace vectoriel. ALGEBRE LINEAIRE x2 x+y x2 x1 x1 x3 x1 (a) F IG .1b respecte toutes les propri´ t´ s enum´ r´ es ci-dessus et. a(bx) = (ab)x . si l’on additionne deux ee polynˆ mes de degr´ 2 ou moins. la propri´ t´ 1a n’est pas respect´ e. En notation vectorielle. Par exemple. e (c) ∀a. d´ fini un ee ´ ee e e espace vectoriel. b ∈ F et ∀x ∈ X . On peut aussi o e o e multiplier un polynˆ me par un scalaire sans changer l’ordre de celui-ci. si l’on prend ee e ` deux vecteurs a l’int´ rieur du rectangle et qu’on les additionne. ee e Un autre exemple d’un espace vectoriel est l’ensemble P 2 des polynˆ mes de degr´ 2 ou moins. par cons´ quent. (b) droite . o e ´e Par exemple. 2 . sinon la propri´ t´ 1d ne serait pas respect´ e. y = 5 − t. Il importe seulement de respecter les 10 propri´ t´ s fondamene e o ee tales d’un espace vectoriel ! Si nous prenons la peine de pr´ ciser cette d´ finition formelle. Notez bien.1 – Diff´ rents sous-ensembles de e 2 (b) (c) : (a) r´ gion rectangulaire . (c) plan. par cons´ quent. il se peut que le r´ sultat sorte du e e rectangle. que cette droite se doit de passer par l’origine. deux el´ ments de cet espace sont : x = 3 + 2t + t2 . En effet. consid´ rons la r´ gion rectangulaire illustr´ e a la figure 3. e o Mentionnons qu’on peut aussi former des espaces vectoriels avec des ensembles de fonctions plus g´ n´ rales que des polynˆ mes. entre autres.1) (3. tale a e . (distributivit´ ) e Il est facile de d´ montrer que ces propri´ t´ s sont respect´ es pour n et. (distributivit´ ) e (e) a(x + y) = ax + ay .1a.18 x2 y x ` ´ CHAPITRE 3. En effet.2) Cet ensemble respecte les 10 propri´ t´ s d’un espace vectoriel. Ce sous-ensemble de 2 n’est pas e e e ` un espace vectoriel car.

2 Bases et dimensions La dimension d’un espace vectoriel est d´ termin´ e par le nombre minimum de vecteurs de e e base requis pour couvrir l’espace vectoriel en entier. alors : e e      (3.5] ou e encore [2 0] et [0 2]. DEFINITION D’UN ESPACE VECTORIEL 19 3. 1 + t + t }. La seule chose qui importe est que les vecteurs de base soient lin´ airement e ind´ pendants. (3. . xn }. nous avons l’habitude de travailler avec les vecteurs de base u1 = [1 0] et u2 = [0 1]. . a2 . mais ce n’est pas la seule possibilit´ . Alors ces vecteurs sont lin´ airement d´ pendants s’il e e existe n scalaires a1 . . si a1 x1 + a1 x1 + · · · + a1 x1 = 0 implique que ∀i. un } ˆ qu’il couvre un espace vectoriel X si et seulement si tous les x ∈ X de cet espace peuvent etre exprim´ s comme une combinaison lin´ aire des vecteurs de base : e e x = a1 u1 + a2 u2 + · · · + an un . par exemple.5) et a1 + a2 = 0 implique que a1 = −a2 . .´ 3. les vecteurs suivants : 1 1 x1 =  −1  . on peut choisir autant {1. . Par contre. 1 + t. . il faut que a1 = a2 = 0.1. .5] et [−0.5 0.1 D´ pendance lin´ aire e e Soient les n vecteurs {x1 . dans 2 . et −a1 + a2 = 0 implique a1 = a2 . x2 . e e Par exemple. .5 0. t2 } que o e 2 {1. Ainsi. an tels qu’au moins un d’eux est non nul et que : a1 x1 + a2 x2 + · · · + an xn = 0. .1. 0 -a1 − a2    (3. .4) 0 a1 + a2      -a1 + a2  =  0  . .1. alors les vecteurs e sont (lin´ airement) ind´ pendants. On dit d’un ensemble de vecteur {u1 . .6) Par exemple. t. a2 = −1 et a3 = 1. les polynˆ mes p1 = 1 + t + t2 . p2 = 2 + 2t + t2 et p3 = 1 + t sont lin´ airement o e d´ pendants puisque a1 p1 + a2 p2 + a3 p3 = 0 pour a1 = 1. e Pour notre espace P 2 des polynˆ mes de degr´ 2 ou moins. u2 .3) Et r´ ciproquement. x2 =  1      −1 −1 sont lin´ airement ind´ pendants car si a1 x1 + a2 x2 = 0. ai = 0. e 3. (3. Un autre choix serait [0. .

x> = 0 uniquement pour x = 0 . ALGEBRE LINEAIRE 3. est une op´ ration e tr` s importante pour les r´ seaux de neurones. ˆ La premi` re propri´ t´ sp´ cifie qu’un produit scalaire doit etre sym´ trique. <x. (ay1 + by2 )> = a<x. Finalement.3 Produit scalaire Le produit scalaire entre deux vecteurs x et y. La troisi` me impose que la norme d’un vecteur multipli´ e e ` par un scalaire soit (lin´ airement) proportionnelle a ce scalaire. nomm´ e l2 . la derni` re propri´ t´ e e ee ´ ` impose que la norme d’une somme de deux vecteurs soit inf´ rieure ou egale a la somme des e normes. y1 > + b<x. 3. est d´ finie par ||x|| = <x. 2. y> = xT y = x1 y1 + x2 y2 + · · · + xn yn .4 Norme La norme d’un vecteur est une mesure de longueur. ||x|| = 0 si. Dans le cas e g´ n´ ral. 4. ||x|| ≥ 0 . la troisi` me propri´ t´ restreint le produit scalaire d’un e e ee vecteur avec lui-mˆ me aux valeurs positives. il existe les normes dites lp telles que : e e ||x|| = p |x1 |p + |x2 |p + · · · + |xn |p . que nous noterons <x. <x.20 ` ´ CHAPITRE 3. ce qui dans e e e ` un espace euclidien n correspond a la norme euclienne habituelle : ||x|| = x2 + x2 + · · · + x2 . Finalement. y2 > . x>. 2. La deuxi` me pr´ cise que e ee e e e e ´ ` le produit d’un vecteur par une combinaison lin´ aire de deux vecteurs est egale a la combinaison e lin´ aire des produits scalaires. e e Le produit scalaire habituellement utilis´ sur e n est d´ fini par : e (3. sauf pour le vecteur nul qui doit donner z´ ro. (3. y>.8) Beaucoup d’autres normes sont possibles telle que. ||ax|| = |a| ||x|| . 1 2 n (3. et seulement si. ||x|| = |x1 | + |x2 | + · · · + |xn |. <x. La deuxi` me pr´ cise e ee e e e qu’elle n’est nulle que pour le vecteur nul. La premi` re propri´ t´ sp´ cifie qu’une norme est toujours positive ou nulle. x> . La fonction scalaire ||x|| s’appelle une norme si elle satisfait aux quatre propri´ t´ s suivantes : ee 1.7) <x.1. x> ≥ 0. 3. avec <x.1. y> = <y. x = 0 . 3. Cette derni` re s’appelle norme l1 (on dit aussi «city block» ou encore «manhattan»).9) . √ La norme la plus souvent utilis´ e. par exemple. ||x + y|| ≤ ||x|| + ||y|| . N’importe quelle fonction scalaire prenant deux e e ` e vecteurs comme argument et respectant les trois propri´ t´ s suivantes peut servir a d´ finir un produit ee scalaire : 1.

nous choisissons donc le premier vecteur ind´ pendant : e v1 = x1 . Par exemple. Si l’on continue ce processus. le k eme vecteur orthogonal est obtenu par l’expression : . mentionnons qu’il importe parfois de «normaliser» nos vecteurs en les divisant par leur norme : x = 1. A la limite. il importe de convertir un ensemble de n vecteurs ind´ pendants {x1 .2). Parfois. v2 > = <v1 . x2 . un plan dans 3 d´ finit un sous-espace e ` de dimension 2 pour lequel il existe un vecteur perpendiculaire (orthogonal) a ce plan (voir figure 3. xn } en e n vecteurs orthogonaux {v1 . . (x2 − av1 )> = <v1 . Les concepts de produit scalaire et de norme permettent aussi d’introduire la notion d’angle θ entre deux vecteurs x et y via la fameuse loi des cosinus : <x. on utilise x2 . v2 . on obtient la norme l∞ suivante : u u ||x|| = max |xi |. Ceci implique que : u e ` <v1 . v1 > Ainsi. On peut effectuer cette op´ ration avec la m´ thode de e e ˆ Gram-Schmidt. (3. on ne tient compte que de la plus grande composante du vecteur. x2 > − a<v1 . Le premier vecteur orthogonal peut etre quelconque. vn }. x2 > . la portion du e vecteur qui est dans la direction de v1 . ` Un vecteur x ∈ X est aussi dit orthogonal a un sous-espace X ⊂ X lorsqu’il est orthogonal avec tous les vecteurs x de ce sous-espace. Ceci s’appelle le projecteur de x2 sur v1 (voir ` figure 3. . y> = ||x|| ||y|| cos θ. DEFINITION D’UN ESPACE VECTORIEL o` p ≥ 1. Dans le cas o` p → ∞. .1.13) Pour le second vecteur orthogonal. y> est nul (θ = 90◦ ).1c).11) ||x|| On obtient alors un vecteur qui pointe dans la mˆ me direction qu’auparavant mais dont la norme e est unitaire. ` o` a est choisi de mani` re a ce que v2 soit orthogonal a v1 . . .´ 3. .5 Orthogonalit´ e Deux vecteurs x et y sont dits orthogonaux si leur produit scalaire <x.1.10) Ceci nous indique que plus p devient grand.16) <v1 . i 21 (3. mais apr` s avoir soustrait de x2 . On obtient : v2 = x2 − av1 .14) <v1 . . v1 > = 0 et : a= (3. Finalement. plus on attache de l’importance aux grandes compo` santes de x.15) (3. (3. il s’agit de a calculer le produit scalaire entre les deux vecteurs. . (3.12) 3. (3. c’est-` -dire av1 . pour trouver la composante de x2 dans la direction de v1 .

17) 3. . 3. ∀x1 . Avec ces bases. e e 3. um } ceux de Y. pour qu’elle soit lin´ aire. e k−1 vk = xk − i=1 <vi .2 Transformations lin´ aires e Une transformation lin´ aire A est une application d’un espace vectoriel X vers un espace e vectoriel Y telle que : 1. ∀x ∈ X . Si l’une ou l’autre de ces deux propri´ t´ s n’est pas e e ee respect´ e. .2. v2 .22 ` ´ CHAPITRE 3. La deuxi` me propri´ t´ pr´ cise que la transe e e ee e ˆ ´ ` form´ e d’un vecteur auquel on a appliqu´ un facteur d’´ chelle doit aussi etre egale a ce facteur e e e appliqu´ sur la transform´ e du vecteur original. ˆ ´ ` La premi` re propri´ t´ sp´ cifie que la transform´ e d’une somme de vecteurs doit etre egale a la e ee e e somme des transform´ es. Donc : e A(x) = y. . Soient {v1 . . . (3.1 Repr´ sentations matricielles e ˆ Nous allons maintenant montrer que toute transformation lin´ aire peut etre repr´ sent´ e par e e e une matrice. A(x1 + x2 ) = A(x1 ) + A(x2 ) . nous pouvons repr´ senter n’importe quels vecteurs x ∈ X et y ∈ Y avec les e combinaisons lin´ aires suivantes : e n m x= j=1 xj vj et y = i=1 y i ui . vn } les vecteurs de base pour X et {u1 . <vi . (3.19) . x2 ∈ X . a ∈ . .18) Soit la transformation lin´ aire A qui applique X sur Y (A : X −→ Y). vi > (3. . A(ax) = aA(x).2 – Illustration de la m´ thode de transformation orthogonale Gram-Schmidt. xk > vi . la transformation n’est pas lin´ aire. . u2 . ALGEBRE LINEAIRE x2 v2 v1 = x1 av1 F IG . 2.

24) et en r´ arrangeant cette derni` re equation. on produit le r´ sultat : e e ´ e m i=1  n j=1  ui  aij xj − yi  = 0.22 dans l’´ quation 3. .21) ´e En consid´ rant maintenant que les vecteurs A(vj ) sont des el´ ments de Y. (3.23) ´ En inversant l’ordre des sommations. (3. . on peut ecrire : m n m ui i=1 j=1 aij xj = i=1 y i ui .21. toute transformation lin´ aire peut etre d´ crite par une matrice A qu’il s’agit e e de multiplier avec le vecteur que l’on veut transformer. · · · amn       x1 x2 .20) ´ Mais puisque A est un op´ rateur lin´ aire.26) Ce qui correspond au produit de matrice :       a11 a21 . on obtient : e e n m m xj j=1 i=1 aij ui = i=1 y i ui . (3. . . am1 am2 que l’on peut noter Ax = y. . .25) ˆ Finalement. . .. TRANSFORMATIONS LINEAIRES que l’on peut r´ -´ crire de la facon suivante : ee ¸  n j=1 23  m A xj vj  = i=1 y i ui . . a12 a22 . on peut aussi ecrire : e e n m xj A(vj ) = j=1 i=1 y i ui . (3. (3. en se rappelant que les vecteurs de base ui doivent etre ind´ pendants. on peut conclure e ˆ que leurs coefficients doivent forc´ ment etre nuls. (3. xn       =     y1 x2 .´ 3.27) ˆ Autrement dit. donc : e n aij xj = yi . · · · a1n · · · a2n . . . pour obtenir le vecteur r´ sultant de la e transformation. ym    . . on peut les r´ -´ crire en e ee tant qu’une combinaison lin´ aire de ses vecteurs de base : e m A(vj ) = i=1 aij ui . j=1 (3.   (3. .2.22) et en substituant l’´ quation 3.

. . utilisons X = Y = et travaillons avec les vecteurs de base habituels. En u substituant ces r´ sultats dans l’´ quation 3. Par cons´ quent : e Ax = y.31. et {u1 .3b. ` Comme exemple de transformation lin´ aire. on obtient l’expression suivante : e e ABt x = Bw y (3. vn } des vecteurs de e base de X . c’est-` -dire ceux du plan cart´ sien illustr´ s a la figure 3. . . . Ce qui nous donne les deux colonnes d’une matrice de rotation A dans A= cos θ − sin θ sin θ cos θ 2 (3. tn } et {w1 . La clef a e e ` ` ici est de transformer chaque vecteur de base comme a la figure 3.20 : e A(v1 ) = cos(θ)v1 + sin(θ)v2 = a11 v1 + a21 v2 .30) 3.2. nous aurons A x = y . u2 . .28) A(v2 ) = − sin(θ)v1 + cos(θ)v2 = a12 v1 + a22 v2 .31) Supposons maintenant que l’on veuille changer de base pour X et Y. . o` x = Bt x . consid´ rons la rotation qui consiste a faire tourner e e 2 un vecteur autour de l’origine.3a. Bt = [t1 t2 · · · tn ] et Bw = [w1 w2 · · · wm ]. y = Bw y . w2 .24 Ax Av2 cos θ ` ´ CHAPITRE 3.2 Changement de base Il est important de noter que la repr´ sentation matricielle d’une transformation lin´ aire n’est e e pas unique car elle d´ pend des vecteurs de base. ALGEBRE LINEAIRE -sin θ cos θ v2 = u2 q x θ Av1 sin θ θ v1 = u1 (a) (b) F IG . Dans cette sous-section. Pour simplifier. . .32) . nous allons examiner ce e qu’il advient d’une transformation lorsqu’on effectue un changement de base. (3. v2 . t2 . . . Ceci s’accomplit grˆ ce a a ` l’´ quation 3.29) : (3.3 – Transformation de rotation : (a) rotation du vecteur x . wm } les nouveaux ensembles de vecteurs de base. (b) rotation des vecteurs de base v1 et v2 . Avec ces bases. Soit la transformation lin´ aire A : X −→ Y et l’ensemble {v1 . (3. Soient {t1 . . . um } ceux de Y. ∀x ∈ X . . . ∀x ∈ X . 3. .

´ 3.2. TRANSFORMATIONS LINEAIRES puis en multipliant de part et d’autre par B−1 : w (B−1 ABt )x = y , w ce qui implique que A = B−1 ABt . w

25

(3.33)

On doit retenir qu’en changeant de base pour repr´ senter nos vecteurs, nous changerons aussi e la repr´ sentation matricielle de nos transformations. Le r´ sultat sera le mˆ me car les deux transfore e e mations sont similaires. Seule la repr´ sentation change (les colonnes de nombres). L’int´ rˆ t d’un e ee ` changement de base est que certaines repr´ sentations sont plus faciles a interpr´ ter que d’autres, e e comme nous le verrons plus loin.

3.2.3

Valeurs et vecteurs propres

Nous terminons ce chapitre en abordant une autre notion fondamentale pour l’analyse des transformations lin´ aires en g´ n´ rale, et des r´ seaux de neurones en particulier : les valeurs et e e e e vecteurs propres. Soit la transformation lin´ aire A : X −→ X (ici le domaine et l’image de la transformation e ` sont les mˆ mes). Alors, les vecteurs z ∈ X et les scalaires λ satisfaisant a la relation : e A(z) = λz (3.34)

sont dits «vecteurs propres» (z) et «valeurs propres» (λ), respectivement. Cette d´ finition sp´ cifie e e qu’un vecteur propre d’une transformation donn´ e repr´ sente une direction dans laquelle tous les e e ` vecteurs pointant dans cette direction continueront a pointer dans la mˆ me direction apr` s la transe e ` formation, mais avec un facteur d’´ chelle λ correspondant a la valeur propre associ´ e. Notez bien e e que cette interpr´ tation n’est valide que lorsque les valeurs propres sont r´ elles et que les vecteurs e e propres existent ce qui n’est pas toujours le cas. En posant un certain ensemble de vecteur de base, on peut reformuler l’´ quation 3.34 sous sa e forme matricielle : Az = λz (3.35) ou d’une mani` re equivalente : e ´ (A − λI)z = 0 (3.36) o` I repr´ sente la matrice identit´ . Cette derni` re equation implique que les colonnes de A − λI u e e e ´ sont d´ pendantes et, par cons´ quent, que son d´ terminant est nul : e e e |A − λI| = 0 (3.37)

Ce d´ terminant est un polynˆ me de degr´ n poss´ dant exactement n racines, dont certaines peuvent e o e e ˆ etre complexes et d’autres r´ p´ t´ es. e ee Si l’on reprend notre exemple de la transformation de rotation : A= cos θ − sin θ sin θ cos θ (3.38)

26 On peut r´ -´ crire l’´ quation 3.36 de la facon suivante : ee e ¸

` ´ CHAPITRE 3. ALGEBRE LINEAIRE

cos θ − λ − sin θ = 0, sin θ cos θ − λ ce qui donne le polynˆ me suivant : o λ2 − 2λ cos θ + (cos2 θ + sin2 θ) = λ2 − 2λ cos θ + 1 = 0,

(3.39)

(3.40)

dont les racines λ1 = cos θ + j sin θ et λ2 = cos θ − j sin θ sont complexes. Ainsi, puisque qu’il n’y a pas de valeur propre r´ elle (sauf pour θ = 0◦ ou encore θ = 180◦ ), cela implique que tout e vecteur r´ el transform´ pointera dans une nouvelle direction (ce qui est l’effet recherch´ pour une e e e rotation !). Lorsqu’une matrice A de dimension n × n engendre n valeurs propres distinctes, alors il est ` possible d’engendrer n vecteurs propres ind´ pendants qui correspondent a un ensemble de vecteurs e de base pour la transformation que A repr´ sente. Dans ce cas, on peut diagonaliser la matrice de e la transformation en effectuant un changement de base. Plus formellement, si B = [z1 z2 · · · zn ], la matrice des n vecteurs propres, alors :

B

−1

  AB =   

λ1 0 0 λ2 . . . . . . 0 0

··· ··· .. .

0 0 . . .

   ,  

(3.41)

· · · λn

o` {λ1 , λ2 , . . . , λn } sont les valeurs propres de A. Ce r´ sultat d´ coule directement de la d´ finition u e e e des vecteurs et valeurs propres de l’´ quation 3.35 : e

AB = B  

 

λ1 0 0 λ2 . . . . . . 0 0

··· ··· ...

0 0 . . .

     

(3.42)

· · · λn

` Il nous sera tr` s utile dans les chapitres a venir, lorsque nous analyserons la performance de divers e algorithmes d’apprentissage pour les r´ seaux de neurones. e

Chapitre 4 Processus d’apprentissage
Parmi les propri´ t´ s d´ sirables pour un r´ seau de neurones, la plus fondamentale est sˆ rement ee e e u ` la capacit´ d’apprendre de son environnement, d’am´ liorer sa performance a travers un processus e e d’apprentissage. Mais qu’est-ce donc que l’apprentissage ? Malheureusement, il n’existe pas de ` d´ finition g´ n´ rale, universellement accept´ e, car ce concept touche a trop de notions distinctes e e e e qui d´ pendent du point de vue que l’on adopte. e Dans le contexte des r´ seaux de neurones artificiels, nous adopterons un point de vue pragmae tique en proposant la d´ finition suivante : e L’apprentissage est un processus dynamique et it´ ratif permettant de modifier les e param` tres d’un r´ seau en r´ action avec les stimuli qu’il recoit de son environnee e e ¸ ment. Le type d’apprentissage est d´ termin´ par la mani` re dont les changements de e e e param` tre surviennent. e Cette d´ finition implique qu’un r´ seau se doit d’ˆ tre stimul´ par un environnement, qu’il subisse e e e e des changements en r´ action avec cette stimulation, et que ceux-ci provoquent dans le futur une e r´ ponse nouvelle vis-` -vis de l’environnement. Ainsi, le r´ seau peut s’am´ liorer avec le temps. e a e e ´ Dans la plupart des architectures que nous etudierons, l’apprentissage se traduit par une modification de l’efficacit´ synaptique, c’est-` -dire par un changement dans la valeur des poids qui e a ` ` relient les neurones d’une couche a l’autre. Soit le poids wi,j reliant le neurone i a son entr´ e j. Au e temps t, un changement ∆wi,j (t) de poids peut s’exprimer simplement de la facon suivante : ¸ ∆wi,j (t) = wi,j (t + 1) − wi,j (t), (4.1)

et, par cons´ quent, wi,j (t + 1) = wi,j (t) + ∆wi,j (t), avec wi,j (t + 1) et wi,j (t) repr´ sentant respece e tivement les nouvelle et ancienne valeurs du poids wi,j . Un ensemble de r` gles bien d´ finies permettant de r´ aliser un tel processus d’adaptation des e e e poids constitue ce qu’on appelle l’algorithme1 d’apprentissage du r´ seau. e
Le mot «algorithme» provient du nom de famille d’un math´ maticien perse nomm´ Mohammed Al-Khwarizmi e e ` ` qui a v´ cu au 9` si` cle de notre ere. C’est a celui-ci que l’on attribue l’invention de r` gles pas-` -pas pour l’addition, la e e e e a soustraction, la multiplication ainsi que la division de nombres d´ cimaux. En latin, son nom fut traduit par Algorismus, e qui par la suite se transforma en algorithme.
1

27

pour que F (t + 1) < F (t). il importe de remarquer que les param` tres libres d’un r´ seau sont ses poids. on e obtient : e(t) = d(t) − a(t).5) o` le vecteur x(t) d´ signe la direction dans laquelle nous allons chercher le minimum et η est une u e constante positive d´ terminant l’amplitude du pas dans cette direction (la vitesse d’apprentissage). On parle alors d’une direction de «descente».4) Maintenant. Or.1 Par correction d’erreur La premi` re r` gle que l’on peut utiliser est fond´ e sur la correction de l’erreur observ´ e en e e e e sortie. Mais comment peut-on choisir la direction x pour que la condition pr´ c´ dente soit respect´ e ? Consid´ rons la s´ rie de Taylor de 1er ordre autour e e e e e de w(t) : F (t + 1) = F (t) + F (t)T ∆w(t). Soit di (t) la sortie que l’on d´ sire obtenir pour ce mˆ me neurone i au temps t. nous allons passer en revue diff´ rents types de r` gles ainsi que e e diff´ rents principes pouvant guider l’apprentissage d’un r´ seau de neurone. (4. Un crit` re tr` s populaire est la somme des e e e erreurs quadratiques : S F (e(t)) = i=1 e2 (t) = e(t)T e(t). i (4.7) N’importe quel vecteur x(t) qui respecte l’in´ galit´ de l’´ quation 4. Pour minimiser F (e(t)) = F (w(t)) = F (t). e e Prenons l’ensemble de ces poids et assemblons les sous la forme d’un vecteur w(t) au temps t.6) ` o` F (t) d´ signe le gradient de F par rapport a ses param` tres libres (les poids w) au temps t. et u e e ∆w(t) = w(t + 1) − w(t). Sous forme vectorielle. Pour obtenir une descente .3) avec e(t) = [e1 (t)e2 (t) · · · ei (t) · · · eS (t)] qui d´ signe le vecteur des erreurs observ´ es sur les S e e ` neurones de sortie du r´ seau. nous allons commencer par choisir des poids initiaux (t = 0) au hasard. Cette sortie r´ sulte d’un e stimulus p(t) que l’on applique aux entr´ es du r´ seau dont un des neurones correspond au neurone e e i. L’apprentissage par correction des erreurs consiste a minimiser un e indice de performance F bas´ sur les signaux d’erreur ei (t). e e 4. il faut que la condition suivante soit respect´ e : e F (t)T ∆w(t) = η F (t)T x(t) < 0. (4. Soit ai (t) la sortie que l’on obtient pour le neurone i au temps t. (4. dans le but de faire converger les e sorties du r´ seau avec ce qu’on voudrait qu’elles soient. ai (t) et e e di (t) seront g´ n´ ralement diff´ rents et il est naturel de calculer l’erreur ei (t) entre ce qu’on obtient e e e et ce qu’on voudrait obtenir : ei (t) = di (t) − ai (t). (4. PROCESSUS D’APPRENTISSAGE Dans la suite de ce chapitre.7 pointe donc dans une die e e rection qui diminue F .28 CHAPITRE 4. e L’objectif est de faire en sorte que F (t + 1) < F (t). puis nous allons modifier ces poids de la mani` re suivante : e w(t + 1) = w(t) + ηx(t). Alors. (4.2) et de chercher un moyen de r´ duire autant que possible cette erreur.

9) (4. e e Nous reviendrons en d´ tails sur la m´ thode de la descente du gradient au chapitre 5. etant donn´ e η > 0. bien qu’elle ne soit pas plausible biologiquement. L’expression exacte du gradient d´ pend de la fonction d’activation utilis´ e pour les neurones. La fl` che pleine montre la direction du gradient qui est perpene ` diculaire a la courbe de niveau en w(t).8) illustr´ e a la figure 4. 4. ´ maximum.2. cette figure montre les courbes de niveau de F e ` repr´ sent´ es par des ellipses hypoth´ tiques. some growth process or metabolic changes take place in one or both cells such that A’s efficiency as one of the cells firing B.1 – Trajectoire de la descente du gradient. comment le cerveau pourrait-il ˆ connaˆtre a priori les sorties qu’il doit produire ? Cette r` gle ne peut etre utilis´ e que dans un ı e e contexte d’apprentissage supervis´ sur lequel nous reviendrons bientˆ t. La r` gle de la correction des erreurs est utilis´ e pour beaucoup de r´ seaux de neurones artifie e e ciels.» . Dans l’espace des poids.1. PAR LA REGLE DE HEBB 29 w2 w (t) ÑF(t) w1 F IG . lorsque nous e e traiterons du perceptron multicouche. e o 4. En effet. is increased.2 Par la r` gle de Hebb e Dans cette section nous abordons une r` gle qui s’inspire des travaux du neurophysiologiste e Donald Hebb : «When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes part in firing it. La fl` che en pointill´ s montre la direction optimale e e e e e pour atteindre le minimum de F . il faut que le vecteur x(t) pointe dans le sens oppos´ au gradient e e car c’est dans ce cas que le produit scalaire sera minimum : x(t) = − F (t) Ce qui engendre la r` gle dite de «descente du gradient» : e ∆w(t) = −η F (t) (4.` 4.

alors le synapse correse e e ˆ ´ pondant doit etre affaibli ou carr´ ment elimin´ . une fraction α du poids actuel. e e ´ e e 2. Interaction. pour augmenter l’efficacit´ synaptique d’une mani` re proportionnelle a la corr´ lation e e e des activit´ s pr´ . Il utilise un m´ canisme interactif. Une interpr´ tation de l’´ nonc´ de Hebb est que la condition pere e e e mettant un changement dans l’efficacit´ synaptique est une conjonction des activit´ s pr´ et e e e post-synaptiques. Une interpr´ tation plus statistique r´ f` re a la corr´ lation e ee ` e de ces activit´ s. On obtient ainsi : ∆wj (t − 1) = ηpj (t)a(t) − αwj (t − 1). 4. on peut reformuler l’´ nonc´ de Hebb e e e sous la forme d’une r` gle d’apprentissage en deux parties : e 1. C’est la co-occurrence des activit´ s de part et d’autre du synapse qui ene gendre une modification de celui-ci. Si les mˆ mes deux neurones sont activ´ s d’une mani` re asynchrone. Si deux neurones de part et d’autre d’un synapse (connexion) sont activ´ s simultan´ ment e e ˆ (d’une mani` re synchrone). Sous une forme vectorielle.et post-synaptiques . e e 2. l’apprentissage hebbien se doit de poss´ der une contigu¨t´ spatiale. Les modifications d’un synapse hebbien d´ pendent du moment e e exact des activit´ s pr´ .11) Un probl` me imm´ diat avec la r` gle de l’´ quation 4. Cette formule fait ressortir explicitement la corr´ lation e e ´ entre le signal qui entre et celui qui sort.10) ` o` η est une constante positive qui d´ termine la vitesse de l’apprentissage.12) . permet l’apprentissage dit non-supervis´ sur lequel ee e nous reviendrons bientˆ t . D´ pendance spatiale. (4. on ecrit : ∆w(t − 1) = ηp(t)a(t). e e Un tel synapse est dit «synapse hebbien». PROCESSUS D’APPRENTISSAGE ` ´ Dans un contexte neurobiologique. D´ pendance temporelle. alors la force de ce synapse doit etre augment´ e . e Math´ matiquement.et post-synaptiques. Pour pallier a cette croissance exponentielle qui provoquerait invariablement une saturation du poids. Dans le contexte des r´ seaux artificiels. L’apprentissage hebbien d´ pend d’une interaction entre les activit´ s de part et e e d’autre du synapse. Deux activit´ s positives simultan´ es (corr´ lation positive) engendrent une e e e e augmentation de l’efficacit´ synaptique. on peut exprimer la r` gle de Hebb sous sa forme la plus simple par la e e formule suivante : ∆wj (t − 1) = ηpj (t)a(t).11 est que les changements de poids ∆wj (t) e e e e peuvent croˆtre de facon exponentielle si. e ıe C’est cette propri´ t´ qui. d´ pendant du temps et e e ` de l’espace. De cette d´ finition ressort les propri´ t´ s suivantes : e e e ee 1. (4. Conjonction ou corr´ lation. et a(t) a l’activit´ post-synaptique e e e e ` (sortie du neurone) a ce mˆ me temps t. on ajoute parfois un facteur d’oubli qui retranche de la variation de poids. entre autres. Hebb cherchait a etablir une forme d’apprentissage associatif au niveau cellulaire. Etant donn´ la nature mˆ me du synapse qui constitue un lieu de transe mission d’information. alors que l’absence d’une telle corr´ lation engendre e e une baisse de cette efficacit´ . par exemple. l’entr´ e et la sortie demeurent constantes ı ¸ e ` dans le temps. o 3. pj (t) correspond a u e ` l’activit´ pr´ -synaptique (l’entr´ e j du neurone) au temps t. (4.30 CHAPITRE 4.

le nouveau vecteur de e e` ´ ` ´ poids est egal a l’ancien (aucun changement). α (4. Supposons que pj (t) = a(t) = 1 et que nous e max ayons atteint le r´ gime permanent o` ∆wj = 0. Une facon d’aborder cette r` gle.14) (4. que l’on peut r´ -´ crire sous sa forme vectorielle de la facon suivante : ee ¸ ∆w(t − 1) = ηa(t) [p(t) − w(t − 1)] . enonc´ e a l’´ quation 4. A cause du terme d’oubli.2.16) ´ ` Et si l’on fixe α = η pour simplifier (on pose un rythme d’apprentissage egale a celui de l’oubli). e Une propri´ t´ particuli` rement int´ ressante de la r` gle instar est qu’avec des entr´ es normaee e e e e ´ lis´ es. 31 (4. il est primordial e e e que les stimuli soient r´ p´ t´ s r´ guli` rement. Sous forme vectorielle. (4. Mais nous y reviendrons lorsque nous traiterons du r´ seau «instar». on obtient la r` gle dite «instar» : e ∆wj (t − 1) = ηa(t) [pj (t) − wj (t − 1)] . suite au processus d’apprentissage.13) ´ La r` gle de Hebb avec oubli. Lorsque η = 1. la valeur maximale wj que peut atteindre e u le poids wj (t) est donn´ e par : e max max = (1 − α)wj + η wj η = . contourne efficacement le probl` me e e ` e e des poids qui croissent (ou d´ croissent) sans limite. le long du segment qui relie l’ancien vecteur de e e e poids avec le vecteur d’entr´ e. tel qu’illustr´ a la figure 4.15) ` Mais cette r` gle ne r´ sout pas tous les probl` mes. lorsque η = 2 . le nouveau vecteur est a mi-chemin entre l’ancien e vecteur de poids et le vecteur d’entr´ e.` 4. Finalement. les poids w convergeront egalement vers des vecteurs e normalis´ s. Une autre variante de la e e e r` gle de Hebb s’exprime donc de la mani` re suivante : e e ∆wj (t − 1) = ηpj (t)a(t) − αa(t)wj (t − 1). le vecteur de poids est e e d´ plac´ dans la direction du vecteur d’entr´ e p(t). on ecrit : u ∆w(t − 1) = ηp(t)a(t) − αw(t − 1). sinon les associations apprises grˆ ce a la r` gle de e ee e e a ` e ´ l’´ quation 4. Alors.13.2.13 seront eventuellement perdues car compl` tement oubli´ es. Lorsque η = 0. le nouveau vecteur de poids est egal 1 ` au vecteur d’entr´ e. (4.17) Alors. e e .19) (4.18) (4. on constate qu’en pr´ sence d’une activit´ post-synaptique positive. est de regarder ce qui se passe lorsque a(t) = 1 : ¸ e w(t) = w(t − 1) + η [p(t) − w(t − 1)] = (1 − η)w(t − 1) + ηp(t). PAR LA REGLE DE HEBB ´ o` 0 ≤ α ≤ 1 est une nouvelle constante.20) (4.

Contrairement aux autres e e e types d’apprentissage o` . Il ne sera donc pas affect´ par le stimulus en question. e` e ´e Une r` gle d’apprentissage comp´ titif comporte les el´ ments suivants : e e – Un ensemble de neurones identiques (mˆ me type) sauf pour les valeurs de leurs poids sye naptiques . un e e e ensemble de neurones «voisins» du vainqueur. l’apprentissage comp´ titif produit un «vainqueur» ainsi que. e ` ` – Un m´ canisme permettant aux neurones de comp´ titionner pour le droit de r´ pondre a un e e e certain sous-ensemble des stimuli d’entr´ e. totalement connect´ e sur les e e entr´ es. g´ n´ ralement. On dit alors que l’apprentissage est local car e e limit´ a un sous-ensemble des neurones du r´ seau. les r´ seaux de neurones qui utilisent l’apprentissage comp´ titif e e sont souvent constitu´ s d’une seule couche de neurones de sortie. parfois. son voisinage b´ n´ ficient d’une adaptation de leur poids. potentiellement.2 – Repr´ sentation graphique de la r` gle «instar» lors d’une activit´ post-synaptique posie e e tive. les neurones individuels peuvent apprendre a se sp´ cialiser sur des sous-ensembles de stie muli similaires pour devenir des d´ tecteurs de caract´ ristiques. – Une limite impos´ e a la «force» d’un neurone . Un neurone qui ne gagne pas la comp´ tition u e ne modifiera aucunement ses poids. PROCESSUS D’APPRENTISSAGE p(t) w(t) w(t-1) F IG . et seuls ce vainqueur et. 4.3 Comp´ titif e ` L’apprentissage comp´ titif. comme son nom l’indique. 0 autrement ∆w = (4. 4. e ´ galement un voisinage autour du neurone gagnant et on applique une r` gle similaire sur on d´ finit e e e . consiste a faire comp´ titionner les neue e ` rones d’un r´ seau pour d´ terminer lequel sera actif a un instant donn´ . Parfois.32 CHAPITRE 4. Un neurone vainqueur modifiera ses poids synaptiques en les rapprochant (g´ om´ triquement) e e e d’un stimulus d’entr´ e p pour lequel il a battu tous les autres neurones lors de la comp´ tition : e e η(p − w) si le neurone est vainqueur . e e Dans leur forme la plus simple.21) ` o` 0 < η < 1 correspond a un taux d’apprentissage. de mani` re a ce qu’un seul neurone de sortie e e ` ` soit actif a la fois. tous les neurones peuvent apprendre simultan´ ment et u e e e de la mˆ me mani` re. ` Ainsi.

puis dans les chapitres subs´ quents au fur et a mesure e que nous aborderons des algorithmes concrets d’apprentissage. e e Le probl` me de l’affectation du cr´ dit est donc bien pr´ sent dans l’apprentissage des r´ seaux e e e e de neurones. e a e e e ` Chaque couple (pi . 4. d2 ). l’apprentissage comp´ titif est surtout utilis´ e e dans le contexte d’un apprentissage dit non-supervis´ .22) Comme nous le verrons plus loin dans ce chapitre. di ) correspond donc a un cas d’esp` ce de ce que le r´ seau devrait produire e e (la cible) pour un stimulus donn´ . et non des sorties d´ sir´ es e e e e e e ´e ` pour chaque neurone de la couche de sortie ? Nous apporterons certains el´ ments de r´ ponse a ces e ` questions dans les sous-sections suivantes. Dans le e e e e cas de l’exemple d’un r´ seau.4 Probl` me de l’affectation du cr´ dit e e Dans le domaine g´ n´ ral de l’apprentissage. mais avec un taux d’apprentissage diff´ rent : e   η1 (p − w) si le neurone est vainqueur    33 ∆w = avec η2 ≤ η1 . il s’agit d’affecter le cr´ dit d’un r´ sultat global. o` pi d´ signe e u e un stimulus (entr´ e) et di la cible pour ce stimulus. c’est-` -dire lorsqu’on ne connait pas les e a valeurs d´ sir´ es pour les sorties du r´ seau. e . les d´ cisions internes correspondent aux sorties des neurones situ´ s e e e sur les couches qui pr´ c` dent la couche de sortie. l’apprentissage supervis´ est aussi qualifi´ e e e d’apprentissage par des exemples. . e e e ` par exemple l’ad´ quation des sorties d’un r´ seau face a un certain stimulus d’entr´ e. dQ )}. Ces couches sont habituellement qualifi´ es de e e e «couches cach´ es» car on ne dispose pas. PROBLEME DE L’AFFECTATION DU CREDIT les voisins. c’est-` -dire les sorties d´ sir´ es du r´ seau. Par exemple. a priori.5 Supervis´ e L’apprentissage dit supervis´ est caract´ ris´ par la pr´ sence d’un «professeur» qui poss` de e e e e e ´ une connaissance approfondie de l’environnement dans lequel evolue le r´ seau de neurones. η2 (p − w) si le neurone est voisin du vainqueur . a l’ensemble e e e ` ` des d´ cisions internes prises par le syst` me (le r´ seau) et ayant conduit a ce r´ sultat global. d1 ). si l’on adopte une r` gle bas´ e sur la correction des erreurs. il existe un probl` me qui tourne autour de la e e e notion de «affectation du cr´ dit»2 .` ´ 4. si l’on ne poss` de pas l’information e e ` a propos de leurs sorties d´ sir´ es ? De mˆ me. 2 Traduction litt´ rale de «Credit assignment». . .4. les connaissances de ce professeur prennent la forme d’un ensemble de Q couples de vecteurs d’entr´ e et de sortie que nous noterons {(p1 . 0 autrement (4. que fera-t-on si l’on dispose uniquement d’une e e e ` appr´ ciation g´ n´ rale de performance du r´ seau face a chaque stimulus. Pour cette raison. e e e 4. . d’information sur l’ad´ quation de leurs sorties. (p2 . Essentiellement. comment e e fera-t-on pour calculer cette erreur sur les couches cach´ es. En e pratique. (pQ .

e e . la connaissance de l’environnement par le e professeur est graduellement transf´ r´ e vers le r´ seau jusqu’` l’atteinte d’un certain crit` re d’arrˆ t. Grˆ ce a ses connaissances intrins` ques. a savoir que sans professeur pour fournir les valeurs cibles. 4. il ne peut d’aucune facon ¸ apprendre de nouvelles strat´ gies pour de nouvelles situations qui ne sont pas couvertes par les e exemples d’apprentissage. the greater the strengthening or weakening of the bond. other things being equal. those which are accompanied or closely followed by discomfort to the animal will. e ¸ Le lecteur attentif aura remarqu´ qu’un apprentissage supervis´ n’est rien d’autre qu’un synoe e nyme de l’apprentissage par correction des erreurs (voir section 4. have their connections with that situation weakened. other things being equal. Autrement dit. eventuellement. they will be less likely to occur. L’environnee e e ment est inconnu du r´ seau. le professeur produit une sortie d´ sir´ e d(t) e a ` e e e pour ce stimulus.» ´ ` Mˆ me si cet enonc´ ne peut expliquer a lui seul le comportement animal au niveau biologique. be more firmly connected with the situation. Elle est ensuite compar´ e (par souse e tration) avec la sortie du r´ seau pour produire un signal d’erreur e(t) qui est r´ -inject´ dans le e e e ´ r´ seau pour modifier son comportement via une proc´ dure it´ rative qui.6 Par renforcement L’apprentissage par renforcement permet de contourner certaines des limitations de l’apprentissage supervis´ . Il poss` de donc les mˆ mes e e ` limitations. Il consiste en un esp` ce d’apprentissage supervis´ . Celui-ci produit un stimulus p qui est achemin´ a la fois au professeur e e` et au r´ seau. Ce type d’apprentissage est inspir´ des e travaux en psychologie exp´ rimentale de Thorndike (1911) : e «Of several responses made to the same situation. e e ` L’apprentissage supervis´ est illustr´ d’une mani` re conceptuelle a la figure 4. on peut eliminer le professeur et laisser le r´ seau fonctionner de facon autonome.34 p(t) CHAPITRE 4.1). sa e e simplicit´ et son pragmatisme peut nous permettre de composer des r` gles d’apprentissage utiles. lui pere e e met de simuler la r´ ponse du professeur. when it recurs. mais avec un indice de sae e e tisfaction scalaire au lieu d’un signal d’erreur vectoriel. so that. ee e a e e ´ Par la suite. they will be more likely to recur . The greater the satisfaction or discomfort. so that. those which are accompanied or closely followed by satisfaction to the animal will. 4.3 – Sch´ ma bloc de l’apprentissage supervis´ . when it recurs. PROCESSUS D’APPRENTISSAGE Environnement Professeur d(t) + Système supervisé e(t) a(t) − ∑ F IG .3. On suppose que cette r´ ponse est optimale.

cette m´ trique est bas´ e e e . e ´ Ainsi. et de s’en servir par la suite pour optimiser les param` tres libres du r´ seau.7 Non-supervis´ e La derni` re forme d’apprentissage que nous abordons est dite «non-supervis´ e» ou encore e e «auto-organis´ e». et une d’exploitation o` l’on prend une d´ cision. A e e e e` repr´ sentations internes des stimuli de l’environnement permettant d’encoder les caract´ ristiques e e de ceux-ci et. alors la tendance du r´ seau a prendre cette action doit etre renforc´ e. Il importe cependant de bien comprendre la e ´ diff´ rence entre ce type d’apprentissage et l’apprentissage supervis´ que nous etudierons en d´ tails e e e au chapitre 5. Nous ne disposons donc que d’un environnement qui fournit des stimuli.ex. la tˆ che du r´ seau est alors de mod´ liser cet a e e ´ etat le mieux possible. Dans l’apprentissage par renforcement. pour eventuellement inf´ rer une e e e e direction de changement pour les poids synaptiques. e comme dans le cas par renforcement. le r´ seau a d´ velopp´ une habilit´ a former des ses poids synaptiques. il introduit un dilemme entre le d´ sir d’utiliser e e ` l’information d´ j` apprise a propos du m´ rite des diff´ rentes actions. il importe d’abord de d´ finir une mesure de la qualit´ pour e e ce mod` le. C’est cette information fournie par le professeur qui fait toute la diff´ rence. Pour ce faire. De plus. mais permet aussi d’estimer le gradient local qui indique une direction pour l’adaptation des poids synaptiques. La qualit´ du mod` le r´ sultant doit s’´ valuer a l’aide d’une m´ trique permete e e e e tant de mesurer la distance entre les stimuli et leurs prototypes. c’est-` -dire qu’on e e e e a ne dispose ni d’un signal d’erreur. NON-SUPERVISE 35 Dans le contexte des r´ seaux de neurones artificiels. mieux les choisir e e dans le futur. Autree e ` ˆ ment. l’usage de l’apprentissage par renforcement est complexe a mettre en ?uvre. de cr´ er automatiquement des classes de stimuli similaires. ni d’un indice de satisfaction. Pour y arriver. En assimilant les stimuli de e ` ´ l’environnement a une description de son etat interne. de sorte que nous n’aborderons aucun r´ seau qui l’emploie. nous pouvons reformuler l’´ nonc´ de Thorne e e dike de la facon suivante : ¸ Lorsqu’une action (d´ cision) prise par le r´ seau engendre un indice de satisfaction e e ` ˆ positif. on introduit deux etapes distinctes : une d’exploration o` l’on essaie des directions al´ atoires u e ´ de changement.7. le ´ r´ seau est oblig´ de tenter des actions et d’observer le r´ sultat. eventuellement. c’est-` -dire e e e a ` la fin de l’apprentissage. il s’agit alors d’implanter un processus d’essais et d’erreurs tout en retardant la r´ compense offerte par l’indice de satisfaction. e e L’apprentissage non-supervis´ s’appuie g´ n´ ralement sur un processus comp´ titif (voir sece e e e tion 4. l’erreur quadratique moyenne). comme dans le cas supervis´ . et d’un r´ seau qui doit apprendre sans intervention externe. par cons´ quent. e l’absence de signal d’erreur rend le calcul de ce gradient impossible. Pour estimer le gradient. L’apprentissage supervis´ dispose d’un signal d’erreur qui non seulement permet de calcue ler un indice de satisfaction (p.´ 4. et celui d’acqu´ rir de nouea e e e ´ velles connaissances sur les cons´ quences de ces d´ cisions pour. Souvent. e ` En pratique.3) permettant d’engendrer un mod` le o` les poids synaptiques des neurones repr´ sentent des e u e ` prototypes de stimuli. la tendance a prendre cette action doit etre diminu´ e. Ce processus en deux etapes peut u e ralentir consid´ rablement l’apprentissage. 4. Elle est caract´ ris´ e par l’absence compl` te de professeur.

Q. e e et les di repr´ sentant les sorties d´ sir´ es pour chacun de ces stimuli.4). . (4.24) Par la suite. il suffira de pr´ senter au r´ seau n’importe e e quel stimulus inconnu pour pouvoir proc´ der au classement de celui-ci dans l’une ou l’autre e ` des cat´ gories.36 CHAPITRE 4. Par la suite. d1 ). d2 ). . Il en existe deux types : l’auto-association et l’h´ t´ ro-association. avec i = 1. dans une phase de reconnaissance. 0 autrement (4. (pQ . . . Ainsi. . le r´ seau doit e e ı e entreprendre une phase d’apprentissage supervis´ durant laquelle les stimuli sont pr´ sent´ s e e e en entr´ e et les cat´ gories sont utilis´ es pour former les sorties d´ sir´ es. L’auto-association implique un apprentissage non e supervis´ . e e e Ou inversement. Pour un probl` me comportant Q cat´ gories. a ` ` Le probl` me de l’h´ t´ ro-association consiste quant a lui a associer des paires de patrons : e ee un patron d’entr´ e et un patron de sortie. 2. Supposons maintenant que la fonction g(·) est inconnue. avec les pi repr´ sentant les stimuli. . la sortie 2 a e e ` e la cat´ gorie 2. alors que l’h´ t´ ro-association requiert plutˆ t un apprentissage supervis´ . e ee o e 3. dQ ]T a l’aide de l’expression suivante : e e di = ` 1 si le stimulus appartient a la cat´ gorie i e . e 4. La tˆ che d’approxie a ` concevoir un r´ seau de neurones capable d’associer les el´ ments ´e mation consiste alors a e ˆ ` des couples entr´ e-sortie : {(p1 . on peut par exemple fixer les e e e ` sorties d´ sir´ es d = [d1 . C’est le processus de comp´ tition qui permet de s´ lectionner le e e prototype associ´ a chaque stimulus en recherchant le neurone dont le vecteur de poids synaptiques e` est le plus proche (au sens de la m´ trique choisie) du stimulus en question. dQ )}. Dans un premier temps. . et la tˆ che consiste a produire en sortie le patron original correspondant. . 2. . on peut aussi dire que l’apprentissage supervis´ est un probl` me d’approxie e mation de fonction . (p2 . Ce probl` me peut etre r´ solu a e e e l’aide d’un apprentissage supervis´ sur les Q exemples. a choisir la cat´ gorie e e e associ´ e avec la sortie maximale. . Soit la fonction g telle que : d = g(p). Approximation. etc. . e . la sortie 1 est associ´ e a la cat´ gorie 1. PROCESSUS D’APPRENTISSAGE sur la norme l2 (voir section 3.8 Tˆ ches d’apprentissage a ´ Nous terminons ce chapitre en enum´ rant diff´ rentes cat´ gories de tˆ ches que l’on peut vouloir e e e a r´ aliser avec un r´ seau de neurones : e e 1. . il existe un nombre fixe de cat´ gories (classes) de stimuli a e ` d’entr´ e que le r´ seau doit apprendre a reconnaˆtre. Q. par exemple. d2 .1.23) o` p est l’argument de la fonction (un vecteur) et d la valeur (un scalaire) de cette fonction u ´ evalu´ e en p. . Association. Classement. . g´ n´ ralement en e e e e e e e ` utilisant une sortie par cat´ gorie. . . Une r` gle simple de classement consiste. on pr´ sente au r´ seau une version partielle ou d´ form´ e e e e e e ` d’un patron original. i = 1. Le probl` me ee e ` e de l’auto-association consiste a m´ moriser un ensemble de patrons (vecteurs) en les pr´ sentant e successivement au r´ seau. Pour cette tˆ che.

y(t)} o` u(t) d´ signe l’entr´ e du syst` me et y(t) correspond a la r´ ponse de celui-ci. x(t − M ). (4. Pr´ diction. d(t)}. t − 2. souvent un mod` le lin´ aire. . Ceci e ` e e e ee peut se r´ aliser grˆ ce a certains types de r´ seaux supervis´ s. . . Consid´ rons un syst` me dynamique non-lin´ aire e e e e ` {u(t). nous allons aborder des r´ seaux sp´ cifiques en commencant par l’un e e ¸ des plus connus et des plus utilis´ s : le perceptron multicouches et son algorithme de r´ tropropagation e e des erreurs.26) de mani` re a ce que la sortie du syst` me suivent de pr` s celle du mod` le de r´ f´ rence. le mod` le pourra lui-aussi etre none e lin´ aire. Commande. x(t − 1). echantillonn´ s a intervalle e e ` ` e de temps fixe.ˆ 4. . En supposant que nous poss´ dons M e e ´ ´ echantillons pass´ s d’un signal. Ce probl` me de pr´ diction a e e ˆ peut etre r´ solu grˆ ce a un apprentissage par correction des erreurs. . (4. Plus pr´ cis´ ment.8. t−M ) repr´ sente la sortie observ´ e du u e e e e e ´ ´ ` r´ seau etant donn´ les M echantillons pr´ c´ dents. la tˆ che consiste a pr´ dire la valeur de x au temps t. TACHES D’APPRENTISSAGE 37 4. La pr´ diction s’apparente a la construction e e e e e d’un mod` le physique de la s´ rie chronologique. . on d´ sire commander ce syst` me de mani` re a ce qu’il se comporte e e e e e ` selon un mod` le de r´ f´ rence. La commande d’un processus est une autre tˆ che d’apprentissage que l’on peut a ` aborder a l’aide d’un r´ seau de neurones. x(t − 2). e a ` e e Dans les chapitres qui suivent. . e 5. . . La notion de pr´ diction est l’une des plus fondamentales en apprentissage. Dans la mesure o` le r´ seau poss` de des e e u e e ˆ neurones dont la fonction de transfert est non-lin´ aire. o` pour tout temps e ee e e u ` t ≥ 0. t − M ). .25) o` x(t) d´ signe la sortie d´ sir´ e et x(t | t−1. etant donn´ que les valeurs de sortie d´ sir´ e peuvent etre inf´ r´ es e e e e ee directement de la s´ rie chronologique. . Il e e s’agit d’un probl` me de traitement temporel de signal. on arrive a produire une commande u(t) telle que : t→∞ lim |d(t) − y(t)| = 0. l’´ chantillon de x(t) peut servir de e e e e valeur d´ sir´ e et le signal d’erreur pour l’adaptation des poids se calcule simplement par e e l’´ quation suivante : e e(t) = x(t) − x(t | t − 1. t−2. mais d’une mani` re non e a ` e ´ ˆ supervis´ (sans professeur). {r(t). . u e e e e Dans le cas g´ n´ ral. .

38 .

de l’algorithme e de r´ tropropagation (en anglais «backpropagation»). de classification et de pr´ diction. e 5. Il est habituellement constitu´ de deux ou trois e e ´ couches de neurones totalement connect´ s.3).1 Perceptron simple ´ Le perceptron simple est illustr´ a la figure 5. 39 . Nous allons ensuite consid´ rer diff´ rentes r` gles d’ape e e 3 prentissage pour la correction des erreurs. e e e e c’est-` -dire qu’en mode normal d’utilisation. Nous traiterons le cas de la r` gle LMS . l’information se propage dans un sens unique. Ce type de r´ seau est dans la famille g´ n´ rale des r´ seaux a «propagation vers l’avant2 ». e Le perceptron multicouche est un des r´ seaux de neurones les plus utilis´ s pour des probl` mes e e e d’approximation. il s’agit d’une seule couche de S neurones totalement connect´ e sur un vecteur p de R e T entr´ es. c’est-` -dire le perceptron a une seule couche de neurones dont les fonctions a d’activation sont de type seuils (section 2. En particulier. par core e e rection des erreurs (chapitre 4).1. Les niveaux d’activation n = Wp − b = [n1 n2 · · · nS ]T des neurones de la couche ` servent d’argument a la fonction d’activation qui applique un seuil au niveau 0 (section 2.3) pour 1 2 En anglais «multilayer perceptron» ou MLP. avec les vecteur-rang´ es i w (dimension R × 1) repr´ sentant les R poids des connexions e e reliant le neurone i avec ses entr´ es. En anglais «feedforward networks». nous allons aborder le cas ` du perceptron simple.Chapitre 5 Perceptron multicouche ´ Le premier r´ seau de neurones que nous allons etudier s’appelle le «perceptron multicouche1 » e ` (PMC). 3 En anglais «Least Mean Square». Dans ce cas uniquement. La matrice W = [1 w 2 w · · · S w] de dimension S × R repr´ sente l’ensemble des poids de e e la couche. des a entr´ es vers les sorties sans aucune r´ troaction. Son apprentissage est de type supervis´ . Avant d’en etudier le fonctionnement global. de la m´ thode de Newton et de la m´ thode e e e du gradient conjugu´ . le signal d’erreur est «r´ tropropag´ » vers e e ` les entr´ es pour mettre a jour les poids des neurones. En suivant la notation sch´ matique etablie au e` e chapitre 2. Le vecteur b (dimension S ×1) d´ signe l’ensemble des S biais e e de la couche. nous ale ` lons nous attarder a divers cas particuliers plus simples.

Nous avons donc : <w.1 w1. c’est que cos θ est maximal .2 p2 ≥ b1 −1 autrement (5. Maintenant. o` b = b1 . o` : u ai = +1 si ni ≥ 0 −1 autrement (5.2 ]T . Ce vecteur est perpendiculaire a la droite et sa norme correspond a la distance perpendiculaire entre la droite et l’origine.1 p1 + w1. b = [b1 ] et a = [a1 ].2) Cette derni` re equation nous indique clairement que la sortie du r´ seau (neurone) peut prendre e ´ e seulement deux valeurs distinctes selon le niveau d’activation du neurone : −1 lorsque ce dernier ` est strictement inf´ rieur a 0 . y> = ||x|| ||y|| cos θ (´ quation 3.1 – Perceptron a une seule couche avec fonction seuil. PERCEPTRON MULTICOUCHE Couche de S neurones p Rx1 W SxR + n Sx1 a Sx1 -1 R b Sx1 S a = hardlims(Wp−b) F IG .1. Soit p⊥ . si sa norme est minimale. c’est parce que l’angle entre les vecteurs doit aussi changer.1 w1. nous avons la relation w p = b. telle e e e ´ qu’illustr´ e a la figure 5. nous e e` e aurons p = [p1 p2 ]T . p> = ||w|| ||p|| cos θ = b (5. Il existe donc dans l’espace des entr´ es e e une fronti` re d´ limitant deux r´ gions correspondantes. +1 dans le cas contraire. En effet. W = [1 w]T = [w1. 5. ` produire le vecteur des sorties a = [a1 a2 · · · aS ]T .3) et l’on sait que <x.3) ` pour tous les points p qui appartiennent a la droite.2 ]. il est ais´ de e ` e e ˆ ` montrer que ce vecteur doit etre perpendiculaire a cette droite. Cette fronti` re est d´ finie par la condition e e e e e ` w1. Or le terme wT p correspond a un produit u scalaire (section 3. et le produit scalaire doit rester constant. o` : u a1 = +1 si w1. a savoir lorsque R = 2 et S = 1.1 p1 + w1. Dans ce cas.40 Entrée CHAPITRE 5. le point de la droite dont le vecteur correspondant poss` de la plus petite e ` ` norme. o` θ repr´ sente e u e l’angle entre les vecteurs x et y. Etant donn´ un certain vecteur de poids w = [w1.1) ` Consid´ rons maintenant le cas non-trivial le plus simple. Mais s’il reste constant alors que la norme de p change.2 p2 = b1 de l’´ quation 5.12). c’est-` e a dire lorsque la couche n’est form´ e que d’un seul neurone reli´ a deux entr´ es.2.2 qui correspond a l’expression g´ n´ rale d’une droite. pour tous les points p de T ` la droite.

p3 = 0 −2 . consistant a e e e e` discriminer entre le point noir (p1 ) et les points blancs (p2 et p3 ) d´ finis par : e p1 = 1 2 . e e e ` et.3.6) ` et fixons S = 1 (un seul neurone).4) ||p⊥ || = ||w|| ´ ` Nous pouvons egalement d´ duire que l’origine appartiendra a la r´ gion gris´ e (n > 0) si. illustr´ a la figure 5.3a. et nous nous retrouverons avec S fronti` res de d´ cision e e distinctes.5. e e Si l’on consid` re maintenant le cas o` S > 1. que l’angle θ entre p⊥ et w est nul. alors chaque neurone i poss´ dera son propre e u e vecteur de poids i w et son propre biais bi . consid´ rons le probl` me particulier. Autrement. Il s’agit de trouver un vecteur de poids w correspondant a ` la figure 5. (pQ .1. PERCEPTRON SIMPLE 41 p2 n>0 n=0 w p1 n<0 F IG . 5. Toutes ces fronti` res de d´ cision seront lin´ aires. . d2 = −1 . Pour simplifier davantage. w pointe dans la mˆ me direction que e e p⊥ et : b (5. dQ )} (5. Si e b = 0. a condition que celles-ci soient lin´ airement s´ parables. . d3 = −1 (5. Ainsi.5) ` Pour fixer les id´ es. d2 ). l’une ou l’autre des fronti` res de d´ cision illustr´ es a e e e .2 – Fronti` re de d´ cision pour un perceptron simple a 1 neurone et deux entr´ es. (p2 .2. Il ne reste plus e e qu’` trouver une r` gle d’apprentissage pour pouvoir d´ terminer les poids et les biais du r´ seau a e e e permettant de classer au mieux Q couples d’apprentissage : {(p1 . l’origine appartiendra a la r´ gion n < 0. alors la fronti` re de d´ cision passera par l’origine. . d1 = +1 .8) a deux classes. Chaque neurone d’un e e perceptron simple permet donc de r´ soudre parfaitement un probl` me de classification (voir sece e ` ` tion 4. b < 0. comme a la figure 5. et seulee e e ` ` ment si. Elles permettront chacune de d´ couper e e e e l’espace d’entr´ e en deux r´ gions infinies. de part et d’autre d’une droite. par cons´ quent. . d1 ). p2 = −1 2 .

3d.8) tel qu’illustr´ a la figure 5. par exemple w = [1 −1]T e (voir figure 5. Nous allons donc l’initialiser al´ atoirement. il faut au contraire eloigner w de p1 . e e Le r´ seau n’a donc pas le comportement d´ sir´ . On peut remarquer e e e que dans le cas particulier de ce probl` me simplifi´ . tel qu’illustr´ a la figure 5. bien sˆ r.3c. est que nous ne connaissons pas a priori la e u bonne orientation pour w. De cette mani` re.3 – Exemple d’un probl` me a deux classes (points noirs vs points blancs). la sortie d´ sir´ e pour ce point est +1 (les zones grises a la figure 5.10) . Ainsi : e e ` ∆b = −e (5. Dans la situation inverse. ` point p1 ? Une solution consisterait a e e le point p1 serait parfaitement classer.3b). Comment pourrions-nous modifier w pour que le r´ seau puisse classifier ad´ quatement le e e ` fixer w = p1 . u u ` on peut aussi mettre a jour le biais en observant simplement que celui-ci n’est rien d’autre qu’un poids comme les autres. Cette r` gle fonctionne bien pour la cat´ gorie de stimulus o` l’on e` e e u ´ d´ sire obtenir une sortie +1.7) ` Or. +1}.9)  −p si e = −1 ` o` ∆w = w(t + 1) − w(t) et p est le stimulus que l’on cherche a apprendre. Dans le cas o` b = 0. e d−a u D´ finissons un signal d’erreur e = 2 o` e ∈ {−1.42 p2 CHAPITRE 5. La sortie du r´ seau pour ce point est donn´ e par : e e e a = hardlims(wT p1 ) = hardlims [1 −1] 1 2 = hardlims(−1) = −1 (5. Consid´ rons le point p1 (point noir). e ` nous supposons pour cet exemple que b = 0. de sorte que les fronti` res de d´ cision induites par e e w passent toutes par l’origine. PERCEPTRON MULTICOUCHE p2 p2 w w p1 p2 w(t+1) w p1 p1 w(t) p1 (a) (b) (c) (d) F IG . nous avons l’ensemble suie vant de r` gles : e   p si e = +1  ∆w =  0 si e = 0 (5. la norme de w ne compte pas car le biais est e e nul. 0. il faudra modifier le vecteur w. mais dont l’entr´ e est fix´ e a -1. La solution consiste donc a prendre une e position interm´ diaire en approchant la direction de w de celle de p1 : e w(t + 1) = w(t) + p1 (5.3 produisent une sortie +1). Mais le probl` me avec cette approche est que la fronti` re e e ` de d´ cision bondirait d’un stimulus a l’autre au fil de l’apprentissage ce qui pourrait engendrer des e ` oscillations et empˆ cher la convergence dans certains cas. Alors. seule son orientation importe. Le probl` me. 5.

e Nous ne d´ montrerons pas ici qu’elle converge toujours vers une solution en un nombre fini e d’it´ rations. Des fronti` res possibles sont dessin´ es en pointill´ s. e e e ´ le changement de poids ∆W est egalement nul. Si l’on s’arrange pour conserver le ratio b constant. Sans perte de g´ n´ ralit´ . La troisi` me hypoth` se est plus subtile mais e e ||w|| non limitative. mais sachez qu’une telle preuve existe. e e 3. ` Mais qu’entend-on par un probl` me a deux classes «lin´ airement s´ parables» ? Et bien sime e e plement un probl` me de classification dont la fronti` re de d´ cision permettant de s´ parer les deux e e e e ` classes peut s’exprimer sous la forme d’un hyperplan (plan dans un espace a n dimensions).9 sous forme e e u e´ e matricielle de la facon suivante : ¸ ∆W = epT ∆b = −e (5. Malgr´ sa relative simplicit´ . Par exemple. e e e ` 2.1.5. Les poids ne sont mis a jour que lorsqu’un stimulus d’entr´ e est class´ incorrectement . Le probl` me doit etre lin´ airement s´ parable . on peut r´ ecrire l’´ quation 5. on ne peut e e e e ` pas s’attendre a ce qu’un r´ seau qui ne peut produire que des solutions lin´ aires puisse converger ! e e La deuxi` me hypoth` se est implicite dans l’´ quation 5. la r` gle du perceptron s’av` re tr` s puissante.11) (5. on peut donc r´ duire la norme des poids lorsque celle-ci devient e e e e trop grande. Vous pouvez facie e e e e lement exp´ rimenter avec cette r` gle grˆ ce a la «Neural Network toolbox» de Matlab. Elles sont toutes non lin´ aires. on ne change aucunement la fronti` re de d´ cision que ce neurone e e e engendre. programme e e a ` de d´ monstration nnd4pr. sans changer l’orientation de w pour un neurone donn´ . les probl` mes de la figure 5. 5. e e e e .11. e e e Et dans le cas g´ n´ ral o` l’on dispose de S neurones. Il existe une borne sup´ rieure sur la norme des vecteurs de poids.12) o` e = [e1 e2 · · · eS ]T = d − a est le vecteur des erreurs que l’on observe en sortie pour le stimulus u p. Il importe cependant de connaˆtre les hye ı ` poth` ses sous-jacentes a cette preuve : e ˆ 1. PERCEPTRON SIMPLE 43 (a) (b) (c) F IG .4 – Exemples de probl` mes non lin´ airement s´ parables. e La premi` re hypoth` se va de soit car s’il n’existe aucune solution lin´ aire au probl` me. Lorsque le signal d’erreur e est nul.4 ne sont pas s´ parables en deux dimensions (par de simples e e droites).

.5.5 – R´ seau ADALINE. e e En pratique. Lorsque que vous e ee ` faites un appel inter-urbain ou outre-mer. a utiliser un e r´ seau ADALINE ! e ` Comme a la section 4. En revanche. son algorithme d’apprentise e e e sage. la r` gle LMS minimise l’erreur quadratique moyenne. . est beaucoup plus puissante que la r` gle du perceptron e e original. la r` gle LMS consiste a tenter de minimiser un indice e de performance F bas´ sur l’erreur quadratique moyenne. si celle-ci existe. 5. Cependant. car bien que cette derni` re soit assur´ e de converger vers une solution. (5.44 CHAPITRE 5. vous vous trouvez peut-ˆ tre. PERCEPTRON MULTICOUCHE Entrée Couche de S neurones p Rx1 W SxR + n Sx1 a Sx1 -1 R b Sx1 S a = purelin(Wp−b) F IG .1 o` nous avons d´ velopp´ le concept d’un apprentissage par correction u e e ` des erreurs. a chaque instant t. Il souffre des mˆ mes limitations que le perceptron simple : il ne e e peut r´ soudre que des probl` mes lin´ airement s´ parables. Poss´ dant un ensemble d’apprentissage e e de Q associations stimulus/cible {(pq .2 R` gle LMS e ` A la section pr´ c´ dente. e e le r´ seau r´ sultant est parfois sensible au bruit puisque la fronti` re de d´ cision se retrouve soue e e e vent trop proche des patrons d’apprentissage (l’algorithme s’arrˆ te d` s que tous les patrons sont e e biens class´ s). Nous allons maintenant consid´ rer la mˆ me architecture e e ` ` de r´ seau a une seule couche mais avec cette fois-ci une fonction de transfert lin´ aire comme a la e e ` figure 5. . sans le savoir. o` pq repr´ sente un vecteur stimulus u e ` (entr´ es) et dq un vecteur cible (sorties d´ sir´ es). Q. . Ce r´ seau s’appelle «ADALINE» (en anglais «ADAptive LInear NEuron») a cause de e sa fonction de transfert lin´ aire. la r` gle du «Least Mean Square». on peut propager vers l’avant e e e ` un stimulus diff´ rent p(t) a travers le r´ seau de la figure 5. e e Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ seau produit en sortie pour ce stimulus e et la cible d(t) qui lui est associ´ e : e e(t) = d(t) − a(t). et comme son nom l’indique. dq )}.5 pour obtenir un vecteur de sorties a(t). q = 1.13) . nous avons trait´ le cas du perceptron simple o` les neurones utilisent e e e u une fonction de transfert de type «seuil». e 5. la r` gle du LMS a d´ bouch´ vers de nombreuses applications dont une des plus e e e fameuses est l’annulation de l’´ cho pour les communications t´ l´ phoniques. de sorte que la e e ` fronti` re de d´ cision a tendance a se retrouver aussi loin que possible des prototypes.

et e e ´ pour simplifier les equations. et le dernier el´ ment correspond a la d´ riv´ partielle par rapport a son biais.16) Nous allons donc travailler avec le signal d’erreur scalaire e(t) = d(t) − a(t) et construire notre indice de performance F en fonction du vecteur x des param` tres libres du neurone : e F (x) = E e2 (t) . . On pourrait faire la moyenne des erreurs pour les Q associations d’apprentissage mais ce ` serait long. = R (5.k pk (t) − b1 k=1 (5. (5. (5.20) ∂e2 (t) ∂e(t) = 2e(t) .18) ` Alors.21) w1.19) ´e o` les R premiers el´ ments de e2 (t) correspondent aux d´ riv´ s partielles par rapport aux R poids u e e ´e ` ` du neurone. . nous allons d´ velopper la r` gle LMS pour S = 1. (5. Nous e e e allons aussi regrouper tous les param` tres libres du neurone en un seul vecteur x : e x= w b . on peut calculer le vecteur gradient de cet estim´ : e e ˆ F (x) = e2 (t).j ∂ d(t) − ∂w1. (5.17) ´ o` E[·] d´ signe l’esp´ rance math´ matique. (5. Ainsi : e e e2 (t) et : j = ∂e(t) ∂e2 (t) = 2e(t) .2. et plus performante en pratique.j ∂w1.` 5. R.j : e e e2 (t) ∂e(t) ∂[d(t) − a(t)] ∂ = = d(t) − (1 wT p(t) − b1 ) ∂w1.14) De mˆ me.j ∂w1. Ensuite. Le probl` me avec cette equation est que l’on ne peut pas u e e e e facilement calculer cette esp´ rance math´ matique puisqu’on ne connaˆt pas les lois de probabilit´ e e ı e de x.j ∂w1. Une id´ e plus int´ ressante. nous pourrons facilement l’´ tendre au cas g´ n´ ral de S neurones.15) −1 Ce qui nous permettra d’´ crire la sortie a du neurone sous une forme simplifi´ e : e e a = wT p − b = xT y.j = (5.j = −pj (t). j = 1. REGLE LMS 45 Sachant que tous les neurones d’une mˆ me couche sont ind´ pendants les uns des autres.22) . nous allons regrouper en un vecteur y le stimulus p et l’entr´ e virtuelle −1 associ´ e au e e e biais du neurone : p y= . a chaque it´ ration de l’algorithme. ∂w1. R+1 ∂b ∂b ` Il s’agit maintenant de calculer les deux d´ riv´ s partielles de e(t) par rapport a w1. c’est-` -dire le cas e e a d’un seul neurone. . (5. . consiste simplement a e e estimer l’erreur quadratique moyenne par l’erreur quadratique instantan´ e pour chaque association e d’apprentissage : ˆ F (x) = e2 (t).

(5. a condition de restreindre la valeur du taux d’apprentissage. ∆bi (t) = −2ηei (t). l’algorithme a . Mais il existe un ` ´ seuil a partir duquel un trop grand η peut faire diverger l’algorithme. ∂b ´e ´ Notez bien que les termes pj (t) et −1 sont les el´ ments de y. ´ ` ce qui equivaut a : ∆w(t) = 2ηe(t)p(t). Pour calculer le gradient estim´ de notre indice de performance.24 va nous permettre d’appliquer la m´ thode de la descente du gradient d´ crite e e e par l’´ quation 4. En pratique. la m´ thode e ` de la descente du gradient est garantie de converger vers un minimum global. nous sommes int´ ress´ s a fixer η le plus e e ` grand possible pour converger le plus rapidement possible (par de grands pas).7 (voir section 4.30) Mˆ me si nous ne d´ montrerons pas ici la convergence de l’algorithme LMS. nous pourrons ` ´e mettre a jour chaque rang´ e i de la matrice de poids ainsi que chaque el´ ment i du vecteur de biais e ` ´ a l’aide des equations suivantes : ∆i w(t) = 2ηei (t)p(t).27) (5. (5. En voulant aller trop vite.27 et 5. un petit η permettra de suivre ces lignes de contour vers le bas jusqu’` ce qu’on rencontre le minimum global. il importe de retee e nir que pour les indices de performance quadratiques (comme dans le cas ADALINE).24) Ce r´ sultat nous permet aussi d’appr´ cier la simplicit´ qu’engendre l’id´ e d’utiliser l’erreur instane e e e tan´ e plutˆ t que l’erreur moyenne. (5.23) (5. Le gradient etant toujours perpendiculaire aux lignes de contour de F (x). ∆b(t) = −2ηe(t). Dans le cas d’une couche de S neurones.31) (5.32) (5.26) x=x(t) .28) (5. ∆b(t) = −2ηe(t).25) ´ ´ Les equations 5.46 et b : CHAPITRE 5. de sorte qu’on peut ecrire : ˆ F (x) = e2 (t) = −2e(t)y(t).1.29) (5. (5. on obtient : ∆x(t) = 2ηe(t)y(t). du nom de ses auteurs. Ce qui nous permet de r´ ecrire le tout sous la forme matricielle : e´ ∆W(t) = 2ηe(t)pT (t).28 d´ finissent la r` gle LMS de base. e o e il suffit de multiplier l’erreur instantan´ e par le stimulus d’entr´ e ! e e L’´ quation 5. On la nomme egalement r` gle de e e e Widrow-Hoff. page 28) pour modifier les param` tres du neurone dans le sens e e d’une diminution de F : ∆x(t) = x(t + 1) − x(t) = −η F (x) En substituant F (x) par ˆ F (x). PERCEPTRON MULTICOUCHE ∂e(t) = 1.

a tour de rˆ le. i = 1. RESEAU MULTICOUCHE 47 (a) (b) (c) F IG . On peut mˆ me e e e d´ montrer qu’avec un r´ seau de trois couches (deux couches cach´ es + une couche de sortie). . Lorsque le taux est faible. (c) taux (trop) elev´ . Notez qu’il peut etre avantageux de permuter l’ordre de pr´ sentation e ` a chaque p´ riode.3.6. On atteint normalement l’optimum plus ´ e rapidement. On peut montrer que pour garantir la convergence de l’algorithme LMS avec le r´ seau ADAe 1 u LINE.3 R´ seau multicouche e ` Jusqu’` pr´ sent. a condition d’employer une fonce e tion de transfert non lin´ aire et de disposer de suffisamment de neurones sur les couches cach´ es. concaves ou convexes. Dans le cas quadratique. 5. il s’agit simplement de fixer tous les poids et biais du r´ seau a z´ ro. la trajectoire est ´ e continue mais peut converger lentement vers l’optimum. Les r´ seaux multicouches permettent de lever cette limitation. . on peut construire des fronti` res de d´ cision de come e ` plexit´ quelconque. . . 5. (b) taux moyen . Nous a e e e avons aussi vu que ces r´ seaux ne pouvaient r´ soudre que des probl` mes de classification lin´ aie e e e rement s´ parables. ouvertes ou ferm´ es. l’algorithme peut diverger.31 o ` ´ et 5. di ). Lorsque le taux est trop elev´ . nous n’avons trait´ que des r´ seaux a une seule couche de neurones. ` e Pour initialiser l’algorithme. il faut que 0 < η < λmax o` λmax est la plus grande valeur propre de la matrice E y yT . L’algorithme it` re ainsi jusqu’` un nombre maximum (fix´ a priori) de p´ riodes e e a e e ` ou encore jusqu’` ce que la somme des erreurs quadratiques en sortie soit inf´ rieure a un certain a e seuil.7 (voir page 14). il s’agit de lui pr´ senter toutes les associations stimulus/cible e e ` ` ` ´ disponibles. ´ e ` peut sauter par dessus un contour et se mettre a osciller. pour r´ aliser l’apprentissage. les pas ` sont plus grands mais peuvent avoir tendance a osciller.´ 5. les lignes de ` contour ont une forme elliptique comme a la figure 5.32. e Puis. et de mettre les poids a jour a chaque fois en utilisant les equations 5. Q. e e Un r´ seau multicouche n’est rien d’autre qu’un assemblage de couches concat´ n´ es les unes e e e .6 – Trajectoire de la descente du gradient pour diff´ rents taux d’apprentissage : (a) taux e faible . Avec un taux plus elev´ (moyen). e e e comme celui de la figure 2. Une p´ riode d’entraˆnement correspond a appliquer ces equations une fois pour chaque e ı ˆ couple (pi .

48 Entrées Couche de décision n11 CHAPITRE 5.8 repr´ sente toutes les e e e fronti` res de d´ cision dans l’espace des entr´ es. Notez bien que les entr´ es de e e e la deuxi` me couche sont les sorties de la premi` re couche.8b.7. e e e e Il s’agit du probl` me classique du «ou exclusif» (xor) que l’on ne peut pas r´ soudre ni avec un e e ˆ perceptron simple. sinon il est faux.1 Probl` me du «ou exclusif» e ` A la figure 5. Sur sa couche de sortie. selon le type e e d’application. Le rˆ le du e e e o ` neurone sur la couche de sortie.4a. car les points noirs ne peuvent pas etre s´ par´ s e e e ` des blancs a l’aide d’une seule fronti` re de d´ cision lin´ aire. e e ˆ C’est pourquoi. pour etre utile. en prenant les sorties d’une couche et en les injectant comme ` les entr´ es de la couche suivante. e e 5. Dans ce probl` me. Les zones gris´ es repr´ sentent la r´ gion de l’espace e e e e e d’entr´ e du r´ seau pour laquelle le neurone correspondant produit une r´ ponse vrai.5 -1 a12 -1 F IG . Le «ou exclusif». chaque neurone engendre les fronti` res e e de d´ cision illustr´ es aux figures 5. Une chose que l’on peut e ` d´ j` remarquer est qu’il ne sert a rien d’assembler plusieurs couches ADALINE car la combinaison ea ` ´ de plusieurs couches lin´ aires peut toujours se ramener a une seule couche lin´ aire equivalente. Ce r´ seau a deux couches utilise e e e` e des fonctions de transfert seuil. nous avons illustr´ un probl` me de classification non s´ parable lin´ airement. Mais pour l’instant e ı e ` nous allons tenter d’illustrer a quoi servent les couches suppl´ mentaires.7 – R´ seau multicouche pour r´ soudre le probl` me du «ou exclusif». nous allons d´ velopper l’algorithme dit de e e «r´ tropropagation des erreurs» qui permet d’entraˆner un r´ seau multicouche. un r´ seau multicouche doit toujours poss´ der des neurones avec e e fonctions de transfert non-lin´ aires sur ses couches cach´ es. de la gauche vers la droite. pour etre e vrai. 5. Sur la premi` re couche. On peut r´ soudre facilement ce e e ` ` probl` me a l’aide du r´ seau multicouche illustr´ a la figure 5.8a et 5. La figure 5. consiste a effectuer la conjonction des e ` deux r´ gions produites par les neurones de la premi` re couche. les points noirs e e e e ˆ repr´ sentent le vrai (valeur 1) et les points blancs le faux (valeur 0). PERCEPTRON MULTICOUCHE Conjonction a11 1 p1 2 -1 2 -1 ∑ 1 -1 1 n 2 1 ∑ 1. A la section suivante. e e e aux autres. illustr´ a la figure 5. il pourra comporter des neurones lin´ aires ou non-lin´ aires.3.5 n21 2 a21 p2 ∑ -1.8c. exige qu’une seule de ses entr´ es soit vraie. ni avec un r´ seau ADALINE. La fronti` re de d´ cision engendr´ e par le neurone e e e e e e .

on peut montrer qu’un r´ seau mule ticouche comme celui de la figure 5. RESEAU MULTICOUCHE p2 1 49 p2 p2 w1 p1 2 p1 w1 p1 (a) (b) (c) F IG . e e ` Mentionnons finalement que le r´ seau de la figure 5.3.9. Dans ce cas. Il importe e e ` de remarquer que la sortie des fonctions seuils employ´ es etant limit´ e aux valeurs {0. alors il produit vrai en sortie.5. Pour r´ aliser une conjonction (un «et logique»). avec une seule couche cach´ e de neurones sigmo¨des et e ı une couche de sortie avec des neurones lin´ aires permet d’approximer n’importe quelle fonction e ` condition de disposer de suffisamment de neurones sur la d’int´ rˆ t avec une pr´ cision arbitraire. e e sinon il produit faux. 5.8).3. a ee e . D’autres combinaisons de poids et de biais pourraient produire le e mˆ me r´ sultat (pouvez-vous en trouver d’autres ?).10. seuls les coins du carr´ illustr´ a la figure sont e e e` pertinents. 5.9 – Fronti` re de d´ cision engendr´ e par le neurone qui effectue une conjonction. 1} (que l’on e ´ e ´ interpr` te comme etant respectivement faux et vrai). e e 5.8 – Fronti` res de d´ cision engendr´ es par le r´ seau de la figure 5. a12 1 w2 a11 F IG . seul le coin sup´ rieur droite du carr´ produit vrai en sortie.5.7 : (a) neurone 1 de la e e e e couche 1 . (c) neurone 1 de la couche 2.´ 5. (b) neurone 2 de la couche 1 .7 n’est pas le seul a pouvoir r´ soudre e e ce probl` me du «ou exclusif». le neurone effectue donc la somme de e ` ` ses deux entr´ es et fixe un seuil a 1. Si la somme est inf´ rieur a 1.2 Approximation de fonction Pour faire de l’approximation de fonction (section 4. e e e de la couche de sortie est aussi illustr´ e dans son propre espace d’entr´ e a la figure 5.

3. alors que deux couches cach´ es e e e e permettent de cr´ er des fronti` res de d´ cision concaves5 ou convexes.11 – Exemples de fronti` res de d´ cision : (a) convexe ouverte . 6 Les non-lin´ arit´ s proviennent des sigmo¨des ! e e ı 5 4 . Intuitivement. ouvertes ou ferm´ es. on utilisera des r´ seaux soit a deux. 5. on veut voir que la premi` re couche cach´ e d’un tel r´ seau sert a d´ couper e e e e l’espace d’entr´ e a l’aide de fronti` res de d´ cision lin´ aires. La figure 5. ouvertes ou ferm´ es.10 – R´ seau multicouche permettant de faire de l’approximation de fonction.50 Entrée Couche sigmoïde CHAPITRE 5. cette preuve passe par la d´ monstration que l’on peut approximer n’importe quelle fonction e d’int´ rˆ t par une combinaison lin´ aire de sigmo¨des. de complexit´ arbitraire. (c) e e e concave ouverte . Intuitivement. On peut montrer qu’une seule couche cach´ e suffit a engendrer des fronti` res de ı e e 4 d´ cision convexes. alors qu’une courbe concave implique un point d’inflexion. e (a) (b) (c) (d) F IG . un peu a la facon des s´ ries de Fourier qui utilisent des sinus et coe ¸ e sinus.11 montre en deux dimensions diff´ rents types de fronti` res de e e e ` e d´ cision. 5. soit a trois couches de neue ` rones sigmo¨des. la deuxi` me couche sert a assembler des fronti` res de d´ cision non-lin´ aires6 convexes en e e e e Notez bien qu’une fronti` re de d´ cision n’est pas n´ cessairement une fonction ! e e e Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure. e ` couche cach´ e. comme on l’a vu pour le perceptron e ` e e e ` simple.3 Classification ` ` Pour faire de la classification. ee e ı 5. (b) convexe ferm´ e . PERCEPTRON MULTICOUCHE Couche linéaire p Rx1 W1 S1 x R a1 + n1 S1 x 1 S x1 1 W2 S2 x S1 a2 + n2 S2 x 1 S x1 2 -1 R b1 S1 x 1 S1 -1 b2 S2 x 1 S2 a1 = logsig(W1p − b1) a2 = purelin(W2a1 − b2) F IG . et (d) concave ferm´ e. de e e e e complexit´ arbitraire.

A e e e . mˆ me si ı e e ` nous avons pu construire a la main. Le probl` me avec la fonction seuil est que sa d´ riv´ e e e e e est toujours nulle sauf en un point ou elle n’est mˆ me pas d´ finie ! On ne peut donc pas l’utiliser e e avec la m´ thode de la descente du gradient qui nous a si bien servi pour le r´ seau ADALINE. 5. M.7 pour r´ soudre le e e ` e e probl` me du «ou exclusif».1 (voir page 5) et illustr´ es a la figure 2.´ 5.4 R´ tropropagation des erreurs e ´ Pour d´ velopper les equations de l’algorithme de r´ tropropagation des erreur (en anglais e e ` «backpropagation»).12.12 – Repr´ sentation matricielle d’un r´ seau de trois couches (reproduction de la figure 2. Par exemple. et tous deux permettent un apprentissage de type supervis´ avec un e ensemble d’association stimulus/cible {(pq . e e e e ` Avant de passer a l’algorithme de r´ tropropagation qui nous permettra d’entraˆner un r´ seau e ı e multicouche. . pour k = 1.7 que nous reproduisons a la figure 5. . nous ne saurions pas comment apprendre automatiquement a g´ n´ rer e les bons poids et les bons biais de ce r´ seau. . . .7). la e e e e e e couche de sortie permet d’assembler des fronti` res de d´ cision concaves en s´ lectionnant ou en e e e retranchant des r´ gions convexes engendr´ es par la couche pr´ c´ dente. mentionnons que e ce n’est pas par hasard que nous avons remplac´ la fonction de transfert seuil par la fonction e ` sigmo¨de. Q. on peut propager vers mulus (entr´ es) et dq un vecteur cible (sorties d´ sir´ es). q = 1. e e s´ lectionnant ou en retranchant des r´ gions engendr´ es par la couche pr´ c´ dente et. e e 5. . nous aurons besoin de toute la puissance des notations introduites a la section ` 2. L’algorithme de r´ tropropagation e e e est une g´ n´ ralisation de la r` gle LMS. dq )}.33) o` M est le nombre total de couches et a0 = p d´ finit le cas de base de cette formule de u e ` r´ currence. que nous nommerons dor´ navant perceptron multicouche ou PMC. Les sorties du r´ seau correspondent alors a aM . o` pq repr´ sente un vecteur stiu e ` chaque instant t. Tous deux utilisent comme indice de performance l’ere e e reur quadratique moyenne. de mˆ me. avec la fonction seuil.4. (5. mais bien pour pouvoir proc´ der a un apprentissage automatique. le r´ seau de la figure 5. . e ` L’´ quation qui d´ crit les sorties d’une couche k dans un perceptron multicouche est donn´ e e e e par : ak = f k Wk ak−1 − bk . RETROPROPAGATION DES ERREURS Entrée Couche 1 Couche 2 Couche 3 51 p Rx1 W1 S xR 1 a1 + n1 S1 x 1 S1 x 1 W2 S xS 2 1 a2 ƒ1 -1 S1 + n2 S2 x 1 S2 x 1 W3 S xS 3 2 a3 ƒ2 -1 S2 + n3 S3 x 1 S3 x 1 ƒ3 S3 -1 R b1 S1 x 1 b2 S2 x 1 b3 S3 x 1 a1 = ƒ1(W1p − b1) a2 = ƒ2(W2a1 − b2) a3 = ƒ3(W3a2 − b3) F IG . .

j (t) = −η ∆bk (t) = −η i o` η d´ signe le taux d’apprentissage.39) ´ Nous allons nous servir de cette r` gle pour calculer les d´ riv´ s partielles des equations 5. e e e ` il faut faire face a deux difficult´ s suppl´ mentaires.38 : ˆ ∂F k ∂wi. Cependant.52 CHAPITRE 5.12 pour obtenir un vecteur de e e sorties a(t).j ˆ ∂F ∂bk i (5. ∂nk ∂bi i = (5. u e ˆ ∂F k ∂wi. il faudra faire appel a la r` gle de chaˆnage des d´ riv´ s : e e e ı e e df [n] dn(w) df [n(w)] = × . Leur d´ riv´ partielle ne sera donc plus constante. Premi` rement. nous ne poss´ dons les sorties d´ sir´ es (les cibles) que pour les neurones de la e e e e couche de sortie.37) (5.] d´ signe l’esp´ rance math´ matique et le vecteur x regroupe l’ensemble des poids et des u e e e biais du r´ seau. e e e e Deuxi` mement.j i ˆ ∂F ∂nk i = × k.j ˆ ∂F ∂bk i ˆ ∂F ∂nk i × .36) et nous allons utiliser la m´ thode de la descente du gradient pour optimiser x : e k ∆wi. donc f [w] = e2w . Tout comme pour la r` gle LMS. C’est surtout cette deuxi` me observation qui va nous poser probl` me. si f [n] = en et n = 2w. dw dn dw Par exemple. L’indice de performance F permet de minimiser l’erreur quadratique moyenne : F (x) = E eT (t)e(t) (5. k ∂nk ∂wi. PERCEPTRON MULTICOUCHE ` l’avant un stimulus diff´ rent p(t) a travers le r´ seau de la figure 5. alors : df [n(w)] = dw den dn × d2w dw = (en )(2) = 2e2w .41) (5.37 et e e e 5. e e ˆ ` Pour calculer la d´ riv´ partielle de F . (5.35) (5. les fonctions de transfert des e e e neurones ne sont plus n´ cessairement lin´ aires.38) ` La proc´ dure d’optimisation est donc tr` s semblable a celle de la r` gle LMS.34) o` E[.40) (5.42) . Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ seau produit en sortie pour e ce stimulus et la cible d(t) qui lui est associ´ e : e e(t) = d(t) − a(t). nous allons approximer cet indice par l’erreur e e instantan´ e : e ˆ F (x) = eT (t)e(t) (5.

    .37 et 5.47) ´ et les expressions des equations 5. avec :      ˆ ∂F  k s ≡ = ∂nk     ˆ ∂F ∂nk 1 ˆ ∂F ∂nk 2 (5.j (t) = −ηsk (t)aj (t).41 et 5.j ak−1 − bk . i j (5. . les e e .j ∂nk i = −1.42 de la facon suivante : e´ ¸ ˆ ∂F k ∂wi.45) ´ On peut alors r´ ecrire les equations 5.4. i ∆Wk (t) = −ηsk (t)(ak−1 )T (t). j k ∂wi.52) ` ´ Par rapport a la r` gle LMS. . i (5. i j = −sk . e ´ Maintenant. ∂bk i (5.51)       . ˆ ∂F ∂nk k S (5.31 et 5.32.49) ∆bk (t) i ce qui donne en notation matricielle : = ηsk (t). On remarque que le terme 2e(t) est simplement remplac´ par sM (t).´ 5.j ˆ ∂F ∂bk i = sk ak−1 . ∂nk i (5. ∆bk (t) = ηsk (t). pour le premier terme des equations 5.43) ∂nk i = ak−1 .44) ˆ ` On remarque que cette partie de la d´ riv´ e partielle de F par rapport a un poids (ou un biais) est e e ´ ` toujours egale a l’entr´ e de la connexion correspondante.38 de la facon suivante : ¸ k k−1 ∆wi. i (5.42. il est int´ ressant de noter la ressemblance des equations ci-dessus avec e e ´ quations 5.41 et 5.46) (5. d´ finissons la sensibilit´ sk de e e i ˆ aux changements dans le niveau d’activation nk du neurone i de la couche k : F i sk ≡ i ˆ ∂F . RETROPROPAGATION DES ERREURS 53 ´ ` Le deuxi` me terme de ces equations est facile a calculer car les niveaux d’activation nk de la e i couche k d´ pendent directement des poids et des biais sur cette couche : e S k−1 nk i Par cons´ quent : e = j=1 k wi.50) (5.48) (5.

la matrice de l’´ quation 5.53) ∂nk k S ´ ` Cette matrice enum` re toutes les sensibilit´ s des niveaux d’activation d’une couche par rapport a e e ´e ceux de la couche pr´ c´ dente. C’est e e e e de l` que provient l’expression «r´ tropropagation». (5. ··· 0 .57) 0 0 · · · f˙k (nk k ) S Ceci nous permet maintenant d’´ crire la relation de r´ currence pour les sensibilit´ s : e e e s k ˆ ∂F = = ∂nk ˙ = F k nk ∂nk+1 ∂nk Wk+1 T ˆ ∂F ˙ = F k nk ∂nk+1 Wk+1 T ˆ ∂F ∂nk+1 (5. ∂nk+1 k+1 S . .. .j  k  ∂f k (nk ) j k+1 = wi. .        . 0 f˙k (nk ) 2 . e e Pour d´ river la formule de r´ currence des sensibilit´ s. . Dans ce cas. ∂nk+1 k+1 S ∂nk 1 ∂nk 2 ···       . j ∂nk j (5. f j ∂nk j Par cons´ quent.       (5. ∂nk+1 2 ∂nk k S .j f˙k (nk ).      f˙k (nk ) 1 0 . nous allons commencer par calculer la e e e matrice suivante :   ∂nk+1 ∂nk+1 ∂nk+1 1 1 · · · ∂n1k  k k ∂n  ∂n 1 2 Sk ∂nk+1 ∂nk       =       ∂nk+1 2 ∂nk 1 ∂nk+1 2 ∂nk 2 ··· . ce qui requerra une nouvelle application de la e r` gle de chaˆnage des d´ riv´ s. . .56) 0 0 .54) avec : k k ˙k (nk ) = ∂f (nj ) ..54 CHAPITRE 5.53 peut s’´ crire de la facon suivante : e e e ¸ (5..4.1 Calcul des sensibilit´ s e ` Il reste maintenant a calculer les sensibilit´ s sk . .55) ∂nk+1 ˙ = Wk+1 Fk (nk ). car le sens de propagation de l’information est a e ` invers´ par rapport a celui de l’´ quation 5.l al − bk+1  = wi.58) T sk+1 .j i ∂nk ∂nk l=1 ∂nk j j j k+1 = wi.33. ∂nk o` : u        k k ˙ F (n ) =       (5. . . j) de cette matrice : e e e k ∂nk+1 ∂  S k+1 k i k+1 ∂aj = wi. . PERCEPTRON MULTICOUCHE 5. . nous obtiendrons une formule de r´ currence o` la sensie ı e e e u bilit´ des couches en amont (entr´ es) d´ pendra de la sensibilit´ des couches en aval (sorties). . . ∂nk+1 k+1 S . Consid´ rons chaque el´ ment (i. .

e e 4. (5. . . . sM . . 3. pour k = 1. M. (5.60) ˙ sM = −2FM nM d − aM . .65) Wk+1 sk+1 . permettant de mettre fin a la r´ currence : a e sM i M ˆ ∂ d − aM d − aM ∂ S ∂F = = (dl − aM )2  = l M M M ∂ni ∂ni ∂ni l=1 T   = −2 di − aM i = −2 di − aM i ´ En notation matricielle. permuter l’ordre de pr´ sentation des associations de la base d’apprentissage. jusqu’` s .62) (5. T (5. Si le crit` re d’arrˆ t est atteint. ak = f k Wk ak−1 − bk . RETROPROPAGATION DES ERREURS 55 ´ ` Cette equation nous permet de calculer s1 a partir de s2 . . . 1. qui lui-mˆ me est calcul´ a partir de s3 . dq ) dans la base d’apprentissage : ` (a) Propager les entr´ es pq vers l’avant a travers les couches du r´ seau : e e a0 = pq . . . M.2 Algorithme d’entraˆnement ı ` Voici donc un r´ sum´ de la d´ marche a suivre pour entraˆner un perceptron multicouche : e e e ı ` 1. on ecrit : ∂aM i ∂nM i M f˙ nM .66) (5. pour k = 1.. pour k = 1. alors stop. Ainsi les sensibilit´ s sont r´ tropropag´ es de la couche de sortie jusqu’` la couche a e e e a d’entr´ e : e sM → sM −1 → · · · s2 → s1 .4. pour k = M − 1. Pour chaque association (pq .4. . (b) R´ tropropager les sensibilit´ s vers l’arri` re a travers les couches du r´ seau : e e e ` e ˙ sM = −2FM nM ˙ sk = Fk nk ` (c) Mettre a jour les poids et biais : ∆Wk = −ηsk ak−1 T (5.63) dq − aM .´ 5. e e` M etc. . . Sinon.64) (5. .67) ∆bk = ηsk . . . .59) ` Il ne nous reste plus qu’` trouver le cas de base. e e 2. e ` e 5. Recommencer a l’´ tape 2. (5. . i (5.61) 5. M. Initialiser tous les poids du r´ seau a de petites valeurs al´ atoires. .

Le crit` re e e e e relatif au nombre maximum de p´ riodes d’entraˆnement n’est aucunement li´ a la performance du e ı e` ` ` r´ seau. D´ pendant de l’application. De toute evidence. comme celui de la r´ tropropagation. On parle alors de la capacit´ du r´ seau a e e ı e e g´ n´ raliser. e e Les deux crit` res pr´ c´ dents sont utiles mais ils comportent aussi des limitations. ce r´ seau ne ı e ´ g´ n´ ralisera pas bien si l’on echantillonne d’autres points sur la droite ! e e ` ` Une solution a ce probl` me consiste a utiliser un autre crit` re d’arrˆ t bas´ sur une technique e e e e ` dite de validation crois´ e (en anglais «cross-validation»). Mais cette erreur est mesur´ e e e sur un ensemble de donn´ es d’apprentissage. Le crit` re relatif a l’erreur minimale obtenue mesure quant a lui un indice de performance e e mais ce dernier peut engendrer un ph´ nom` ne dit de sur-apprentissage qui n’est pas d´ sirable dans e e e la pratique. Lorsque l’indice de performance choisi diminue en dessous de cet objectif. e e Un processus d’apprentissage par correction des erreurs. PERCEPTRON MULTICOUCHE 5. surtout si l’on ne poss` de pas une grande quantit´ de donn´ es d’apprentissage. Si les donn´ es sont bonnes. c’est-` -dire de bien performer avec des donn´ es qu’il n’a jamais vu auparavant. que le processus d’optimisation reste pris dans un minimum local. e ` e vise a r´ duire autant que possible l’erreur que commet le r´ seau. lorsqu’on la testera sur un jeu e ` ` de donn´ es diff´ rent de celui qui a servi a l’entraˆnement. si les donn´ es d’apprentissage sont pare e e ´ tiellement corrompues par du bruit ou par des erreurs de mesure.13 illustre le probl` me du sur-apprentissage dans le contexte d’une e tˆ che d’approximation de fonction (voir section 4. par exemple. on consid` re simplement que le PMC a suffisamment bien appris ses e donn´ es et on arrˆ te l’apprentissage. Il e peut arriver. Le plus commun consiste a fixer un nombre maximum de p´ riodes d’entraˆnement. alors il n’est pas evident que la performance optimale du r´ seau sera atteinte en minimisant l’erreur.8). alors il devrait bien performer sur d’autres e donn´ es issues du mˆ me processus physique. c’est-` -dire quelles e e a repr´ sentent bien le processus physique sous-jacent que l’on tente d’apprendre ou de mod´ liser. Sans un tel crit` re. il est parfois e e ` possible de fixer a priori un objectif a atteindre. En anglais. Cependant. e e et que l’algorithme a converg´ sur un optimum global. l’algorithme pourrait ne jamais se terminer. On constate que la courbe passe e e ´ par tous les points d’entraˆnement et donc que l’erreur est nulle. ` En pratique cela consiste a partitionner les donn´ es disponibles en deux ensembles distincts. e . c’est-` -dire le calcul d’un indice de performance (une a 7 8 On parle alors de la racine de l’erreur quadratique moyenne. e e a e Par exemple.4. ou encore sur la racine carr´ e de cette erreur.3 Crit` res d’arrˆ t e e ˆ Plusieurs crit` res d’arrˆ ts peuvent etre utilis´ s avec l’algorithme de r´ tropropagation des ere e e e ` reurs. La droite en pointill´ s montre une fonction a e lin´ aire que l’on voudrait approximer en ne connaissant que les points noirs. ce qui e ı fixe effectivement une limite sup´ rieure sur la dur´ e de l’apprentissage. on dit «Root Mean Square» ou RMS.56 CHAPITRE 5. Cette technique consiste a utiliser deux e 8 ensembles ind´ pendants de donn´ es pour entraˆner notre r´ seau : un pour l’apprentissage (l’ajustee e ı e ment des poids) et l’autre pour la validation. e ` Un deuxi` me crit` re commun consiste a fixer une borne inf´ rieure sur l’erreur quadratique e e e 7 moyenne. Ce crit` re est important car e e e ` la r´ tropropagation des erreurs n’offre aucune garantie quant a la convergence de l’algorithme. La courbe en trait e plein montre ce qu’un r´ seau hypoth´ tique pourrait apprendre. la figure 5. ou si e e e ces derni` res ne sont pas de bonne qualit´ .

´ 5. Le crit` re d’arrˆ t e e ` consiste alors a stopper l’apprentissage lorsque l’indice de performance calcul´ sur les donn´ es de e e validation cesse de s’am´ liorer pendant plusieurs p´ riodes d’entraˆnement.13 – Illustration du ph´ nom` ne de sur-apprentissage pour le cas simple d’une approximae e tion de fonction. . 5. On voit qu’il peut exister un moment au e e e ` cours de l’apprentissage o` l’indice en validation se d´ t´ riore alors que le mˆ me indice continue a u ee e s’am´ liorer pour les donn´ es d’entraˆnement. 5. C’est alors le d´ but du «sur-apprentissage». e e ı e 9 Des courbes semblables s’observent couramment dans la pratique.4. La figure 5. RETROPROPAGATION DES ERREURS 57 F IG .14 – Illustration de la validation crois´ e. La courbe en pointill´ s de ce graphique repr´ sente l’indice de performance d’un r´ seau e e e hypoth´ tique9 calcul´ sur les donn´ es d’apprentissage. alors que la courbe en trait plein montre le e e e mˆ me indice mais calcul´ sur les donn´ es de validation. erreur validation arrêt sur-apprentissage entraînement temps F IG .14 illustre e e ı ` le crit` re de la validation crois´ e dans le cas d’un indice de performance que l’on cherche a mie e nimiser. e ` erreur. un taux de reconnaissance ou tout autre mesure pertinente a l’application).

15 – Exemple d’un neurone satur´ .64 et 5. mˆ me si elle est toujours e e e possible.5 = 70.65) qui e e e elles-mˆ mes d´ pendent de la d´ riv´ e de la fonction d’activation.3 ∑ 100 0. sous certaines conditions.5) = 2.4 + 0.4.15.5 -1 n a F IG .69) En effet. d´ pendent lin´ airement des sensibilit´ s (voir equations 5.5 (5.4 Ph´ nom` ne de saturation e e Une autre consid´ ration pratique dont on doit tenir compte lorsqu’on entraˆne un PMC concerne e ı ` le ph´ nom` ne de saturation des neurones o` . a cause de l’amplitude des e e entr´ es. 5. on obtient : e a = logsig(n) = 1 1 = ≈ 1. d´ finies aux e e ´ ´ equations 5. Le probl` me avec un e e tel neurone est qu’il ne peut presque plus apprendre car la d´ riv´ e de sa fonction d’activation est e e pratiquement nulle : d (−1) dn (1 + exp(−n)) da d 1 exp(−n) a= ˙ = = = 2 dn dn 1 + exp(−n) (1 + exp(−n)) (1 + exp(−n))2 exp(−n) 1 + exp(−n) − 1 = a× =a× 1 + exp(−n) 1 + exp(−n) = a(1 − a) (5. les neurones peuvent a toute e e u fin pratique cesser d’apprendre tellement leur convergence devient lente. on obtient : a ≈ 1 × (1 − 1) = 0 ˙ (5.4 -0. PERCEPTRON MULTICOUCHE 0. comme les variations de poids dans l’algorithme de r´ tropropagation des erreurs.66 et 5. Consid´ rons par exemple e ` le r´ seau de la figure 5.5) (5.3 + 100 × 0. exp(−70. on voit imm´ diatement qu’elles e e e e e tendent vers z´ ro lorsque le neurone est satur´ et que la convergence. ea e e ` malgr´ le fait qu’ils soient tous les trois du mˆ me ordre de grandeur. On dit alors que le neurone est satur´ . e . Si l’on calcule la sortie du neurone. e 5.70) Avec a ≈ 1. on obtient : n = 100 × 0. requerra beaucoup de p´ riodes d’apprentissage.68) On peut d´ j` remarquer que l’effet du biais est n´ gligeable devant celui des deux poids d’entr´ e. 1 + exp(−n) 1 + exp(−70.71) Or.67.58 100 CHAPITRE 5. constitu´ d’un seul neurone a deux entr´ es avec p1 = p2 = 100. Si l’on e e e calcule son niveau d’activation n.4 × 10−31 .

´ 5.6 Momentum Une facon d’am´ liorer l’algorithme de r´ tropropagation est de rajouter un terme d’inertie dont ¸ e e le rˆ le est de filtrer les oscillations dans la trajectoire de la descente du gradient : o ∆Wk (t) = α∆Wk (t − 1) − (1 − α)ηsk ak−1 T . M. une alternative consiste e ı ` ` a accumuler les variations de poids sur une p´ riode d’apprentissage compl` te et de mettre a jour e e les poids en une seule fois avec la moyenne de ces variations. . .73) (5.5 Groupage ` Au lieu de mettre a jour les poids pour chaque donn´ e d’entraˆnement. M. En fait. pour k = 1. e (5. le groupage sert a eviter de partir dans une mauvaise direction qui. RETROPROPAGATION DES ERREURS 59 ` Par cons´ quent. a cause de ce ph´ nom` ne de saturation. il importe de normaliser les donn´ es e e e e ` a l’entr´ e d’un PMC. On parle alors d’apprentissage «hors-ligne» ou par groupage (en anglais «batching»).66 et 5.4. e a e `´ Une autre facon de proc´ der est d’initialiser les poids sur la premi` re couche en choisissant un ¸ e e intervalle de valeurs al´ atoires ajust´ aux stimuli d’apprentissage. Lorsque α = 0. . u e ` e Une autre alternative serait de fixer tous les poids a z´ ro. respectivement.74 sont equivalentes u ´ quations 5. Autrement dit. . Par contre. . puisque les poids changent moins souvent. En e ` effet. les ∆Wk (t) et ∆bk (t) ne d´ pendent aux e e . lorsque cette estimation est plutˆ t e o `´ mauvaise.4. .73 et 5. alors la moyenne de ces estimations sera exacte. .72) 5. . Par exemple.74) ∆bk (t) = α∆bk (t − 1) + (1 − α)ηsk .4. − maxq |pj | maxq |pq | j o` {q} d´ signe l’ensemble des stimuli d’apprentissage. Et ceci peut facilement entraˆner la divergence de l’algorithme de e ı r´ tropropagation. R. pour l’entr´ e j e e e ` d’un r´ seau a R entr´ es. la moyenne de ces estimations e ı e ˆ devrait etre plus pr` s du gradient r´ el. . si l’estimation du gradient bas´ e e `ˆ sur une seule donn´ e d’entraˆnement a tendance a etre bonne. e Mais le groupage n’est pas une panac´ e car cela peut aussi ralentir consid´ rablement la convere e gence. (5. q . j = 1. e 5. alors on pourrait converger jusqu’` e ı a Q fois plus lentement si l’on proc` de par groupage. . . il se trouve que l’origine de l’espace des poids correspond souvent a un lieu d’instabilit´ de e la fonction d’erreur du r´ seau.67. les equations 5. si les donn´ es d’entraˆnement couvrent ad´ quatement e e e ı e l’espace des entr´ es. ´ ´ o` 0 ≤ α < 1 s’appelle le momentum. on pourrait choisir l’intervalle suivant : e e 1 1 . . L’id´ e est la suivante : l’estimation du e gradient qu’engendre chaque donn´ e d’entraˆnement est peu pr´ cise. Lorsque α = 1. augmenterait nos chances de rester pris dans un minimum local inad´ quat. pour k = 1. Bien que ceci r´ glerait certes le e probl` me de la saturation des neurones. c’est-` -dire de les transformer de mani` re a eviter tout risque de saturation. ce n’est malheureusement pas une alternative viable. autrement.

alors la mise a jour des poids est ´e accept´ e et le taux d’apprentissage reste inchang´ . Dans certains cas cela peut acc´ l´ rer e e ee ` grandement la convergence. lorsque e ` ` ` la trajectoire du gradient a tendance a osciller (comme a la figure 5. celles-ci peuvent aussi avoir un effet appr´ ciable sur la performance de e l’algorithme de r´ tropropagation des erreurs. e e 10 . alors on lui redonne sa valeur originale . Parfois. Si le momentum avait pr´ c´ demment et´ e e e e fix´ a z´ ro. alors cette mise a jour doit etre abandonn´ e e ˆ et le taux d’apprentissage doit etre multipli´ par un facteur 0 < ρ < 1. e L’approche d´ crite ici. mais uniquement des ∆Wk (t−1) et ∆bk (t−1). ee 5. e` e ` ` 2. Par exemple. ρ et γ) qu’il faut fixer a e ˆ priori. cette approche peut aussi nuire a la convergence. Si l’erreur quadratique totale diminue a la suite d’une mise a jour des poids. Il faut comprendre que ce genre de technique ajoute des param` tres10 (β.7 Taux d’apprentissage variable Une autre facon d’am´ liorer la vitesse de convergence pour la r´ tropropagation des erreurs ¸ e e serait de modifier le taux d’apprentissage dynamiquement tout au long de l’entraˆnement. si le momentum e e ´e e` e avait pr´ c´ demment et´ fix´ a z´ ro. cela correspond d’embl´ e a e ` ajouter 80% du changement pr´ c´ dent au changement courant. u e 5. e e ı Selon les circonstances. est relativement simple parmi l’ensemble des variantes e e ´e qui ont et´ explor´ es dans la litt´ rature pour faire varier dynamiquement le taux d’apprentissage. Dans d’autres cas.4. l’emploi d’une telle m´ thode peut mˆ me entraˆner une divergence rapide l` e e ı a o` la r´ tropropagation des erreurs avec momentum produisait une convergence lente. alors celle-ci est conserv´ e et le taux d’apprentissage est multipli´ par un facteur γ > 1 . il contribue a la stabiliser en ralentissant les changements de direction. Par exemple. on peut adopter la strat´ gie suivante : ee e 1. e ` e c’est-` -dire des changements de poids a l’´ tape pr´ c´ dente. avec α = 0. certaines combinaisons de param` tres peuvent etre b´ n´ fiques et e e e e e d’autres non. calcul´ e pour toutes les associations de la base d’apprentise ` l’autre par plus d’un certain pourcentage β (typiquement de sage. augmente d’une p´ riode a e ` ` ` ` ˆ 1 a 5%) a la suite d’une mise a jour des poids.8. Premi` rement. c’est-` -dire que les mises a ` a jour des poids sont accumul´ es sur l’ensemble des associations de la base d’apprentissage et e ` appliqu´ es une fois a la fin de chaque p´ riode (section 5.6c).5). Deuxi` mement. Plusieurs ı ˆ approches peuvent etre consid´ r´ es. e` e Cette approche suppose que l’apprentissage fonctionne par groupage. Si l’erreur quadratique totale. lorsque le gradient e e e ` courant pointe dans la mˆ me direction que le gradient pr´ c´ dent.60 CHAPITRE 5. PERCEPTRON MULTICOUCHE ´ plus des equations de r´ tropropagation des erreurs. Pour un probl` me donn´ .4.8 Autres consid´ rations pratiques e ´ Nous enum´ rons ci-dessous d’autres consid´ rations pratiques pour l’entraˆnement du PMC.4. le terme d’inertie contribue a e e e ` augmenter l’ampleur du pas dans cette direction et donc a acc´ l´ rer la convergence. propos´ e par Vogl et al. e e ` 3. Si l’erreur quadratique totale augmente par moins de β. alors on lui redonne sa valeur originale . et le momentum doit e ˆ etre fix´ a z´ ro . en 1988. a e e Le terme du momentum produit deux effets distincts selon la situation.

4. on associe g´ n´ ralement un e e e ` neurone de sortie distinct a chacune d’elles (S M = n). Dans le contexte d’un probl` me d’approximation de fonction. Autrement.05 et e e ` ` 0. en plus de la fonction que l’on veut vraiment e qu’il apprenne. e e ı 7. Dans le cas de la sigmo¨de.95. la r´ tropropagation des erreurs ne cherchera pas a entraˆner les poids dans une e ı direction qui pourrait rendre le neurone incapable de s’adapter. il peut e les apprendre «par c ?ur». on peut les fixer a 0. e e ı ` ` par exemple. il importe de ne pas chercher a saturer les neurones en fixant des sorties d´ sir´ es qui tendent vers l’assymptote de la fonction. Il faut bien comprendre que le r´ seau ne comporte aucune intellie e ` gence r´ elle. Effectuer l’apprentissage d’un r´ seau quelconque revient a estimer les bonnes valeurs pour e chacun de ses poids. e e ` 4.3 du ph´ nom` ne de «sure ` e e apprentissage». c’est-` -dire une couche dont les neue a rones poss` dent des fonctions d’activation non lin´ aires telles que la sigmo¨de ou la tangente e e ı ` hyperbolique (voir section 2. il importe de permuter l’ordre de pr´ sentation des stimuli e ı e pour r´ duire la probabilit´ qu’une s´ quence de donn´ es pathologique nous garde prisone e e e nier d’un pi` tre minimum local. ` 6. 10n donn´ es d’entraˆnement sont requises. au lieu de fixer des sorties d´ sir´ es a 0 ou a 1. on interpr´ tera chaque neurone e ` sur la couche de sortie comme indiquant si oui ou non le stimulus d’entr´ e appartient a la e classe correspondante. En mode de reconnaissance. on pourra classer un stimulus inconnu dans la cat´ gorie associ´ e au neurone e e ayant produit la sortie maximale. Lorsqu’on utilise une couche de sortie non-lin´ aire. 5. Les sensibilit´ s des neurones sur les derni` res couches ont tendance a etre plus grandes que e e ˆ sur les premi` res couches .4. e e e le fait de permuter les donn´ es a chaque p´ riode nous garantit que l’on ne tombera pas e ` e syst´ matiquement sur les mˆ mes. A chaque p´ riode d’entraˆnement. cela force le r´ seau a apprendre e e l’inverse de la fonction d’activation utilis´ e. Ainsi. Mais dans la pratique il en faut bien plus ! Une e r` gle heuristique nous indique que pour pouvoir esp´ rer estimer correctement les n poids e e d’un r´ seau de neurones. Nous avons vu qu’une proc´ dure de validation-crois´ e peut augmenter la e e . En effet.´ 5. Si l’on choisit la fonction d’activation logistique. RETROPROPAGATION DES ERREURS 61 1. Dans le contexte d’un probl` me de classification a n classes. Il ne fait qu’apprendre les associations qu’on lui fournit. Pour pouvoir estimer les param` tres d’un syst` me quelconque poss´ dant e e e un certain nombre de degr´ s de libert´ (param` tres ind´ pendants). il est n´ cessaire de poss´ der e e e e e e ´ au moins un nombre equivalent de donn´ es. on pourra coder le «oui» avec une valeur proche de 1 et le «non» avec une valeur proche de 0 (voir item 1 ci-dessus).3). e ` 3. La performance d’un r´ seau lorsqu’´ valu´ e avec ses donn´ es d’entraˆnement est presque e e e e ı toujours sur-estim´ e. Ainsi. A la limite. Mˆ me s’il existe des s´ quences pathologiques. Nous avons discut´ a la section 5. la performance de la m´ thode de la descente du e e gradient peut d´ pendre grandement de cet ordre de pr´ sentation qui engendre des trajece e toires diff´ rentes dans l’espace des param` tres. et des trajectoires diff´ rentes peuvent nous e e e ` amener a des minimums locaux diff´ rents. On construira les vecteurs d de sorties d´ sir´ es avec deux valeurs e e possibles pour chaque composante : une valeur pour le «oui» et une valeur pour le «non». `ˆ 2. on choisit g´ n´ ralement des e e e ` neurones lin´ aires pour la couche de sortie. le taux d’apprentissage sur ces derni` res devrait donc etre plus e e grand que sur ces premi` res si l’on veut que les diff´ rentes couches apprennent approximae e tivement au mˆ me rythme.

e On ne saura pas non plus si l’optimum est local ou global. cette m´ thode e e e e comporte aussi le gros d´ savantage de n´ cessiter le calcul et le stockage de la matrice hessienne. car la plupart des fonctions analytiques e ` s’approximent bien avec une fonction quadratique a l’int´ rieur d’un petit voisinage autour d’un ope timum. croˆt avec le carr´ de ce nombre. e e d’une part.62 CHAPITRE 5. puisqu’on e ´ approxime alors une fonction quadratique par une autre fonction quadratique equivalente. elle requiert un temps O(n ). Alors que cette derni` re est bas´ e sur une approximation par la s´ rie de e e e Taylor de premier ordre (qui n’utilise que la d´ riv´ premi` re).77) La m´ thode de Newton propose donc d’explorer l’espace des param` tres libres dans la direction e e ˆ (x).76) et : ∆x = − 2 F (x) −1 F (x) (5. de validation et de test. ∆x = x − x. F (x) est le vecteur gradient de F (x) et u 2 ` F (x) est la matrice hessienne de F (x). on ne saura pas si cet optimum est minimum ou maximum.75) F (x ) = F (x + ∆x) ≈ F (x) + F (x)T ∆x + ∆xT 2 F (x)∆x = F (x). 5. Il faut se rappeler que si le vecteur gradient croˆt lin´ airement avec le nombre de param` tres libres de la fonction. le meilleur alee ı e ` gorithme connu pour l’inversion d’une matrice n × n poss` de une complexit´ O(n2. En d´ rivant l’expression de F (x) par rapport a ∆x et en fixant le tout a z´ ro. 2 o` x est un point dans le voisinage de x. il faut le faire avec des donn´ es qui n’ont aucunement servi au processus d’ape e prentissage. cela s’av` re totalement impossible en e e pratique11 . Finalement. d’autre part. cette m´ thode converge g´ n´ ralement tr` s rapidement a condition d’avoir e e e e un bon point de d´ part (x n’est pas trop loin de l’optimum). Lorsque ` F n’est pas quadratique. (5. lorsqu’on s’´ loigne de ce voie sinage. e e ceci implique de diviser les donn´ es d’entraˆnement en trois sous-ensembles distincts : les e ı donn´ es d’entraˆnement. La proportion relative de ces ensembles peut e ı ´ evidemment varier selon l’application. respectivement. e 11 . Dans le cas d’un perceptron multicouche comportant plusieurs centaines ou mˆ me plusieurs milliers de poids. soit un minimum. ni pour la validation crois´ e. ı e e la taille (en nombre d’´ l´ ments) de la matrice hessienne. la m´ thode de Newton est bas´ e sur e e e e e la s´ rie de Taylor de deuxi` me ordre. elle. De plus. ∆x qui pointe vers un plateau de F a ´ Cette m´ thode converge en une seule etape lorsque F est une fonction quadratique. Cependant. parfois plus efficace que la e e descente du gradient. mais une bonne proportion se situe aux alentours de 50-20-30%.5 M´ thode de Newton e La m´ thode de Newton est une autre proc´ dure d’optimisation. PERCEPTRON MULTICOUCHE ´ capacit´ de g´ n´ ralisation d’un r´ seau. Quant a la m´ thode classique e e e 3 d’´ limination de Gauss. ni pour la r´ tropropagation des erreurs. L’id´ e consiste a rechercher un plateau dans l’expression e ˆ (x). mˆ me dans ce cas. ˆ ` ` e quadratique de F e on obtient : F (x) + 2 F (x)∆x = 0. Si l’on veut evaluer correctement la performance e e e e d’un r´ seau. la m´ thode de Newton peut donner des r´ sultats impr´ visibles. c’est-` -dire soit un maximum. En pratique. o` l’on tient compte non seulement de la d´ riv´ premi` re. e e u e e e mais aussi de la d´ riv´ seconde : e e 1 ˆ (5. De plus. et de son inverse.376 ).

6 M´ thode du gradient conjugu´ e e La m´ thode du gradient poss` de la plupart des avantages de la m´ thode de Newton mais sans e e e ` ` l’inconv´ nient d’avoir a calculer et a inverser la matrice hessienne. Un de ceux-l` est form´ des vecteurs propres a e de A. pm }. . e pT Apj = 0. on peut montrer qu’il est e e toujours possible d’atteindre son minimum en effectuant tout au plus m recherches lin´ aires le long e de droites orient´ es dans des directions conjugu´ es {p1 . METHODE DU GRADIENT CONJUGUE 63 Nous avons pr´ sent´ dans cette section la m´ thode de Newton non pas pour l’utiliser avec e e e le perceptron multicouche. Par cons´ quent. k (5. . . . ainsi que sur la recherche d’un minimum le long d’une droite. u e 5. Pour le montrer. λ2 . En posant gt ≡ F (x)|x=xt et en combinant ces ´ ` e equations.79) o` la derni` re egalit´ d´ coule du fait que les vecteurs propres d’une matrice positive d´ finie sont u e ´ e e e ` toujours orthogonaux.´ ´ 5. . k = j. . il suffit de e remplacer les pk par des zk dans l’´ quation pr´ c´ dente : e e e zT Azj = zT λj zj = λj zT zj = 0.78) Comme pour les vecteurs orthogonaux.82) . . . e Pour une fonction F quadratique poss´ dant m param` tres libres. d’une part.80) et la matrice hessienne par 2 F (x) = A. Ceci nous am` ne a discuter d’un e e ` compromis o` il ne sera pas n´ cessaire de calculer ni d’inverser la matrice hessienne. k = j. . . associ´ s aux valeurs propres {λ1 . k k k (5.6. et seulement si. La question qui demeure est e e ` comment construire ces directions conjugu´ es sans faire r´ f´ rence a la matrice hessienne de F ? e ee L’expression g´ n´ rale d’une fonction quadratique est donn´ e par : e e e 1 F (x) = xT Ax + dT x + c 2 o` le gradient u F est donn´ par : e F (x) = Ax + d (5.81) (5. Cependant. {z1 . mais bien pour mettre en relief les m´ rites de la r´ tropropagation. on peut trouver le changement de gradient ∆gt a l’it´ ration t : ∆gt = gt+1 − gt = (Axt+1 + d) − (Axt + d) = A∆xt (5. p2 . . il existe une infinit´ d’ensembles de vecteurs conjugu´ s e e qui couvrent un espace vectoriel de dimension m. ` Les vecteurs d’un ensemble {pk } sont mutuellement conjugu´ s par rapport a une matrice A e positive d´ finie (dont les valeurs propres sont toutes strictement positives) si. Elle est bas´ e sur le concept e e des vecteurs conjugu´ s. zm }. et e e aussi pour faire le tour des diff´ rentes alternatives disponibles. e d’autre part. z2 . les vecteurs propres d’une telle matrice sont a la fois orthoe gonaux et conjugu´ s. λm }. notre objectif etant de trouver un algorithme efficace utilisant la d´ riv´ e seconde mais e e ˆ sans etre oblig´ de la calculer explicitement. . cette observation ne nous aide pas beaucoup si la matrice A en e ` ´ question correspond a la matrice hessienne 2 F que l’on veut eviter de calculer dans la m´ thode e ´ de Newton.

78 de la e´ e e mani` re suivante : e T αt pT Apj = ∆xT Apj = ∆gt pj = 0. ∆gt−1 } en utilisant une proc´ dure e ` ` semblable a la m´ thode de Gram-Schmidt (section 3. PERCEPTRON MULTICOUCHE o` la variation des param` tres libres ∆xt au temps t est donn´ e par : u e e ∆xt = xt+1 − xt = αt pt avec un αt choisi de mani` re a minimiser F (xt ) dans la direction de pt . il s’agit donc de construire une e e ` direction de recherche pt qui est orthogonale a {∆g0 . . e e . il s’agit ı u de remarquer que l’indice de performance d’un perceptron multicouche n’est pas une fonction qua` dratique.87) Il y a aura autant de directions conjugu´ es qu’il y a de poids dans le r´ seau. e ` On peut maintenant r´ ecrire la condition des vecteurs conjugu´ s de l’´ quation 5. on peut faire disparaˆtre la matrice hessienne de l’´ quation qui d´ finit la condiı e e tion des vecteurs conjugu´ s. Pour e e ce faire.6.83) (5.86) 5. En effet. a chaque fois que nous passerons a travers m directions conjugu´ es successives. t = j. βt = T . ∆g1 .5. t = 0 . Ensuite.1. La direction de recherche pj sera alors conjugu´ e a condition d’ˆ tre e e ` e ` orthogonale a la variation du gradient ! ` A chaque it´ ration t de l’algorithme des gradients conjugu´ s. . Voici donc les e ´ principales etapes de l’algorithme : 1. qui peut se simplifier a l’exe pression suivante : pt = −gt + βt pt−1 (5. de sorte qu’on ne doit pas s’attendre a converger en m it´ rations comme ce serait le cas e ` pour une fonction quadratique. .1 Algorithme du gradient conjugu´ e Pour entraˆner un r´ seau perceptron multicouche avec la m´ thode du gradient conjugu´ . βt = T βt = T ∆gt−1 pt−1 gt−1 gt−1 gt−1 gt−1 (5. . il imı e e e ` porte tout d’abord de proc´ der par groupage. puisqu’on cherche a exploiter l’information e contenue dans la variation du gradient (une forme de d´ riv´ e seconde). (5. Sinon. on se retrouverait a e e ` surtout exploiter du bruit qui entraˆnerait a coup sˆ r la divergence de l’algorithme.64 CHAPITRE 5. il est primordial de calculer e e ` ` celle-ci a partir de gradients estim´ s avec un maximum de pr´ cision. 2. nous pourrons simplement employer la m´ thode de descente du gradient. page 21).85) o` les scalaires βt peuvent se calculer de trois mani` res equivalentes : u e ´ T T T ∆gt−1 gt ∆gt−1 gt gt gt .84) t t ` On remarque imm´ diatement qu’en consid´ rant le changement de gradient a chaque it´ ration t e e e de l’algorithme. Ceci implique qu’il faudra r´ -initialiser la m´ thode a toutes les m e e 12 ` ` it´ rations. Choisir la prochaine direction conjugu´ e de recherche : e pt = 12 −gt + βt pt−1 si t mod m = 0 −gt si t mod m = 0 (5.

puisque F est quadratique et ne poss` de que e deux param` tres libres. on obtient un point x1 sur une autre courbe de niveau.2 Recherche du minimum le long d’une droite Pour compl´ ter la description de la m´ thode du gradient conjugu´ .89) 5.88) ` e 3. perpendiculaire a la courbe de niveau. 1. Alors. i = 0. 4. 5.16 dans le cas d’une fonction F quadratique a deux e` variables. e e avec gt ≡ ` e F (x)|x=xt et βt est calcul´ comme a l’´ quation 5.86 : e T T T ∆gt−1 gt ∆gt−1 gt gt gt βt = .16 – Illustration de la m´ thode du gradient conjugu´ . . on converge en deux it´ rations. . Au lieu de recommencer dans la direction inverse du ` gradient. Si le crit` re d’arrˆ t n’est pas atteint. La direction initiale p0 est choisie dans le e sens inverse du gradient. t = t + 1 .6. Dans ce cas.´ ´ 5.83. Ce dernier doit donc se trouver quelque . . βt = T . on commence par calculer : Fi = F (x0 + 2i εp). alors recommencer a l’´ tape 2. I (5.90) ´e jusqu’` ce qu’on trouve un FI > FI−1 . e (5.6. . on choisit plutˆ t une direction conjugu´ e p1 qui o e pointe alors dans la direction du minimum global. ` e 5. Faire un pas comme a l’´ quation 5. e e ` Cet algorithme est illustr´ a la figure 5. METHODE DU GRADIENT CONJUGUE -g1 x0 p1 p0 x1 65 F IG . en choisissant αt de mani` re a minimiser la fonction e ` F dans la direction de recherche pt : xt+1 = xt + αt pt . Soit F (x0 ) e e ` la valeur initiale de la fonction a minimiser et p la direction dans laquelle on veut faire cette minimisation. En faisant une recherche du minimum dans cette direction. il ne nous reste plus qu’` e e e a r´ soudre le probl` me de la recherche du minimum d’une fonction le long d’une droite. βt = T T ∆gt−1 pt−1 gt−1 gt−1 gt−1 gt−1 (5. avec ε repr´ sentant une distance el´ mentaire pour notre a e recherche d’un intervalle initial contenant le minimum.

18a) : ak+1 bk+1 ck+1 dk+1 Fd Fc ak+1 bk+1 ck+1 dk+1 Fc Fd = = = = = = ak dk ak+1 + (1 − α)(bk+1 − ak+1 ) ck Fc F (ck+1 ) ck bk dk bk+1 − (1 − α)(bk+1 − ak+1 ) Fd F (dk+1 ) Autrement calculer (voir figure 5.17). on peut appliquer l’algorithme e suivant appel´ «Golden Section search» : e 1. alors calculer (voir figure 5.618 . Si Fc < Fd . PERCEPTRON MULTICOUCHE 8e 4e 2e F0 F1 e F2 F3 x0 x1 x2 x3 x4 F4 ´ F IG .17 – Etape de localisation d’un intervalle initial de recherche.18b) : = = = = = = . ` part entre FI−2 et FI et l’intervalle de recherche est maintenant r´ duit a a1 = x0 + 2I−2 εp et b1 = e I x0 + 2 εp (voir figure 5. Calculer : c1 d1 Fc Fd = = = = a1 + (1 − α)(b1 − a1 ) b1 − (1 − α)(b1 − a1 ) F (c1 ) F (d1 ) 3. α = 0.66 CHAPITRE 5. 2. k = 1 . 5. Pour r´ duire davantage cet intervalle. 4.

6. k = k + 1 .´ ´ 5. Si ||bk − ak || > τ . u e e e e e e Notez bien que cet algorithme suppose qu’il n’existe qu’un seul minimum dans l’intervalle initial de recherche.18 – Etape de r´ duction de l’intervalle de recherche : (a) cas o` Fc < Fd . ` e 6. o` τ est un param` tre de tol´ rance sp´ cifiant la pr´ cision d´ sir´ e pour la recherche du minimum. 5. . (b) cas o` e u u Fd < Fc . 5. alors recommencer a l’´ tape 4. METHODE DU GRADIENT CONJUGUE 67 intervalle intervalle a c d b a c d b (a) (b) ´ F IG .

68 .

. 2 w. . . pQ }. e e e e contrairement au neurone de type «perceptron» o` l’on mesurait plutˆ t une corr´ lation entre ces u o e deux vecteurs. comme les poids de K neurones comp´ titifs e align´ s sur une seule couche. . . plusieurs architectures neuronales. Dans le cas e 69 . K. Ensuite. .Chapitre 6 Nu´ es dynamiques e ´ Dans ce chapitre. i = 1.2) Lorsque A est la matrice identit´ . K k 0 autrement (6. K w}T permettant de repr´ senter au mieux e les «centres» de ces classes. Nous abordons donc cet algorithme en guise d’introduction aux r´ seaux non supervis´ s. . (6.1. nous allons etudier trois variantes d’un algorithme nomm´ «nu´ es dynae e miques» et permettant d’effectuer une classification non-supervis´ e d’un ensemble de Q stimuli e {p1 . p2 . la fonction d’activation comp´ titive (compet) retourne un 1 pour le neue rone ayant la plus grande sortie (le gagnant). . bas´ s sur l’ape e e prentissage comp´ titif (voir chapitre 4). e On peut visualiser les prototypes i w. C’est la norme ||x−y|| qui d´ finit la distance entre deux vecteurs x et y et donc leur manque de e ressemblance. . s’en inspirent en effectuant des traitements semblables. Le niveau d’activation d’un neurone e e` «comp´ titif» est d´ termin´ par la distance entre son vecteur de poids et le stimulus d’entr´ e. . . . on fait gagner arbitrairement le neurone dont l’indice est e e e le plus petit. L’objectif est double : produire une partition en K classes de cet ensemble. . tel qu’illustr´ a la figure 6. e on utilisera une norme bas´ e sur le produit scalaire classique mais pouvant incorporer une matrice e positive d´ finie A telle que : e ||x − y||A = (x − y)T A(x − y). d’une part.1) En cas d’´ galit´ pour la premi` re place. on parle alors de distance euclidienne entre x et y. k = 1. . . Bien qu’historiquement cet algorithme n’appartienne pas au domaine des r´ seaux de neurones. En calculant la n´ gation de cette norme. . et trouver K prototypes W = {1 w. Habituellement. on obtiendra une mesure de similarit´ qui e e nous permettra de regrouper les stimuli d’apprentissage en cat´ gories (classes). dont celles d´ crites dans les deux chae e pitres suivants (Kohonen et GNG). et un 0 pour tous les autres : ai = 1 si ni = max(nk ).

NUEES DYNAMIQUES Couche de K neurones p Rx1 W KxR n Kx1 C K a Kx1 R ni = − ||iw − p|| a = compet(n) F IG . alors e e que la deuxi` me pr´ cise qu’une classe doit poss´ der au moins un stimulus.1 . . .2 .1 – Couche comp´ titive de S = K neurones. . . e e e . u2.3) ` avec ui. .j = 1. .Q . . on parle alors u ı de la distance de Mahalanobis. . . . .5) ui. 6.70 Entrée ´ CHAPITRE 6.2 u2.4) De plus.j ∈ {0. uK. . j=1 (6.Q       (6. 0 autrement (6. e ` o` A correspond a l’inverse de la matrice de covariance des stimuli d’entraˆnement. 1} d´ signant l’appartenance du stimulus pj a la classe Ci : e ui.j > 0. i=1 Q (6. . u1..1 u2. i = 1. K. . . 6. . .Q .6) ` La premi` re sp´ cifie que tout stimulus doit appartenir a une et une seule classe de la partition. . c’est-` -dire d’une collection de K sousa ` ensembles o` chaque stimulus d’entr´ e appartient a une et une seule classe de la partition U : u e    U=   u1.1 uK.. . CK }.j = 1 si pj ∈ Ci . · · · uK. .1 K-means L’algorithme dit du «k-means» permet de partitionner l’ensemble des stimuli en K classes {C1 . . C2 . Q.2 · · · u1. Il s’agit ici d’une partition rigide. on impose les deux contraintes suivantes sur cette partition : K ui. j = 1.

. une solution consiste a e e . i = 1.8 . Mais si l’on ajoute un stimulus e ´ eloign´ des autres. convergera assur´ ment e e e vers la partition indiqu´ e par les points noirs et les points blancs. . 6.3a. etant donn´ que tous les stimuli ont la mˆ me impore e ` faire appel aux tance dans la partition rigide. i = 1.j pj iw = j=1 Q . 5.2 – Algorithme du «k-means». . ou jusqu’` l’atteinte d’un nombre maximum d’it´ rations tmax . (6.1. avec K = 2. W) que l’on d´ sire minimiser peut s’exprimer de la facon suivante : e ¸ Q K F (U. Q. Pour limiter ce ph´ nom` ne. peut provoquer une certaine instabilit´ . Initialiser les centres W(0) en choisissant al´ atoirement K stimuli parmi les Q donn´ es e e d’apprentissage . a e Un probl` me avec cet algorithme est que l’on force une partition rigide des stimuli d’ene traˆnement ce qui. Tant que U(t) = U(t − 1) et t ≤ tmax . F IG . en choisissant la classe dont l’indice e est minimum .j ) ||pj − i w||2 (6. l’indice de performance F (U. . Consid´ rons par ı e e e exemple les stimuli d’entraˆnement repr´ sent´ s a la figure 6. . . W) = j=1 i=1 (ui. .2. s’il y a lieu. . ` 2. 3. L’algorithme it´ ratif permettant d’optimiser cette fonction objectif est r´ sum´ a la figure e e e` ` 6. R´ p´ ter : e e (a) Calculer les nouveaux centres W(t) en calculant les centro¨des des classes : ı Q ui. Calculer la partition initiale U(0) a l’aide de l’´ quation : e ui.7) ` o` l’on cherche a trouver la partition qui minimise la distance entre les centres des classes et les u stimuli. . e (c) t = t + 1 .j = 1 si ||pj − i w|| = min ||pj − k w|| k 0 autrement . . par exemple une erreur de mesure.3b. 4. Il se poursuit tant que la mise a jour des centres engendre une modification de la partition. K. alors la partition engendr´ e par les k-means e e ` ´ peut devenir instable comme a la figure 6.6. en pr´ sence de bruit. t = 1 . .8) ´ en brisant (arbitrairement) les egalit´ s.j (6.9) j=1 ` (b) Calculer la nouvelle partition U(t) a l’aide de l’´ quation 6. K. Dans ce cas. . ui. K-MEANS 71 1. nous avons deux ı e e ` classes bien s´ par´ es pour lesquelles l’algorithme du k-means. j = 1. Connaissant les centres W = [1 w 2 w · · · K w]T des classes.

no. 6. plus on se trouve a partager e e les degr´ s d’appartenance entre les diff´ rentes classes. Plus m augmente. W) = j=1 i=1 (ui.C. Dunn. 6. Si ce changement est inf´ rieur au seuil fix´ .72 ´ CHAPITRE 6. on juge de la convergence en fixant un seuil ε sur l’´ l´ ment de la matrice U qui e e ee a chang´ le plus.2 Fuzzy K-means L’algorithme dit du «fuzzy k-means»1 (le k-means flou) est semblable au k-means. 32-57.10) ´ o` m > 1 est un exposant qui fixe le niveau de flou de l’algorithme dont les etapes sont r´ sum´ es u e e ` ` a la figure 6. tout comme celui du k-means.4. J. vol. c’est-` -dire que le degr´ d’appartenance ui.3 – Example d’une partition rigide en deux classes : (a) cas sans bruit . impose la contrainte de l’´ quation 6. comme e ´e pr´ c´ demment. 1] au lieu d’ˆ tre el´ ment de {0. «A Fuzzy Relative of the ISODATA Process and its Use in Detecting Compact Well-Separated Clusters». Cybernetics. (b) cas avec bruit.j du e a e ` stimulus pj a la classe Ci varie dans l’intervalle [0. NUEES DYNAMIQUES (a) (b) F IG . L’algorithme se poursuit ainsi tant que la mise a jour des centres engendre une modification non n´ gligeable de la partition floue. 1}. L’indice de performance que l’on d´ sire minimiser s’exprime maintenant par l’exe e e pression : Q K Fm (U.5. Il importe de se rappeler que l’algorithme e e ` du fuzzy k-means. (6. notions d’ensemble flou et de partition floue.j )m ||pj − i w||2 . On fixe g´ n´ ralement m = 2. 1 . Lorsque m s’approche de 1. 3. on tend alors vers le k-means puisque la partition floue devient de plus en plus J. 3. e Le param` tre m de l’algorithme d´ termine le niveau de partage des degr´ s d’appartenance e e e ` de la matrice U. sauf que la partition engendr´ e par les centres est floue. 1973. on consid` re alors que l’algorithme e e e e a converg´ . G´ n´ ralement. p. ou jusqu’` un nombre maximum d’it´ rations e a e tmax . a savoir e ` ´ ` que l’appartenance global d’un stimulus a l’ensemble des classes est toujours egal a 1.

4 – Algorithme du «fuzzy k-means». K. . 5. . . Tant que max |ui. . e (c) t = t + 1 . (ui.11 de la mani` re suivante : e´ e e 1 ||pj − i w|| K k=1 2 m−1 ui. . 6. On e e` voit sur cette figure deux nuages de points bien s´ par´ s ainsi que deux points A et B qui semblent e e . . Initialiser les centres W(0) en choisissant al´ atoirement K stimuli parmi les Q donn´ es e e d’apprentissage . Q. R´ p´ ter : e e ` (a) Calculer les nouveaux centres W(t) a l’aide de l’´ quation : e Q (ui. .11) ||pj − i w|| ||pj − k w|| 4.5. Fixer les param` tres m et ε . .j )m pj iw = j=1 Q . i = 1. il demeure un probl` me important.12) j=1 (b) Calculer la nouvelle partition floue U(t) en utilisant l’´ quation 6. t = 1 . FUZZY K-MEANS 73 1.j (t) − ui.11 . a e Ceci permet dans bien des situations d’´ viter de rester pris dans des minimums locaux de la fonce ´ ` tion objectif Fm . .j F IG . . i = 1. e ` de sorte que le degr´ d’appartenance a la classe correspondante tendra vers 1 (et les autres vers 0). L’algorithme est donc egalement beaucoup moins sensible a une mauvaise initialisation des centres.6. le terme de la somme du e d´ nominateur qui correspond au centre le plus proche du stimulus pj devient infiniment dominant.j )m (6. Calculer la partition initiale U(0) a l’aide de l’´ quation : e ui. illustr´ a la figure 6. j = 1. 6.j (t) = 1 ||pj − k w|| 2 m−1 (6.2. rigide.13) 2 Lorsque m → 1.j (t − 1)| > ε et t ≤ tmax . Cependant. i. 2. l’exposant m−1 tend vers l’infini et. par cons´ quent. . Ceci devient un peu plus explicite en r´ ecrivant l’´ quation 6. (6.j = 1 K k=1 2 m−1 . e ` 3. K. . e ´ L’algorithme du fuzzy k-means g´ n´ ralise donc celui du k-means en etant beaucoup moins e e sensible au bruit dans les stimuli grˆ ce au partage de l’appartenance entre les diff´ rentes classes.

un e ´ stimulus situ´ a egale distance de deux centres obtiendra toujours des degr´ s egaux d’appartenance e`´ e ´ aux classes correspondantes. p. l’algorithme du fuzzy k-means affectera ces deux points ` a l’une ou l’autre des deux classes. . no. IEEE Transactions on Fuzzy Systems. Autrement dit. mˆ me si le point B semble a e e ´ priori beaucoup plus plausible que le point A. Ceci r´ sulte de la contrainte de l’´ quation 6. . mai 1993. Les u e ´e el´ ments ui. e 6. Q. 2.5. K. «A Possibilistic Approach to Clustering». j=1 2 R.14) (6. tout comme le point B. j = 1. J. Dans le cas de e e donn´ es bruit´ es. . en fonction de l’emplacement exact de ces points ainsi qu’en fonction de la position initiale des centres.j ∈ [0. K. Q (6. Ceci e e a comme cons´ quence d’accorder la mˆ me importance au point A qu’au point B. cela peut empˆ cher les centres de converger vers des r´ gions denses de l’espace e e e e d’entr´ e.74 ´ CHAPITRE 6. e les degr´ s d’appartenance de A et B aux deux classes en question seront tous les deux 0. NUEES DYNAMIQUES A B F IG .j > 0. . .M. etant situ´ beaucoup plus pr` s des deux centres. Typiquement. . . 98-110. i = 1.5 et en modifiant la fonction objectif de mani` re a e e ` ne pas converger vers une solution triviale o` tous les degr´ s d’appartenance seraient nuls.15) ui. vol. . . .5 – Exemple d’une partition floue a deux classes. peu importe la distance mesur´ e. Keller. 1]. 6. le point e A obtient un degr´ d’appartenance de 0. 1. Le probl` me est que peu importe cette affectation finale. .5 puisqu’il e `´ sont approximativement a egale distance des centres. ` ` correspondre a du bruit.5.3 Possibilistic K-means ` L’algorithme dit du «Possibilistic k-means»2 cherche a pallier aux limitations du fuzzy kmeans en levant la contrainte de l’´ quation 6.5 e e ` qui impose un partage de l’appartenance avec une somme des degr´ s egale a 1.j de la partition floue U doivent alors respecter les trois contraintes suivantes : ui. i = 1. Krishnapuram. . Dans le cas de la figure 6. .

6.3. POSSIBILISTIC K-MEANS
K

75

ui,j > 0, j = 1, . . . , Q,
i

(6.16)

o` les deux premi` res contraintes sp´ cifient respectivement que les degr´ s d’appartenance des stiu e e e muli aux classes sont compris entre 0 et 1, et que toute classe doit poss´ der au moins un stimulus e ` avec un degr´ d’appartenance non nul. Ces deux contraintes sont identiques a celles de l’algoe rithme du fuzzy k-means. La troisi` me contrainte, celle de l’´ quation 6.16, se distingue cependant e e ` ` a la fois du k-means et du fuzzy k-means qui impose a chaque stimulus d’avoir une somme des ´ ` e degr´ s d’appartenance egale a 1 (´ quation 6.5). Le possibilistic k-means impose plutˆ t que chaque e o ` stimulus appartienne a au moins une classe avec un degr´ d’appartenance non nul. Ceci implique e ` que la somme des degr´ s d’appartenance d’un stimulus a l’ensemble des classes peut maintenant e ˆ ` etre soit plus petite, soit plus grande que 1, d’une part, et qu’un stimulus puisse appartenir a une ` seule classe avec un degr´ d’appartenance inf´ rieur a 1, d’autre part. Dans ce dernier cas, un stimue e lus bruit´ tr` s eloign´ de tous les centres pourra n’appartenir qu’` une seule classe, avec un degr´ e e ´ e a e d’appartenance arbitrairement petit. Pour r´ aliser ces contraintes, cependant, on ne peut pas optimiser la mˆ me fonction objece e tif que pour le fuzzy k-means (´ quation 6.10), car on tendrait syst´ matiquement vers des degr´ es e e e ` d’appartenance arbitrairement petits. Il s’agit alors d’ajouter un deuxi` me terme a cette fonction e objectif pour stimuler l’´ mergence de ui,j les plus grands possibles. On utilise l’expression suie vante :
Q K K Q

Fm (U, W) =
j=1 i=1

(ui,j ) ||pj − i w|| +
i=1

m

2

ηi
j=1

(1 − ui,j )m ,

(6.17)

o` les ηi sont des valeurs positives ad´ quates repr´ sentant l’´ tendue du nuage associ´ a la classe Ci . u e e e e` ´ ` Le premier terme de cette equation cherche a minimiser les distances entre les stimuli et les centres ` ˆ ´ des classes, alors que le deuxi` me force les ui,j a etre maximum en evitant donc la solution trie ´e viale. Les el´ ments cl´ s dans cette fonction objectif sont les ηi qui viennent pond´ rer l’importance e e relative de ces deux crit` res. e Pour optimiser cette fonction objectif, il importe de remarquer que les contraintes impos´ es e ` par le possibilistic k-means (´ quations 6.14 a 6.16) rendent les lignes et les colonnes de la matrice e U ind´ pendantes. En effet, les ui,j sont maintenant libres de changer ind´ pendamment les uns des e e ´e e autres car la contrainte de l’´ quation 6.6 a et´ lev´ e. Ceci nous permet donc de minimiser Fm par e i,j ` rapport a U en minimisant individuellement chaque ui,j . On obtient alors les termes Fm de Fm :
i,j Fm (ui,j , i w) = (ui,j )m ||pj − i w||2 + ηi (1 − ui,j )m .

(6.18)

` ` que l’on peut d´ river par rapport a ui,j et, en affectant le r´ sultat a 0, on obtient le r´ sultat suivant : e e e ui,j = 1 ||pj − i w||2 1+ ηi
1 m−1

.

(6.19)

` qui nous pr´ cise la facon dont il faudra estimer la partition floue a chaque it´ ration de l’algorithme, e ¸ e ´ etant donn´ les stimuli d’apprentissage et les positions des centres. L’´ quation 6.19 sp´ cifie que le e e e ` une classe ne d´ pend que de la distance entre le stimulus et le centre de la degr´ d’appartenance a e e

76

´ CHAPITRE 6. NUEES DYNAMIQUES

classe. C’est exactement le r´ sultat que nous cherchions. Il ne reste plus qu’` d´ terminer la facon e a e ¸ de calculer les ηi qui viennent pond´ rer cette distance. e Le param` tre m dans l’´ quation 6.19 repr´ sente le niveau de flou de l’algorithme, comme pour e e e 1 le fuzzy k-means, mais son interpr´ tation est diff´ rente. Lorsque m → 1, l’exposant m−1 tend vers e e l’infini et les degr´ s d’appartenance deviennent binaires : 1 si la distance du stimulus au centre est e 1 ` e inf´ rieur a ηi , 0 autrement. Au contraire, lorsque m → ∞, l’exposant m−1 → 0 et tous les degr´ s e ´ ` d’appartenance deviennent egaux a 0.5 peu importe la distance entre les stimuli et les centres ; on ` obtient alors le flou maximum puisque tous les stimuli appartiennent a toutes les classes avec 50% de possibilit´ . Pour le fuzzy k-means on conseille habituellement m = 2 qui donne des r´ sultats e e satisfaisants dans la plupart des situations. Pour le possibilistic k-means, cette valeur est parfois ´ e trop elev´ e, on conseille plutˆ t 1.5 ≤ m < 2. o ` La valeur de ηi d´ termine la distance a partir de laquelle le degr´ d’appartenance d’un stimulus e e ` ` a la classe devient 50%. C’est en quelque sorte la zone d’influence de la classe Ci , a l’int´ rieur de e ` laquelle la possibilit´ d’appartenance est sup´ rieure a 50%. De facon g´ n´ rale, il importe donc e e ¸ e e que sa valeur soit corr´ l´ e avec l’´ tendu du nuage des stimuli associ´ s a la classe. En pratique, la ee e e ` d´ finition suivante fonctionne bien : e
Q

(ui,j )m ||pj − i w||2 ηi =
j=1 Q

. (ui,j )
m

(6.20)

j=1

` Cette expression rend ηi proportionnel a la moyenne pond´ r´ e des distances intra-classe. Une autre ee facon de proc´ der est de consid´ rer seulement dans l’´ quation ci-dessus les ui,j ≥ α, on parle ¸ e e e alors d’une coupe α de la partition. Dans ce cas, ηi repr´ sente la moyenne pond´ r´ e des distances e ee ` intra-classe pour les «bons» stimuli, c’est-` -dire ceux dont le degr´ d’appartenance a la classe est a e ` sup´ rieur a α. e ˆ ˆ Les valeurs de ηi peuvent etre fix´ es a priori, ou encore etre ajust´ es a chaque it´ ration de e e ` e ´ l’algorithme. Dans ce dernier cas, cependant, il importe de prendre des pr´ cautions pour eviter les e instabilit´ s pouvant r´ sulter de tels changements en continu. En pratique, l’algorithme du possie e ` ` bilistic k-means est assez robuste a de larges variations de ηi , a condition d’avoir bien initialiser ` les centres. Ainsi, on peut calculer les ηi a partir de la partition floue initiale, puis les r´ -estimer e lorsque l’algorithme a converg´ une premi` re fois. Ensuite, on peut recommencer la proc´ dure si e e e ´ l’on d´ sire obtenir une meilleure estimation de la partition floue. Cette deuxi` me etape converge e e g´ n´ ralement en quelques it´ rations seulement puisque les centres sont d´ j` correctement posie e e ea tionn´ s. Dans le cas de stimuli bruit´ s, elle permet de d´ terminer les degr´ s d’appartenance aux e e e e classes avec presque la mˆ me pr´ cision que dans le cas d’un environnement non bruit´ . Des valeurs e e e de α entre 0.1 et 0.4 produisent g´ n´ ralement des r´ sultats satisfaisants. e e e L’algorithme du possibilistic k-means est r´ sum´ a la figure 6.6. Il comporte deux parties dont e e` la deuxi` me est optionnelle. Dans les deux cas, nous adoptons le mˆ me crit` re d’arrˆ t que pour le e e e e fuzzy k-means. Pour le choix des centres initiaux, on ne peut pas proc´ der comme pr´ c´ demment e e e ` en choisissant al´ atoirement des stimuli a l’int´ rieur de la base d’apprentissage car les centres e e de l’algorithme du possibilistic k-means ne sont pas aussi mobiles que ceux des deux algorithmes

6.3. POSSIBILISTIC K-MEANS

77

1. Initialiser les centres W(0) ainsi que la partition floue U(0) en utilisant l’algorithme du fuzzy k-means ; 2. Estimer les ηi en utilisant l’´ quation 6.20 avec une coupe α = 0 ; e 3. Fixer les valeurs de m et ε ; 4. t = 1 ; 5. R´ p´ ter : e e (a) Calculer les nouveaux centres W(t) en utilisant l’´ quation 6.12 ; e (b) Calculer la nouvelle partition floue U(t) en utilisant l’´ quation 6.19 ; e (c) t = t + 1 ; 6. Tant que max |ui,j (t) − ui,j (t − 1)| > ε et t ≤ tmax ;
i,j

7. R´ -estimer les ηi en utilisant l’´ quation 6.20 avec une coupe 0.1 ≤ α ≤ 0.4 ; e e 8. t = 1 ; 9. R´ p´ ter : e e (a) Calculer les nouveaux centres W(t) en utilisant l’´ quation 6.12 ; e (b) Calculer la nouvelle partition floue U(t) en utilisant l’´ quation 6.19 ; e (c) t = t + 1 ; 10. Tant que max |ui,j (t) − ui,j (t − 1)| > ε et t ≤ tmax ;
i,j

F IG . 6.6 – Algorithme du «possibilistic k-means». ` pr´ c´ dents. En effet, a cause du param` tre ηi qui restreint le rayon d’action des centres, un mauvais e e e choix de leur position initiale peut limiter grandement la performance de l’algorithme, et mˆ me e empˆ cher sa convergence. Pour cette raison, on commence habituellement avec un fuzzy k-means e ` qui, lui, est beaucoup plus robuste a une mauvaise initialisation des centres. Mentionnons finalement qu’en changeant la norme utilis´ e pour calculer la distance entre e un stimulus et un centre, on peut construire diff´ rentes variantes du possibilistic k-means. Par e exemple, en calculant la matrice de covariance floue des stimulus :
Q

(ui,j )m (pj − i w)(pj − i w)T Fi =
j=1 Q

, (ui,j )
m

(6.21)

j=1

et en l’utilisant pour calculer la norme suivante : ||pj − i w||2 =
R

|Fi | (pj − i w)T Fi−1 (pj − i w),

(6.22)

on obtient l’algorithme dit du «possibilistic Gustafson-Kessel».

78 .

nous allons etudier un r´ seau de neurones dit r´ seau de Kohonen1 .2) o` S correspond au nombre de neurones du r´ seau. La carte des neurones (figure 7. . Ce sont les voisins imm´ diats sp´ cifi´ s par e e e e e le voisinage Λi = k du neurone i. c’est-` -dire l’ensemble des neurones li´ s au neurone i par des a e chemins dans le graphe de la carte contenant au plus k arˆ tes. Ils sont constitu´ s d’un vecteur de poids dans l’espace des entr´ es e e (d’une facon semblable aux centres des nu´ es dynamiques). u e Teuvo Kohonen. S i (7.3). Un r´ seau de Kohonen est illustr´ a la figure 7. la figure 7. 1990 (la version originale ` de cet article remonte a 1982). Par exemple. Proceedings of the IEEE. Les neurones de ce r´ seau correspondent e e` e aux prototypes (figure 7. «The Self-Organizing Map». e L’algorithme d’apprentissage du r´ seau de Kohonen est de type comp´ titif (section 4. mais egalement a construire une carte a une ou e deux dimensions permettant de structurer cet espace.1b) ¸ e ` d´ finit quant a elle des relations de voisinage entre les neurones. e u e e ´ ` ` comme avec les nu´ es dynamiques (chapitre 6). On voit sur cette figure que les neurones adjacents sont li´ s entre eux par des e arˆ tes (on pourrait aussi avoir des arˆ tes diagonales).Chapitre 7 R´ seau de Kohonen e ´ Dans ce chapitre. 2. .1. i = 1. ou ene e core carte auto-organis´ e de Kohonen. Il s’agit d’un r´ seau non supervis´ avec un apprentissage e e e ` comp´ titif o` l’on apprend non seulement a mod´ liser l’espace des entr´ es avec des prototypes. 1 79 . La e e ` mise a jour des poids ∆i w du neurone i au temps t s’exprime de la facon suivante : ¸ ∆i w(t) = η(t)[p(t) − i w(t)] si i ∈ Λg (t) 0 autrement (7.2 montre e la forme «carr´ e» de voisinage qui est la plus souvent utilis´ e (les neurones y sont repr´ sent´ s par e e e e des cercles vides).1) o` p(t) d´ signe le stimulus d’apprentissage au temps t et Λg (t) repr´ sente le voisinage au temps t u e e du neurone gagnant g. Ce dernier est d´ termin´ simplement en retenant l’indice du neurone pour e e lequel la distance avec le stimulus p est minimum : g(p) = arg min ||p − i w||. 1464-1480. . . p.1a).

et o` τ d´ limite la u u e fronti` re entre deux phases d’apprentissage. On utilise souvent une d´ croissance lin´ aire pour le taux e e d’apprentissage : η0 − η0 −ητ t si t < τ τ η(t) = (7.4) 0 autrement Ces fonctions lin´ aires d´ croissantes sont illustr´ es a la figure 7.3.2 – Topologie de voisinage (quatre voisins) pour une carte a deux dimensions : (a) Λ18 = 2 .3) ητ autrement o` η0 est le taux d’apprentissage initial. ` (b) Λ18 = 1 .1 – R´ seau de Kohonen avec carte rectangulaire de S = 6 × 7 = 42 neurones. ητ est le taux d’apprentissage final. e e e ` un taux d’apprentissage elev´ ainsi qu’un voisinage etendu. 7. on peut aussi utiliser une e e d´ croissance lin´ aire : e e t Λ0 1 − τ si t < τ Λ(t) = (7.80 Entrée Couche de S neurones ´ CHAPITRE 7. pour le voisinage. et (c) Λ18 = 0. La phase d’organisation. e 1 8 15 22 29 36 2 9 16 23 30 37 3 10 17 24 31 38 4 11 18 25 32 39 5 12 19 26 33 40 6 13 20 27 34 41 7 14 21 28 35 42 1 8 15 22 29 36 2 9 16 23 30 37 3 10 17 24 31 38 4 11 18 25 32 39 5 12 19 26 33 40 6 13 20 27 34 41 7 14 21 28 35 42 1 8 15 22 29 36 2 9 16 23 30 37 3 10 17 24 31 38 4 11 18 25 32 39 5 12 19 26 33 40 6 13 20 27 34 41 7 14 21 28 35 42 (a) (b) (c) F IG . ` e A l’´ quation 7. et de r´ duire ceux-ci au fur et a mesure que le e temps (donc l’apprentissage) progresse. permet de d´ ployer la carte de ´ e ´ grˆ ce a a e . Le param` tre τ marque la fin e e e ` e d’une p´ riode d’organisation et le d´ but d’une p´ riode de convergence. RESEAU DE KOHONEN Carte auto-organisée 1 8 2 9 16 23 30 37 3 10 17 24 31 38 4 11 18 25 32 39 5 12 19 26 33 40 6 13 20 27 34 41 7 14 21 28 35 42 p Rx1 W SxR n Sx1 C S a Sx1 15 22 29 36 R ni = − ||iw − p|| a = compet(n) (a) (b) F IG . L’id´ e etant d’employer au d´ part un grand e e ´ e ` taux d’apprentissage ainsi qu’un grand voisinage.1. il importe de remarquer que le taux d’apprentissage η et le voisinage du neurone gagnant Λg d´ pendent tous deux du temps. 7. De mˆ me.

Elle se trouve a r´ duire le taux d’apprentissage e ` . permet quant a elle de raffiner la position a ` des neurones de mani` re a les centrer sur des nuages denses de stimuli. on d´ termine le neurone gagnant (le plus proche) et on d´ place des entr´ es. les stimuli adjacents dans l’espace des entr´ es seront associ´ s a des neurones adjacents dans la carte du r´ seau.1 Algorithme de Kohonen ` ´ L’algorithme de base de Kohonen est r´ sum´ a la figure 7.g qui d´ pend de la distance topologique di. e e ` e ` grˆ ce a un taux d’apprentissage faible et un voisinage nul. lorsque maxi ||∆i w|| < ε durant plusieurs it´ rations. Par exemple.4.1 par l’expression e suivante : ∆i w(t) = πi. Celui-ci est le plus souvent a e e sp´ cifi´ par un nombre maximum d’it´ ration tmax mais peut aussi tenir compte de la stabilit´ e e e e des poids.5) o` : u d2 i.g a une e ` e forme gaussienne telle qu’illustr´ e a la figure 7.5.6) vient remplacer le voisinage Λg par une fonction πi. La fonction πi.g (en e nombre d’arˆ tes dans la carte) entre le neurone i et le neurone gagnant g. de d´ plier la carte de mani` re a ce que sa topologie e e ` ` corresponde au mieux a la topologie des stimuli. Elle permet aussi. ainsi que son voisinage actuel.g (t)η(t)[p(t) − i w(t)] (7.g (t) = exp − 2 2σ (t) (7. grˆ ce a une d´ croissance progresa u e e a ` e sive du taux d’apprentissage et du voisinage.g πi. ALGORITHME DE KOHONEN 81 η Λ η0 Λ0 ητ τ t τ t (a) (b) F IG .7. e ` 7. ` Une variante que l’on peut aussi rencontrer consiste a remplacer l’´ quation 7. neurones l` o` les donn´ es sont concentr´ es. La phase de convergence.3 – Exemple de d´ croissance (a) du taux d’apprentissage et (b) de la fenˆ tre de voisinage e e en fonction du temps. 7. on peut d´ cider e e arbitrairement de stopper l’apprentissage puisque le r´ seau mod´ lise suffisamment bien l’espace e e ` chaque it´ ration. dans la direction du stimulus courant en utilisant le taux d’apprentissage courant. A e e e e celui-ci. Ainsi. Il consiste a echantillonner les e e` stimuli d’apprentissage jusqu’` l’atteinte d’un certain crit` re d’arrˆ t.1.

g (500) = 0. .g d´ croisse dans le temps de mani` re a e e ` ` ce que vers la fin de l’apprentissage. i = 1. ` ´ effectif du neurone i par rapport a son eloignement topologique du neurone gagnant. di. τ et Λ0 . t = 1 . il importe de se rappeler que u e e la distance topologique est discr` te : di. on peut faire d´ croˆtre exponentiellement la variance e ı σ de la gaussienne en fonction du temps : σ(t) = σ0 exp − t τ (7.1 : e ∆i w(t) = η(t)[p(t) − i w(t)] si i ∈ Λg (t) 0 autrement ` o` η(t) correspond au taux d’apprentissage et Λg (t) a un voisinage autour du neuu rone gagnant g . 3.g . RESEAU DE KOHONEN 1.2 : e e g(p) = arg min ||p(t) − i w(t)||. et son espace discret de sortie Y dont la topologie est sp´ cifi´ e par le treillis de la carte e e . pour lequel la topologie est d´ finie par une m´ trique de e e e distance. e ` (b) D´ terminer le neurone gagnant g(p) a l’aide de l’´ quation 7.g (1) = 0.257 et πi. 4. F IG . 2.606. e 2. Pour σ0 = 3. ητ .995 et πi. Initialiser les poids i w(0) avec de petites valeurs al´ atoires . Fixer η0 .4 – Algorithme de Kohonen.249. Pour ce faire. seul le neurone gagnant subisse une mise a jour significative de son vecteur g w. .g = 5 et τ = 1000.g ∈ I . (d) t = t + 1 . .9) = 0. Tout comme pour le voisinage Λg . pour σ0 = di.2 Propri´ t´ s ee Cette section r´ sume les principales propri´ t´ s statistiques de l’algorithme de Kohonen par e ee ` rapport a son espace continu d’entr´ e X .82 ´ CHAPITRE 7.7) o` σ0 d´ finit la variance au temps initial.g (1000) = 3. Pour l’interpr´ tation de πi. par exemple. on obtiendra πi.023 et πi. πi. S i ` ` (c) Mettre a jour les poids a l’aide de l’´ quation 7.g (1000) = 0.025. Par exemple. πi. 7.5 × 10−5 7.g (500) = 0. η(t) et Λg (t) sont toutes deux des fonctions d´ croissantes dans le e temps. . il importe que le rayon d’action de πi.g (1) = exp(−25/49. R´ p´ ter tant que t ≤ tmax : e e (a) Choisir al´ atoirement un stimulus p(t) parmi l’ensemble d’apprentissage .g = 5 et τ = 1000 on e N obtient σ(1) = 4.

.2. Ainsi. de neurones. e` Propri´ t´ 2.´ ´ 7. Deux r´ gions adjacentes dans l’espace des entr´ es seront aussi e e e e adjacentes dans l’espace des sorties. Propri´ t´ 3. PROPRIETES 83 πi.1 qui force e e le vecteurs des poids synaptiques g w du neurone gagnant. Ceci est une cons´ quence directe de l’´ quation 7. Appariement des fonctions de densit´ ee e La carte Φ refl` te les variations statistiques des distributions de points dans l’espace des entr´ es : e e les r´ gions de X contenant beaucoup de stimuli seront appari´ es avec davantage de neurones que e e ´ parses. a bouger dans la direction des stimuli p. repr´ sent´ e par un ensemble de vecteurs poids synaptiques e e e {i w|i = 1. S}. tel qu’illustr´ a la figure 7.g F IG .g 2σ di. ainsi qu’un certain nombre de poids ` voisins i w ∈ Λg de ce neurone gagnant. e Propri´ t´ 1. Approximation de l’espace d’entr´ e ee e La carte auto-organis´ e de Kohonen. elles seront mieux mod´ lis´ es. . . une approximation de l’espace d’entr´ e e X . 2.8) ˆ Cette transformation peut etre vue comme une abstraction de l’´ quation 7. construit dans l’espace de sortie Y. Ordre topologique ee La carte Φ obtenue par l’algorithme de Kohonen est ordonn´ e topologiquement dans le sens o` e u ` l’emplacement des neurones dans l’espace des sorties (le treillis) correspond a une r´ gion pare ticuli` re de l’espace des entr´ es.5 – Fonction de voisinage gaussienne.2 qui d´ termine l’identit´ e e e du neurone gagnant en pr´ sence d’une stimulus p ∈ X . 7.6. . Le r´ seau r´ alise donc une transformation non-lin´ aire Φ : e e e Φ:X →Y (7. les r´ gions e e e e .

finit par occuper tout e e e e l’espace disponible.6 – Illustration de la relation entre la carte auto-organis´ e Φ et le vecteur g w du neurone e gagnant pour le stimulus p. De e e e e nouveau. 7. la carte initialis´ e avec de petits vecteurs de poids al´ atoires e e e e e se d´ ploie en se d´ pliant et. on constate que la chaˆne s’est compl` tement d´ ploy´ e e e e ı e e e pour occuper tout l’espace disponible. Le r´ sultat e e` e final de l’apprentissage. pr´ sente le cas d’une carte a une dimension. Les stimuli d’apprentissage pour cet exemple sont echantillonn´ s e ` uniform´ ment a l’int´ rieur d’un triangle. RESEAU DE KOHONEN Espace de sortie discret g(p) ϕ Espace d'entrée continu p gw F IG .3 Exemples Cette section pr´ sente trois exemples tir´ s de l’article de Kohonen. Les stimuli e ´ ` d’apprentissage pour cet exemple sont echantillonn´ s uniform´ ment a l’int´ rieur d’un carr´ . 7.9(a). d’autre part.7. Ils sont echantillonn´ s dans un volume e ´ synth´ tique dont la forme evoque vaguement celle d’un cactus illustr´ a la figure 7. illustr´ a la fie e e` ` gure 7. Le premier. D` s e e u ı e e e ` les premi` res it´ rations de l’algorithme (t = 20). apr` s quelques dizaines de milliers d’it´ rations. La premi` re image de la figure (t = 0) montre l’initiae e e lisation al´ atoire du r´ seau o` la chaˆne de neurones est totalement repli´ e sur elle-mˆ me.8 pr´ sente un exemple avec cette fois-ci une carte a deux dimensions. on commence a voir apparaˆtre la chaˆne qui se e e ı ı ` d´ plie graduellement au fil des it´ rations en prenant de l’expansion a l’int´ rieur du triangle o` sont e e e u situ´ es les stimuli. Apr` s 25 000 it´ rations. Le dernier exemple pr´ sente un cas plus compliqu´ o` les stimuli sont tridimensionnels. on observe . ` La figure 7. Bien que la carte obtenue approxime raisonnablement bien le volume des stimuli.9(b). c’est-` -dire une carte constitu´ e d’une chaˆne e a e ı ´ unidimensionnelle de neurones. d’une e e u ´ part.84 ´ CHAPITRE 7. illustre le principal d´ faut de l’approche de Kohoe` e nen. donn´ a la figure 7. d` s les premi` res it´ rations. et n’ont pas une topologie rectangulaire.

EXEMPLES 85 F IG . Les stimuli d’apprentissage sont e ` distribu´ es uniform´ ment a l’int´ rieur d’un triangle. 7.7 – Exemple d’une carte auto-organis´ e a une dimension. e e e e ` .7. 7. Les stimuli d’apprentissage e ` sont distribu´ es uniform´ ment a l’int´ rieur d’un carr´ .8 – Exemple d’une carte auto-organis´ e a deux dimensions. e e e ` F IG .3.

9 – Exemple d’une carte auto-organis´ e a deux dimensions (droite). 7. Les stimuli d’apprene ` tissage sont distribu´ es uniform´ ment a l’int´ rieur d’un volume tridimensionnel en forme de cactus e e e ` (gauche).86 ´ CHAPITRE 7. RESEAU DE KOHONEN (a) (b) F IG . .

Sa premi` re couche e e e e ` e comp´ titive permet de mod´ liser l’espace des entr´ es. par exemple. e e e 7. les neurones qui se sont positionn´ s dans l’espace des entr´ es.10 – R´ seau LVQ e aussi que sa topologie plus ou moins compatible avec celle des donn´ es engendre certaines abere rations comme. les neurones comp´ titifs de la premi` re couche apprennent a positionner un vecteur e e prototype dans l’espace des entr´ es et celui-ci permet de classifier une r´ gion de ce dernier. r´ gion e e e ` que l’on peut interpr´ ter comme une sous-classe de la classe a laquelle chaque neurone est associ´ . entre e e ` les branches du cactus. 7. alors que la seconde lin´ aire permet de e e e e ` prendre des d´ cisions. Ceci permet de r´ unir des fronti` res e e e e de d´ cision convexes dans l’espace des entr´ es.4 R´ seau LVQ e En utilisant les principes de l’apprentissage comp´ titif on peut aussi construire un r´ seau e e 2 supervis´ e nomm´ e LVQ .10. e e 2 C’est la deuxi` me couche de neurones qui prend les d´ cisions grˆ ce aux poids wi. La topologie u fix´ e a priori des cartes de Kohonen constitue donc un handicap que nous tenterons de lever avec e ` l’architecture pr´ sent´ e au chapitre suivant : le r´ seau GNG. e e ` Les neurones de la premi` re couche sont g´ n´ ralement r´ partis uniform´ ment entre les classes. RESEAU LVQ Entrée Couche compétitive Couche linéaire 87 p Rx1 W1 S1 x R n1 S1 x 1 C S1 a1 S1 x 1 W2 S2 x S1 n2 S2 x 1 a2 S2 x 1 R S2 ni = − ||iw − p|| a1 = compet(n) a2 = W2a1 F IG .j = 1 si le neurone j est associ´ au neurone i (classe i) e 0 autrement (7. a des endroits o` il n’existe aucun stimulus d’apprentissage. e e e 1 2 avec g´ n´ ralement plusieurs neurones par classe (S >> S ).´ 7. . a e e e e e 2 En anglais : «Linear Vector Quantization». Tout comme pour le Kohonen ou les nu´ es dye e e ` namiques. Ce r´ seau hybride est illustr´ a la figure 7.9) La matrice W2 est donc fix´ e une fois pour toute avant mˆ me de commencer l’apprentissage.j de la e e a matrice W2 : 2 wi. Chaque neurone de la premi` re couche est associ´ a priori a une classe.4.

Lorsqu’un e stimulus est correctement class´ par le r´ seau. une solution souvent utilis´ e consiste dans ce cas a non seulee e ` ment ajuster le vecteur du neurone gagnant. au lieu de e e e le rapprocher. il risque fort. RESEAU DE KOHONEN moins que l’on dispose d’informations sur leur probabilit´ a priori. un neurone doit traverser une zone e ` associ´ e a une autre classe. L’apprentissage du r´ seau LVQ consiste e ` simplement a positionner au mieux les prototypes en employant la r` gle de Kohonen. avec le mˆ me taux d’apprentissage. en pratique.88 ´ CHAPITRE 7. lorsque pour atteindre une zone associ´ e a sa classe. deux neurones sont ajust´ s simultan´ ment : le mauvais gagnant est eloign´ du stimu¸ e e e ´ lus et un eventuel futur bon gagnant est rapproch´ de ce dernier. c’est que le mauvais e neurone a gagn´ et il s’agit simplement d’´ loign´ son vecteur de poids du stimulus. mais aussi a choisir le e neurone le plus proche qui classifie correctement le stimulus pour le rapprocher de celui-ci. alors le vecteur de poids g w du neurone gagnant e e est rapproch´ de ce stimulus avec un taux d’apprentissage η. de ne jamais pouvoir traverser e e ` cette zone. dans l’espoir qu’un autre neurone associ´ a la e e` bonne classe puisse gagner la prochaine fois : ∆g w(t) =   η [p(t) − g w(t)] si a2 = dg = 1 g  −η [p(t) − w(t)] si a2 = 1 = d = 0 g g g (7. e e ` ` Pour contourner ce probl` me. auquel cas on pourra affecter e ` ` plus de neurones a certaines classes et moins a d’autres. en l’´ loignant du stimulus. De ´ cette facon. et ainsi de ne jamais pouvoir servir a classifier une r´ gion associ´ e a la bonne classe. e .10) Cette approche comporte n´ anmoins une faille importante. d´ pendant de l’initialisation des neue e rones. Autrement. Parce que le vecteur de poids d’un tel neurone sera repouss´ par les stie ` e muli pr´ sents dans cette r´ gion de transit.

Chapitre 8 R´ seau GNG e Le r´ seau «Growing Neural Gas»1 (GNG) est un r´ seau constructif qui ne pose a priori aucune e e hypoth` se sur la topologie de l’espace des entr´ es. ı ` a la fois les connexions et les neurones peuvent apparaˆtre et disparaˆtre du graphe tout au long du ı ı processus d’apprentissage. A chaque sommet est e associ´ un neurone caract´ ris´ par un vecteur de poids synaptiques i w ainsi qu’un signal d’erreur e e e ` ei . une connexion ˆ e ag´ e signifie une vraisemblance faible de cette relation.S. e 8. ηg . e e Bernd Fritzke. Contrairement au r´ seau de Kohonen. Tout d’abord.1 Algorithme L’algorithme du GNG comprend un certain nombre de param` tres essentiels. Comme nous le verrons plus loin. alors qu’au contraire. cependant. Leen (´ diteurs). G. e La topologie du r´ seau est repr´ sent´ e par un graphe G = [V (t). A e ´ e implique une vraisemblance elev´ e de la relation topologique. C’est pourquoi les ensembles V et E d´ pendent tous les deux du temps. 1995. correspondent quant a elles a des connexions entre e ` chaque connexion {i. ηv . est de type comp´ titif. Un r´ seau minimal est initialement cr´ e et de e e e e´ nouveaux neurones ainsi que de nouvelles connexions entre les neurones sont ajout´ s au fil de e l’apprentissage non supervis´ .j . Le GNG utilise deux taux distincts. u e ` ` Les arˆ tes du graphe. E(t)] o` V (t) d´ signe l’ene e e u e ` semble des sommets du graphe au temps t et E(t) l’ensemble de ses arˆ tes. celle-ci pourra mourir et disparaˆtre du graphe. Une connexion jeune ˆ les neurones sous-jacents. et l’autre pour ses voisins imm´ diats. e il y a τ qui d´ fini la p´ riode de temps entre les ajouts de neurone. c’est-` -dire qu’` toutes les e e a a τ it´ rations. Le neurone gagnant ainsi e que ses voisins sont d´ plac´ s dans la direction d’un stimulus en proportion de sa distance et d’un e e certain taux d’apprentissage. MIT Press. e 1 89 . j} est associ´ un age ai. e tout comme celui du Kohonen (voir chapitre 7). nous ajouterons un neurone quelque part dans le graphe. Ce dernier servira a accumuler l’erreur de mod´ lisation attribuable au neurone i et guidera le e choix de l’emplacement o` nous ajouterons p´ riodiquement de nouveaux sommets dans le graphe. publi´ dans Advances in Neural Informae tion Processing Systems 7. Tesauro. L’apprentissage du GNG. D. un pour le neurone gagnant. Touretzky et T.K. liant deux sommets i et j. «A Growing Neural Gas Network Learns Topologies». Cambridge MA. Lorsque l’ˆ ge d’une connexion d´ passera a e un certain seuil.

sinon elle meurent et disparaissent. τ . g1 } ∈ E(t)}. 4.2) g2 = arg i∈V (t)\{g1 } min ||p(t) − i w(t)|| ˆ ` (c) Incr´ menter les ages de toutes les connexions adjacentes a g1 : e ∀{i. ex (0) = ey (0) = ax.7) (8.g2 (t) = 0. ηv . D´ terminer le neurone q poss´ dant l’erreur maximum : e e q = arg max ei i∈V (8. 3. e Finalement.6) (g) Retirer de E toutes les connexions pour lesquelles ai. g1 } ∈ E : ai. Initialisation : V = {x.g2 = 0 . (h) Si t mod τ = 0. y} et E = {{x. Fixer tmax .g1 = ai.1) (8.90 ´ CHAPITRE 8. v ∈ Λg1 o` Λg1 = {i ∈ V |i = g1 et{i. Les connexions a e e ˆ entre les neurones ne peuvent d´ passer un age maximum amax . retirer aussi tous ` les neurones qui se retrouveraient isol´ s (sans aucune connexion) suite a la mort de e connexions.j > amax . alors ag1 .5) (8.3) (e) D´ placer les vecteur de poids synaptiques de g1 et de ses voisins imm´ diats dans la e e direction de p(t) : ∆g1 w(t) = ηg [p(t) − g1w(t)] ∆v w(t) = ηv [p(t) − v w(t)]. Egalement. autrement : E(t) = E(t) ∪ {{g1 . RESEAU GNG ´ ces taux demeurent fixes tout au long de l’apprentissage. Le rˆ le pr´ cis de chacun de ces param` tres est explicit´ dans les etapes e o e e e suivantes : 1.y (0) = 0. ηg . u (f) Si {g1 . alors : i. t = 1.8) .g1 + 1 (d) Incr´ menter l’erreur associ´ e au premier gagnant : e e eg1 = eg1 + ||p(t) − g1w(t)|| (8. y}} avec x w(0) et y w(0) initialis´ s al´ atoirement e e avec de petits poids synaptiques dans l’espace des entr´ es . R´ p´ ter tant que t ≤ tmax : e e (a) Choisir al´ atoirement un stimulus p(t) parmi l’ensemble d’apprentissage. g2 } ∈ E(t). g2 }}. e 2. (8. on utilise aussi un param` tre α pour contrˆ ler l’oubli des signaux d’erreur associ´ s e o e ´ aux neurones du r´ seau. e ` c’est-` -dire que seuls les voisins imm´ diats du neurone gagnant se d´ placent.4) (8. e (b) D´ terminer les deux neurones gagnants g1 et g2 les plus pr` s de p(t) : e e g1 = arg min ||p(t) − i w(t)|| i∈V (t) (8. amax et α. le voisinage est fix´ a 1. ag1 .

2. on commence avec un r´ seau de deux neurones li´ s par une seule connexion. x} et {x. voisin de q.9) ` iii. (i) R´ duire les signaux d’erreur de tous les neurones : e ei = αei . r} par les deux connexions {q. des neurones sont ajout´ s dans le graphe aux endroits o` l’erreur de mod´ lisation est e e u e ` ` ` maximum. poss´ dant aussi l’erreur maximum : e e r = arg max ei i∈Λq 91 (8. ∀i ∈ V (t) (j) t = t + 1. r} avec aq. D´ terminer le neurone r.x = ax.r = 0. Remplacer la connexion {q. eq = 2 2 2 (8. la troisi` me le long d’un segment de e e droite au bout de la surface et la derni` re le long d’un anneau au bout du segment de droite.8. Au fil des e e it´ rations. la deuxi` me sur une e e surface rectangulaire appos´ e sur l’une des faces du prisme. EXEMPLE ii.1 illustre la capacit´ qu’` le GNG a apprendre la topologie des donn´ es. mais il a aussi e e e ` ´ r´ ussi a apprendre la topologie des diff´ rentes formes echantillonn´ es ! e e e . Ins´ rer un nouveau neurone x a mi-chemin entre q et r : e x w(t) = q w(t) eq eq + r w(t) .10) iv.2 Exemple ` La figure 8. La e ` figure montre le graphe du r´ seau a diff´ rents instant durant l’apprentissage. Initialement (en haut e e ` a gauche). (8. les donn´ es d’apprentissage ont et´ g´ n´ r´ es a partir de quatre distributions uniformes : e la premi` re dans un volume tridimensionnel en forme de prisme rectangulaire. A la fin.11) 8. Pour cet e a e ´e e ee ` exemple. nous seulement le r´ seau a appris a mod´ liser l’espace d’entr´ e. ex = .

RESEAU GNG F IG . 8. sur une surface rectangulaire appos´ e perpendiculairement a l’une des faces e ` du prisme et a une courbe en forme d’anneau au bout d’une tige appos´ e a l’une des extr´ mit´ s de e ` e e ` la surface. .1 – Exemple d’un GNG entraˆn´ sur des stimuli echantillonn´ s dans un volume en forme de ı e e ´ prisme rectangulaire.92 ´ CHAPITRE 8.

no. Grossberg. Boston : D. «A Massively Parallel Architecture for a Self-Organizing Neural Pattern Recognition Machine».A.A. p. 23. le 7 En anglais : «Adaptive Resonance Theory». Neural Networks. vol. 1982. «ARTmap». «fuzzy ARTmap». vol. 2 1 93 . «ART2». 1992. L’architecture ART13 poss` de la particularit´ de n’accepter que des entr´ es binaires. Reynolds. puis mettre ce dernier de cˆ t´ et poursuivre l’apprentissage avec un autre sousoe ensemble sans que les connaissances acquises pr´ c´ demment soient oubli´ es par le r´ seau. Carpenter et S. mais egalement un apprentissage e incr´ mental des connaissances. on peut par exemple apprendre avec un premier sousensemble de stimuli.A. Grossberg. «ART2 : Self-Organization of Stable Category Recognition Codes for Analog Input Patterns». Computer Vision. 26. «ART3 : Hierarchical Search using Chemical Transmitters in Self-Organizing Pattern Recognition Architectures». Studies of Mind and Brain. c’est-` -dire un apprentissage o` tous les stimuli ne sont pas n´ cese a u e sairement disponibles en tout temps. 3. no. 698-713. il d´ veloppe le ART2 davantage en lui ajoutant un nouveau e m´ canisme de r´ initialisation biologiquement inspir´ . IEEE Transactions on Neural Networks. 3. Grossberg et J. 1990. alors que le ART24 accepte e e e des entr´ es continues en incorporant aux m´ canismes du ART1 diff´ rentes op´ rations complexes e e e e 5 de normalisation. qui poss` de la relative e e e e ` simplicit´ du ART1 tout en offrant la capacit´ du ART2 a traiter des entr´ es continues. «Fuzzy ARTmap : A Neural Network Architecture for Incremental Supervised Learning of Analog Multidimensional Maps». 4 G.A. S. 37. p. Ceci e e e e n’est tout simplement pas possible avec d’autres architectures neuronales comme. 4. Elles sont bas´ es sur une th´ orie d’inspiration biologique2 assez complexe sur laquelle nous n’insise e terons pas. «Fuzzy ART : Fast Stable Learning and Categorization of Analog Patterns by Adaptive Resonance Theory». «fuzzy ART». par exemple. p. Grossberg. 1987. 6 G. 23. and Image Processing. nomm´ e fuzzy ART6 . 54-115. S. vol. Quant au ART3 .Chapitre 9 Architectures ART Les architectures ART1 sont issues des travaux de Stephen Grossberg et Gail Carpenter. Reidel Publishing Co. S. Ces trois architectures utilisent toutes un e e e processus d’apprentissage non supervis´ . Applied Optics. Elles se manifestent par diff´ rentes implantations sp´ cifiques dont celles nomm´ es e e e «ART1». etc. «ART3». 4919-4930. 3 G.. Carpenter et S. 759-771. Dans ce chapitre. 7 G. Graphics. Grossberg. 129-152. Neural Networks. nous allons nous concentrer sur une e ´ quatri` me architecture. Carpenter. Rosen. egalement non supervis´ e. 1991. p. vol. Ainsi. vol.A. Carpenter. e e e Nous aborderons ensuite une des versions supervis´ es des architectures ART : le fuzzy ARTe ´ map qui permet non seulement un apprentissage supervis´ . Grossberg et D. p. 5 G. Carpenter et S.B. 1987.

1 Fuzzy ART ` Le fuzzy ART est un r´ seau comp´ titif a deux couches de neurones tel qu’illustr´ a la fie e e ` c ` gure 9. e ˆ Les entr´ es d’un fuzzy ART doivent etre des ensembles flous d´ finis sur un r´ f´ rentiel discret. not´ e E . Initialement. Cependant. G´ n´ ralement. e e e Un peu comme le GNG. R (9. le fuzzy ART incorpore un m´ canisme e de r´ troaction permettant de stabiliser les prototypes appris dans les vecteurs de poids qui relient e les deux couches. . Pour permettre l’apprentise e sage incr´ mental. d’o` le nom «ARTmap»). . tout comme les autres architectures ART. . comme a la figure 9. La premi` re couche.94 Sx2R CHAPITRE 9. L’allocation subs´ quente de nouvelles cat´ gories d´ pendra a la fois des stimuli e e e e e et des param` tres de l’algorithme. on fixe au d´ part un nombre maximum de e e e e ´ neurones S. . Pour chaque stimulus d’entr´ e. sert a coder les stimuli d’entr´ e avec un encodage dit e e e ` «compl´ mentaire». Pour pouvoir utiliser un fuzzy ART. e aucun neurone n’est actif.1 – Architecture du r´ seau fuzzy ART. e perceptron multicouche qui. il s’agit donc de u ` transformer (normaliser) nos stimuli d’apprentissage de mani` re a les faire tous entrer a l’int´ rieur e ` e d’un hypercube unitaire. ARCHITECTURES ART W p Rx1 R 2R n1 Sx1 t rese E c a1 2Rx1 C S a2 Sx1 ρ F IG . les sorties a2 du e e e r´ seau sp´ cifient une cat´ gorie parmi S. u 9. pour en faire des ensembles flous. . .1. le premier stimulus d’apprentissage activera le neurone associ´ a la e ` ` premi` re cat´ gorie. r2 . pj )|rj ∈ R et 0 ≤ pj ≤ 1}. La deuxi` me couche est une couche comp´ titive semblable a celle du Kohoe e e nen. rR } : E = {(rj . le fuzzy ARTmap combine deux r´ seaux fuzzy ART grˆ ce a un carte associative e e a ` («map» en anglais . le fuzzy ART est un r´ seau constructif o` de nouveaux neurones e u sont allou´ es au fil de l’apprentissage. Ce m´ canisme dit de «r´ sonance» est contrˆ l´ par un param` tre ρ qui permet e e oe e de r´ -initialiser au besoin la couche comp´ titive. 9. . j = 1. . e e ee Soit p la repr´ sentation vectorielle d’un ensemble flou E d´ fini sur un r´ f´ rentiel discret R = e e ee {r1 . ce qui fixe egalement un nombre maximum de cat´ gories de stimuli.2 o` R = 2. oubliera tr` s rapidement e ı e (en quelques p´ riodes) tout ce qu’il a appris lors de la premi` re phase.1) ` o` 0 ≤ pj ≤ 1 repr´ sente le degr´ d’appartenance a E de l’´ l´ ment rj du r´ f´ rentiel. . lors de la deuxi` me phase d’entraˆnement. Le vecteur u e e ee ee T ˆ p = [p1 p2 · · · pR ] peut ainsi etre interpr´ t´ comme un point dans un hypercube unitaire de R ee ` dimensions.

. . 4. t = 1 . Fixer α.2 – Repr´ sentation vectorielle d’un ensemble flou E d´ fini sur un r´ f´ rentiel de deux e e ee el´ ments. 0 < η ≤ 1. FUZZY ART r2 1 95 E p 0 0 1 r1 F IG . 2. η et ρ : e e e α > 0. | · | d´ signe la norme l1 du vecteur : u e e n |x| = [x1 x2 · · · xn ]T = i=1 xi . η le taux d’apprentissage et ρ le taux de vigilance. 0 < ρ < 1 (9. u e e (c) Calculer les niveaux d’activation n1 des neurones de la premi` re couche : e i n1 (t) = i |a1 (t) ∩ i w(t)| . e (b) Effectuer l’encodage compl´ mentaire Ec : e a1 (t) = p(t) pc (t) (9. (9. Nous u e e e allons expliciter la signification de ces param` tres ci-dessous. S. .3) o` pc = [(1 − p1 )(1 − p2 ) · · · (1 − pR )]T repr´ sente le compl´ ment flou de p. R´ p´ ter tant que t ≤ tmax : e e (a) Choisir al´ atoirement un ensemble flou p(t) parmi la base d’apprentissage . 3.2) o` α repr´ sente un param` tre de s´ lection.4) o` α est le taux de s´ lection.9. i = 1. η et ρ . . e ´ L’algorithme du fuzzy ART se r´ sume aux etapes suivantes : e 1. α + |i w(t)| (9.5) . Initialiser les poids W = [1 w 2 w · · · S w]T avec des 1 . ´e Le r´ seau fuzzy ART d´ finit trois param` tres α. 9.1.

3 pour le cas particulier d’un espace a deux dimensions. i = 1. on obtient l’interpr´ tation g´ om´ trique de la figure e e e ` 9.4 sera egal a : e e a1 ∩ i w = p x p∩x x = iw c ∩ c = c = p y (p ∪ y) yc (9.8) |a1 (t)| alors bloquer temporairement le neurone g pour qu’il ne puisse plus gagner et retourner ` e a l’´ tape 4d pour choisir le prochain gagnant. xn yn min(xn .96 CHAPITRE 9. . o` x et y sont deux e u vecteurs quelconques dans l’espace des stimuli. e e ` (g) Mettre a jour le prototype du neurone gagnant : ∆g w(t) = η o` η est le taux d’apprentissage. . ARCHITECTURES ART et x ∩ y repr´ sente l’intersection floue entre x et y : e  min(x1 . calcul´ s a l’´ quation 9. ∩ . u (h) t = t + 1 . (9.10) Le processus d’encodage permet donc de normaliser en amplitude les stimuli d’entr´ e. e e ` e i 1 permet de mesurer le degr´ de ressemblance entre le stimulus d’entr´ e a . Fin ` e La premi` re chose que l’on peut remarquer a l’´ quation 9. Pour tous les stimuli p situ´ s a l’int´ rieur de e e ` e ´ ` cette zone. y2 )   x2   y2    .3 est que la norme des vecteurs e encod´ s demeure toujours constante : e R R R R a1 (t) ∩ g w(t) − g w(t) . .11) . S.7) Soit g = arg max n1 (t).    .6)   1 si n1 (t) = max n1 (t) j i j=1···S 0 autrement . (9. yn ) (d) Calculer les sorties de la couche comp´ titive : e a2 (t) =  i j      (9. et le vecteur de poids i w.    . le num´ rateur de l’´ quation 9.4. j (e) Si le degr´ de r´ sonance du neurone g avec les sorties de la couche d’entr´ e est inf´ rieur e e e e au seuil ρ : |a1 (t) ∩ g w(t)| < ρ. = . y1 ) y1 x1        min(x2 .  .   . (9.9) |a1 (t)| = i=1 pi + i=1 (1 − pi ) = i=1 pi + R − i=1 pi = R (9. En posant i w = [x y ] .   . exprim´ dans son ene e e c T codage compl´ mentaire. . l’indice du neurone gagnant. e Le niveau d’activation n1 du neurone i de la couche comp´ titive. La r´ gion d´ finie par le rectangle en trait e e ` plein correspond a la zone d’activit´ du neurone i.  . (f) Lib´ rer tous les neurones bloqu´ s.

7 et que celui-ci n’´ choue pas le crit` re de r´ sonance e e e e e de l’´ quation 9. En effet.9. e e e ` Soit Zi la r´ gion associ´ e a i w. les neurones dont la r´ gion e e e ` associ´ e englobe p gagneront la comp´ tition avant les autres. on obtient dans ce cas |a1 ∩ i w| = |i w| et n1 = α+|i w| . nous aurons |a1 ∩ i w| < e e e e ` |i w| et le niveau d’activation calcul´ sera nettement inf´ rieur a 1.3 – R´ gions associ´ es a i w = [x yc ]T (en trait plein) et a a1 ∩ i w (en trait pointill´ ). plus le niveau d’activation tendra vers 1 pour un α donn´ . e e e ` ´ ` eventuellement.9). on parle dans ce cas d’apprentissage «instantan´ ». e ` Pour les stimuli p situ´ s a l’ext´ rieur de la zone.8 impose une contrainte sur la taille maximum que peut e e e atteindre les r´ gions associ´ es aux neurones du fuzzy ART. Par la suite. La dimension de cette r´ gion peut se calculer de la facon suivante : e ¸ |Zi | ≡ |y − x| (9. alors la r´ gion Zi sera agrandie e e e juste assez pour englober le stimulus p. le d´ nominateur |a1 (t)| = R e e e . c’est-` -dire un neurone dont le i w ne contient que des uns (´ tape 1 de l’ale a e 1 gorithme). plus le niveau d’activation sera petit et. toujours sous l’hypoth` se de η = 1. la r´ gion Zi associ´ e a ce neurone pourra grandir et.12) Pour qu’un vecteur i w puisse changer de valeur (´ quation 9. par cons´ quent. Pour un i w fix´ . l’op´ ration a1 ∩ i w e ` e e engendre la nouvelle r´ gion indiqu´ e en trait pointill´ . il faut que le neurone correspone dant gagne la comp´ tition de l’´ quation 9. plus α sera grand. FUZZY ART r2 1 97 y Zi p ∩x x p ∩x Zi ⊕ p p 0 0 1 r1 F IG . il e e ` e e s’agit d’un hyper-rectangle d´ fini respectivement par les coins x et y de ses composantes minimum e et maximum.8.3. on peut montrer que la r´ gion Zi correspondra toujours au plus petit rectangle (ou hyper-rectangle) englobant l’ensemble e des stimuli qui vont faire gagner et r´ sonner le neurone i au cours de l’apprentissage. En fait. c’est-` -dire une valeur e i ` inf´ rieure a 1. Si l’on pose un taux d’apprentissage η = 1 a e l’´ quation 9. comme a la figure 9. Pour cette r´ gion. inversee e ment. e e ` e ` |i w| a Par cons´ quent. plus i w sera grand. on obtiendra i w(t + 1) = a (t) et la r´ gion Zi sera limit´ au point p(t). et s’ils sont plusieurs a l’englober. 9.1. Dans le cas g´ n´ ral d’un espace des stimuli a R dimensions. englober le stimulus d’entr´ e.9. e e l’apprentissage ne pourra qu’augmenter la taille de la r´ gion Zi et. Dans ce cas seulement. la norme de e e e i w ne pourra que diminuer. e Le crit` re de r´ sonance de l’´ quation 9. Dans le cas particulier d’un neurone inactif (un neurone qui n’a jamais gagn´ ). e e c’est celui dont la r´ gion est la plus petite qui sera d´ clar´ gagnant. Ainsi.

Lorsque le neurone gagnant ne respecte pas le crit` re e e de r´ sonance. ce n’est plus le pourcentage d’agrandissement qui compte.15) qui sp´ cifie la taille maximum qu’une r´ gion peut atteindre en fonction du taux de vigilance ρ. Or : |a1 (t) ∩ g w(t)| = = = p x ∩ c pc y p∩x pc ∩ y c (9. Ceci sera toujours possible dans la mesure o` le r´ seau comporte e u e encore des neurones inactifs (la preuve est laiss´ e en exercice).01. un seul neurone pourrait couvrir tout l’espace d’entr´ e. on obtient l’expression suivante : e |Zg ⊕ p| ≤ R(1 − ρ) (9. mais seulement la dimension finalle. e e ` ` Plus il est grand. et le r´ seau A e e ne produirait plus qu’une seule cat´ gorie. e e e ´ c’est-` -dire lorsque le neurone gagnant etait pr´ c´ demment inactif. e ` G´ n´ ralement. le neurone gagnant sera celui dont la r´ gion associ´ e e e requiert un minimum d’agrandissement relatif pour pouvoir englober le stimulus d’entr´ e. A la limite. dans le cas d’un stimulus qui ne ressemble a aucune des cat´ gories actives.3 avec i = g). on fixera automatiquement a e e le taux d’apprentissage η = 1 pour passer en mode d’apprentissage «instantan´ ».2 Fuzzy ARTmap Le fuzzy ARTmap est un r´ seau supervis´ capable d’effectuer un apprentissage incr´ mental. 0. Lorsque e α −→ ∞. Ainsi. si le e stimulus engendre la r´ sonance d’une cat´ gorie existante. tel qu’illustr´ e e e e . 9.13) p∩x (deM organ) (p ∪ y)c = |p ∩ x| + R − |p ∪ y| = R − (|p ∪ y| − |p ∩ x|) = R − |Zg ⊕ p| (9. e ı ` la limite. plus les r´ gions sont contraintes a de petites tailles. Ce processus est r´ p´ t´ jusqu’` ce qu’on e e` e ee a trouve un neurone qui «r´ sonne». ARCHITECTURES ART |a1 (t) ∩ g w(t)| ≥ Rρ pour que le neurone gagnant puisse subir une modification de son vecteur de poids. Par cons´ quent. Sinon.98 est une constante et il faut que : CHAPITRE 9. e e Finalement. e e e Il est constitu´ de deux r´ seaux fuzzy ART respectivement nomm´ s ARTp et ARTd . lorsque ρ −→ 0. e le fuzzy ART apprendra les stimuli par cœur ! Plus il est petit. par exemple. lorsque ρ −→ 1. alors il est temporairement retir´ de la comp´ tition et le neurone suivant ayant le e e e plus grand niveau d’activation est s´ lectionn´ a son tour.14) ` o` Zg ⊕ p d´ signe la plus petite r´ gion (hyper-rectangle) qui englobe a la fois Zg et p (voir figure u e e 9. plus les r´ gions pourront croˆtre. alors on fixera un taux 0 < η ≤ 1 tel e e que sp´ cifi´ e par l’utilisateur. mentionnons que le param` tre de s´ lection α est habituellement fix´ a une petite e e e` valeur telle que.

e ` a la figure 9.4 – Architecture du r´ seau fuzzy ARTmap. qui sont associ´ es aux e e e sorties d´ sir´ es. le module de e r´ sonance de Fpd transmet un signal au ARTp pour que celui-ci produise une nouvelle cat´ gorie. FUZZY ARTMAP ARTp 99 S1x2R1 W p R1x1 R1 2R1 ARTd n1 S1x1 t rese E c a 1 2R1x 1 C S1 a2 S1x1 re s ρ et Fpd S2x2R2 W d R2x1 R2 2R2 n1 S2x1 t rese E c a1 2R2x1 C S2 a2 S2x1 Wpd ρpd apd ρ F IG . la sortie de ARTd . Les cat´ gories produites e e e e pd par les deux modules sont alors compar´ es a l’aide du champ associatif F . e e Ce processus est recommenc´ jusqu’` ce que l’on trouve une association ad´ quate. et celles du module ARTd . qui sont associ´ es aux stimuli d’entr´ e. Le stimulus d’entr´ e est simplement propag´ dans le module ARTp et la cat´ gorie produite est e e e utilis´ e pour s´ lectionner le vecteur correspondant dans Wpd . e e En mode d’apprentissage.4. La matrice Wpd de e ` dimension S2 × S1 contient des vecteurs de poids wi associ´ s a chacune des S1 cat´ gories du moe ` e dule ARTp . e a e En mode de reconnaissance. alors wi est modifi´ pour ressembler davantage a a2 . Ce champ est utilis´ pour effectuer des pr´ dictions associatives entre les cat´ gories du module e e e ARTp . e e . Sinon. celui-ci demeure inactif. on propage un stimulus d’entr´ e dans le module ARTp et. Lorsque la cat´ gorie i produite par le ARTp r´ sonne avec la cat´ gorie j produite par le e e e ` d ARTd . on ne propage rien dans le module ARTd . Les r´ seaux ARTp et ARTd sont reli´ s entre eux par un champ associatif nomm´ e e e pd F . on propage le vecteur des sorties d´ sir´ es dans le module ARTd . simule tan´ ment.9.2. 9.

5) en pr´ sence de bruit. Fixer les param` tres des modules ARTp et ARTd . (d) Calculer la sortie de Fpd : pd apd = a2 ∩ wg d (9. Le taux de vigilance sera d’autant plus elev´ e ` ` que l’on cherche a classer correctement toutes les donn´ es. Fin Plus souvent qu’autrement. 5. remettre ρp a sa valeur initiale . De son cˆ t´ . d(t)) parmi les donn´ es de la base d’apprentissage . voici toutes les etapes de l’algorithme d’apprentissage du fuzzy ARTmap : 1. (e) Si le degr´ de r´ sonance de Fpd est inf´ rieur au seuil ρpd . 2. Dans ce e cas. Fixer ηpd et ρpd de Fpd .17) ` alors augmenter ρp juste assez pour forcer le ARTp a produire une nouvelle cat´ gorie et e ` e retourner a l’´ tape 5d. On emploiera un taux d’apprentissage elev´ (ηp = 1) si les donn´ es sont peu bruit´ es. e (b) Propager p(t) dans le ARTp . si ρp = 1 on apprendra litt´ ralement par cœur toutes les donn´ es mais la g´ n´ ralisation sera e e e e (9. c’est-` -dire si : e e e a |apd | < ρpd . c’est-` -dire a des vecteurs dont e a une des composantes est 1. mais typiquement de 4 a 10 fois plus. R´ p´ ter tant que t ≤ tmax : e e (a) Choisir un couple (p(t). (c) Propager d(t) dans le ARTd .100 CHAPITRE 9. e 3. 4. t = 1 . et un e e ´ e taux plus faible (p. Les param` tres e e e e e du module ARTp seront fix´ s de mani` re a ce que celui-ci puisse bien mod´ liser son espace des e e ` e ´ e stimuli.ex. p p ` (f) Mettre a jour le vecteur gagnant de Fpd : wg (t + 1) = ρpd a2 + (1 − ρpd ) wg (t) d ` (g) S’il y a lieu. et toutes les autres sont 0 (coins de l’hypercube). pour pouvoir cr´ er des e fronti` res de d´ cision complexes form´ es de plusieurs hyper-rectangles entrelac´ s. le module ARTp contiendra au moins autant oe ` de neurones qu’il y a de classes. ARCHITECTURES ART ´ Plus formellement. il faudra fixer temporairement ρp l´ g` rement plus e e p grand que |a1 ∩ wg |/|a1 |. Les taux de vigilance et d’apprentissage seront ηd = ρd = 1 de mani` re a ce que les vecteurs de sorties d´ sir´ s soient e ` e e appris par cœur et instantan´ ment.16) ` e o` a2 d´ signe le vecteur de sortie de ARTd et g correspond a la cat´ gorie produite par u d e le ARTp . la dimension R2 de l’espace d’entr´ e du module ARTd correspondra au nombre de classes et e ` ` les vecteurs d’entr´ e d seront restreints a des ensembles non flous. le module ARTd ne sert presqu’` rien dans ce e a ` cas. Pour ce faire. le fuzzy ARTmap est utilis´ pour faire du classement. |a2 | d (9. ηp = 0. Initialiser les poids Wpd = [w1 w2 · · · wS1 ] avec des 1 .18) . Mais gare au sur-apprentissage ! A la e limite. Autrement dit. sinon a produire un indice de classe.

Param` tres e Intervalles valeurs sugg´ r´ es ee αp = 0. tout comme dans le contexte de classement. e ` tout comme pour la vigilance du module ARTp . Il faut donc prendre garde au sur-apprentissage et limiter ce param` tre a la plage 0.2. Une valeur comprise dans l’intervalle 0. contrairement a celui d’un probl` me de classement o` la sortie apd du r´ seau fuzzy ARTmap indique directement e u e . Dans un contexte d’approximation de fonction. le taux d’apprentissage du champ associatif Fpd est e e e souvent fix´ a ηpd = 1 pour apprendre instantan´ ment les bonnes associations de cat´ gorie.5 ≤ ηp ≤ 1 0. ` En variant la vigilance ρd nous pourrons varier la pr´ cision de l’approximation.2 r´ sume les valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte e ee e d’approximation de fonction. 1] ηpd = 1 0.5 ≤ ηd ≤ 1 taux d’apprentissage ]0.01 taux de s´ lection e ]0. En conclusion. e e Pour une fonction scalaire. le tableau 9.5 ≤ ρp ≤ 0.5 ≤ ρp ≤ 0.1 – Valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte de classeee e ment. il sont souvent fix´ s a ηpd = ρpd = 1.01 0. nous pourrons apprendre par cœur toutes les valeurs ayant servi a l’apprentissage.2 – Valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte d’approxiee e mation de fonction.9 0.5 ≥ ρp ≥ 0. 1] ρpd = 1 TAB . C’est lui qui produira des cat´ gories de valeurs pour la fonction que l’on tente de mod´ liser.9 produit e g´ n´ ralement de bons r´ sultats.01 taux de s´ lection e ]0. ` Mentionnons finalement que. en e ` fixant ρd = 1.9.9 ρd = 1 taux de vigilance [0. le rˆ le du module ARTd prend toute son imporo tance. 1] ρpd = 1 catastrophique en pr´ sence de bruit.5 ≤ ρp ≤ 0. dans un contexte d’approximation de fonction. Le tae ` bleau 9. nous aurons R2 > 1. Param` tres e Intervalles valeurs sugg´ r´ es ee αp = 0.01 0. ∞[ αd = 0. Pour une fonction vectorielle. FUZZY ARTMAP 101 TAB . Dans e` e e ` ce cas. nous aurons R2 = 1. 9.9.9 taux de vigilance [0.1 donne des valeurs sugg´ r´ es pour les param` tres du fuzzy ARTmap dans un contexte ee e de classement. En ce qui concerne les param` tres du module e pd F . 9. ∞[ αd = 0. 1] ηpd = 1 0. Finalement. la valeur du taux de vigilance ρpd n’a pas d’importance (on la fixe donc a 1). A la limite.5 ≤ ηd ≤ 0.5 ≤ ηp ≤ 1 ηd = 1 taux d’apprentissage ]0.

e . la valeur de la fonction recherch´ e doit etre e e e d c T extraite du module ARTd en allant chercher le vecteur de poids j w = [x y ] associ´ a cet indice e` de classe et en calculant le centre (x + y)/2 de sa r´ gion. ARCHITECTURES ART ˆ l’indice j de la classe associ´ e au stimulus d’entr´ e.102 CHAPITRE 9.

` Notez bien que la loi de Gauss s’applique a une variable al´ atoire continue. moins il contient e e e´ e ` d’information. alors l’entropie tend vers 0. il faut remplacer la e sommation par une int´ grale dans l’´ quation 10. Cependant. dans la pratique. En choisissant de nouvelles bases. .1) o` Pr(xk ) d´ signe la probabilit´ de rencontrer la k e`me r´ alisation de X et E repr´ sente l’esp´ rance u e e e e e math´ matique. pQ } d´ finis dans . Par cons´ quent. . c’est-` -dire lorsque Pr(xk ) → 1 e a pour un certain k et que. on peut conclure que la variance est synonyme d’information. . . Pr(xj ) → 0 pour ∀j = k. A la limite. lorsque la variable devient d´ terministe.2) o` µ repr´ sente la moyenne et σ 2 la variance. e e 1 103 . p2 . . par cons´ quent. ` Shannon d´ finit l’information contenu dans une variable al´ atoire X = {x1 . Dans ce cas. .1. on d´ sire e m repr´ senter ces vecteurs dans e .3) et l’on observe qu’elle ne d´ pend plus que de la variance.Chapitre 10 ACP et apprentissage hebbien L’analyse en composantes principales (ACP) est une m´ thode d’analyse des donn´ es qui pere e met de r´ duire la dimension d’un espace d’entr´ e en ne retenant que les axes o` la variance est ime e u n portante. L’entropie nous dit que plus un xk poss` de une probabilit´ elev´ e. si l’on suppose qu’elles e ` ob´ issent a des lois gaussiennes1 : e Pr(x) = √ (x − µ)2 1 exp − . e Cette d´ finition suppose cependant que nous connaissions a priori la loi de densit´ de nos variables e e al´ atoires ce qui. 2 (10. n’est pas toujours le cas. avec m < n tout en minimisant la perte d’information. 2σ 2 2π σ (10. alors l’entropie devient : u e H(x) = E 1 1 log(2πσ 2 ) + E 2 2 x−µ σ 2 = 1 log(2πσ 2 ). . Soit un ensemble de Q vecteurs {p1 . dans le cas de distribue e tions gaussiennes. . x2 . Ces vecteurs forment e ` un nuage de points dans un espace a n dimensions. xN } a e e partir de son entropie H(X) : N H(X) = − k=1 Pr(xk ) log[Pr(xk )] = −E[log(Pr(xk ))] (10.

tel qu’illustr´ a la figure u e ` ` 10.  (10.4) C’est le centre du nuage de points. o` z1 et z2 donnent l’orientation des deux composantes u principales et l’ellipse symbolise l’hypoth` se de distribution gaussienne des vecteurs qui est souse ` jacente a l’ACP. C=  . . Ceci nous am` ne a d´ finir l’analyse en composantes principales en termes de la variance et e ` e de la covariance entre les diff´ rentes composantes de nos stimuli. ¯ Tout d’abord. Les valeurs propres. quant a elles. 10. Pour trouver les composantes principales de nos donn´ es. Les vecteurs propres de C d´ finissent e dans n les orientations des composantes principales de nos stimuli lorsque l’origine de l’espace ` vectoriel est d´ plac´ en p..            2  σ21 1  T ¯ ¯ (pk − p)(pk − p) =  . . . Elles correspondent aux variances des donn´ es lorsque projet´ es dans chacune e e .1 – Illustration des composantes principales pour un nuage de points en deux dimensions.2. Intuitivement. . La matrice de covariance C de nos stimuli est donn´ e par : e  Q 2 2 2 σ11 σ12 · · · σ1n 2 2 σ22 · · · σ2n . et n est leur dimension. u 2 e Une matrice de covariance est toujours sym´ trique et positive d´ finie (valeurs propres r´ elles et e e e positives). calculons la moyenne p de nos stimuli : 1 Q ¯ pk . il s’agit de d´ terminer les valeurs e e et les vecteurs propres de la matrice C (voir section 3.1 dans un espace a deux dimensions. p= Q k=1 (10.5) 2 2 2 σn1 σn2 · · · σnn o` σij repr´ sente la covariance entre les composantes i et j de nos stimuli. nous recherchons e les directions dans nos nuages de points o` la variance est maximale. ACP ET APPRENTISSAGE HEBBIEN z1 z2 p F IG . . . .104 CHAPITRE 10.3). repr´ sentent l’importance de chacune e e ¯ e de ces composantes. Q − 1 k=1  .

.8) (10.11) n i=1 λi Mentionnons finalement qu’on peut aussi utiliser les valeurs propres de l’analyse en composantes principales pour effectuer un blanchiment de nos stimuli en effectuant l’op´ ration suivante : e −1/2 pk = Λm pk . . . 0 0 .12) o` Λm repr´ sente la matrice diagonale des m premi` res composantes de Λ : u e e    =   Λm λ1 0 0 λ2 . .. La trace n λi de la matrice Λ sert ici a mesurer la i=1 variance globale des stimuli d’apprentissage. . . (10. Il s’agit d’une mesure de volume. zm ]. par exemple. c’este ` a-dire ceux qui maximisent la variance. . . 0 0 . Pour r´ duire la dimension de l’espace de repr´ sentation de e e nos stimuli. m < n ` et de s’en servir pour projeter les pk de n dimension en pk a m dimension : ¯ pk = WT (pk − p).    . . supposons que les vecteurs propres zi sont tri´ s en ordre d´ croissant e e e e e de leur valeur propre : λi ≥ λi+1 . . ou d’hyper-volume. il suffit donc de construire la matrice W suivante : W = [z1 z2 .7) · · · λn Sans perte de g´ n´ ralit´ . alors l’analyse en composante principale ` consiste a choisir les m premiers vecteurs propres associ´ s aux plus grandes valeurs propres. . 0 0 ··· ··· . . (10. . . . . on obtient alors une matrice diagonale Λ dont les el´ ments correspondent aux valeurs propres de C :    Λ=   λ1 0 0 λ2 . k = 1. (10. . on pourrait egalement e choisir nos m composantes de la facon suivante : ¸ m i=1 λi > τ. Q. n − 1. (10. 0 0 ··· ··· . Q. . . . . tout comme la norme est une mesure de longueur. . . . i = 1. (10. . Si l’on calcule e ´e la matrice de covariance C des pk .   (10. . .105 de ces orientations. Une autre mesure de volume pour un nuage de ` ´ points consiste a calculer le d´ terminant de la matrice de covariance.    . aux m composantes principales qui expliquent au moins ` τ > 95% de la variance des stimuli d’origine.13) · · · λm ce qui engendre une matrice de covariance unitaire pour les pk .   (10.6) ¯ ¯ Alors Z est une matrice de rotation et pk = Z−1 (pk − p) = ZT (pk − p) repr´ sente le stimulus pk e apr` s translation et rotation des axes dans la direction des composantes principales. Ainsi.9) La proportion de la variance des pk contenue dans les pk se mesure habituellement par le ratio : m i=1 λi > τ. k = 1. .10) n i=1 λi que l’on peut contraindre. . Soit la matrice Z dont les colonnes contiennent les n vecteurs propres de C : Z = [z1 z2 · · · zn ].. ..

on peut se cr´ er l’indice de performance F suivant : e F = a2 = (wT p)(pT w).14) Cette r` gle nous dit que plus la r´ ponse du neurone sera forte vis-` -vis d’un stimulus. ACP ET APPRENTISSAGE HEBBIEN 10. . vol. nomm´ e «r` gle e e e 3 de Oja» : ∆w = η a(p − a w) = η(a p − a2 w) (10.1 R` gle de Hebb e L’apprentissage par la r` gle de Hebb (voir section 4.2 R` gle de Oja e ` Une autre solution consiste a adopter une approximation de l’´ quation 10. 15. Clairement. Le probl` me majeur avec cette formulation de la r` gle de Hebb est que celle-ci est instable.17.19) (10. 1982. Oja. Dans le cas d’un neurone lin´ aire. 239-245. nous avons la relation a = wT p = pT w.2) exprime la variation de poids en fonce tion de la corr´ lation entre l’entr´ e p et la sortie a d’un neurone : e e ∆w = η p a. (10. plus la e e a variation de poids sera grande.20) (10.15) ` visant a maximiser la variance.106 CHAPITRE 10.22) ` Si ce n’est pas le cas. il suffit de le faire a l’aide de l’´ quation 10. e e ` Le module de w aura tendance a croˆtre sans cesse et l’approche diverge presque toujours.18) Pour voir que cette r` gle poss` de bien le potentiel de trouver la composante principale des stimuli.17) 10. e e il suffit de calculer l’esp´ rance de la variation des poids : e E(∆w) = = = = 2 3 E[η(ap − a2 w)] η E[p(pT w) − (wT p)(pT w)w] η E[(ppT )w − wT (ppT )ww] η (Cw − wT Cww) (10. on e constate que F sera maximum lorsque w sera orient´ dans la direction de la composante principale e de C. (10.4. Pour un module ||w|| fix´ . Une ı ` solution consiste a normaliser w : w(t + 1) = w(t) + η p a ||w(t) + η p a|| (10. on obtient une esp´ rance E(F ) : e e E[F ] = E[(wT p)(pT w)] = wT E[ppT ]w = wT Cw (10.21) (10. Journal of Mathematical Biology. En interpr´ tant w e e comme une direction dans l’espace des stimuli et en supposant que les stimuli d’entr´ e sont centr´ s e e sur leur moyenne2 . p.16) qui d´ pend de l’orientation de w et de la matrice de covariance C des stimuli. e E. «A Simplified Neuron Model as a Principal Component Analyser».

i = 1. e Apr` s convergence. est une e e e e e g´ n´ ralisation de la r` gle de Oja : e e e i ∆i w = η ai p − ai k=1 4 ak k w . par d´ finition (voir section 3.3).23 dans e e l’expression de λ. on obtient E(∆w) −→ 0 et : e Cw = (wT Cw)w = λw (10. L’´ tape e e ` suivante consiste a trouver le moyen de d´ terminer les autres composantes en utilisant une couche e ` de neurones lin´ aires comme a la figure 10.3 R` gle de Sanger e La r` gle de Oja nous permet de trouver la composante principale de nos stimuli. REGLE DE SANGER Entrée Couche de S neurones 107 p Rx1 W SxR n Sx1 a Sx1 R S a = purelin(Wp) F IG . 459-473. Ceci implique que la norme de ce vecteur est unitaire. 10. 10. Sanger. La matrice W = {wi. mais que le vecteur propre obtenu sera associ´ a la plus grande valeur propre de C. de R dimensions a S dimensions (S < R). Neural Networks.j des connexions reliant les neurones i aux composantes j des stimuli d’entr´ e. 1989. . .3. . La e 4 r` gle suivante. en substituant l’´ quation 10. car e e` seule celle-ci est stable. S. . ou encore «Algorithme de Hebb g´ n´ ralis´ ».2 – R´ seau permettant d’effectuer une analyse en S composantes principales.j } repr´ sente e e les poids wi. du u moins une fois la convergence atteinte. Finalement.2.2. que λ = wT Cw est une valeur propre e de C et w le vecteur propre qui lui est associ´ . On peut aussi montrer non seulement que cette convergence est assur´ e. p.` 10.25) T. vol.23) ce qui nous indique. «Optimal Unsupervised Learning in a Single Layer Linear Feedforward Neural Network». (10. dite «r` gle de Sanger» . on obtient : λ = λwT w = λ ||w||2 . Un tel r´ seau permet de r´ duire la dimension de e e e ` l’espace des entr´ es.24) o` ||w|| est la norme euclidienne de w. 12. . (10.

Pour le deuxi` me neurone de la couche. o` p est une version modifi´ e du stimulus p : u e i−1 (10. Pour le premier neurone.27) p =p− k=1 ak k w.4 Apprentissage de Hebb supervis´ e Nous terminons ce chapitre avec la version supervis´ e de l’apprentissage de Hebb o` l’on e u remplace la sortie a du r´ seau par la sortie d´ sir´ e d : e e e ∆W(t) = d(t) p(t)T (10. et l’on sait que ce neurone recherchera la e e e e e composante principale dans les stimuli. Le temps ` total d’apprentissage sera cependant inf´ rieur a ce qui serait n´ cessaire pour un apprentissage ine e dividuel des neurones. tous les neurones tendent ` a converger simultan´ ment. i = 1. Dans e ` ce cas.28) qui d´ pend de l’indice i du neurone. 10. (10. S.] d´ signe un op´ rateur matriciel qui met a z´ ro tous les el´ ments de son argument au dessus u e e de la diagonale. (10. c’est-` -dire la seconde composante principale des p. ACP ET APPRENTISSAGE HEBBIEN En effet.108 CHAPITRE 10. . N´ anmoins. i = 1. la r` gle de Hebb g´ n´ ralis´ e permettant de faire une analyse en S e e e e composantes principales s’exprime de la facon suivante : ¸ ∆W(t) = η a pT − LT[a aT ] W(t) . contrairement a ce qu’on laisse entendre ci-dessus.1. les poids i w se stabiliseront dans l’ordre croissant de leur indice. on retombe sur l’´ quation 10. . Le second neurone cherchera e donc la composante principale des p .25. (10. i = 2. . Ceci ressemble etrangement a la proc´ dure d’orthogonalisation de Gram-Schmidt (voir section 3. Et ainsi a de suite pour les autres neurones qui chercheront dans un espace r´ duit des i − 1 composantes e principales pr´ c´ dentes.18 : u e 1 ∆1w = η a1 p − a1 k=1 a1 1w = η a1 p − a2 1w 1 (10.31) . on peut la r´ ecrire de la facon suivante : e e´ ¸ ∆i w = η ai [p − ai i w] .30) ` e ´e o` LT[. e e ` Dans la pratique. on obtient donc p = p. on voit que l’on se trouve a retrancher e ea e ´ ` de p une fraction a1 de la composante principale des stimuli. la convergence d´ finitive d’un neurone i d´ pendant de e e e e celle du neurone i − 1.29) ` Sous l’hypoth` se que le premier neurone a d´ j` converg´ . .5). dans le cas o` S = 1. on obtient : e p = p − a1 1w.26) Pour mieux visualiser l’´ quation 10. En notation matricielle. la formule g´ n´ ralis´ e se r´ duit a la r` gle de Oja.

q = 1. . Q. on obtient : Q W= d1 pT 1 + d2 pT 2 + ··· + dQ pT Q = q=1 dq pT q (10. En supposant que la matrice de poids W est initialis´ e u e ` a 0.33 permet de construire ce qu’on appelle une m´ moire associative lin´ aire.36) ` o` la somme ci-dessus repr´ sente un terme d’erreur par rapport a la r´ ponse d´ sir´ e. Alors. pT Q      = D PT . . . la r´ ponse e e ` de cette m´ moire a l’un d’entre eux. 0 autrement (10.33) avec D = [d1 d2 · · · dQ ] et P = [p1 p2 · · · pQ ]. a savoir : e e e e Wpq = dq .38) .4. puisque tous les stimuli sont orthogonaux et normalis´ s. Elle e e e ` e permet d’apprendre a m´ moriser Q associations entre un stimulus pq et une r´ ponse dq . sera : e  Q  Q a = W pk =  q=1 dq pT  pk q = q=1 dq pT pk . engendr´ par u e e e e e la non orthogonalit´ des stimuli. APPRENTISSAGE DE HEBB SUPERVISE 109 et o` l’on fixe le taux d’apprentissage η = 1.´ 10.34) Or. a condition que les stimuli soient orthonormaux. La r´ ponse pour un stimulus d’apprentissage est donc la sortie d´ sir´ e qui lui est e e e associ´ e. (10. dq ) d’apprentissage. . . nous constatons que la r` gle de Hebb seule n’est pas suffisante pour produire le e ` r´ sultat souhait´ dans le cas g´ n´ ral.37) ` ` Une m´ thode pour y arriver consiste a d’abord d´ finir un indice de performance F quadratique a e e ` minimiser.4.35) et a = dk .32) apr` s la pr´ sentation des Q paires (pq . q (10. Dans le cas o` ils ne seraient plus e ` u orthogonaux (mais toujours normalis´ s). q (10. semblable a ce que nous avons utilis´ pour le perceptron (voir chapitre 5) : e F (W) = ||D − W P||2 . par exemple pk . (10.   (10. on obtiendrais : e a = W p k = dk + q=k dq pT pk . e 10. . on obtient : e e     W = [d1 d2 · · · dQ ]    pT 1 pT 2 . L’´ quation 10. En notation matricielle.1 R` gle de la matrice pseudo-inverse e De nouveau. on a : e pT pk = q 1 si q = k . Supposons e d’abord que tous les stimuli sont orthogonaux et normalis´ s (longueur unitaire).

Nous avons d´ j` d´ montr´ a la section u e ea e e` pr´ c´ dente que F (W) = 0 lorsque les stimuli d’apprentissage sont orthonormaux.39) ` ˆ A condition que les stimuli de P soient ind´ pendants. la matrice (PT P) peut toujours etre invers´ e e e et on obtient : P+ P = (PT P)−1 PT P = (PT P)−1 (PT P) = I.3 – R´ seau auto-associatif pour la reconnaissance de chiffres. 10. pour e e minimiser l’´ quation 10. (10.40) 10. e o` D − W P est la forme matricielle de l’´ quation 10.37. Ainsi.3 illustre un r´ seau auto-associatif permettant d’apprendre a reconnaˆtre des e ı chiffres repr´ sent´ s par une matrice binaire de 5 × 6 pixels (voir figure 10. il faudrait que D − W P → 0 et donc que W = e e e ˆ D P−1 . Pour un stimulus n’ayant pas servi a l’apprentissage. Or.110 Entrée CHAPITRE 10.33.41) on obtient la r` gle dite de la «matrice pseudo-inverse» pour construire notre m´ moire associative e e ` lin´ aire. Contrairement a celle de l’´ quation 10. Ensuite. en fixant : W = D P+ .41.4). Pour contourner cette difficult´ . elle produira une r´ ponse d’autant plus proche de celle d’un stimulus d’apprentise sage que ce premier est proche de ce dernier. il faut faire appel a la matrice pseudo-inverse P de e e Moore-Penrose d´ finie par : e P+ = (PT P)−1 PT (10.2 Exemple d’auto-association ` La figure 10. (10. la matrice P n’est g´ n´ ralement pas carr´ e (sauf si P = Q) et ne peut donc pas etre e e e + ` invers´ e.4. ACP ET APPRENTISSAGE HEBBIEN Couche de S neurones p 30 x 1 W 30 x 30 n 30 x 1 a 30 x 1 30 30 a = hardlims(Wp) F IG . Apr` s entraˆnement avec l’´ quation 10. de bits a e e ı e . il suffit de construire des stimuli et des r´ ponses d´ sir´ es en assemblant des vecteurs e e e e ` partir de la concat´ nation des lignes de pixels. cette r` gle produira toujours la r´ ponse d´ sir´ e e e e e e e ` ` pour n’importe quel stimulus qui a servi a l’apprentissage.38 dans le cas g´ n´ ral. Pour entraˆner e e ı un tel r´ seau.

si l’on retire davantage de pixels (67% des pixels . il produit un «1». Dans le cas du «0».5 – Exemples de r´ ponses du r´ seau auto-associatif de la figure 10. Par exemple. et (c) chiffres 2. alors seul le «1» est reconnu correctement. e e e dans une certaine mesure. on constate que le r´ seau n’a aucun probl` me a reconstruire e e e les r´ ponses d´ sir´ es. retirer la moiti´ inf´ rieure des pixels e e e e des chiffres n’affecte aucunement la sortie du r´ seau. APPRENTISSAGE DE HEBB SUPERVISE 111 F IG . Finalement.´ 10. voir seconde ligne de la figure). comme le montre la figure 10. Ceci illustre bien la robustesse d’une m´ moire associative lin´ aire. «1» et «2». 10. le r´ seau sera capable de produire en sortie des chiffres complets mˆ me e e si les stimuli d’entr´ e sont incomplets ou bruit´ s. le r´ seau ne produit rien de e coh´ rent alors que pour le «2». si l’on bruite les stimuli de nos trois e ` chiffres (troisi` me ligne de la figure). 10.4. (a) (b) (c) F IG .5 (premi` re e e ligne). e e e e e .4 – Prototypes pour l’apprentissage auto-associatif des chiffres «0». (b) chiffres 1 . Par contre.3 pour des stimuli e e d´ grad´ s ou bruit´ s : (a) chiffres 0 .

112 .

on obtient les sorties suivantes pour le e r´ seau : e a2 = purelin(W2 a1 − b2 ) = W2 a1 − b2 (11. comme a la figure 5. lorsqu’un un stimulus est pr´ sent´ a la couche cach´ e d’un perceptron multie e` e ` couche. premi` rement. deuxi` mement. a trouver des bases ad´ quates pour effectuer l’approxie e ` mation recherch´ e et. De nombreuses autres fonctions la poss` de aussi. Nous e ` avons vu au chapitre 5 qu’il est possible d’approximer n’importe quelle fonction a l’aide d’un perceptron en int´ grant une couche cach´ e de neurones sigmo¨des et une couche de sortie de neurones e e ı ` lin´ aires. Dans ce cas. c’est-` -dire qu’il peut approximer n’importe quelle foncee a ` tion avec une pr´ cision arbitraire.2) e o` a1 = [a1 a1 . Il est important de se rappeler qu’un neurone sigmo¨de agit partout dans e ı son espace d’entr´ e. posons a2 = f et annulons les e biais de la couche de sortie pour simplifier (b2 = 0).1.1) ˆ Simplifions ce r´ seau au cas d’un seul neurone de sortie (S 2 = 1).j a1 . tous les neurones de cette derni` re peuvent contribuer a produire la r´ ponse du r´ seau. Il passe une fronti` re de d´ cision lin´ aire qui traverse l’espace de bord en e e e e bord. La probl´ matique de l’apprentissage e e ` d’un tel perceptron consiste. En interpr´ tant les a1 comme des e ` e e j bases (voir section 3. 113 . j j=1 (11. a1 1 ]T correspond aux sorties des neurones de la couche cach´ e. e ` Mais les neurones sigmo¨des ne sont pas les seuls a poss´ der cette capacit´ d’approximation ı e e universelle. Les e e e bases engendr´ es par la couche cach´ e du r´ seau sont en fait des fonctions sigmo¨des que l’on poe e e ı sitionne dans l’espace des entr´ es. et w1.2).2 permet d’approximer e e ` la fonction f a l’aide d’une combinaison lin´ aire de celles-ci. Des travaux th´ oriques ont montr´ qu’un tel perceptron poss` de e e e e la propri´ t´ d’approximation universelle. on remarque imm´ diatement que l’´ quation 11. nous allons etudier les r´ seaux dits a «fonction de base radiale»1 . . dont les fonctions radiales qu’utie lisent les r´ seaux RBF.Chapitre 11 R´ seau RBF e ´ ` Dans ce chapitre. On obtient alors : ˆ f = W2 a1 = S1 w1. a condition de disposer de suffisamment de neurones sur sa e couche cach´ e. . a trouver les bon coefficients de la combinaison lin´ aire.10 (page 50).j au poids u 1 2 S qui relie le neurone cach´ j a la sortie unique de notre r´ seau. En ce sens. Ils e e e 1 En anglais : «Radial Basis Function» (RBF).

. avec une d´ croissance exponentielle qui d´ pend du carr´ de la distance entre le stimulus e e e et le centre : ||x − i w||2 (x − i w)T (x − i w) = exp − .6) ´ o` Φ = [φ1 φ2 . Ceci explique entre autres pourquoi on ne peut pas utiliser une perceptron multicouche pour faire de l’apprentissage incr´ mental. e travaillent globalement. comme on peut le faire avec un r´ seau ART. Dans le cas vectoriel o` l’on d´ sire plusieurs sorties. S 1 est le nombre de neurones sur la premi` re couche et φj (p) est la fonction radiale e associ´ au neurone j de cette derni` re. (11. φS 1 ]T dont le r´ seau equivalent est illustr´ a la figure 11.5) o` w1. . Ainsi. C’est la principale particularit´ des r´ seaux RBF. les neurones «radiaux» travaillent localement dans ı l’espace des entr´ es. la r´ ponse a e e e i 2 ´ un stimulus p d´ pend d’un voisinage autour du centre. e e par exemple. Plusieurs fonctions radiales e e e ˆ peuvent etre utilis´ es. 2 (11.114 Entrée Couche radiale ´ CHAPITRE 11.1 – R´ seau RBF avec fonctions radiales gaussiennes. . .3) ´ ` o` Σ d´ signe une matrice de covariance que l’on pose plus souvent qu’autrement egale a σ 2 I et o` u e u ` w d´ signe la position (le centre) du neurone radial dans son espace d’entr´ e.4) φ(x) = exp − 2σ 2 2σ 2 o` || · || d´ signe la norme euclienne. on e e u e obtient l’expression suivante : ˆ(p) = W2 Φ(p) f (11.j est le poids de la deuxi` me couche qui relie le neurone j de la premi` re couche au neurone u 2 e e de sortie 1.j φj (p) j=1 (11. mais la plus courante est une fonction φ de type gaussienne multivari´ e : e e φ(x) = exp − (x − i w)T Σ−1 (x − i w) . Un r´ seau RBF peut alors approximer une fonction f avec u e e l’expression suivante : ˆ f (p) = S1 2 w1. RESEAU RBF Couche linéaire p Rx1 W1 S xR 1 a1 = ϕ S1 x 1 W2 S xS 2 1 a2 = f S2 x 1 R S1 S2 a = ϕ (p ) f = purelin(W2a) F IG . u e e` . Contrairement aux neurones sigmo¨des. dont la variance σ est egale dans toutes les e directions.1. 11.

2 δmax (11. e e Une seconde alternative est de fixer les centres sur certains stimuli pk choisis al´ atoirement e parmi l’ensemble des donn´ es d’apprentissage. il ne reste e e plus qu’` estimer les σi en utilisant. e e ` Une premi` re alternative pour le positionnement des centres consiste simplement a les distrie buer uniform´ ment dans l’espace des entr´ es. La premi` re consiste a opı e e e timiser simultan´ ment tous les param` tres du r´ seau. La premi` re couche. e e e e comme ci-dessus. Ce qu’il importe de remarquer ici est que les deux couches du r´ seau RBF r´ alisent des e e ` ´ fonctions distinctes. finalement. e ` Finalement. la partition (floue ou non floue . des poids de la couche lin´ aire de sortie. Kohonen.1) : W2 = D P+ (11. alors que la seconde. converge g´ n´ ralement tr` s rapidement.4. voir chapitre a ` 6) des stimuli engendr´ e par le processus comp´ titif des neurones. . Une fois les centres positionn´ s. En ce sens. ENTRAINEMENT D’UN RESEAU RBF 115 11.1 Entraˆnement d’un r´ seau RBF ı e ` Pour entraˆner le r´ seau RBF.2) ou. Cette solution comporte cependant des limitations e e ´ evidentes. Il e ne reste plus qu’` estimer les poids de la couche lin´ aire en utilisant. Malheureusement. P = [Φ1 Φ2 · · · ΦQ ] est u e e e e la matrice des r´ ponses de la couche radiale et P+ la matrice pseudo-inverse de P. par exemple. de leur variance et. on peut imposer comme fonction e radiale une gaussienne isotrope normalis´ e et centr´ es sur i w1 = pk : e e φi (p) = exp − S1 ||p − i w1 ||2 .7) 2 o` S 1 correspond au nombre total de neurones radiaux. on peut utiliser plusieurs strat´ gies. tout particuli` rement lorsque cet espace d’entr´ e est de grande dimension. avec ses e o neurones lin´ aires. puis a estimer les poids de e e ` la couche lin´ aire a l’aide d’une m´ thode supervis´ e comme la r` gle LMS (voir section 5.ˆ ´ 11. par exemple. en utilisant la r´ tropropagation e e e e des erreurs. constitu´ e de neurones non lin´ aires agissant localement e e e ` dans l’espace des entr´ es. on peut tr` s bien proc´ der a leur apprentissage en deux etapes e e ´ ` egalement distinctes. δmax au carr´ de la distance maximum u e 1 ` position de ces derniers. Ce choix de fonction radiale entraˆne un entre leurs centres et i w a la √ ı ´ ecart type fixe de σ = δmax / 2S 1 pour tous les neurones.1. une troisi` me alternative consiste a positionner les centres des neurones radiaux e ` ` a l’aide de l’une ou l’autre des m´ thodes d’apprentissage non supervis´ etudi´ es aux chapitres 6 a e e´ e 9 (nu´ es dynamiques. GNG ou Fuzzy ART).8) o` D = [d1 d2 · · · dQ ] est la matrice des r´ ponses d´ sir´ es pour le r´ seau. et la deuxi` me a estimer les poids de la couche lin´ aire. par exemple. Il permet de garantir des fonctions ´ ` ´ radiales ni trop pointues ni trop aplaties. La premi` re consistant a estimer la position des centres des neurones radiaux e ` ` puis a estimer leur variance. Ces dynamiques tr` s diff´ rentes proe e e e e e voquent souvent une stagnation de l’apprentissage autour d’un minimum local parfois tr` s eloign´ e ´ e de l’optimum global. celle de la matrice pseudo-inverse. cette approche comportent e certaines difficult´ s li´ es a la nature tr` s diff´ rente de ces deux couches et de leur dynamique e e ` e e de convergence. la r` gle de la a e e matrice pseudo-inverse (voir section 10. Dans ce cas. ces deux extrˆ mes etant a eviter autant que possible. a plutˆ t tendance a converger lentement. Il s’agit de la position des centres des fonctions radiales.

. mentionnons que la principale difficult´ des r´ seaux RBF concerne la question e e ` du nombre de neurones radiaux a utiliser pour une application donn´ e. RESEAU RBF En conclusion. A priori. et cette architecture souffre de facon particuli` rement aigu¨ de e ¸ e e ` ce qu’on appelle la «mal´ diction de la dimension»2 . a savoir l’augmentation exponentielle du e nombre de neurones cach´ s requis en fonction de la dimension R de l’espace d’entr´ e.116 ´ CHAPITRE 11. e 2 En anglais : «curse of dimensionality». On peut ainsi r´ duire le nombre de neurones a positionner au d´ triment du nombre de e e ` param` tres a estimer. il n’existe pas de e m´ thode pour fixer leur nombre. une facon d’att´ nuer ce probl` me consiste a remplacer les hyper-sph` res qui r´ sultent ¸ e e e e de l’imposition d’une variance fixe par des hyper-ellipses o` la matrice de covariance n’est plus u ` contrainte. Lorsque R e e ` est grand.

R. «An Introduction to Computing with Neural Nets». M. Tesauro. Addison-Wesley. Lefebvre. «A Growing Neural Gas Network Learns Topologies». Lippmann. N. pp. p.Bibliographie [1] M. «Neural and Adaptive Systems : Fundamentals through Simulations». 5. 4-22.A. and Programming Techniques». Advances in Neural Information Processing Systems 7. 1994. [7] Bernd Fritzke. 698-713. «Neural Networks : A Comprehensive Foundation». Grossberg. D. 98-110. IEEE Transactions on Fuzzy Systems. Beale. IEEE Press. IEEE ASSP Magazine. 1995. Krishnapuram. avril 1987. [4] J. p. [5] R.C. [3] Simon Haykin. 3. G. 1993. Carpenter. Cambridge MA. Touretzky et T. no. Skapura. vol. H. Markuzon.S. «Fuzzy ARTMAP : A neural network architecture for incremental supervised learning of analog multidimensional maps». «A Possibilistic Approach to Clustering».P. [6] R. Principe. vol. 1995. Hagan. PWS Publishing Compagny. D. 1992. J. MIT e Press. Wiley. W.T.B.M. IEEE Transactions on Neural Networks. . 2000. «Neural Networks : Algorithms. S. [2] J.C.K. no.B.A. Applications. Rosen. Leen (´ diteurs). Keller. Reynolds. Euliano. «Neural Network Design». J. N. Freeman. 1992. Demuth. 2.M.H. D. [8] G.