Vous êtes sur la page 1sur 127

RESEAUX

DE NEURONES
GIF-21140 et GIF-64326

par Marc Parizeau

Automne 2004

Table des mati`eres


1

Introduction

1.1

Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Mod`ele de neurone et reseau

2.1

Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Mod`ele dun neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4

Architecture de reseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Alg`ebre lineaire
3.1

3.2

17

Definition dun espace vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


3.1.1

Dependance lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.2

Bases et dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.3

Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.4

Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.5

Orthogonalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Transformations lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1

Representations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2

Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.3

Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Processus dapprentissage

27

4.1

Par correction derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2

Par la r`egle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3

Competitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.4

Probl`eme de laffectation du credit . . . . . . . . . . . . . . . . . . . . . . . . . . 33


i

`
TABLE DES MATIERES

ii

4.5

Supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.6

Par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7

Non-supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.8

Taches dapprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Perceptron multicouche
5.1

Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2

R`egle LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3

Reseau multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4

39

5.3.1

Probl`eme du ou exclusif . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.3.2

Approximation de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.3

Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Retropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


5.4.1

Calcul des sensibilites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.4.2

Algorithme dentranement . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.4.3

Crit`eres darret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.4.4

Phenom`ene de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.4.5

Groupage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.4.6

Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.4.7

Taux dapprentissage variable . . . . . . . . . . . . . . . . . . . . . . . . 60

5.4.8

Autres considerations pratiques . . . . . . . . . . . . . . . . . . . . . . . 60

5.5

Methode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.6

Methode du gradient conjugue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63


5.6.1

Algorithme du gradient conjugue . . . . . . . . . . . . . . . . . . . . . . 64

5.6.2

Recherche du minimum le long dune droite . . . . . . . . . . . . . . . . . 65

Nuees dynamiques

69

6.1

K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.2

Fuzzy K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.3

Possibilistic K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Reseau de Kohonen

79

7.1

Algorithme de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7.2

Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

7.3

Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

7.4

Reseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

`
TABLE DES MATIERES

iii

89

Reseau GNG
8.1

Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.2

Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

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 supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.4.1 R`egle de la matrice pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . 109
10.4.2 Exemple dauto-association . . . . . . . . . . . . . . . . . . . . . . . . . 110
11 Reseau RBF

113

11.1 Entranement dun reseau RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

iv

`
TABLE DES MATIERES

Table des figures


2.1

Mod`ele dun neurone artificiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Schema dun neurone biologique. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Representation matricielle du mod`ele dun neurone artificiel. . . . . . . . . . . . . 10

2.4

Fonction de transfert : (a) du neurone seuil ; (b) du neurone lineaire, et (c)


du neurone sigmode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5

Couche de S neurones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6

Representation matricielle dune couche de S neurones. . . . . . . . . . . . . . . 14

2.7
2.8

Representation matricielle dun reseau de trois couches. . . . . . . . . . . . . . . 14


ement de retard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
El

3.1

Differents sous-ensembles de <2 : (a) region rectangulaire ; (b) droite ; (c) plan. . . 18

3.2

Illustration de la methode de transformation orthogonale Gram-Schmidt. . . . . . 22

3.3

Transformation de rotation : (a) rotation du vecteur x ; (b) rotation des vecteurs


de base v1 et v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.1

Trajectoire de la descente du gradient. . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2

Representation graphique de la r`egle instar lors dune activite post-synaptique


positive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3

Schema bloc de lapprentissage supervise. . . . . . . . . . . . . . . . . . . . . . . 34

5.1

Perceptron a` une seule couche avec fonction seuil. . . . . . . . . . . . . . . . . . . 40

5.2

Fronti`ere de decision pour un perceptron simple a` 1 neurone et deux entrees. . . . 41

5.3

Exemple dun probl`eme a` deux classes (points noirs vs points blancs). . . . . . . . 42

5.4

Exemples de probl`emes non lineairement separables. . . . . . . . . . . . . . . . . 43

5.5

Reseau ADALINE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.6

Trajectoire de la descente du gradient pour differents taux dapprentissage : (a)


taux faible ; (b) taux moyen ; (c) taux (trop) e leve. . . . . . . . . . . . . . . . . . . 47

5.7

Reseau multicouche pour resoudre le probl`eme du ou exclusif. . . . . . . . . . . 48


v

vi

TABLE DES FIGURES


5.8

Fronti`eres de decision engendrees par le reseau 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 decision engendree par le neurone qui effectue une conjonction. . . . 49

5.10 Reseau multicouche permettant de faire de lapproximation de fonction. . . . . . . 50


5.11 Exemples de fronti`eres de decision : (a) convexe ouverte ; (b) convexe fermee ; (c)
concave ouverte ; et (d) concave fermee. . . . . . . . . . . . . . . . . . . . . . . . 50
5.12 Representation matricielle dun reseau de trois couches (reproduction de la figure
2.7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.13 Illustration du phenom`ene de sur-apprentissage pour le cas simple dune approximation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.14 Illustration de la validation croisee. . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.15 Exemple dun neurone sature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.16 Illustration de la methode du gradient conjugue. . . . . . . . .

5.17 Etape
de localisation dun intervalle initial de recherche. . . .

5.18 Etape
de reduction de lintervalle de recherche : (a) cas o`u Fc
Fd < Fc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . 65
. . . . . . . . . . . 66
< Fd ; (b) cas o`u
. . . . . . . . . . . 67

6.1

Couche competitive de S = K neurones. . . . . . . . . . . . . . . . . . . . . . . . 70

6.2

Algorithme du k-means. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.3

Example dune 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 dune partition floue a` deux classes. . . . . . . . . . . . . . . . . . . . . 74

6.6

Algorithme du possibilistic k-means. . . . . . . . . . . . . . . . . . . . . . . . 77

7.1

Reseau 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 decroissance (a) du taux dapprentissage et (b) de la fenetre de voisinage 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-organisee et le vecteur g w du


neurone gagnant pour le stimulus p. . . . . . . . . . . . . . . . . . . . . . . . . . 84

7.7

Exemple dune carte auto-organisee a` une dimension. Les stimuli dapprentissage


sont distribuees uniformement a` linterieur dun triangle. . . . . . . . . . . . . . . 85

7.8

Exemple dune carte auto-organisee a` deux dimensions. Les stimuli dapprentissage sont distribuees uniformement a` linterieur dun carre. . . . . . . . . . . . . 85

TABLE DES FIGURES


7.9

vii

Exemple dune carte auto-organisee a` deux dimensions (droite). Les stimuli dapprentissage sont distribuees uniformement a` linterieur dun volume tridimensionnel en forme de cactus (gauche). . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7.10 Reseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87


8.1

Exemple dun GNG entrane sur des stimuli e chantillonnes dans un volume en
forme de prisme rectangulaire, sur une surface rectangulaire apposee perpendiculairement a` lune des faces du prisme et a` une courbe en forme danneau au bout
dune tige apposee a` lune des extremites de la surface. . . . . . . . . . . . . . . . 92

9.1

Architecture du reseau fuzzy ART. . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9.2

Representation vectorielle dun ensemble flou E defini sur un referentiel de deux


e lements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

9.3

Regions associees a` i w = [x yc ]T (en trait plein) et a` a1 i w (en trait pointille). . 97

9.4

Architecture du reseau fuzzy ARTmap. . . . . . . . . . . . . . . . . . . . . . . . . 99

10.1 Illustration des composantes principales pour un nuage de points en deux dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.2 Reseau permettant deffectuer une analyse en S composantes principales. . . . . . 107
10.3 Reseau auto-associatif pour la reconnaissance de chiffres. . . . . . . . . . . . . . 110
10.4 Prototypes pour lapprentissage auto-associatif des chiffres 0, 1 et 2. . . . 111
10.5 Exemples de reponses du reseau auto-associatif de la figure 10.3 pour des stimuli
degrades ou bruites : (a) chiffres 0 ; (b) chiffres 1 ; et (c) chiffres 2. . . . . . . . . . 111
11.1 Reseau RBF avec fonctions radiales gaussiennes. . . . . . . . . . . . . . . . . . . 114

viii

TABLE DES FIGURES

Liste des tableaux


2.1

Fonctions de transfert a = f (n). . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

9.1

Valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte de classement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.2

Valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte dapproximation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

ix

Chapitre 1
Introduction
Les reseaux de neurones, fabriques de structures cellulaires artificielles, constituent une approche permettant daborder sous des angles nouveaux les probl`emes de perception, de memoire,
dapprentissage et de raisonnement. Ils sav`erent aussi des alternatives tr`es prometteuses pour
contourner certaines des limitations des ordinateurs classiques. Grace a` leur traitement parall`ele
de linformation et a` leurs mecanismes inspires des cellules nerveuses (neurones), ils inf`erent des
proprietes e mergentes permettant de solutionner des probl`emes jadis qualifies de complexes.
Nous aborderons dans ce cours les principales architectures de reseaux de neurones que lon
retrouve dans la litterature. Il ne sagit pas de les e tudier toutes, car elles sont trop nombreuses,
mais plutot den comprendre les mecanismes internes fondamentaux et de savoir comment et quand
les utiliser. En ce sens, nous mettrons autant lemphase sur lanalyse mathematique de ces reseaux
que sur la facon de les utiliser dans la pratique pour resoudre des probl`emes concrets.
Nous aborderons e galement certaines notions relatives aux ensembles flous et a` la logique dans
la mesure o`u ces derniers sont incorpores dans certaines des architectures de reseaux de neurones
que nous e tudierons.
Le reste de ce chapitre e labore davantage sur les objectifs poursuivis par ce cours, puis presente
un bref historique du domaine des reseaux de neurones avant de terminer par un survol de leurs
differentes applications. Le chapitre 2 introduit ensuite le mod`ele mathematique du neurone artificiel et e tablit une notation coherente qui sera suivie tout au long des chapitres subsequents. Le
chapitre 3 effectue un certain nombre de rappels en alg`ebre lineaire, rappels qui seront forts utiles
tout au long de cet ouvrage lorsque nous e tudierons differentes architectures de reseaux de neurones. Le chapitre 4 presente quant a` lui la problematique generale de lapprentissage en decrivant
les principales r`egles pouvant e tre utilisees ainsi que les differents types dapproche. Ainsi, nous
aborderons les notions de correction derreur, dapprentissage hebbien, competitif, supervise, nonsupervise et, finalement, dapprentissage par renforcement. Par la suite, nous e tudierons en details
differentes architectures de reseau de neurones dont le perceptron multicouche, le reseau de Kohonen, le Growing Neural Gas (GNG), certains membres de la famille des reseaux ART (Adaptive Resonance Theory), le Radial Basis Function (RBF) et le Support Vector Machine
(SVM). Nous traiterons aussi de lalgorithme du K-means qui sapparente au reseau de Koho-

CHAPITRE 1. INTRODUCTION

nen, ainsi que de lanalyse en composantes principales (ACP) via un apprentissage hebbien.
Ces notes de cours sont derivees dun certain nombre douvrages dont les principaux sont
e numeres 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 reguli`ere permettant doxygener
votre sang, en actionnant votre c ?ur qui assure une circulation efficace de ce sang pour nourrir vos
cellules, etc. Ils vous permettent meme, je lesp`ere, de comprendre les idees que je tente de vous
transmettre !
Chacun de ces neurones est par ailleurs fort complexe. Essentiellement, il sagit de tissu vivant et de chimie. Les specialistes des neurones biologiques (ceux qui ?uvrent en neurophysiologie)
commencent a` peine a` comprendre quelques uns de leurs mecanismes internes. On croit en general
que leurs differentes fonctions neuronales, y compris celle de la memoire, sont stockees au niveau
des connexions (synapses) entre les neurones. Cest ce genre de theorie1 qui a inspire la plupart
des architectures de reseaux de neurones artificiels2 que nous aborderons dans ce cours. Lapprentissage consiste alors soit a` e tablir 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 entraner pour, e ventuellement, realiser des taches utiles ? Eh bien, la reponse courte est oui, meme si les reseaux que
nous allons developper ne poss`edent quune infime fraction de la puissance du cerveau humain,
et cest lobjectif du cours de vous montrer comment on peut y arriver sans salir son linge !
Pour ce qui est de la reponse longue (plus detaillee), elle suit dans les chapitres subsequents.
Mais avant dy arriver, faisons un peu dhistoire...

1.2

Histoire

De nombreux ouvrages ont permis de documenter lhistoire des recherches en reseaux de


neurones. En particulier, le livre intitule Neurocomputing : Foundations of Research e dite par
John Anderson et Edward Rosenfeld est une compilation de 43 articles qui ont marque le domaine
sur le plan historique. Chacun dentre eux est dailleurs precede dune introduction qui permet de
situer larticle dans son contexte.
1

Des theories recentes sugg`erent au contraire que linformation pourrait e tre stockee 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
competence du professeur !).
2
Ce cours traitant exclusivement des reseaux de neurones artificiels (par opposition a` biologique), nous omettrons
parfois dajouter le mot artificiel a` la suite de neurone et de reseau de neurones, sachant quil est toujours
sous-entendu, sauf lorsque mention explicite du contraire.

1.2. HISTOIRE

Deux ingredients sont a` la base de tout avancement des connaissances. Premi`erement, il importe de posseder un nouveau concept, ou un nouveau point de vue a` propos dun sujet, qui vient
`
jeter une lumi`ere l`a o`u il ny avait quobscurite. Par exemple, considerons le c ?ur humain. A
differentes e poques on le considerait comme le centre de lame ou encore comme une source
de chaleur. Quelque part au 17e si`ecle, les medecins ont commence a` le considerer comme une
pompe et ont donc concu des experiences pour tenter de comprendre son fonctionnement, ce qui
a e ventuellement permis une comprehension du syst`eme sanguin, etc. Sans le concept de pompe,
une comprehension du c ?ur et du syst`eme sanguin en general e tait simplement hors datteinte.
Deuxi`emement, il importe aussi de posseder des outils technologiques permettant de construire
des syst`emes concrets. Par exemple, on connaissait les theories physiques permettant denvisager
la conception dune bombe atomique bien avant detre capable de realiser une telle bombe. On savait aussi mathematiquement reconstruire des images de radiographie en coupe (tomographie) bien
avant de posseder les ordinateurs et les algorithmes capables deffectuer efficacement les calculs
requis dans un temps raisonnable.
Lhistoire des reseaux de neurones est donc tissee a` travers des decouvertes conceptuelles et
des developpements technologiques survenus a` diverses e poques.
Bri`evement, les premi`eres recherches remontent a` la fin du 19e et au debut du 20e si`ecle. Ils
consistent en de travaux multidisciplinaires en physique, en psychologie et en neurophysiologie
` cette e poque, il
par des scientifiques tels Hermann von Helmholtz, Ernst Mach et Ivan Pavlov. A
sagissait de theories plutot generales sans mod`ele mathematique precis dun neurone. On sentend
pour dire que la naissance du domaine des reseaux de neurones artificiels remonte aux annees
1940 avec les travaux de Warren McCulloch et Walter Pitts qui ont montre quavec de tels reseaux,
on pouvait, en principe, calculer nimporte quelle fonction arithmetique ou logique. Vers la fin
des annees 1940, Donald Hebb3 a ensuite propose une theorie fondamentale pour lapprentissage.
Nous y reviendrons dailleurs a` plusieurs reprises dans les chapitres suivants.
La premi`ere application concr`ete des reseaux de neurones artificiels est survenue vers la fin
des annees 1950 avec linvention du reseau dit perceptron par un denomme Frank Rosenblatt.
Rosenblatt et ses coll`egues ont construit un reseau et demontre ses habilites a` reconnatre des
formes. Malheureusement, il a e te demontre par la suite que ce perceptron simple ne pouvait
resoudre quune classe limitee de probl`eme. Environ au meme moment, Bernard Widrow et Ted
Hoff ont propose un nouvel algorithme dapprentissage pour entraner un reseau adaptatif de neurones lineaires, dont la structure et les capacites sont similaires au perceptron. Nous les e tudierons
tous les deux au chapitre 5.
Vers la fin des annees 1960, un livre publie par Marvin Minsky et Seymour Papert est venu jeter
beaucoup dombre sur le domaine des reseaux de neurones. Entre autres choses, ces deux auteurs
ont demontre les limitations des reseaux developpes par Rosenblatt et Widrow-Hoff. Beaucoup
de gens ont e te influences par cette demonstration quils ont generalement mal interpretee. Ils ont
conclu a` tort que le domaine des reseaux de neurones e tait un cul de sac et quil fallait cesser de
sy interesser (et de financer la recherche dans ce domaine), dautant plus quon ne disposait pas a`
lepoque dordinateurs suffisamment puissants pour effectuer des calculs complexes.
3

Un canadien qui a passe la majorite de sa carri`ere academique a` lUniversite McGill.

CHAPITRE 1. INTRODUCTION

Heureusement, certains chercheurs ont persevere en developpant de nouvelles architectures


et de nouveaux algorithmes plus puissants. En 1972, Teuvo Kohonen et James Anderson ont
developpe independamment et simultanement de nouveaux reseaux pouvant servir de memoires

associatives (chapitre 7). Egalement,


Stephen Grossberg a investigue ce quon appelle les reseaux
auto-organises (chapitre 9).
Dans les annees 1980, une pierre dachoppement a e te levee par linvention de lalgorithme de
retropropagation des erreurs (section 5.4). Cette algorithme est la reponse aux critiques de Minsky
et Papert formulees a` la fin des annees 1960. Cest ce nouveau developpement, generalement attribue a` David Rumelhart et James McClelland, mais aussi decouvert plus ou moins en meme
temps par Paul Werbos et par Yann LeCun, qui a litteralement ressuscite le domaine des reseaux
de neurones. Depuis ce temps, cest un domaine o`u bouillonne constamment de nouvelles theories,
de nouvelles structures et de nouveaux algorithmes. Dans ce cours, nous allons tenter den survoler
les principaux.

1.3

Applications

Les reseaux de neurones servent aujourdhui a` toutes sortes dapplications dans divers domaines. Par exemple, on a developpe un auto-pilote pour avion, ou encore un syst`eme de guidage pour automobile, on a concu des syst`emes de lecture automatique de ch`eques bancaires et
dadresses postales, on produit des syst`emes de traitement du signal pour differentes applications
militaires, un syst`eme pour la synth`ese de la parole, des reseaux sont aussi utilises pour batir
des syst`emes de vision par ordinateur, pour faire des previsions sur les marches monetaires, pour
e valuer le risque financier ou en assurance, pour differents processus manufacturiers, pour le diagnostic medical, pour lexploration petroli`ere ou gazi`ere, en robotique, en telecommunication, et
jen passe ! Bref, les reseaux de neurones ont aujourdhui un impact considerable et, il y a fort a`
parier, que leur importance ira grandissant dans le futur.

Chapitre 2
Mod`ele de neurone et reseau
Dans ce chapitre, nous presentons le mod`ele mathematique que nous emploierons dans les chapitres suivants pour decrire, dune part, un neurone artificiel et, dautre part, un reseau de neurones
complet, cest-`a-dire un ensemble de neurones relies en reseau. Le mod`ele que nous presentons
dans ce chapitre est celui de base, commun a` beaucoup darchitectures. Il nest cependant pas universel, nous presenterons dans les chapitres subsequents les differentes variantes au fur et a` mesure
quil sera necessaire de le faire.

2.1

Notations

Tout au long de cet ouvrage, nous tenterons dadopter une notation mathematique coherente.
Les principales notations que nous adopterons sont e numerees ci-dessous. Il nest pas necessaire
de tout memoriser dun seul coup, on pourra au besoin sy rapporter plus tard.

Concepts de base
Les scalaires seront designes par des lettres minuscules italiques : p. ex. a, b, c . . .
Un vecteur designe une colonne de nombres.
Les vecteurs seront representes par des minuscules grasses (bold) non italiques : p. ex.
a, b, c . . .
Une matrice designe un tableau de nombres ayant un certain nombre de lignes et de
colonnes.
Les matrices seront denotees par des majuscules grasses (bold) non italiques : p. ex. A,
B, C . . .
Un vecteur-rangee est une rangee dune matrice utilisee comme un vecteur (donc une
rangee transposee).
5

CHAPITRE 2. MODELE
DE NEURONE ET RESEAU

6
Poids dune couche de neurones

Wk (t) designe la matrice des poids pour la couche k dun reseau au temps t.
wjk (t) designe le vecteur correspondant a` la colonne j de Wk (t).
i wk (t) designe le vecteur-rangee correspondant a` la ligne i de Wk (t).
k
(t) designe lelement (i, j) de Wk (t) (i designe toujours une ligne et j une colonne).
wi,j

Biais dune couche de neurones


bk (t) designe le vecteur des biais pour la couche k dun reseau au temps t.
bki (t) designe lelement i de bk (t).
Stimulus dun reseau
p(t) designe un vecteur stimulus presente a` lentree dun reseau au temps t.
pi (t) designe lelement i de p(t).
Niveaux dactivation dune couche de neurones
nk (t) designe le vecteur des niveaux dactivation pour la couche k dun reseau au temps t.
nki (t) designe lelement i de nk (t).
Sorties dune couche de neurones
ak (t) designe un vecteur des sorties pour la couche k dun reseau au temps t.
aki (t) designe lelement i de ak (t).
Cibles dun reseau
d(t) designe un vecteur cible pour les sorties desirees dun reseau au temps t.
di (t) designe lelement i de d(t).
Base dapprentissage
{(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )} designe un ensemble de Q associations stimulus/cible
pour lapprentissage supervise.
Signaux derreur
e(t) = d(t) a(t) designe un vecteur mesurant lerreur entre les sorties desirees (cible) et
les sorties calculees dun reseau au temps t.

2.1. NOTATIONS
ei (t) designe lelement i de e(t).
Dimensions
M designe le nombre de couches dun reseau.
S k designe le nombre de neurones sur la couche k dun reseau.
Q designe le nombre dassociations pour lapprentissage.
R designe la dimension des stimulus dentree.

Fonctions de transfert dune couche de neurones


f k (nk ) = ak designe le vecteur des sorties de la couche k, telles que calculees par la fonction
de transfert f appliquee sur chacun des nki , i = 1, . . . , S k .
f k (nki ) = aki designe lelement i de f k (nk ).

f (n) designe la derivee partielle de f par rapport a` n.


f(n) = n

f(n1 )

F(n)
=

f(n2 )

..
.

..
.

..

..
.

f(nS )

Notations diverses
||x|| designe la norme du vecteur x.
F (x) designe un indice de performance (une fonction) applique sur le vecteur x.
Fb (x) designe une approximation de F (x).
F (x) =

F F
x1 x2

2 F (x) =

F
x
n

2
F
x1 x1
2
x2 x1

iT

designe le vecteur gradient de F (x).

2
F
x1 x2
2
x2 x2

..
.

..
.

...

2
F
xn x1

2
F
xn x2

2
F
x1 xn

x2 xn

designe la matrice hessienne de F (x).

..

2
F
xn xn

i designe une valeur propre dune matrice.


zi designe un vecteur propre.

CHAPITRE 2. MODELE
DE NEURONE ET RESEAU

8
R entres

p1

Modle du neurone

w1,1

p2

p3

w1,R

pR

-1

a = (w Tp b)

F IG . 2.1 Mod`ele dun neurone artificiel.

2.2

Mod`ele dun neurone

Le mod`ele mathematique dun neurone artificiel est illustre a` la figure 2.1. Un neurone est essentiellement constitue dun integrateur qui effectue la somme ponderee de ses entrees. Le resultat
n de cette somme est ensuite transformee par une fonction de transfert f qui produit la sortie a du
neurone. En suivant les notations presentees a` la section precedente, les R entrees du neurones correspondent au vecteur p = [p1 p2 pR ]T , alors que w = [w1,1 w1,2 w1,R ]T represente le vecteur
des poids du neurone. La sortie n de lintegrateur est donnee par lequation suivante :
n =

R
X

w1,j pj b

j=1

(2.1)

= w1,1 p1 + w1,2 p2 + + w1,R pR b,


que lon peut aussi e crire sous forme matricielle :
n = wT p b.

(2.2)

Cette sortie correspond a` une somme ponderee des poids et des entrees moins ce quon nomme le
biais b du neurone. Le resultat n de la somme ponderee sappelle le niveau dactivation du neurone.
Le biais b sappelle aussi le seuil dactivation du neurone. Lorsque le niveau dactivation atteint ou
depasse le seuil b, alors largument de f devient positif (ou nul). Sinon, il est negatif.
On peut faire un parall`ele entre ce mod`ele mathematique et certaines informations que lon
connait (ou que lon croit connatre) a` propos du neurone biologique. Ce dernier poss`ede trois
principales composantes : les dendrites, le corps cellulaire et laxone (voir figure 2.2). Les dendrites forment un maillage de recepteurs nerveux qui permettent dacheminer vers le corps du
neurone des signaux e lectriques en provenance dautres neurones. Celui-ci agit comme un esp`ece
dintegrateur en accumulant des charges e lectriques. Lorsque le neurone devient suffisamment excite (lorsque la charge accumulee depasse un certain seuil), par un processus e lectrochimique,

`
2.2. MODELE
DUN NEURONE

F IG . 2.2 Schema dun neurone biologique.


il engendre un potentiel e lectrique qui se propage a` travers son axone1 pour e ventuellement venir exciter dautres neurones. Le point de contact entre laxone dun neurone et le dendrite dun
autre neurone sappelle le synapse. Il semble que cest larrangement spatial des neurones et de
leur axone, ainsi que la qualite des connexions synaptiques individuelles qui determine la fonction2 precise dun reseau de neurones biologique. Cest en se basant sur ces connaissances que le
mod`ele mathematique decrit ci-dessus a e te defini.
Un poids dun neurone artificiel represente donc lefficacite dune connexion synaptique. Un
poids negatif vient inhiber une entree, alors quun poids positif vient laccentuer. Il importe de
retenir que ceci est une grossi`ere approximation dun veritable synapse qui resulte en fait dun processus chimique tr`es complexe et dependant de nombreux facteurs exterieurs 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 daccomplir des taches interessantes. La vraisemblance biologique de ce mod`ele ne nous importe peu. Ce qui compte est le resultat que ce mod`ele nous
permettra datteindre.
Un autre facteur limitatif dans le mod`ele que nous nous sommes donnes concerne son caract`ere
discret. En effet, pour pouvoir simuler un reseau de neurones, nous allons rendre le temps discret
dans nos e quations. Autrement dit, nous allons supposer que tous les neurones sont synchrones,
cest-`a-dire qu`a chaque temps t, ils vont simultanement calculer leur somme ponderee et produire
une sortie a(t) = f (n(t)). Dans les reseaux biologiques, tous les neurones sont en fait asynchrones.
Revenons donc a` notre mod`ele tel que formule par lequation 2.2 et ajoutons la fonction dac1

Un axone peut e tre plus ou moins long selon le type de neurone.


Notez bien, cependant, que des theories recentes remettent en cause cette hypoth`ese. Mais ceci sort du cadre du
cours !
2

CHAPITRE 2. MODELE
DE NEURONE ET RESEAU

10
Entre

Modle du neurone

p
Rx1

W
1xR

-1
R

n
1x1

a
1x1

b
1x1

a = (Wp-b)
F IG . 2.3 Representation matricielle du mod`ele dun neurone artificiel.
tivation f pour obtenir la sortie du neurone :
a = f (n) = f (wT p b).

(2.3)

En remplacant wT par une matrice W = wT dune seule ligne, on obtient une forme generale que
nous adopterons tout au long de cet ouvrage :
a = f (Wp b).

(2.4)

Lequation 2.4 nous am`ene a` introduire un schema de notre mod`ele plus compact que celui
de la figure 2.1. La figure 2.3 illustre celui-ci. On y represente les R entrees comme un rectangle
noir (le nombre dentrees est indique sous le rectangle). De ce rectangle sort le vecteur p dont la
dimension matricielle est R 1. Ce vecteur est multiplie par une matrice W qui contient les poids
(synaptiques) du neurones. Dans le cas dun neurone simple, cette matrice poss`ede la dimension
1 R. Le resultat de la multiplication correspond au niveau dactivation qui est ensuite compare au
seuil b (un scalaire) par soustraction. Finalement, la sortie du neurone est calculee par la fonction
dactivation f . La sortie dun neurone est toujours un scalaire.

2.3

Fonctions de transfert

Jusqu`a present, nous navons pas specifie la nature de la fonction dactivation de notre mod`ele.
Il se trouve que plusieurs possibilites existent. Differentes fonctions de transfert pouvant e tre utilisees comme fonction dactivation du neurone sont e numerees au tableau 2.1. Les trois les plus
utilisees sont les fonctions seuil (en anglais hard limit), lineaire et sigmode.
Comme son nom lindique, la fonction seuil applique un seuil sur son entree. Plus precisement,
une entree negative ne passe pas le seuil, la fonction retourne alors la valeur 0 (on peut interpreter
ce 0 comme signifiant faux), alors quune entree positive ou nulle depasse le seuil, et la fonction

11

2.3. FONCTIONS DE TRANSFERT

TAB . 2.1 Fonctions de transfert a = f (n).


Nom de la fonction
seuil
seuil symetrique

Relation dentree/sortie
a = 0 si n < 0
a = 1 si n 0
a = 1 si n < 0
a=1
si n 0

lineaire saturee symetrique


lineaire positive

Nom Matlab
hardlim
hardlims

a=n

lineaire
lineaire saturee

Icone

purelin

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

satlin

satlins
poslin

sigmode

a=

1
1+expn

logsig

tangente hyperbolique

a=

en en
en +en

tansig

competitive

a=1
a=0

si n maximum
autrement

compet

retourne 1 (vrai). Utilisee dans le contexte dun neurone, cette fonction est illustree a` la figure
2.4a. On remarque alors que le biais b dans lexpression de a = hardlim(wT p b) (equation 2.4)
determine lemplacement du seuil sur laxe wT p, o`u la fonction passe de 0 a` 1. Nous verrons plus
loin que cette fonction permet de prendre des decisions binaires.
La fonction lineaire est tr`es simple, elle affecte directement son entree a` sa sortie :
a = n.

(2.5)

Appliquee dans le contexte dun neurone, cette fonction est illustree a` la figure 2.4b. Dans ce cas,
la sortie du neurone correspond a` son niveau dactivation dont le passage a` zero se produit lorsque
wT p = b.
La fonction de transfert sigmode est quant a` elle illustree a` la figure 2.4c. Son e quation est
donnee par :
1
a=
.
(2.6)
1 + expn
Elle ressemble soit a` la fonction seuil, soit a` la fonction lineaire, selon que lon est loin ou pr`es de b,
respectivement. La fonction seuil est tr`es non-lineaire car il y a une discontinuite lorsque wT p = b.
De son cote, la fonction lineaire est tout a` fait lineaire. Elle ne comporte aucun changement de
pente. La sigmode est un compromis interessant entre les deux precedentes. Notons finalement,
que la fonction tangente hyperbolique est une version symetrique de la sigmode.

CHAPITRE 2. MODELE
DE NEURONE ET RESEAU

12
a
+1

a
+1

wTp

-b

wTp

-1

wTp

-1

(a)

(b)

(c)

F IG . 2.4 Fonction de transfert : (a) du neurone seuil ; (b) du neurone lineaire, et (c) du
neurone sigmode.

2.4

Architecture de reseau

Un reseau de neurones est un maillage de plusieurs neurones, generalement organise en couches.


Pour construire une couche de S neurones, il sagit simplement de les assembler comme a` la figure 2.5. Les S neurones dune meme couche sont tous branches aux R entrees. On dit alors que
la couche est totalement connectee. Un poids wi,j est associe a` chacune des connexions. Nous
noterons toujours le premier indice par i et le deuxi`eme par j (jamais linverse). Le premier indice (rangee) designe toujours le numero de neurone sur la couche, alors que le deuxi`eme indice
(colonne) specifie le numero de lentree. Ainsi, wi,j designe le poids de la connexion qui relie
le neurone i a` son entree j. Lensemble des poids dune couche forme donc une matrice W de
dimension S R :

w1,1 w1,2 w1,R

w2,1

W= .
.
.

w2,2 w2,R
..
..
...
.
.

wS,1 wS,2 wS,R

(2.7)

Notez bien que S 6= R, dans le cas general (les nombres de neurones et dentrees sont independants).
Si lon consid`ere que les S neurones forment un vecteur de neurones, alors on peut creer les
vecteurs b = [b1 b2 bS ]T , n = [n1 n2 nS ]T et a = [a1 a2 aS ]T . Ceci nous am`ene a` la
representation graphique simplifiee, illustree a` la figure 2.6. On y retrouve, comme a` la figure
2.3, les memes vecteurs et matrice. La seule difference se situe au niveau de la taille, ou plus
precisement du nombre de rangees (S), de b, n, a et W.
Finalement, pour construire un reseau, il ne suffit plus que de combiner des couches comme
a` la figure 2.7. Cet exemple comporte R entrees et trois couches de neurones comptant respectivement S 1 , S 2 et S 3 neurones. Dans le cas general, de nouveau, S 1 6= S 2 6= S 3 . Chaque couche
poss`ede sa propre matrice de poids Wk , o`u k designe lindice de couche. Dans le contexte des vecteurs et des matrices relatives a` une couche, nous emploierons toujours un exposant pour designer
cet indice. Ainsi, les vecteurs bk , nk et ak sont aussi associes a` la couche k.
Il importe de remarquer dans cet exemple que les couches qui suivent la premi`ere ont comme
entree la sortie de la couche precedente. Ainsi, on peut enfiler autant de couche que lon veut,


2.4. ARCHITECTURE DE RESEAU
R entres

Couche de S neurones

w1,1

p1

13

n1

a1

b1
p2

-1

p3

n2

a2

b2
-1

pR

wS,R

nS

aS

bS
-1

a = (Wp b)

F IG . 2.5 Couche de S neurones.


du moins en theorie. Nous pouvons aussi fixer un nombre quelconque de neurones sur chaque
couche. En pratique, nous verrons plus tard quil nest cependant pas souhaitable dutiliser trop de
neurones. Finalement, notez aussi que lon peut changer de fonction de transfert dune couche a`
lautre. Ainsi, toujours dans le cas general, f 1 6= f 2 6= f 3 .
La derni`ere couche est nommee couche de sortie. Les couches qui prec`edent la couche de
sortie sont nommees couches cachees. Nous verrons un peu plus tard pourquoi. Le reseau de la
figure 2.7 poss`ede donc deux couches cachees et une couche de sortie.
Les reseaux multicouches sont beaucoup plus puissants que les reseaux simples a` une seule
couche. En utilisant deux couches (une couche cachee et une couche de sortie), a` condition demployer une fonction dactivation sigmode sur la couche cachee, on peut entraner un reseau a`
produire une approximation de la plupart des fonctions, avec une precision arbitraire (cela peut
cependant requerir un grand nombre de neurones sur la couche cachee). Sauf dans de rares cas, les
reseaux de neurones artificiels exploitent deux ou trois couches.
Entraner un reseau de neurones signifie modifier la valeur de ses poids et de ses biais pour
quil realise la fonction entree/sortie desiree. Nous e tudierons en details, dans des chapitres subsequents,

CHAPITRE 2. MODELE
DE NEURONE ET RESEAU

14
Entre

Couche de S neurones

Rx1

SxR

n
Sx1

a
Sx1

-1

Sx1

a = (Wp b)
F IG . 2.6 Representation matricielle dune couche de S neurones.
Entre

Couche 1

p
Rx1

S xR

a1

W1
1

-1

Couche 2

n1
S1 x 1

S1 x 1

b1
S1 x 1

a1 = 1(W1p b1)

S1

a2

W2
2

S xS

-1

Couche 3

n2
S2 x 1

S2 x 1

b2
S2 x 1

a2 = 2(W2a1 b2)

S xS

-1
S2

a3

W3

n3
S3 x 1

S3 x 1

b3
S3 x 1

S3

a3 = 3(W3a2 b3)

F IG . 2.7 Representation matricielle dun reseau de trois couches.

differents algorithmes pour y parvenir dans differents contextes. Pour specifier la structure du
reseau, il faut aussi choisir le nombre de couches et le nombre de neurones sur chaque couche.
Tout dabord, rappelons que le nombre dentrees du reseau (R), de meme que le nombre de neurones sur la couche de sortie est fixe par les specifications du probl`eme que lon veut resoudre avec
ce reseau. Par exemple, si la donnee du probl`eme comporte quatre variables en entree et quelle
exige de produire trois variables en sortie, alors nous aurons simplement R = 4 et S M = 3, o`u
M correspond a` lindice de la couche de sortie (ainsi quau nombre de couches). Ensuite, la nature du probl`eme peut aussi nous guider dans le choix des fonctions de transfert. Par exemple, si
lon desire 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
cachees ainsi que le nombre de neurones sur ces couches, et leur fonction de transfert. Il faudra
aussi fixer les differents param`etres de lalgorithme dapprentissage. Mais nous y reviendrons en
temps et lieu !
Finalement, la figure 2.8 illustre le dernier e lement de construction que nous emploierons


2.4. ARCHITECTURE DE RESEAU

15

Dlai
u(t)

a(t)

a(0)
a(t) = u(t-1)
ement de retard.
F IG . 2.8 El
pour batir des reseaux dit recurrents. Il sagit dun registre a` decalage qui permet dintroduire
un retard dans une donnee que lon veut acheminer dans un reseau. La sortie retardee a(t) prend
la valeur de lentree u au temps t 1. Cet e lement de retard presuppose que lon peut initialiser la
sortie au temps t = 0 avec la valeur a(0). Cette condition initiale est indiquee a` la figure 2.8 par
une fl`eche qui entre par le bas de lelement.
Avant de passer a` la decription des architectures concr`etes et de leur algorithmes dapprentissage, nous allons dabord effectuer au chapitre suivant quelques rappels sur lalg`ebre lineaire.
En effet, comme le lecteur attentif laura devine, nous allons avoir a` manipuler beaucoup de matrices et doperations matricielles tout au long de ces chapitres. La notation matricielle peut e tre
tr`es puissante, parce que compacte, mais e galement obscure lorsquon ne la matrise pas bien, do`u
limportance de ces rappels.

16

Chapitre 3
Alg`ebre lineaire
Dans ce chapitre, nous faisons plusieurs rappels essentiels en alg`ebre lineaire. Au chapitre
precedent, nous avons vu que les entrees et les sorties dun reseau de neurones, ainsi que les
rangees de ses matrices de poids forment des vecteurs. Il est donc important de bien comprendre
ce quest un espace vectoriel en e tudiant ses principales proprietes. Ensuite, nous aborderons des
outils algebriques de base tels les transformations lineaires, les changements de base ainsi que les
valeurs et vecteurs propres. Ces outils serviront par la suite tout au long des chapitres subsequents.

3.1

Definition dun espace vectoriel

Lorsque nous definissons un vecteur x = [x1 x2 xn ]T , nous faisons habituellement reference


a` un espace euclidien de n dimensions, que nous notons <n . Cependant, la notion despace vectoriel est beaucoup plus vaste que ce dernier qui ne represente quun cas particulier.
Definition. Un espace vectoriel lineaire X est un ensemble delements (de vecteurs) defini sur
un champ scalaire F, et respectant les proprietes suivantes :
1. poss`ede un operateur daddition tel que :
(a) x, y X implique x + y X ;
(b) x + y = y + x ; (commutativite)
(c) (x + y) + z = x + (y + z) ; (associativite)
(d) 0 X tel que x + 0 = x, x X ; (element neutre)
(e) x X , -x tel que x + (-x) = 0 ; (element inverse)
2. poss`ede un operateur de multiplication tel que :
(a) a F et x X implique ax X ;
(b) x X et le scalaire 1, 1x = x ; (element neutre)
17

CHAPITRE 3. ALGEBRE
LINEAIRE

18
x2

x2

x2

x+y

y
x

x1

(a)

x1

x3
x1

(b)

(c)

F IG . 3.1 Differents sous-ensembles de <2 : (a) region rectangulaire ; (b) droite ; (c) plan.
(c) a, b F et x X , a(bx) = (ab)x ; (associativite)
(d) (a + b)x = ax + bx ; (distributivite)
(e) a(x + y) = ax + ay ; (distributivite)
Il est facile de demontrer que ces proprietes sont respectees pour <n et, par consequent, <2 .
On peut cependant se poser la question a` propos de certains sous-ensembles de <2 . Par exemple,
considerons la region rectangulaire illustree a` la figure 3.1a. Ce sous-ensemble de <2 nest pas
un espace vectoriel car, entre autres, la propriete 1a nest pas respectee. En effet, si lon prend
deux vecteurs a` linterieur du rectangle et quon les additionne, il se peut que le resultat sorte du
rectangle. Par contre, on peut montrer (et ceci est laissee en exercice) que la droite infinie illustree
a` la figure 3.1b respecte toutes les proprietes e numerees ci-dessus et, par consequent, defini un
espace vectoriel. Notez bien, cependant, que cette droite se doit de passer par lorigine, sinon la
propriete 1d ne serait pas respectee.
Un autre exemple dun espace vectoriel est lensemble P 2 des polynomes de degre 2 ou moins.
Par exemple, deux e lements de cet espace sont :
x = 3 + 2t + t2 ,
y = 5 t.

(3.1)
(3.2)

Cet ensemble respecte les 10 proprietes dun espace vectoriel. En effet, si lon additionne deux
polynomes de degre 2 ou moins, on obtient un autre polynome de degre 2 ou moins. On peut aussi
multiplier un polynome par un scalaire sans changer lordre de celui-ci, etc. En notation vectorielle,
on peut donc representer les deux polynomes de lexemple par x = [3 2 1]T et y = [5 -1 0]T .
Mentionnons quon peut aussi former des espaces vectoriels avec des ensembles de fonctions
plus generales que des polynomes. Il importe seulement de respecter les 10 proprietes fondamentales dun espace vectoriel ! Si nous prenons la peine de preciser cette definition formelle, cest
parce que la resolution dun probl`eme avec un reseau de neurones requiert toujours de pouvoir
representer ce probl`eme a` laide dun espace vectoriel. Cest donc une notion tout a` fait fondamentale a` ce sujet detude.


3.1. DEFINITION
DUN ESPACE VECTORIEL

3.1.1

19

Dependance lineaire

Soient les n vecteurs {x1 , x2 , . . . , xn }. Alors ces vecteurs sont lineairement dependants sil
existe n scalaires a1 , a2 , . . . , an tels quau moins un deux est non nul et que :
a1 x1 + a2 x2 + + an xn = 0.

(3.3)

Et reciproquement, si a1 x1 + a1 x1 + + a1 x1 = 0 implique que i, ai = 0, alors les vecteurs


sont (lineairement) independants.
Par exemple, les vecteurs suivants :

1
1

x1 =
1 , x2 = 1
1
1

(3.4)

sont lineairement independants car si a1 x1 + a2 x2 = 0, alors :

0
a1 + a2

-a1 + a2 = 0 ,
0
-a1 a2

(3.5)

et a1 + a2 = 0 implique que a1 = a2 , et a1 + a2 = 0 implique a1 = a2 . Ainsi, il faut que


a1 = a2 = 0.
Par contre, les polynomes p1 = 1 + t + t2 , p2 = 2 + 2t + t2 et p3 = 1 + t sont lineairement
dependants puisque a1 p1 + a2 p2 + a3 p3 = 0 pour a1 = 1, a2 = 1 et a3 = 1.

3.1.2

Bases et dimensions

La dimension dun espace vectoriel est determinee par le nombre minimum de vecteurs de
base requis pour couvrir lespace vectoriel en entier. On dit dun ensemble de vecteur {u1 , u2 , . . . , un }
quil couvre un espace vectoriel X si et seulement si tous les x X de cet espace peuvent e tre
exprimes comme une combinaison lineaire des vecteurs de base :
x = a1 u1 + a2 u2 + + an un .

(3.6)

Par exemple, dans <2 , nous avons lhabitude de travailler avec les vecteurs de base u1 = [1 0] et
u2 = [0 1], mais ce nest pas la seule possibilite. 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 lineairement
independants.
Pour notre espace P 2 des polynomes de degre 2 ou moins, on peut choisir autant {1, t, t2 } que
{1, 1 + t, 1 + t + t2 }, par exemple.

CHAPITRE 3. ALGEBRE
LINEAIRE

20

3.1.3

Produit scalaire

Le produit scalaire entre deux vecteurs x et y, que nous noterons <x, y>, est une operation
tr`es importante pour les reseaux de neurones. Nimporte quelle fonction scalaire prenant deux
vecteurs comme argument et respectant les trois proprietes suivantes peut servir a` definir un produit
scalaire :
1. <x, y> = <y, x> ;
2. <x, (ay1 + by2 )> = a<x, y1 > + b<x, y2 > ;
3. <x, x> 0, avec <x, x> = 0 uniquement pour x = 0 ;
La premi`ere propriete specifie quun produit scalaire doit e tre symetrique. La deuxi`eme precise que
le produit dun vecteur par une combinaison lineaire de deux vecteurs est e gale a` la combinaison
lineaire des produits scalaires. Finalement, la troisi`eme propriete restreint le produit scalaire dun
vecteur avec lui-meme aux valeurs positives, sauf pour le vecteur nul qui doit donner zero.
Le produit scalaire habituellement utilise sur <n est defini par :
<x, y> = xT y = x1 y1 + x2 y2 + + xn yn .

3.1.4

(3.7)

Norme

La norme dun vecteur est une mesure de longueur. La fonction scalaire ||x|| sappelle une
norme si elle satisfait aux quatre proprietes 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 propriete specifie quune norme est toujours positive ou nulle. La deuxi`eme precise
quelle nest nulle que pour le vecteur nul. La troisi`eme impose que la norme dun vecteur multiplie
par un scalaire soit (lineairement) proportionnelle a` ce scalaire. Finalement, la derni`ere propriete
impose que la norme dune somme de deux vecteurs soit inferieure ou e gale a` la somme des
normes.

La norme la plus souvent utilisee, nommee l2 , est definie par ||x|| = <x, x>, ce qui dans
un espace euclidien <n correspond a` la norme euclienne habituelle :
||x|| =

x21 + x22 + + x2n .

(3.8)

Beaucoup dautres normes sont possibles telle que, par exemple, ||x|| = |x1 | + |x2 | + + |xn |.
Cette derni`ere sappelle norme l1 (on dit aussi city block ou encore manhattan). Dans le cas
general, il existe les normes dites lp telles que :
||x|| =

q
p

|x1 |p + |x2 |p + + |xn |p ,

(3.9)


3.1. DEFINITION
DUN ESPACE VECTORIEL

21

o`u p 1. Dans le cas o`u p , on obtient la norme l suivante :


||x|| = max |xi |.
i

(3.10)

Ceci nous indique que plus p devient grand, plus on attache de limportance aux grandes compo` la limite, on ne tient compte que de la plus grande composante du vecteur.
santes de x. A
Finalement, mentionnons quil importe parfois de normaliser nos vecteurs en les divisant
par leur norme :


x


(3.11)
= 1.

||x||
On obtient alors un vecteur qui pointe dans la meme direction quauparavant mais dont la norme
est unitaire.
Les concepts de produit scalaire et de norme permettent aussi dintroduire la notion dangle
entre deux vecteurs x et y via la fameuse loi des cosinus :
<x, y> = ||x|| ||y|| cos .

3.1.5

(3.12)

Orthogonalite

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 0 X lorsquil est orthogonal
avec tous les vecteurs x0 de ce sous-espace. Par exemple, un plan dans <3 definit 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 independants {x1 , x2 , . . . , xn } en
n vecteurs orthogonaux {v1 , v2 , . . . , vn }. On peut effectuer cette operation avec la methode de
Gram-Schmidt. Le premier vecteur orthogonal peut e tre quelconque, nous choisissons donc le
premier vecteur independant :
v1 = x1 .
(3.13)
Pour le second vecteur orthogonal, on utilise x2 , mais apr`es avoir soustrait de x2 , la portion du
vecteur qui est dans la direction de v1 . On obtient :
v2 = x2 av1 ,

(3.14)

o`u a est choisi de mani`ere a` ce que v2 soit orthogonal a` v1 . Ceci implique que :
<v1 , v2 > = <v1 , (x2 av1 )> = <v1 , x2 > a<v1 , v1 > = 0
et :

(3.15)

<v1 , x2 >
.
(3.16)
<v1 , v1 >
Ainsi, pour trouver la composante de x2 dans la direction de v1 , cest-`a-dire av1 , il sagit de
calculer le produit scalaire entre les deux vecteurs. Ceci sappelle le projecteur de x2 sur v1 (voir
figure 3.2). Si lon continue ce processus, le k e` me vecteur orthogonal est obtenu par lexpression :
a=

CHAPITRE 3. ALGEBRE
LINEAIRE

22

x2

v2
v1 = x1
av1

F IG . 3.2 Illustration de la methode de transformation orthogonale Gram-Schmidt.

vk = xk

k1
X
i=1

3.2

<vi , xk >
vi .
<vi , vi >

(3.17)

Transformations lineaires

Une transformation lineaire A est une application dun espace vectoriel X vers un espace
vectoriel Y telle que :
1. x1 , x2 X , A(x1 + x2 ) = A(x1 ) + A(x2 ) ;
2. x X , a <, A(ax) = aA(x).
La premi`ere propriete specifie que la transformee dune somme de vecteurs doit e tre e gale a` la
somme des transformees, pour quelle soit lineaire. La deuxi`eme propriete precise que la transformee dun vecteur auquel on a applique un facteur dechelle doit aussi e tre e gale a` ce facteur
applique sur la transformee du vecteur original. Si lune ou lautre de ces deux proprietes nest pas
respectee, la transformation nest pas lineaire.

3.2.1

Representations matricielles

Nous allons maintenant montrer que toute transformation lineaire peut e tre representee par
une matrice. Soient {v1 , v2 , . . . , vn } les vecteurs de base pour X et {u1 , u2 , . . . , um } ceux de Y.
Avec ces bases, nous pouvons representer nimporte quels vecteurs x X et y Y avec les
combinaisons lineaires suivantes :
x=

n
X

xj vj et y =

j=1

m
X

y i ui .

(3.18)

i=1

Soit la transformation lineaire A qui applique X sur Y (A : X Y). Donc :


A(x) = y,

(3.19)


3.2. TRANSFORMATIONS LINEAIRES

23

que lon peut re-ecrire de la facon suivante :

n
X

xj vj =

m
X

j=1

y i ui .

(3.20)

i=1

Mais puisque A est un operateur lineaire, on peut aussi e crire :


n
X

xj A(vj ) =

j=1

m
X

y i ui .

(3.21)

i=1

En considerant maintenant que les vecteurs A(vj ) sont des e lements de Y, on peut les re-ecrire en
tant quune combinaison lineaire de ses vecteurs de base :
A(vj ) =

m
X

aij ui ,

(3.22)

i=1

et en substituant lequation 3.22 dans lequation 3.21, on obtient :


n
X

xj

m
X

aij ui =

y i ui .

(3.23)

y i ui ,

(3.24)

i=1

i=1

j=1

m
X

En inversant lordre des sommations, on peut e crire :


m
X

ui

n
X

aij xj =

i=1

j=1

i=1

m
X

et en rearrangeant cette derni`ere e quation, on produit le resultat :


m
X

ui

i=1

n
X

aij xj yi = 0.

(3.25)

j=1

Finalement, en se rappelant que les vecteurs de base ui doivent e tre independants, on peut conclure
que leurs coefficients doivent forcement e tre nuls, donc :
n
X

aij xj = yi .

(3.26)

j=1

Ce qui correspond au produit de matrice :

a11
a21
..
.

a12
a22
..
.

am1 am2

a1n
a2n
..
..
.
.
amn

x1
x2
..
.
xn

y1
x2
..
.

(3.27)

ym

que lon peut noter Ax = y.


Autrement dit, toute transformation lineaire peut e tre decrite par une matrice A quil sagit
de multiplier avec le vecteur que lon veut transformer, pour obtenir le vecteur resultant de la
transformation.

CHAPITRE 3. ALGEBRE
LINEAIRE

24
Ax
Av2

cos

Av1
sin

cos

v2 = u2

-sin

v1 = u1

(a)

(b)

F IG . 3.3 Transformation de rotation : (a) rotation du vecteur x ; (b) rotation des vecteurs de base
v1 et v2 .
Comme exemple de transformation lineaire, considerons la rotation qui consiste a` faire tourner
un vecteur autour de lorigine. Pour simplifier, utilisons X = Y = <2 et travaillons avec les
vecteurs de base habituels, cest-`a-dire ceux du plan cartesien illustres a` la figure 3.3a. La clef
ici est de transformer chaque vecteur de base comme a` la figure 3.3b. Ceci saccomplit grace a`
lequation 3.20 :
A(v1 ) = cos()v1 + sin()v2 = a11 v1 + a21 v2 ,
(3.28)
A(v2 ) = sin()v1 + cos()v2 = a12 v1 + a22 v2 .

(3.29)

Ce qui nous donne les deux colonnes dune matrice de rotation A dans <2 :
"

A=

3.2.2

cos sin
sin cos

(3.30)

Changement de base

Il est important de noter que la representation matricielle dune transformation lineaire nest
pas unique car elle depend des vecteurs de base. Dans cette sous-section, nous allons examiner ce
quil advient dune transformation lorsquon effectue un changement de base.
Soit la transformation lineaire A : X Y et lensemble {v1 , v2 , . . . , vn } des vecteurs de
base de X , et {u1 , u2 , . . . , um } ceux de Y. Par consequent :
Ax = y, x X .

(3.31)

Supposons maintenant que lon veuille changer de base pour X et Y. Soient {t1 , t2 , . . . , tn }
et {w1 , w2 , . . . , wm } les nouveaux ensembles de vecteurs de base. Avec ces bases, nous aurons
A0 x0 = y0 , x0 X , o`u x = Bt x0 , y = Bw y0 , Bt = [t1 t2 tn ] et Bw = [w1 w2 wm ]. En
substituant ces resultats dans lequation 3.31, on obtient lexpression suivante :
ABt x0 = Bw y0

(3.32)


3.2. TRANSFORMATIONS LINEAIRES

25

puis en multipliant de part et dautre par B1


w :
0
0
(B1
w ABt )x = y ,

(3.33)

ce qui implique que A0 = B1


w ABt .
On doit retenir quen changeant de base pour representer nos vecteurs, nous changerons aussi
la representation matricielle de nos transformations. Le resultat sera le meme car les deux transformations sont similaires. Seule la representation change (les colonnes de nombres). Linteret dun
changement de base est que certaines representations sont plus faciles a` interpreter que dautres,
comme nous le verrons plus loin.

3.2.3

Valeurs et vecteurs propres

Nous terminons ce chapitre en abordant une autre notion fondamentale pour lanalyse des
transformations lineaires en generale, et des reseaux de neurones en particulier : les valeurs et
vecteurs propres.
Soit la transformation lineaire A : X X (ici le domaine et limage de la transformation
sont les memes). 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 definition specifie
quun vecteur propre dune transformation donnee represente une direction dans laquelle tous les
vecteurs pointant dans cette direction continueront a` pointer dans la meme direction apr`es la transformation, mais avec un facteur dechelle correspondant a` la valeur propre associee. Notez bien
que cette interpretation nest valide que lorsque les valeurs propres sont reelles et que les vecteurs
propres existent ce qui nest pas toujours le cas.
En posant un certain ensemble de vecteur de base, on peut reformuler lequation 3.34 sous sa
forme matricielle :
Az = z
(3.35)
ou dune mani`ere e quivalente :
(A I)z = 0

(3.36)

o`u I represente la matrice identite. Cette derni`ere e quation implique que les colonnes de A I
sont dependantes et, par consequent, que son determinant est nul :
|A I| = 0

(3.37)

Ce determinant est un polynome de degre n possedant exactement n racines, dont certaines peuvent
e tre complexes et dautres repetees.
Si lon reprend notre exemple de la transformation de rotation :
"

A=

cos sin
sin cos

(3.38)

CHAPITRE 3. ALGEBRE
LINEAIRE

26
On peut re-ecrire lequation 3.36 de la facon suivante :

cos



sin

sin
cos




= 0,

(3.39)

ce qui donne le polynome suivant :


2 2 cos + (cos2 + sin2 ) = 2 2 cos + 1 = 0,

(3.40)

dont les racines 1 = cos + j sin et 2 = cos j sin sont complexes. Ainsi, puisque quil
ny a pas de valeur propre reelle (sauf pour = 0 ou encore = 180 ), cela implique que tout
vecteur reel transforme pointera dans une nouvelle direction (ce qui est leffet recherche pour une
rotation !).
Lorsquune matrice A de dimension n n engendre n valeurs propres distinctes, alors il est
possible dengendrer n vecteurs propres independants qui correspondent a` un ensemble de vecteurs
de base pour la transformation que A represente. Dans ce cas, on peut diagonaliser la matrice de
la transformation en effectuant un changement de base. Plus formellement, si B = [z1 z2 zn ], la
matrice des n vecteurs propres, alors :

AB =

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

..
.

0
0
..
.

(3.41)

o`u {1 , 2 , . . . , n } sont les valeurs propres de A. Ce resultat decoule directement de la definition


des vecteurs et valeurs propres de lequation 3.35 :

AB = B

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

...

0
0
..
.

(3.42)

Il nous sera tr`es utile dans les chapitres a` venir, lorsque nous analyserons la performance de divers
algorithmes dapprentissage pour les reseaux de neurones.

Chapitre 4
Processus dapprentissage
Parmi les proprietes desirables pour un reseau de neurones, la plus fondamentale est surement
la capacite dapprendre de son environnement, dameliorer sa performance a` travers un processus
dapprentissage. Mais quest-ce donc que lapprentissage ? Malheureusement, il nexiste pas de
definition generale, universellement acceptee, car ce concept touche a` trop de notions distinctes
qui dependent du point de vue que lon adopte.
Dans le contexte des reseaux de neurones artificiels, nous adopterons un point de vue pragmatique en proposant la definition suivante :
Lapprentissage est un processus dynamique et iteratif permettant de modifier les
param`etres dun reseau en reaction avec les stimuli quil recoit de son environnement. Le type dapprentissage est determine par la mani`ere dont les changements de
param`etre surviennent.
Cette definition implique quun reseau se doit detre stimule par un environnement, quil subisse
des changements en reaction avec cette stimulation, et que ceux-ci provoquent dans le futur une
reponse nouvelle vis-`a-vis de lenvironnement. Ainsi, le reseau peut sameliorer avec le temps.
Dans la plupart des architectures que nous e tudierons, lapprentissage se traduit par une modification de lefficacite synaptique, cest-`a-dire par un changement dans la valeur des poids qui
relient les neurones dune couche a` lautre. Soit le poids wi,j reliant le neurone i a` son entree j. Au
temps t, un changement wi,j (t) de poids peut sexprimer simplement de la facon suivante :
wi,j (t) = wi,j (t + 1) wi,j (t),

(4.1)

et, par consequent, wi,j (t + 1) = wi,j (t) + wi,j (t), avec wi,j (t + 1) et wi,j (t) representant respectivement les nouvelle et ancienne valeurs du poids wi,j .
Un ensemble de r`egles bien definies permettant de realiser un tel processus dadaptation des
poids constitue ce quon appelle lalgorithme1 dapprentissage du reseau.
1

Le mot algorithme provient du nom de famille dun mathematicien perse nomme Mohammed Al-Khwarizmi
qui a vecu au 9`e si`ecle de notre e` re. Cest a` celui-ci que lon attribue linvention de r`egles pas-`a-pas pour laddition, la
soustraction, la multiplication ainsi que la division de nombres decimaux. En latin, son nom fut traduit par Algorismus,
qui par la suite se transforma en algorithme.

27

28

CHAPITRE 4. PROCESSUS DAPPRENTISSAGE

Dans la suite de ce chapitre, nous allons passer en revue differents types de r`egles ainsi que
differents principes pouvant guider lapprentissage dun reseau de neurone.

4.1

Par correction derreur

La premi`ere r`egle que lon peut utiliser est fondee sur la correction de lerreur observee en
sortie. Soit ai (t) la sortie que lon obtient pour le neurone i au temps t. Cette sortie resulte dun
stimulus p(t) que lon applique aux entrees du reseau dont un des neurones correspond au neurone
i. Soit di (t) la sortie que lon desire obtenir pour ce meme neurone i au temps t. Alors, ai (t) et
di (t) seront generalement differents et il est naturel de calculer lerreur ei (t) entre ce quon obtient
et ce quon voudrait obtenir :
ei (t) = di (t) ai (t),
(4.2)
et de chercher un moyen de reduire autant que possible cette erreur. Sous forme vectorielle, on
obtient :
e(t) = d(t) a(t),
(4.3)
avec e(t) = [e1 (t)e2 (t) ei (t) eS (t)] qui designe le vecteur des erreurs observees sur les S
neurones de sortie du reseau. Lapprentissage par correction des erreurs consiste a` minimiser un
indice de performance F base sur les signaux derreur ei (t), dans le but de faire converger les
sorties du reseau avec ce quon voudrait quelles soient. Un crit`ere tr`es populaire est la somme des
erreurs quadratiques :
F (e(t)) =

S
X

e2i (t) = e(t)T e(t).

(4.4)

i=1

Maintenant, il importe de remarquer que les param`etres libres dun reseau sont ses poids.
Prenons lensemble de ces poids et assemblons les sous la forme dun 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) designe la direction dans laquelle nous allons chercher le minimum et est une
constante positive determinant lamplitude du pas dans cette direction (la vitesse dapprentissage).
Lobjectif est de faire en sorte que F (t + 1) < F (t). Mais comment peut-on choisir la direction x
pour que la condition precedente soit respectee ? Considerons la serie 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) designe 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
respectee :
F (t)T w(t) = F (t)T x(t) < 0.
(4.7)
Nimporte quel vecteur x(t) qui respecte linegalite de lequation 4.7 pointe donc dans une direction qui diminue F . On parle alors dune direction de descente. Pour obtenir une descente

`
4.2. PAR LA REGLE
DE HEBB

29

w2
w (t)

F(t)

w1
F IG . 4.1 Trajectoire de la descente du gradient.
maximum, e tant donnee > 0, il faut que le vecteur x(t) pointe dans le sens oppose au gradient
car cest 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)

illustree a` la figure 4.1. Dans lespace des poids, cette figure montre les courbes de niveau de F
representees par des ellipses hypothetiques. La fl`eche en pointilles montre la direction optimale
pour atteindre le minimum de F . La fl`eche pleine montre la direction du gradient qui est perpendiculaire a` la courbe de niveau en w(t).
Lexpression exacte du gradient depend de la fonction dactivation utilisee pour les neurones.
Nous reviendrons en details sur la methode de la descente du gradient au chapitre 5, lorsque nous
traiterons du perceptron multicouche.
La r`egle de la correction des erreurs est utilisee pour beaucoup de reseaux de neurones artificiels, bien quelle ne soit pas plausible biologiquement. En effet, comment le cerveau pourrait-il
connatre a priori les sorties quil doit produire ? Cette r`egle ne peut e tre utilisee que dans un
contexte dapprentissage supervise sur lequel nous reviendrons bientot.

4.2

Par la r`egle de Hebb

Dans cette section nous abordons une r`egle qui sinspire des travaux du neurophysiologiste
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, some growth process or metabolic changes take place
in one or both cells such that As efficiency as one of the cells firing B, is increased.

30

CHAPITRE 4. PROCESSUS DAPPRENTISSAGE

Dans un contexte neurobiologique, Hebb cherchait a` e tablir une forme dapprentissage associatif
au niveau cellulaire. Dans le contexte des reseaux artificiels, on peut reformuler lenonce de Hebb
sous la forme dune r`egle dapprentissage en deux parties :
1. Si deux neurones de part et dautre dun synapse (connexion) sont actives simultanement
(dune mani`ere synchrone), alors la force de ce synapse doit e tre augmentee ;
2. Si les memes deux neurones sont actives dune mani`ere asynchrone, alors le synapse correspondant doit e tre affaibli ou carrement e limine.
Un tel synapse est dit synapse hebbien. Il utilise un mecanisme interactif, dependant du temps et
de lespace, pour augmenter lefficacite synaptique dune mani`ere proportionnelle a` la correlation
des activites pre- et post-synaptiques. De cette definition ressort les proprietes suivantes :
1. Dependance temporelle. Les modifications dun synapse hebbien dependent du moment
exact des activites pre- et post-synaptiques ;

donne la nature meme du synapse qui constitue un lieu de trans2. Dependance spatiale. Etant
mission dinformation, lapprentissage hebbien se doit de posseder une contigute spatiale.
Cest cette propriete qui, entre autres, permet lapprentissage dit non-supervise sur lequel
nous reviendrons bientot ;
3. Interaction. Lapprentissage hebbien depend dune interaction entre les activites de part et
dautre du synapse.
4. Conjonction ou correlation. Une interpretation de lenonce de Hebb est que la condition permettant un changement dans lefficacite synaptique est une conjonction des activites pre et
post-synaptiques. Cest la co-occurrence des activites de part et dautre du synapse qui engendre une modification de celui-ci. Une interpretation plus statistique ref`ere a` la correlation
de ces activites. Deux activites positives simultanees (correlation positive) engendrent une
augmentation de lefficacite synaptique, alors que labsence dune telle correlation engendre
une baisse de cette efficacite.
Mathematiquement, on peut exprimer la r`egle de Hebb sous sa forme la plus simple par la
formule suivante :
wj (t 1) = pj (t)a(t),
(4.10)
o`u est une constante positive qui determine la vitesse de lapprentissage, pj (t) correspond a`
lactivite pre-synaptique (lentree j du neurone) au temps t, et a(t) a` lactivite post-synaptique
(sortie du neurone) a` ce meme temps t. Cette formule fait ressortir explicitement la correlation
entre le signal qui entre et celui qui sort. Sous une forme vectorielle, on e crit :
w(t 1) = p(t)a(t).

(4.11)

Un probl`eme immediat avec la r`egle de lequation 4.11 est que les changements de poids wj (t)
peuvent crotre de facon exponentielle si, par exemple, lentree 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 doubli qui retranche de la variation de poids, une
fraction du poids actuel. On obtient ainsi :
wj (t 1) = pj (t)a(t) wj (t 1),

(4.12)

`
4.2. PAR LA REGLE
DE HEBB

31

o`u 0 1 est une nouvelle constante. Sous forme vectorielle, on e crit :


w(t 1) = p(t)a(t) w(t 1).

(4.13)

La r`egle de Hebb avec oubli, e noncee a` lequation 4.13, contourne efficacement le probl`eme
des poids qui croissent (ou decroissent) sans limite. Supposons que pj (t) = a(t) = 1 et que nous
ayons atteint le regime permanent o`u wj = 0. Alors, la valeur maximale wjmax que peut atteindre
le poids wj (t) est donnee par :
wjmax = (1 )wjmax +

=
.

(4.14)
(4.15)

` cause du terme doubli, il est primordial


Mais cette r`egle ne resout pas tous les probl`emes. A
que les stimuli soient repetes reguli`erement, sinon les associations apprises grace a` la r`egle de
lequation 4.13 seront e ventuellement perdues car compl`etement oubliees. Une autre variante de la
r`egle de Hebb sexprime donc de la mani`ere suivante :
wj (t 1) = pj (t)a(t) a(t)wj (t 1).

(4.16)

Et si lon fixe = pour simplifier (on pose un rythme dapprentissage e gale a` celui de loubli),
on obtient la r`egle dite instar :
wj (t 1) = a(t) [pj (t) wj (t 1)] ,

(4.17)

que lon peut re-ecrire sous sa forme vectorielle de la facon suivante :


w(t 1) = a(t) [p(t) w(t 1)] .

(4.18)

Une facon daborder cette r`egle, est de regarder ce qui se passe lorsque a(t) = 1 :
w(t) = w(t 1) + [p(t) w(t 1)]
= (1 )w(t 1) + p(t).

(4.19)
(4.20)

Alors, on constate quen presence dune activite post-synaptique positive, le vecteur de poids est
deplace dans la direction du vecteur dentree p(t), le long du segment qui relie lancien vecteur de
poids avec le vecteur dentree, tel quillustre a` la figure 4.2. Lorsque = 0, le nouveau vecteur de
poids est e gal a` lancien (aucun changement). Lorsque = 1, le nouveau vecteur de poids est e gal
au vecteur dentree. Finalement, lorsque = 21 , le nouveau vecteur est a` mi-chemin entre lancien
vecteur de poids et le vecteur dentree.
Une propriete particuli`erement interessante de la r`egle instar est quavec des entrees normalisees, suite au processus dapprentissage, les poids w convergeront e galement vers des vecteurs
normalises. Mais nous y reviendrons lorsque nous traiterons du reseau instar.

32

CHAPITRE 4. PROCESSUS DAPPRENTISSAGE


p(t)
w(t)
w(t-1)

F IG . 4.2 Representation graphique de la r`egle instar lors dune activite post-synaptique positive.

4.3

Competitif

Lapprentissage competitif, comme son nom lindique, consiste a` faire competitionner les neurones dun reseau pour determiner lequel sera actif a` un instant donne. Contrairement aux autres
types dapprentissage o`u, generalement, tous les neurones peuvent apprendre simultanement et
de la meme mani`ere, lapprentissage competitif produit un vainqueur ainsi que, parfois, un
ensemble de neurones voisins du vainqueur, et seuls ce vainqueur et, potentiellement, son voisinage beneficient dune adaptation de leur poids. On dit alors que lapprentissage est local car
limite a` un sous-ensemble des neurones du reseau.
Une r`egle dapprentissage competitif comporte les e lements suivants :
Un ensemble de neurones identiques (meme type) sauf pour les valeurs de leurs poids synaptiques ;
Une limite imposee a` la force dun neurone ;
Un mecanisme permettant aux neurones de competitionner pour le droit de repondre a` un
certain sous-ensemble des stimuli dentree, de mani`ere a` ce quun seul neurone de sortie
soit actif a` la fois.
Ainsi, les neurones individuels peuvent apprendre a` se specialiser sur des sous-ensembles de stimuli similaires pour devenir des detecteurs de caracteristiques.
Dans leur forme la plus simple, les reseaux de neurones qui utilisent lapprentissage competitif
sont souvent constitues dune seule couche de neurones de sortie, totalement connectee sur les
entrees. Un neurone vainqueur modifiera ses poids synaptiques en les rapprochant (geometriquement)
dun stimulus dentree p pour lequel il a battu tous les autres neurones lors de la competition :
(

w =

(p w) si le neurone est vainqueur


,
0
autrement

(4.21)

o`u 0 < < 1 correspond a` un taux dapprentissage. Un neurone qui ne gagne pas la competition
ne modifiera aucunement ses poids. Il ne sera donc pas affecte par le stimulus en question. Parfois,
on definit e galement un voisinage autour du neurone gagnant et on applique une r`egle similaire sur

4.4. PROBLEME
DE LAFFECTATION DU CREDIT

33

les voisins, mais avec un taux dapprentissage different :

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, lapprentissage competitif est surtout utilise
dans le contexte dun apprentissage dit non-supervise, cest-`a-dire lorsquon ne connait pas les
valeurs desirees pour les sorties du reseau.

4.4

Probl`eme de laffectation du credit

Dans le domaine general de lapprentissage, il existe un probl`eme qui tourne autour de la


notion de affectation du credit2 . Essentiellement, il sagit daffecter le credit dun resultat global,
par exemple ladequation des sorties dun reseau face a` un certain stimulus dentree, a` lensemble
des decisions internes prises par le syst`eme (le reseau) et ayant conduit a` ce resultat global. Dans le
cas de lexemple dun reseau, les decisions internes correspondent aux sorties des neurones situes
sur les couches qui prec`edent la couche de sortie. Ces couches sont habituellement qualifiees de
couches cachees car on ne dispose pas, a priori, dinformation sur ladequation de leurs sorties.
Le probl`eme de laffectation du credit est donc bien present dans lapprentissage des reseaux
de neurones. Par exemple, si lon adopte une r`egle basee sur la correction des erreurs, comment
fera-t-on pour calculer cette erreur sur les couches cachees, si lon ne poss`ede pas linformation
a` propos de leurs sorties desirees ? De meme, que fera-t-on si lon dispose uniquement dune
appreciation generale de performance du reseau face a` chaque stimulus, et non des sorties desirees
pour chaque neurone de la couche de sortie ? Nous apporterons certains e lements de reponse a` ces
questions dans les sous-sections suivantes, puis dans les chapitres subsequents au fur et a` mesure
que nous aborderons des algorithmes concrets dapprentissage.

4.5

Supervise

Lapprentissage dit supervise est caracterise par la presence dun professeur qui poss`ede
une connaissance approfondie de lenvironnement dans lequel e volue le reseau de neurones. En
pratique, les connaissances de ce professeur prennent la forme dun ensemble de Q couples de
vecteurs dentree et de sortie que nous noterons {(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )}, o`u pi designe
un stimulus (entree) et di la cible pour ce stimulus, cest-`a-dire les sorties desirees du reseau.
Chaque couple (pi , di ) correspond donc a` un cas desp`ece de ce que le reseau devrait produire
(la cible) pour un stimulus donne. Pour cette raison, lapprentissage supervise est aussi qualifie
dapprentissage par des exemples.
2

Traduction litterale de Credit assignment.

34

CHAPITRE 4. PROCESSUS DAPPRENTISSAGE

Environnement

p(t)

d(t)

Professeur

+
a(t)

Systme
supervis

e(t)

F IG . 4.3 Schema bloc de lapprentissage supervise.


Lapprentissage supervise est illustre dune mani`ere conceptuelle a` la figure 4.3. Lenvironnement est inconnu du reseau. Celui-ci produit un stimulus p qui est achemine a` la fois au professeur
et au reseau. Grace a` ses connaissances intrins`eques, le professeur produit une sortie desiree d(t)
pour ce stimulus. On suppose que cette reponse est optimale. Elle est ensuite comparee (par soustration) avec la sortie du reseau pour produire un signal derreur e(t) qui est re-injecte dans le
reseau pour modifier son comportement via une procedure iterative qui, e ventuellement, lui permet de simuler la reponse du professeur. Autrement dit, la connaissance de lenvironnement par le
professeur est graduellement transferee vers le reseau jusqu`a latteinte dun certain crit`ere darret.
Par la suite, on peut e liminer le professeur et laisser le reseau fonctionner de facon autonome.
Le lecteur attentif aura remarque quun apprentissage supervise nest rien dautre quun synonyme de lapprentissage par correction des erreurs (voir section 4.1). Il poss`ede donc les memes
limitations, a` savoir que sans professeur pour fournir les valeurs cibles, il ne peut daucune facon
apprendre de nouvelles strategies pour de nouvelles situations qui ne sont pas couvertes par les
exemples dapprentissage.

4.6

Par renforcement

Lapprentissage par renforcement permet de contourner certaines des limitations de lapprentissage supervise. Il consiste en un esp`ece dapprentissage supervise, mais avec un indice de satisfaction scalaire au lieu dun signal derreur vectoriel. Ce type dapprentissage est inspire des
travaux en psychologie experimentale 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.
Meme si cet e nonce ne peut expliquer a` lui seul le comportement animal au niveau biologique, sa
simplicite et son pragmatisme peut nous permettre de composer des r`egles dapprentissage utiles.

4.7. NON-SUPERVISE

35

Dans le contexte des reseaux de neurones artificiels, nous pouvons reformuler lenonce de Thorndike de la facon suivante :
Lorsquune action (decision) prise par le reseau engendre un indice de satisfaction
positif, alors la tendance du reseau a` prendre cette action doit e tre renforcee. Autrement, la tendance a` prendre cette action doit e tre diminuee.
En pratique, lusage de lapprentissage par renforcement est complexe a` mettre en ?uvre, de sorte
que nous naborderons aucun reseau qui lemploie. Il importe cependant de bien comprendre la
difference entre ce type dapprentissage et lapprentissage supervise que nous e tudierons en details
au chapitre 5.
Lapprentissage supervise dispose dun signal derreur qui non seulement permet de calculer un indice de satisfaction (p.ex. lerreur quadratique moyenne), mais permet aussi destimer le
gradient local qui indique une direction pour ladaptation des poids synaptiques. Cest cette information fournie par le professeur qui fait toute la difference. Dans lapprentissage par renforcement,
labsence de signal derreur rend le calcul de ce gradient impossible. Pour estimer le gradient, le
reseau est oblige de tenter des actions et dobserver le resultat, pour e ventuellement inferer une
direction de changement pour les poids synaptiques. Pour ce faire, il sagit alors dimplanter un
processus dessais et derreurs tout en retardant la recompense offerte par lindice de satisfaction.
Ainsi, on introduit deux e tapes distinctes : une dexploration o`u lon essaie des directions aleatoires
de changement, et une dexploitation o`u lon prend une decision. Ce processus en deux e tapes peut
ralentir considerablement lapprentissage. De plus, il introduit un dilemme entre le desir dutiliser
linformation dej`a apprise a` propos du merite des differentes actions, et celui dacquerir de nouvelles connaissances sur les consequences de ces decisions pour, e ventuellement, mieux les choisir
dans le futur.

4.7

Non-supervise

La derni`ere forme dapprentissage que nous abordons est dite non-supervisee ou encore
auto-organisee. Elle est caracterisee par labsence compl`ete de professeur, cest-`a-dire quon
ne dispose ni dun signal derreur, comme dans le cas supervise, ni dun indice de satisfaction,
comme dans le cas par renforcement. Nous ne disposons donc que dun environnement qui fournit
des stimuli, et dun reseau qui doit apprendre sans intervention externe. En assimilant les stimuli de
lenvironnement a` une description de son e tat interne, la tache du reseau est alors de modeliser cet
e tat le mieux possible. Pour y arriver, il importe dabord de definir une mesure de la qualite pour
ce mod`ele, et de sen servir par la suite pour optimiser les param`etres libres du reseau, cest-`a-dire
` la fin de lapprentissage, le reseau a developpe une habilite a` former des
ses poids synaptiques. A
representations internes des stimuli de lenvironnement permettant dencoder les caracteristiques
de ceux-ci et, par consequent, de creer automatiquement des classes de stimuli similaires.
Lapprentissage non-supervise sappuie generalement sur un processus competitif (voir section 4.3) permettant dengendrer un mod`ele o`u les poids synaptiques des neurones representent des
prototypes de stimuli. La qualite du mod`ele resultant doit sevaluer a` laide dune metrique permettant de mesurer la distance entre les stimuli et leurs prototypes. Souvent, cette metrique est basee

36

CHAPITRE 4. PROCESSUS DAPPRENTISSAGE

sur la norme l2 (voir section 3.1.4). Cest le processus de competition qui permet de selectionner le
prototype associe a` chaque stimulus en recherchant le neurone dont le vecteur de poids synaptiques
est le plus proche (au sens de la metrique choisie) du stimulus en question.

4.8

Taches dapprentissage

Nous terminons ce chapitre en e numerant differentes categories de taches que lon peut vouloir
realiser avec un reseau de neurones :
1. Approximation. Soit la fonction g telle que :
d = g(p),

(4.23)

o`u p est largument de la fonction (un vecteur) et d la valeur (un scalaire) de cette fonction
e valuee en p. Supposons maintenant que la fonction g() est inconnue. La tache dapproximation consiste alors a` concevoir un reseau de neurones capable dassocier les e lements
des couples entree-sortie : {(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )}. Ce probl`eme peut e tre resolu a`
laide dun apprentissage supervise sur les Q exemples, avec les pi representant les stimuli,
et les di representant les sorties desirees pour chacun de ces stimuli, avec i = 1, 2, . . . , Q.
Ou inversement, on peut aussi dire que lapprentissage supervise est un probl`eme dapproximation de fonction ;
2. Association. Il en existe deux types : lauto-association et lhetero-association. Le probl`eme
de lauto-association consiste a` memoriser un ensemble de patrons (vecteurs) en les presentant
successivement au reseau. Par la suite, on presente au reseau une version partielle ou deformee
dun patron original, et la tache consiste a` produire en sortie le patron original correspondant.
Le probl`eme de lhetero-association consiste quant a` lui a` associer des paires de patrons :
un patron dentree et un patron de sortie. Lauto-association implique un apprentissage non
supervise, alors que lhetero-association requiert plutot un apprentissage supervise.
3. Classement. Pour cette tache, il existe un nombre fixe de categories (classes) de stimuli
dentree que le reseau doit apprendre a` reconnatre. Dans un premier temps, le reseau doit
entreprendre une phase dapprentissage supervise durant laquelle les stimuli sont presentes
en entree et les categories sont utilisees pour former les sorties desirees, generalement en
utilisant une sortie par categorie. Ainsi, la sortie 1 est associee a` la categorie 1, la sortie 2 a`
la categorie 2, etc. Pour un probl`eme comportant Q categories, on peut par exemple fixer les
sorties desirees d = [d1 , d2 , . . . , dQ ]T a` laide de lexpression suivante :
(

di =

1 si le stimulus appartient a` la categorie i


, i = 1, . . . , Q.
0 autrement

(4.24)

Par la suite, dans une phase de reconnaissance, il suffira de presenter au reseau nimporte
quel stimulus inconnu pour pouvoir proceder au classement de celui-ci dans lune ou lautre
des categories. Une r`egle simple de classement consiste, par exemple, a` choisir la categorie
associee avec la sortie maximale.


4.8. TACHES
DAPPRENTISSAGE

37

4. Prediction. La notion de prediction est lune des plus fondamentales en apprentissage. Il


sagit dun probl`eme de traitement temporel de signal. En supposant que nous possedons M
e chantillons passes dun signal, x(t 1), x(t 2), . . . , x(t M ), e chantillonnes a` intervalle
de temps fixe, la tache consiste a` predire la valeur de x au temps t. Ce probl`eme de prediction
peut e tre resolu grace a` un apprentissage par correction des erreurs, mais dune mani`ere non
supervise (sans professeur), e tant donne que les valeurs de sortie desiree peuvent e tre inferees
directement de la serie chronologique. Plus precisement, lechantillon de x(t) peut servir de
valeur desiree et le signal derreur pour ladaptation des poids se calcule simplement par
lequation suivante :
e(t) = x(t) xb(t | t 1, t 2, . . . , t M ),

(4.25)

o`u x(t) designe la sortie desiree et xb(t | t1, t2, . . . , tM ) represente la sortie observee du
reseau e tant donne les M e chantillons precedents. La prediction sapparente a` la construction
dun mod`ele physique de la serie chronologique. Dans la mesure o`u le reseau poss`ede des
neurones dont la fonction de transfert est non-lineaire, le mod`ele pourra lui-aussi e tre nonlineaire.
5. Commande. La commande dun processus est une autre tache dapprentissage que lon peut
aborder a` laide dun reseau de neurones. Considerons un syst`eme dynamique non-lineaire
{u(t), y(t)} o`u u(t) designe lentree du syst`eme et y(t) correspond a` la reponse de celui-ci.
Dans le cas general, on desire commander ce syst`eme de mani`ere a` ce quil se comporte
selon un mod`ele de reference, souvent un mod`ele lineaire, {r(t), d(t)}, o`u pour tout temps
t 0, on arrive a` produire une commande u(t) telle que :
lim |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 reference. Ceci
peut se realiser grace a` certains types de reseaux supervises.
Dans les chapitres qui suivent, nous allons aborder des reseaux specifiques en commencant par lun
des plus connus et des plus utilises : le perceptron multicouches et son algorithme de retropropagation
des erreurs.

38

Chapitre 5
Perceptron multicouche
Le premier reseau de neurones que nous allons e tudier sappelle le perceptron multicouche1
(PMC). Ce type de reseau est dans la famille generale des reseaux a` propagation vers lavant2 ,
cest-`a-dire quen mode normal dutilisation, linformation se propage dans un sens unique, des
entrees vers les sorties sans aucune retroaction. Son apprentissage est de type supervise, par correction des erreurs (chapitre 4). Dans ce cas uniquement, le signal derreur est retropropage vers
les entrees pour mettre a` jour les poids des neurones.
Le perceptron multicouche est un des reseaux de neurones les plus utilises pour des probl`emes
dapproximation, de classification et de prediction. Il est habituellement constitue de deux ou trois
couches de neurones totalement connectes. Avant den e tudier le fonctionnement global, nous allons nous attarder a` divers cas particuliers plus simples. En particulier, nous allons aborder le cas
du perceptron simple, cest-`a-dire le perceptron a` une seule couche de neurones dont les fonctions
dactivation sont de type seuils (section 2.3). Nous allons ensuite considerer differentes r`egles dapprentissage pour la correction des erreurs. Nous traiterons le cas de la r`egle LMS3 , de lalgorithme
de retropropagation (en anglais backpropagation), de la methode de Newton et de la methode
du gradient conjugue.

5.1

Perceptron simple

Le perceptron simple est illustre a` la figure 5.1. En suivant la notation schematique e tablie au
chapitre 2, il sagit dune seule couche de S neurones totalement connectee sur un vecteur p de R
entrees. La matrice W = [1 w 2 w S w]T de dimension S R represente lensemble des poids de
la couche, avec les vecteur-rangees i w (dimension R 1) representant les R poids des connexions
reliant le neurone i avec ses entrees. Le vecteur b (dimension S 1) designe lensemble des S biais
de la couche. Les niveaux dactivation n = Wp b = [n1 n2 nS ]T des neurones de la couche
servent dargument a` la fonction dactivation qui applique un seuil au niveau 0 (section 2.3) pour
1

En anglais multilayer perceptron ou MLP.


En anglais feedforward networks.
3
En anglais Least Mean Square.
2

39

40

CHAPITRE 5. PERCEPTRON MULTICOUCHE


Entre

Couche de S neurones

Rx1

SxR

Sx1

Sx1

-1

Sx1

a = hardlims(Wpb)
F IG . 5.1 Perceptron a` une seule couche avec fonction seuil.
produire le vecteur des sorties a = [a1 a2 aS ]T , o`u :
(

ai =

+1 si ni 0
1 autrement

(5.1)

Considerons maintenant le cas non-trivial le plus simple, a` savoir lorsque R = 2 et S = 1, cest-`adire lorsque la couche nest formee que dun seul neurone relie a` deux entrees. Dans ce cas, nous
aurons p = [p1 p2 ]T , W = [1 w]T = [w1,1 w1,2 ], b = [b1 ] et a = [a1 ], o`u :
(

a1 =

+1 si w1,1 p1 + w1,2 p2 b1
1 autrement

(5.2)

Cette derni`ere e quation nous indique clairement que la sortie du reseau (neurone) peut prendre
seulement deux valeurs distinctes selon le niveau dactivation du neurone : 1 lorsque ce dernier
est strictement inferieur a` 0 ; +1 dans le cas contraire. Il existe donc dans lespace des entrees
une fronti`ere delimitant deux regions correspondantes. Cette fronti`ere est definie par la condition
w1,1 p1 + w1,2 p2 = b1 de lequation 5.2 qui correspond a` lexpression generale dune droite, telle

quillustree a` la figure 5.2. Etant


donne un certain vecteur de poids w = [w1,1 w1,2 ]T , il est aise de
montrer que ce vecteur doit e tre perpendiculaire a` cette droite. En effet, pour tous les points p de
la droite, nous avons la relation wT p = b, o`u b = b1 . Or le terme wT p correspond a` un produit
scalaire (section 3.1.3) et lon sait que <x, y> = ||x|| ||y|| cos (equation 3.12), o`u represente
langle 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
sil reste constant alors que la norme de p change, cest parce que langle 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 perpendiculaire entre la droite et lorigine. Maintenant, si sa norme est minimale, cest que cos est maximal

41

5.1. PERCEPTRON SIMPLE

p2

n=0

n>0

p1
n<0

F IG . 5.2 Fronti`ere de decision pour un perceptron simple a` 1 neurone et deux entrees.


et, par consequent, que langle entre p et w est nul. Ainsi, w pointe dans la meme direction que
p et :
b
(5.4)
||p || =
||w||
Nous pouvons e galement deduire que lorigine appartiendra a` la region grisee (n > 0) si, et seulement si, b < 0. Autrement, comme a` la figure 5.2, lorigine appartiendra a` la region n < 0. Si
b = 0, alors la fronti`ere de decision passera par lorigine.
Si lon consid`ere maintenant le cas o`u S > 1, alors chaque neurone i possedera son propre
vecteur de poids i w et son propre biais bi , et nous nous retrouverons avec S fronti`eres de decision
distinctes. Toutes ces fronti`eres de decision seront lineaires. Elles permettront chacune de decouper
lespace dentree en deux regions infinies, de part et dautre dune droite. Chaque neurone dun
perceptron simple permet donc de resoudre parfaitement un probl`eme de classification (voir section 4.8) a` deux classes, a` condition que celles-ci soient lineairement separables. Il ne reste plus
qu`a trouver une r`egle dapprentissage pour pouvoir determiner les poids et les biais du reseau
permettant de classer au mieux Q couples dapprentissage :
{(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )}

(5.5)

Pour fixer les idees, considerons le probl`eme particulier, illustre a` la figure 5.3, consistant a`
discriminer entre le point noir (p1 ) et les points blancs (p2 et p3 ) definis par :
(

"

p1 =

1
2

, d1 = +1 , p2 =

"

1
2

, d2 = 1 , p3 =

"

0
2

!)

, d3 = 1

(5.6)

et fixons S = 1 (un seul neurone). Il sagit de trouver un vecteur de poids w correspondant a`


lune ou lautre des fronti`eres de decision illustrees a` la figure 5.3a. Pour simplifier davantage,

42

CHAPITRE 5. PERCEPTRON MULTICOUCHE


p2

p2

p2

p2

w
w

w(t+1)
p1

(a)

p1

p1

(b)

(c)

w(t)

(d)

F IG . 5.3 Exemple dun 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 decision induites par
w passent toutes par lorigine. Le probl`eme, bien sur, est que nous ne connaissons pas a priori la
bonne orientation pour w. Nous allons donc linitialiser aleatoirement, par exemple w = [1 1]T
(voir figure 5.3b).
Considerons le point p1 (point noir). La sortie du reseau pour ce point est donnee par :
"
T

a = hardlims(w p1 ) = hardlims [1 1]

1
2

#!

= hardlims(1) = 1

(5.7)

Or, la sortie desiree pour ce point est +1 (les zones grises a` la figure 5.3 produisent une sortie +1).
Le reseau na donc pas le comportement desire, il faudra modifier le vecteur w. On peut remarquer
que dans le cas particulier de ce probl`eme simplifie, la norme de w ne compte pas car le biais est
nul, seule son orientation importe.
Comment pourrions-nous modifier w pour que le reseau puisse classifier adequatement le
point p1 ? Une solution consisterait a` fixer w = p1 , tel quillustre a` la figure 5.3c. De cette mani`ere,
le point p1 serait parfaitement classer. Mais le probl`eme avec cette approche est que la fronti`ere
de decision bondirait dun stimulus a` lautre au fil de lapprentissage ce qui pourrait engendrer des
oscillations et empecher la convergence dans certains cas. La solution consiste donc a` prendre une
position intermediaire en approchant la direction de w de celle de p1 :
w(t + 1) = w(t) + p1

(5.8)

tel quillustre a` la figure 5.3d. Cette r`egle fonctionne bien pour la categorie de stimulus o`u lon
desire obtenir une sortie +1. Dans la situation inverse, il faut au contraire e loigner w de p1 .
o`u e {1, 0, +1}. Alors, nous avons lensemble suiDefinissons un signal derreur e = da
2
vant de r`egles :

p si e = +1
w = 0 si e = 0
(5.9)

p si e = 1
o`u w = w(t + 1) w(t) et p est le stimulus que lon cherche a` apprendre. Dans le cas o`u b 6= 0,
on peut aussi mettre a` jour le biais en observant simplement que celui-ci nest rien dautre quun
poids comme les autres, mais dont lentree est fixee a` -1. Ainsi :
b = e

(5.10)

p1

43

5.1. PERCEPTRON SIMPLE

(a)

(b)

(c)

F IG . 5.4 Exemples de probl`emes non lineairement separables.


Et dans le cas general o`u lon dispose de S neurones, on peut ree crire lequation 5.9 sous forme
matricielle de la facon suivante :
W = epT
b = e

(5.11)
(5.12)

o`u e = [e1 e2 eS ]T = d a est le vecteur des erreurs que lon observe en sortie pour le stimulus
p.
Malgre sa relative simplicite, la r`egle du perceptron sav`ere tr`es puissante. Vous pouvez facilement experimenter avec cette r`egle grace a` la Neural Network toolbox de Matlab, programme
de demonstration nnd4pr.
Nous ne demontrerons pas ici quelle converge toujours vers une solution en un nombre fini
diterations, mais sachez quune telle preuve existe. Il importe cependant de connatre les hypoth`eses sous-jacentes a` cette preuve :
1. Le probl`eme doit e tre lineairement separable ;
2. Les poids ne sont mis a` jour que lorsquun stimulus dentree est classe incorrectement ;
3. Il existe une borne superieure sur la norme des vecteurs de poids.
La premi`ere hypoth`ese va de soit car sil nexiste aucune solution lineaire au probl`eme, on ne peut
pas sattendre a` ce quun reseau qui ne peut produire que des solutions lineaires puisse converger !
La deuxi`eme hypoth`ese est implicite dans lequation 5.11. Lorsque le signal derreur e est nul,
le changement de poids W est e galement nul. La troisi`eme hypoth`ese est plus subtile mais
constant, sans changer lorientation
non limitative. Si lon sarrange pour conserver le ratio ||w||
b
de w pour un neurone donne, on ne change aucunement la fronti`ere de decision que ce neurone
engendre. Sans perte de generalite, on peut donc reduire la norme des poids lorsque celle-ci devient
trop grande.
Mais quentend-on par un probl`eme a` deux classes lineairement separables ? Et bien simplement un probl`eme de classification dont la fronti`ere de decision permettant de separer les deux
classes peut sexprimer sous la forme dun hyperplan (plan dans un espace a` n dimensions). Par
exemple, les probl`emes de la figure 5.4 ne sont pas separables en deux dimensions (par de simples
droites). Des fronti`eres possibles sont dessinees en pointilles. Elles sont toutes non lineaires.

44

CHAPITRE 5. PERCEPTRON MULTICOUCHE

Entre

Couche de S neurones

p
Rx1

W
SxR

-1
R

Sx1

Sx1

b
Sx1

a = purelin(Wpb)
F IG . 5.5 Reseau ADALINE.

5.2

R`egle LMS

` la section precedente, nous avons traite le cas du perceptron simple o`u les neurones utilisent
A
une fonction de transfert de type seuil. Nous allons maintenant considerer la meme architecture
de reseau a` une seule couche mais avec cette fois-ci une fonction de transfert lineaire comme a` la
figure 5.5. Ce reseau sappelle ADALINE (en anglais ADAptive LInear NEuron) a` cause de
sa fonction de transfert lineaire. Il souffre des memes limitations que le perceptron simple : il ne
peut resoudre que des probl`emes lineairement separables. Cependant, son algorithme dapprentissage, 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 assuree de converger vers une solution, si celle-ci existe,
le reseau resultant est parfois sensible au bruit puisque la fronti`ere de decision se retrouve souvent trop proche des patrons dapprentissage (lalgorithme sarrete d`es que tous les patrons sont
biens classes). En revanche, la r`egle LMS minimise lerreur quadratique moyenne, de sorte que la
fronti`ere de decision a tendance a` se retrouver aussi loin que possible des prototypes.
En pratique, la r`egle du LMS a debouche vers de nombreuses applications dont une des plus
fameuses est lannulation de lecho pour les communications telephoniques. Lorsque que vous
faites un appel inter-urbain ou outre-mer, vous vous trouvez peut-etre, sans le savoir, a` utiliser un
reseau ADALINE !
Comme a` la section 4.1 o`u nous avons developpe le concept dun apprentissage par correction
des erreurs, et comme son nom lindique, la r`egle LMS consiste a` tenter de minimiser un indice
de performance F base sur lerreur quadratique moyenne. Possedant un ensemble dapprentissage
de Q associations stimulus/cible {(pq , dq )}, q = 1, . . . , Q, o`u pq represente un vecteur stimulus
(entrees) et dq un vecteur cible (sorties desirees), a` chaque instant t, on peut propager vers lavant
un stimulus different p(t) a` travers le reseau de la figure 5.5 pour obtenir un vecteur de sorties a(t).
Ceci nous permet de calculer lerreur e(t) entre ce que le reseau produit en sortie pour ce stimulus
et la cible d(t) qui lui est associee :
e(t) = d(t) a(t).

(5.13)

`
5.2. REGLE
LMS

45

Sachant que tous les neurones dune meme couche sont independants les uns des autres, et
pour simplifier les e quations, nous allons developper la r`egle LMS pour S = 1, cest-`a-dire le cas
dun seul neurone. Ensuite, nous pourrons facilement letendre au cas general 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 meme, nous allons regrouper en un vecteur y le stimulus p et lentree virtuelle 1 associee au


biais du neurone :
"
#
p
y=
.
(5.15)
1
Ce qui nous permettra decrire la sortie a du neurone sous une forme simplifiee :
a = wT p b = xT y.

(5.16)

Nous allons donc travailler avec le signal derreur 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 :
h

F (x) = E e2 (t) ,

(5.17)

o`u E[] designe lesperance mathematique. Le probl`eme avec cette e quation est que lon ne peut pas
facilement calculer cette esperance mathematique puisquon ne connat pas les lois de probabilite
de x. On pourrait faire la moyenne des erreurs pour les Q associations dapprentissage mais ce
serait long. Une idee plus interessante, et plus performante en pratique, consiste simplement a`
estimer lerreur quadratique moyenne par lerreur quadratique instantanee pour chaque association
dapprentissage :
F (x) = e2 (t).
(5.18)
Alors, a` chaque iteration de lalgorithme, on peut calculer le vecteur gradient de cet estime :
(x) = e2 (t),
F

(5.19)

o`u les R premiers e lements de e2 (t) correspondent aux derives partielles par rapport aux R poids
du neurone, et le dernier e lement correspond a` la derive partielle par rapport a` son biais. Ainsi :
h

e2 (t)

e(t)
e2 (t)
= 2e(t)
, j = 1, . . . , R,
w1,j
w1,j

(5.20)

et :

e2 (t)
e(t)
= 2e(t)
.
R+1
b
b
Il sagit maintenant de calculer les deux derives partielles de e(t) par rapport a` w1,j :
h

e2 (t)

(5.21)

i
e(t)
[d(t) a(t)]
h
=
=
d(t) (1 wT p(t) b1 )
w1,j
w1,j
w1,j
R
X

=
d(t)
w1,k pk (t) b1
w1,j
k=1
= pj (t),

"

!#

(5.22)

46

CHAPITRE 5. PERCEPTRON MULTICOUCHE

et b :

e(t)
= 1.
b
Notez bien que les termes pj (t) et 1 sont les e lements de y, de sorte quon peut e crire :
(x) = e2 (t) = 2e(t)y(t).
F

(5.23)

(5.24)

Ce resultat nous permet aussi dapprecier la simplicite quengendre lidee dutiliser lerreur instantanee plutot que lerreur moyenne. Pour calculer le gradient estime de notre indice de performance,
il suffit de multiplier lerreur instantanee par le stimulus dentree !
Lequation 5.24 va nous permettre dappliquer la methode de la descente du gradient decrite
par lequation 4.7 (voir section 4.1, page 28) pour modifier les param`etres du neurone dans le sens
dune diminution de F :

x(t) = x(t + 1) x(t) = F (x) x=x(t) .

(5.25)

(x), on obtient :
En substituant F (x) par F
x(t) = 2e(t)y(t),

(5.26)

w(t) = 2e(t)p(t),
b(t) = 2e(t).

(5.27)
(5.28)

ce qui e quivaut a` :

Les e quations 5.27 et 5.28 definissent la r`egle LMS de base. On la nomme e galement r`egle de
Widrow-Hoff, du nom de ses auteurs. Dans le cas dune couche de S neurones, nous pourrons
mettre a` jour chaque rangee i de la matrice de poids ainsi que chaque e lement i du vecteur de biais
a` laide des e quations suivantes :
i w(t) = 2ei (t)p(t),
bi (t) = 2ei (t).

(5.29)
(5.30)

Ce qui nous permet de ree crire le tout sous la forme matricielle :


W(t) = 2e(t)pT (t),
b(t) = 2e(t).

(5.31)
(5.32)

Meme si nous ne demontrerons pas ici la convergence de lalgorithme LMS, il importe de retenir que pour les indices de performance quadratiques (comme dans le cas ADALINE), la methode
de la descente du gradient est garantie de converger vers un minimum global, a` condition de restreindre la valeur du taux dapprentissage. En pratique, nous sommes interesses 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 lalgorithme. Le gradient e tant toujours
perpendiculaire aux lignes de contour de F (x), un petit permettra de suivre ces lignes de contour
vers le bas jusqu`a ce quon rencontre le minimum global. En voulant aller trop vite, lalgorithme


5.3. RESEAU
MULTICOUCHE

(a)

47

(b)

(c)

F IG . 5.6 Trajectoire de la descente du gradient pour differents taux dapprentissage : (a) taux
faible ; (b) taux moyen ; (c) taux (trop) e leve.
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 loptimum. Avec un taux plus e leve (moyen), les pas
sont plus grands mais peuvent avoir tendance a` osciller. On atteint normalement loptimum plus
rapidement. Lorsque le taux est trop e leve, lalgorithme peut diverger.
On peut montrer que pour garantir la convergence de lalgorithme LMS avec le reseauh ADAi
1
o`u max est la plus grande valeur propre de la matrice E y yT .
LINE, il faut que 0 < < max
Pour initialiser lalgorithme, il sagit simplement de fixer tous les poids et biais du reseau a` zero.
Puis, pour realiser lapprentissage, il sagit de lui presenter toutes les associations stimulus/cible
disponibles, a` tour de role, et de mettre les poids a` jour a` chaque fois en utilisant les e quations 5.31
et 5.32. Une periode dentranement correspond a` appliquer ces e quations une fois pour chaque
couple (pi , di ), i = 1, . . . , Q. Notez quil peut e tre avantageux de permuter lordre de presentation
a` chaque periode. Lalgorithme it`ere ainsi jusqu`a un nombre maximum (fixe a priori) de periodes
ou encore jusqu`a ce que la somme des erreurs quadratiques en sortie soit inferieure a` un certain
seuil.

5.3

Reseau multicouche

Jusqu`a present, nous navons traite que des reseaux a` une seule couche de neurones. Nous
avons aussi vu que ces reseaux ne pouvaient resoudre que des probl`emes de classification lineairement separables. Les reseaux multicouches permettent de lever cette limitation. On peut meme
demontrer quavec un reseau de trois couches (deux couches cachees + une couche de sortie),
comme celui de la figure 2.7 (voir page 14), on peut construire des fronti`eres de decision de complexite quelconque, ouvertes ou fermees, concaves ou convexes, a` condition demployer une fonction de transfert non lineaire et de disposer de suffisamment de neurones sur les couches cachees.
Un reseau multicouche nest rien dautre quun assemblage de couches concatenees les unes

48

CHAPITRE 5. PERCEPTRON MULTICOUCHE


Entres

Couche de dcision

p1

-1
2

p2

-1

n11

Conjonction
a11
1

1
-1

1
1

n 2

a12

n21

a21

1.5

-1

-1.5
-1

F IG . 5.7 Reseau multicouche pour resoudre le probl`eme du ou exclusif.


aux autres, de la gauche vers la droite, en prenant les sorties dune couche et en les injectant comme
` la section suivante, nous allons developper lalgorithme dit de
les entrees de la couche suivante. A
retropropagation des erreurs qui permet dentraner un reseau multicouche. Mais pour linstant
nous allons tenter dillustrer a` quoi servent les couches supplementaires. Une chose que lon peut
dej`a remarquer est quil ne sert a` rien dassembler plusieurs couches ADALINE car la combinaison
de plusieurs couches lineaires peut toujours se ramener a` une seule couche lineaire e quivalente.
Cest pourquoi, pour e tre utile, un reseau multicouche doit toujours posseder des neurones avec
fonctions de transfert non-lineaires sur ses couches cachees. Sur sa couche de sortie, selon le type
dapplication, il pourra comporter des neurones lineaires ou non-lineaires.

5.3.1

Probl`eme du ou exclusif

` la figure 5.4a, nous avons illustre un probl`eme de classification non separable lineairement.
A
Il sagit du probl`eme classique du ou exclusif (xor) que lon ne peut pas resoudre ni avec un
perceptron simple, ni avec un reseau ADALINE, car les points noirs ne peuvent pas e tre separes
des blancs a` laide dune seule fronti`ere de decision lineaire. Dans ce probl`eme, les points noirs
representent le vrai (valeur 1) et les points blancs le faux (valeur 0). Le ou exclusif, pour e tre
vrai, exige quune seule de ses entrees soit vraie, sinon il est faux. On peut resoudre facilement ce
probl`eme a` laide du reseau multicouche illustre a` la figure 5.7. Ce reseau a` deux couches utilise
des fonctions de transfert seuil. Sur la premi`ere couche, chaque neurone engendre les fronti`eres
de decision illustrees aux figures 5.8a et 5.8b. Les zones grisees representent la region de lespace
dentree du reseau pour laquelle le neurone correspondant produit une reponse vrai. Le role du
neurone sur la couche de sortie, illustre a` la figure 5.8c, consiste a` effectuer la conjonction des
deux regions produites par les neurones de la premi`ere couche. Notez bien que les entrees de
la deuxi`eme couche sont les sorties de la premi`ere couche. La figure 5.8 represente toutes les
fronti`eres de decision dans lespace des entrees. La fronti`ere de decision engendree par le neurone


5.3. RESEAU
MULTICOUCHE

49
p2

p2

p2

w1

p1

p1

p1

w1

(a)

(b)

(c)

F IG . 5.8 Fronti`eres de decision engendrees par le reseau 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.
a12

w2

a11

F IG . 5.9 Fronti`ere de decision engendree par le neurone qui effectue une conjonction.
de la couche de sortie est aussi illustree dans son propre espace dentree a` la figure 5.9. Il importe
de remarquer que la sortie des fonctions seuils employees e tant limitee aux valeurs {0, 1} (que lon
interpr`ete comme e tant respectivement faux et vrai), seuls les coins du carre illustre a` la figure sont
pertinents. Pour realiser une conjonction (un et logique), le neurone effectue donc la somme de
ses deux entrees et fixe un seuil a` 1.5. Si la somme est inferieur a` 1.5, alors il produit vrai en sortie,
sinon il produit faux. Dans ce cas, seul le coin superieur droite du carre produit vrai en sortie.
Mentionnons finalement que le reseau de la figure 5.7 nest pas le seul a` pouvoir resoudre
ce probl`eme du ou exclusif. Dautres combinaisons de poids et de biais pourraient produire le
meme resultat (pouvez-vous en trouver dautres ?).

5.3.2

Approximation de fonction

Pour faire de lapproximation de fonction (section 4.8), on peut montrer quun reseau multicouche comme celui de la figure 5.10, avec une seule couche cachee de neurones sigmodes et
une couche de sortie avec des neurones lineaires permet dapproximer nimporte quelle fonction
dinteret avec une precision arbitraire, a` condition de disposer de suffisamment de neurones sur la

50

CHAPITRE 5. PERCEPTRON MULTICOUCHE


Couche sigmode

Entre

p
Rx1

a1

W1
S1 x R

-1

Couche linaire

S x1

n1

S2 x S1

S1 x 1

b1

-1

S1 x 1

S1

a1 = logsig(W1p b1)

a2

W2

S x1

n2
S2 x 1

b2
S2

S2 x 1

a2 = purelin(W2a1 b2)

F IG . 5.10 Reseau multicouche permettant de faire de lapproximation de fonction.

(a)

(b)

(c)

(d)

F IG . 5.11 Exemples de fronti`eres de decision : (a) convexe ouverte ; (b) convexe fermee ; (c)
concave ouverte ; et (d) concave fermee.
couche cachee. Intuitivement, un peu a` la facon des series de Fourier qui utilisent des sinus et cosinus, cette preuve passe par la demonstration que lon peut approximer nimporte quelle fonction
dinteret par une combinaison lineaire de sigmodes.

5.3.3

Classification

Pour faire de la classification, on utilisera des reseaux soit a` deux, soit a` trois couches de neurones sigmodes. On peut montrer quune seule couche cachee suffit a` engendrer des fronti`eres de
decision4 convexes, ouvertes ou fermees, de complexite arbitraire, alors que deux couches cachees
permettent de creer des fronti`eres de decision concaves5 ou convexes, ouvertes ou fermees, de
complexite arbitraire. La figure 5.11 montre en deux dimensions differents types de fronti`eres de
decision. Intuitivement, on veut voir que la premi`ere couche cachee dun tel reseau sert a` decouper
lespace dentree a` laide de fronti`eres de decision lineaires, comme on la vu pour le perceptron
simple, la deuxi`eme couche sert a` assembler des fronti`eres de decision non-lineaires6 convexes en
4

Notez bien quune fronti`ere de decision nest pas necessairement une fonction !
Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure, alors quune courbe
concave implique un point dinflexion.
6
Les non-linearites proviennent des sigmodes !
5


5.4. RETROPROPAGATION
DES ERREURS
Entre

Couche 1

p
Rx1

S xR

-1

Couche 2

a1

W1
1

51

n1
S1 x 1

S1 x 1

b1
S1 x 1

S1

a1 = 1(W1p b1)

a2

W2
2

S xS

-1

Couche 3

n2
S2 x 1

S2 x 1

b2

S xS

-1

S2 x 1

a3

W3

S2

a2 = 2(W2a1 b2)

S3 x 1

n3
S3 x 1

b3
S3 x 1

S3

a3 = 3(W3a2 b3)

F IG . 5.12 Representation matricielle dun reseau de trois couches (reproduction de la figure 2.7).
selectionnant ou en retranchant des regions engendrees par la couche precedente et, de meme, la
couche de sortie permet dassembler des fronti`eres de decision concaves en selectionnant ou en
retranchant des regions convexes engendrees par la couche precedente.
Avant de passer a` lalgorithme de retropropagation qui nous permettra dentraner un reseau
multicouche, que nous nommerons dorenavant perceptron multicouche ou PMC, mentionnons que
ce nest pas par hasard que nous avons remplace la fonction de transfert seuil par la fonction
sigmode, mais bien pour pouvoir proceder a` un apprentissage automatique. Par exemple, meme si
nous avons pu construire a` la main, avec la fonction seuil, le reseau de la figure 5.7 pour resoudre le
probl`eme du ou exclusif, nous ne saurions pas comment apprendre automatiquement a` generer
les bons poids et les bons biais de ce reseau. Le probl`eme avec la fonction seuil est que sa derivee
est toujours nulle sauf en un point ou elle nest meme pas definie ! On ne peut donc pas lutiliser
avec la methode de la descente du gradient qui nous a si bien servi pour le reseau ADALINE.

5.4

Retropropagation des erreurs

Pour developper les e quations de lalgorithme de retropropagation des erreur (en anglais
backpropagation), nous aurons besoin de toute la puissance des notations introduites a` la section
2.1 (voir page 5) et illustrees a` la figure 2.7 que nous reproduisons a` la figure 5.12.
Lequation qui decrit les sorties dune couche k dans un perceptron multicouche est donnee
par :


ak = f k Wk ak1 bk , pour k = 1, . . . , M,

(5.33)

o`u M est le nombre total de couches et a0 = p definit le cas de base de cette formule de
recurrence. Les sorties du reseau correspondent alors a` aM . Lalgorithme de retropropagation
est une generalisation de la r`egle LMS. Tous deux utilisent comme indice de performance lerreur quadratique moyenne, et tous deux permettent un apprentissage de type supervise avec un
ensemble dassociation stimulus/cible {(pq , dq )}, q = 1, . . . , Q, o`u pq represente un vecteur sti` chaque instant t, on peut propager vers
mulus (entrees) et dq un vecteur cible (sorties desirees). A

52

CHAPITRE 5. PERCEPTRON MULTICOUCHE

lavant un stimulus different p(t) a` travers le reseau de la figure 5.12 pour obtenir un vecteur de
sorties a(t). Ceci nous permet de calculer lerreur e(t) entre ce que le reseau produit en sortie pour
ce stimulus et la cible d(t) qui lui est associee :
e(t) = d(t) a(t).

(5.34)

Lindice de performance F permet de minimiser lerreur quadratique moyenne :


h

F (x) = E eT (t)e(t)

(5.35)

o`u E[.] designe lesperance mathematique et le vecteur x regroupe lensemble des poids et des
biais du reseau. Tout comme pour la r`egle LMS, nous allons approximer cet indice par lerreur
instantanee :
F (x) = eT (t)e(t)
(5.36)
et nous allons utiliser la methode de la descente du gradient pour optimiser x :
k
wi,j
(t) =

bki (t) =

F
k
wi,j
F
bki

(5.37)
(5.38)

o`u designe le taux dapprentissage.


La procedure doptimisation est donc tr`es semblable a` celle de la r`egle LMS. Cependant,
il faut faire face a` deux difficultes supplementaires. Premi`erement, les fonctions de transfert des
neurones ne sont plus necessairement lineaires. Leur derive partielle ne sera donc plus constante.
Deuxi`emement, nous ne possedons les sorties desirees (les cibles) que pour les neurones de la
couche de sortie. Cest surtout cette deuxi`eme observation qui va nous poser probl`eme.
Pour calculer la derive partielle de F , il faudra faire appel a` la r`egle de chanage des derives :
df [n] dn(w)
df [n(w)]
=

.
dw
dn
dw

(5.39)

Par exemple, si f [n] = en et n = 2w, donc f [w] = e2w , alors :


df [n(w)]
=
dw

den
dn

d2w

dw

= (en )(2) = 2e2w .

(5.40)

Nous allons nous servir de cette r`egle pour calculer les derives partielles des e quations 5.37 et
5.38 :
F
k
wi,j
F
bki

F
nki

,
k
nki
wi,j
F
nki
=

.
nki
bki
=

(5.41)
(5.42)


5.4. RETROPROPAGATION
DES ERREURS

53

Le deuxi`eme terme de ces e quations est facile a` calculer car les niveaux dactivation nki de la
couche k dependent directement des poids et des biais sur cette couche :
nki

k1
SX

k
bki .
ak1
wi,j
j

(5.43)

j=1

Par consequent :
nki
= ak1
,
j
k
wi,j

nki
= 1.
bki

(5.44)

On remarque que cette partie de la derivee partielle de F par rapport a` un poids (ou un biais) est
toujours e gale a` lentree de la connexion correspondante.
Maintenant, pour le premier terme des e quations 5.41 et 5.42, definissons la sensibilite ski de
F aux changements dans le niveau dactivation nki du neurone i de la couche k :
ski

F
.
nki

(5.45)

On peut alors ree crire les e quations 5.41 et 5.42 de la facon suivante :
F
k
wi,j
F
bki

= ski ak1
,
j

(5.46)

= ski ,

(5.47)

et les expressions des e quations 5.37 et 5.38 de la facon suivante :


k
wi,j
(t) = ski (t)ajk1 (t),

bki (t)

ski (t),

(5.48)
(5.49)

ce qui donne en notation matricielle :


Wk (t) = sk (t)(ak1 )T (t),
bk (t) = sk (t),
avec :

k
s
=

nk

F
nk1
F
nk2

..
.
F
nk k

(5.50)
(5.51)

(5.52)

Par rapport a` la r`egle LMS, il est interessant de noter la ressemblance des e quations ci-dessus avec
les e quations 5.31 et 5.32. On remarque que le terme 2e(t) est simplement remplace par sM (t).

54

5.4.1

CHAPITRE 5. PERCEPTRON MULTICOUCHE

Calcul des sensibilites

Il reste maintenant a` calculer les sensibilites sk , ce qui requerra une nouvelle application de la
r`egle de chanage des derives. Dans ce cas, nous obtiendrons une formule de recurrence o`u la sensibilite des couches en amont (entrees) dependra de la sensibilite des couches en aval (sorties). Cest
de l`a que provient lexpression retropropagation, car le sens de propagation de linformation est
inverse par rapport a` celui de lequation 5.33.
Pour deriver la formule de recurrence des sensibilites, nous allons commencer par calculer la
matrice suivante :

nk+1
nk+1
nk+1
1
1
1

k
k
k
n
n

n
1

nk+1
nk

Sk

nk+1
2
nk1

nk+1
2
nk2

..
.

..
.

..

nk+1
k+1

nk+1
k+1

nk1

nk2

nk+1
2
nk k
S

..
.

nk+1
k+1

(5.53)

nk k
S

Cette matrice e num`ere toutes les sensibilites des niveaux dactivation dune couche par rapport a`
ceux de la couche precedente. Considerons chaque e lement (i, j) de cette matrice :

k
S
nk+1
X
i
k+1 k
k+1
k+1 aj
=
w
a

b
=
w
i
i,j
nkj
nkj l=1 i,l l
nkj
k+1
= wi,j

f k (nkj )
k+1 k
= wi,j
f (nkj ),
nkj

(5.54)

avec :

f k (nkj )
k
k

f (nj ) =
.
nkj
Par consequent, la matrice de lequation 5.53 peut secrire de la facon suivante :
nk+1
= Wk+1 F k (nk ),
nk
o`u :

k
k
F (n ) =

fk (nk1 )

(5.55)

(5.56)
0

fk (nk2 )

..
.

..
.

...

..
.

(5.57)

0
0
fk (nkS k )
Ceci nous permet maintenant decrire la relation de recurrence pour les sensibilites :
k

F
=
=
nk


= F k nk



nk+1
nk
Wk+1

!T

T

 


F
k nk Wk+1 T F
=
F
nk+1
nk+1

sk+1 .

(5.58)


5.4. RETROPROPAGATION
DES ERREURS

55

Cette e quation nous permet de calculer s1 a` partir de s2 , qui lui-meme est calcule a` partir de s3 ,
etc., jusqu`a sM . Ainsi les sensibilites sont retropropagees de la couche de sortie jusqu`a la couche
dentree :
sM sM 1 s2 s1 .
(5.59)
Il ne nous reste plus qu`a trouver le cas de base, sM , permettant de mettre fin a` la recurrence :
T 

sM
i

SM
d aM
d aM
X
F
2
=
=
(dl aM
=
l )
M
M
M
ni
ni
ni
l=1

 aM
i

= 2 di aM
i
= 2 di aM
i

nM
i


M
f nM .

(5.60)

En notation matricielle, on e crit :




sM = 2F M nM

5.4.2



d aM .

(5.61)

Algorithme dentranement

Voici donc un resume de la demarche a` suivre pour entraner un perceptron multicouche :


1. Initialiser tous les poids du reseau a` de petites valeurs aleatoires.
2. Pour chaque association (pq , dq ) dans la base dapprentissage :
(a) Propager les entrees pq vers lavant a` travers les couches du reseau :
a0 = pq ,

(5.62)

ak = f k Wk ak1 bk , pour k = 1, . . . , M.

(5.63)

(b) Retropropager les sensibilites vers larri`ere a` travers les couches du reseau :


sM = 2F M nM


sk = F k nk





dq aM ,

Wk+1

T

sk+1 , pour k = M 1, . . . , 1.

(5.64)
(5.65)

(c) Mettre a` jour les poids et biais :




Wk = sk ak1

T

, pour k = 1, . . . , M,

bk = sk , pour k = 1, . . . , M.
3. Si le crit`ere darret est atteint, alors stop.
4. Sinon, permuter lordre de presentation des associations de la base dapprentissage.
5. Recommencer a` letape 2.

(5.66)
(5.67)

56

CHAPITRE 5. PERCEPTRON MULTICOUCHE

5.4.3

Crit`eres darret

Plusieurs crit`eres darrets peuvent e tre utilises avec lalgorithme de retropropagation des erreurs. Le plus commun consiste a` fixer un nombre maximum de periodes dentranement, ce qui
fixe effectivement une limite superieure sur la duree de lapprentissage. Ce crit`ere est important car
la retropropagation des erreurs noffre aucune garantie quant a` la convergence de lalgorithme. Il
peut arriver, par exemple, que le processus doptimisation reste pris dans un minimum local. Sans
un tel crit`ere, lalgorithme pourrait ne jamais se terminer.
Un deuxi`eme crit`ere commun consiste a` fixer une borne inferieure sur lerreur quadratique
moyenne, ou encore sur la racine7 carree de cette erreur. Dependant de lapplication, il est parfois
possible de fixer a priori un objectif a` atteindre. Lorsque lindice de performance choisi diminue
en dessous de cet objectif, on consid`ere simplement que le PMC a suffisamment bien appris ses
donnees et on arrete lapprentissage.
Les deux crit`eres precedents sont utiles mais ils comportent aussi des limitations. Le crit`ere
relatif au nombre maximum de periodes dentranement nest aucunement lie a` la performance du
reseau. Le crit`ere relatif a` lerreur minimale obtenue mesure quant a` lui un indice de performance
mais ce dernier peut engendrer un phenom`ene dit de sur-apprentissage qui nest pas desirable dans
la pratique, surtout si lon ne poss`ede pas une grande quantite de donnees dapprentissage, ou si
ces derni`eres ne sont pas de bonne qualite.
Un processus dapprentissage par correction des erreurs, comme celui de la retropropagation,
vise a` reduire autant que possible lerreur que commet le reseau. Mais cette erreur est mesuree
sur un ensemble de donnees dapprentissage. Si les donnees sont bonnes, cest-`a-dire quelles
representent bien le processus physique sous-jacent que lon tente dapprendre ou de modeliser,
et que lalgorithme a converge sur un optimum global, alors il devrait bien performer sur dautres
donnees issues du meme processus physique. Cependant, si les donnees dapprentissage sont partiellement corrompues par du bruit ou par des erreurs de mesure, alors il nest pas e vident que la
performance optimale du reseau sera atteinte en minimisant lerreur, lorsquon la testera sur un jeu
de donnees different de celui qui a servi a` lentranement. On parle alors de la capacite du reseau a`
generaliser, cest-`a-dire de bien performer avec des donnees quil na jamais vu auparavant.
Par exemple, la figure 5.13 illustre le probl`eme du sur-apprentissage dans le contexte dune
tache dapproximation de fonction (voir section 4.8). La droite en pointilles montre une fonction
lineaire que lon voudrait approximer en ne connaissant que les points noirs. La courbe en trait
plein montre ce quun reseau hypothetique pourrait apprendre. On constate que la courbe passe
par tous les points dentranement et donc que lerreur est nulle. De toute e vidence, ce reseau ne
generalisera pas bien si lon e chantillonne dautres points sur la droite !
Une solution a` ce probl`eme consiste a` utiliser un autre crit`ere darret base sur une technique
dite de validation croisee (en anglais cross-validation). Cette technique consiste a` utiliser deux
ensembles independants8 de donnees pour entraner notre reseau : un pour lapprentissage (lajustement des poids) et lautre pour la validation, cest-`a-dire le calcul dun indice de performance (une
7
8

On parle alors de la racine de lerreur quadratique moyenne. En anglais, on dit Root Mean Square ou RMS.
En pratique cela consiste a` partitionner les donnees disponibles en deux ensembles distincts.


5.4. RETROPROPAGATION
DES ERREURS

57

F IG . 5.13 Illustration du phenom`ene de sur-apprentissage pour le cas simple dune approximation de fonction.

erreur

validation

arrt
sur-apprentissage

entranement
temps
F IG . 5.14 Illustration de la validation croisee.
erreur, un taux de reconnaissance ou tout autre mesure pertinente a` lapplication). Le crit`ere darret
consiste alors a` stopper lapprentissage lorsque lindice de performance calcule sur les donnees de
validation cesse de sameliorer pendant plusieurs periodes dentranement. La figure 5.14 illustre
le crit`ere de la validation croisee dans le cas dun indice de performance que lon cherche a` minimiser. La courbe en pointilles de ce graphique represente lindice de performance dun reseau
hypothetique9 calcule sur les donnees dapprentissage, alors que la courbe en trait plein montre le
meme indice mais calcule sur les donnees de validation. On voit quil peut exister un moment au
cours de lapprentissage o`u lindice en validation se deteriore alors que le meme indice continue a`
sameliorer pour les donnees dentranement. Cest alors le debut du sur-apprentissage.
9

Des courbes semblables sobservent couramment dans la pratique.

58

CHAPITRE 5. PERCEPTRON MULTICOUCHE


100

0.3

100

0.4

-0.5

-1

F IG . 5.15 Exemple dun neurone sature.

5.4.4

Phenom`ene de saturation

Une autre consideration pratique dont on doit tenir compte lorsquon entrane un PMC concerne
le phenom`ene de saturation des neurones o`u, sous certaines conditions, les neurones peuvent a` toute
fin pratique cesser dapprendre tellement leur convergence devient lente. Considerons par exemple
le reseau de la figure 5.15, constitue dun seul neurone a` deux entrees avec p1 = p2 = 100. Si lon
calcule son niveau dactivation n, on obtient :
n = 100 0.3 + 100 0.4 + 0.5 = 70.5

(5.68)

On peut dej`a remarquer que leffet du biais est negligeable devant celui des deux poids dentree,
malgre le fait quils soient tous les trois du meme ordre de grandeur, a` cause de lamplitude des
entrees. Si lon calcule la sortie du neurone, on obtient :
a = logsig(n) =

1
1
=
1.
1 + exp(n)
1 + exp(70.5)

(5.69)

En effet, exp(70.5) = 2.4 1031 . On dit alors que le neurone est sature. Le probl`eme avec un
tel neurone est quil ne peut presque plus apprendre car la derivee de sa fonction dactivation est
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.70)

Avec a 1, on obtient :
a 1 (1 1) = 0

(5.71)

Or, comme les variations de poids dans lalgorithme de retropropagation des erreurs, definies aux
e quations 5.66 et 5.67, dependent lineairement des sensibilites (voir e quations 5.64 et 5.65) qui
elles-memes dependent de la derivee de la fonction dactivation, on voit immediatement quelles
tendent vers zero lorsque le neurone est sature et que la convergence, meme si elle est toujours
possible, requerra beaucoup de periodes dapprentissage.


5.4. RETROPROPAGATION
DES ERREURS

59

Par consequent, a` cause de ce phenom`ene de saturation, il importe de normaliser les donnees


a` lentree dun PMC, cest-`a-dire de les transformer de mani`ere a` e viter tout risque de saturation.
Une autre facon de proceder est dinitialiser les poids sur la premi`ere couche en choisissant un
intervalle de valeurs aleatoires ajuste aux stimuli dapprentissage. Par exemple, pour lentree j
dun reseau a` R entrees, on pourrait choisir lintervalle suivant :
"

1
1
, j = 1, . . . , R,
q ,
maxq |pj | maxq |pqj |

(5.72)

o`u {q} designe lensemble des stimuli dapprentissage.


Une autre alternative serait de fixer tous les poids a` zero. Bien que ceci reglerait certes le
probl`eme de la saturation des neurones, ce nest malheureusement pas une alternative viable. En
effet, il se trouve que lorigine de lespace des poids correspond souvent a` un lieu dinstabilite de
la fonction derreur du reseau. Et ceci peut facilement entraner la divergence de lalgorithme de
retropropagation.

5.4.5

Groupage

Au lieu de mettre a` jour les poids pour chaque donnee dentranement, une alternative consiste
a` accumuler les variations de poids sur une periode dapprentissage compl`ete et de mettre a` jour
les poids en une seule fois avec la moyenne de ces variations. On parle alors dapprentissage
hors-ligne ou par groupage (en anglais batching). Lidee est la suivante : lestimation du
gradient quengendre chaque donnee dentranement est peu precise, la moyenne de ces estimations
devrait e tre plus pr`es du gradient reel. En fait, si les donnees dentranement couvrent adequatement
lespace des entrees, alors la moyenne de ces estimations sera exacte.
Mais le groupage nest pas une panacee car cela peut aussi ralentir considerablement la convergence, puisque les poids changent moins souvent. Autrement dit, si lestimation du gradient basee
sur une seule donnee dentranement a tendance a` e tre bonne, alors on pourrait converger jusqu`a
Q fois plus lentement si lon proc`ede par groupage. Par contre, lorsque cette estimation est plutot
mauvaise, le groupage sert a` e viter de partir dans une mauvaise direction qui, autrement, augmenterait nos chances de rester pris dans un minimum local inadequat.

5.4.6

Momentum

Une facon dameliorer lalgorithme de retropropagation est de rajouter un terme dinertie dont
le role est de filtrer les oscillations dans la trajectoire de la descente du gradient :


Wk (t) = Wk (t 1) (1 )sk ak1

T

, pour k = 1, . . . , M,

bk (t) = bk (t 1) + (1 )sk , pour k = 1, . . . , M.

(5.73)
(5.74)

o`u 0 < 1 sappelle le momentum. Lorsque = 0, les e quations 5.73 et 5.74 sont e quivalentes
aux e quations 5.66 et 5.67, respectivement. Lorsque = 1, les Wk (t) et bk (t) ne dependent

60

CHAPITRE 5. PERCEPTRON MULTICOUCHE

plus des e quations de retropropagation des erreurs, mais uniquement des Wk (t1) et bk (t1),
cest-`a-dire des changements de poids a` letape precedente.
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 demblee a`
ajouter 80% du changement precedent au changement courant. Deuxi`emement, lorsque le gradient
courant pointe dans la meme direction que le gradient precedent, le terme dinertie contribue a`
augmenter lampleur du pas dans cette direction et donc a` accelerer la convergence.

5.4.7

Taux dapprentissage variable

Une autre facon dameliorer la vitesse de convergence pour la retropropagation des erreurs
serait de modifier le taux dapprentissage dynamiquement tout au long de lentranement. Plusieurs
approches peuvent e tre considerees. Par exemple, on peut adopter la strategie suivante :
1. Si lerreur quadratique totale, calculee pour toutes les associations de la base dapprentissage, augmente dune periode a` lautre par plus dun certain pourcentage (typiquement de
1 a` 5%) a` la suite dune mise a` jour des poids, alors cette mise a` jour doit e tre abandonnee
et le taux dapprentissage doit e tre multiplie par un facteur 0 < < 1, et le momentum doit
e tre fixe a` zero ;
2. Si lerreur quadratique totale diminue a` la suite dune mise a` jour des poids, alors celle-ci
est conservee et le taux dapprentissage est multiplie par un facteur > 1 ; si le momentum
avait precedemment e te fixe a` zero, alors on lui redonne sa valeur originale ;
3. Si lerreur quadratique totale augmente par moins de , alors la mise a` jour des poids est
acceptee et le taux dapprentissage reste inchange ; Si le momentum avait precedemment e te
fixe a` zero, alors on lui redonne sa valeur originale ;
Cette approche suppose que lapprentissage fonctionne par groupage, cest-`a-dire que les mises
a` jour des poids sont accumulees sur lensemble des associations de la base dapprentissage et
appliquees une fois a` la fin de chaque periode (section 5.4.5). Dans certains cas cela peut accelerer
grandement la convergence. Dans dautres cas, cette approche peut aussi nuire a` la convergence.
Il faut comprendre que ce genre de technique ajoute des param`etres10 (, et ) quil faut fixer a
priori. Pour un probl`eme donne, certaines combinaisons de param`etres peuvent e tre benefiques et
dautres non. Parfois, lemploi dune telle methode peut meme entraner une divergence rapide l`a
o`u la retropropagation des erreurs avec momentum produisait une convergence lente.

5.4.8

Autres considerations pratiques

Nous e numerons ci-dessous dautres considerations pratiques pour lentranement du PMC.


Selon les circonstances, celles-ci peuvent aussi avoir un effet appreciable sur la performance de
lalgorithme de retropropagation des erreurs.
10

Lapproche decrite ici, proposee par Vogl et al. en 1988, est relativement simple parmi lensemble des variantes
qui ont e te explorees dans la litterature pour faire varier dynamiquement le taux dapprentissage.


5.4. RETROPROPAGATION
DES ERREURS

61

1. Lorsquon utilise une couche de sortie non-lineaire, cest-`a-dire une couche dont les neurones poss`edent des fonctions dactivation non lineaires telles que la sigmode ou la tangente
hyperbolique (voir section 2.3), il importe de ne pas chercher a` saturer les neurones en fixant
des sorties desirees qui tendent vers lassymptote de la fonction. Dans le cas de la sigmode,
par exemple, au lieu de fixer des sorties desirees a` 0 ou a` 1, on peut les fixer a` 0.05 et
0.95. Ainsi, la retropropagation des erreurs ne cherchera pas a` entraner les poids dans une
direction qui pourrait rendre le neurone incapable de sadapter.
2. Les sensibilites des neurones sur les derni`eres couches ont tendance a` e tre plus grandes que
sur les premi`eres couches ; le taux dapprentissage sur ces derni`eres devrait donc e tre plus
grand que sur ces premi`eres si lon veut que les differentes couches apprennent approximativement au meme rythme.
` chaque periode dentranement, il importe de permuter lordre de presentation des stimuli
3. A
pour reduire la probabilite quune sequence de donnees pathologique nous garde prisonnier dun pi`etre minimum local. En effet, la performance de la methode de la descente du
gradient peut dependre grandement de cet ordre de presentation qui engendre des trajectoires differentes dans lespace des param`etres, et des trajectoires differentes peuvent nous
amener a` des minimums locaux differents. Meme sil existe des sequences pathologiques,
le fait de permuter les donnees a` chaque periode nous garantit que lon ne tombera pas
systematiquement sur les memes.
4. Dans le contexte dun probl`eme de classification a` n classes, on associe generalement un
neurone de sortie distinct a` chacune delles (S M = n). Ainsi, on interpretera chaque neurone
sur la couche de sortie comme indiquant si oui ou non le stimulus dentree appartient a` la
classe correspondante. On construira les vecteurs d de sorties desirees avec deux valeurs
possibles pour chaque composante : une valeur pour le oui et une valeur pour le non.
Si lon choisit la fonction dactivation 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 categorie associee au neurone
ayant produit la sortie maximale.
5. Dans le contexte dun probl`eme dapproximation de fonction, on choisit generalement des
neurones lineaires pour la couche de sortie. Autrement, cela force le reseau a` apprendre
linverse de la fonction dactivation utilisee, en plus de la fonction que lon veut vraiment
quil apprenne.
6. Effectuer lapprentissage dun reseau quelconque revient a` estimer les bonnes valeurs pour
chacun de ses poids. Pour pouvoir estimer les param`etres dun syst`eme quelconque possedant
un certain nombre de degres de liberte (param`etres independants), il est necessaire de posseder
au moins un nombre e quivalent de donnees. Mais dans la pratique il en faut bien plus ! Une
r`egle heuristique nous indique que pour pouvoir esperer estimer correctement les n poids
dun reseau de neurones, 10n donnees dentranement sont requises.
7. La performance dun reseau lorsquevaluee avec ses donnees dentranement est presque
toujours sur-estimee. Il faut bien comprendre que le reseau ne comporte aucune intelli` la limite, il peut
gence reelle. Il ne fait quapprendre les associations quon lui fournit. A
les apprendre par c ?ur. Nous avons discute a` la section 5.4.3 du phenom`ene de surapprentissage. Nous avons vu quune procedure de validation-croisee peut augmenter la

62

CHAPITRE 5. PERCEPTRON MULTICOUCHE


capacite de generalisation dun reseau. Si lon veut e valuer correctement la performance
dun reseau, il faut le faire avec des donnees qui nont aucunement servi au processus dapprentissage, ni pour la retropropagation des erreurs, ni pour la validation croisee. En pratique,
ceci implique de diviser les donnees dentranement en trois sous-ensembles distincts : les
donnees dentranement, de validation et de test. La proportion relative de ces ensembles peut
e videmment varier selon lapplication, mais une bonne proportion se situe aux alentours de
50-20-30%, respectivement.

5.5

Methode de Newton

La methode de Newton est une autre procedure doptimisation, parfois plus efficace que la
descente du gradient. Alors que cette derni`ere est basee sur une approximation par la serie de
Taylor de premier ordre (qui nutilise que la derive premi`ere), la methode de Newton est basee sur
la serie de Taylor de deuxi`eme ordre, o`u lon tient compte non seulement de la derive premi`ere,
mais aussi de la derive seconde :
1
(5.75)
F (x0 ) = F (x + x) F (x) + F (x)T x + xT 2 F (x)x = F (x),
2
o`u x0 est un point dans le voisinage de x, x = x0 x, F (x) est le vecteur gradient de F (x) et
2 F (x) est la matrice hessienne de F (x). Lidee consiste a` rechercher un plateau dans lexpression
quadratique de F (x). En derivant lexpression de F (x) par rapport a` x et en fixant le tout a` zero,
on obtient :
F (x) + 2 F (x)x = 0.
(5.76)
et :

1

x = 2 F (x)

F (x)

(5.77)

La methode de Newton propose donc dexplorer lespace des param`etres libres dans la direction
x qui pointe vers un plateau de F (x), cest-`a-dire soit un maximum, soit un minimum.
Cette methode converge en une seule e tape lorsque F est une fonction quadratique, puisquon
approxime alors une fonction quadratique par une autre fonction quadratique e quivalente. Lorsque
F nest pas quadratique, cette methode converge generalement tr`es rapidement a` condition davoir
un bon point de depart (x nest pas trop loin de loptimum), car la plupart des fonctions analytiques
sapproximent bien avec une fonction quadratique a` linterieur dun petit voisinage autour dun optimum. Cependant, meme dans ce cas, on ne saura pas si cet optimum est minimum ou maximum.
On ne saura pas non plus si loptimum est local ou global. De plus, lorsquon seloigne de ce voisinage, la methode de Newton peut donner des resultats imprevisibles. Finalement, cette methode
comporte aussi le gros desavantage de necessiter le calcul et le stockage de la matrice hessienne,
dune part, et de son inverse, dautre part. Dans le cas dun perceptron multicouche comportant
plusieurs centaines ou meme plusieurs milliers de poids, cela sav`ere totalement impossible en
pratique11 .
11

Il faut se rappeler que si le vecteur gradient crot lineairement avec le nombre de param`etres libres de la fonction,
la taille (en nombre delements) de la matrice hessienne, elle, crot avec le carre de ce nombre. De plus, le meilleur algorithme connu pour linversion dune matrice n n poss`ede une complexite O(n2.376 ). Quant a` la methode classique
delimination de Gauss, elle requiert un temps O(n3 ).


5.6. METHODE
DU GRADIENT CONJUGUE

63

Nous avons presente dans cette section la methode de Newton non pas pour lutiliser avec
le perceptron multicouche, mais bien pour mettre en relief les merites de la retropropagation, et
aussi pour faire le tour des differentes alternatives disponibles. Ceci nous am`ene a` discuter dun
compromis o`u il ne sera pas necessaire de calculer ni dinverser la matrice hessienne.

5.6

Methode du gradient conjugue

La methode du gradient poss`ede la plupart des avantages de la methode de Newton mais sans
linconvenient davoir a` calculer et a` inverser la matrice hessienne. Elle est basee sur le concept
des vecteurs conjugues, dune part, ainsi que sur la recherche dun minimum le long dune droite,
dautre part.
Les vecteurs dun ensemble {pk } sont mutuellement conjugues par rapport a` une matrice A
positive definie (dont les valeurs propres sont toutes strictement positives) si, et seulement si,
pTk Apj = 0, k 6= j.

(5.78)

Comme pour les vecteurs orthogonaux, il existe une infinite densembles de vecteurs conjugues
qui couvrent un espace vectoriel de dimension m. Un de ceux-l`a est forme des vecteurs propres
de A, {z1 , z2 , . . . , zm }, associes aux valeurs propres {1 , 2 , . . . , m }. Pour le montrer, il suffit de
remplacer les pk par des zk dans lequation precedente :
zTk Azj = zTk j zj = j zTk zj = 0, k 6= j,

(5.79)

o`u la derni`ere e galite decoule du fait que les vecteurs propres dune matrice positive definie sont
toujours orthogonaux. Par consequent, les vecteurs propres dune telle matrice sont a` la fois orthogonaux et conjugues. Cependant, cette observation ne nous aide pas beaucoup si la matrice A en
question correspond a` la matrice hessienne 2 F que lon veut e viter de calculer dans la methode
de Newton, notre objectif e tant de trouver un algorithme efficace utilisant la derivee seconde mais
sans e tre oblige de la calculer explicitement.
Pour une fonction F quadratique possedant m param`etres libres, on peut montrer quil est
toujours possible datteindre son minimum en effectuant tout au plus m recherches lineaires le long
de droites orientees dans des directions conjuguees {p1 , p2 , . . . , pm }. La question qui demeure est
comment construire ces directions conjuguees sans faire reference a` la matrice hessienne de F ?
Lexpression generale dune fonction quadratique est donnee par :
1
F (x) = xT Ax + dT x + c
2

(5.80)

F (x) = Ax + d

(5.81)

o`u le gradient F est donne par :


et la matrice hessienne par 2 F (x) = A. En posant gt F (x)|x=xt et en combinant ces
e quations, on peut trouver le changement de gradient gt a` literation t :
gt = gt+1 gt = (Axt+1 + d) (Axt + d) = Axt

(5.82)

64

CHAPITRE 5. PERCEPTRON MULTICOUCHE

o`u la variation des param`etres libres xt au temps t est donnee par :


xt = xt+1 xt = t pt

(5.83)

avec un t choisi de mani`ere a` minimiser F (xt ) dans la direction de pt .


On peut maintenant ree crire la condition des vecteurs conjugues de lequation 5.78 de la
mani`ere suivante :
t pTt Apj = xTt Apj = gtT pj = 0, t 6= j.
(5.84)
On remarque immediatement quen considerant le changement de gradient a` chaque iteration t
de lalgorithme, on peut faire disparatre la matrice hessienne de lequation qui definit la condition des vecteurs conjugues. La direction de recherche pj sera alors conjuguee a` condition detre
orthogonale a` la variation du gradient !
` chaque iteration t de lalgorithme des gradients conjugues, il sagit donc de construire une
A
direction de recherche pt qui est orthogonale a` {g0 , g1 , . . . , gt1 } en utilisant une procedure
semblable a` la methode de Gram-Schmidt (section 3.1.5, page 21), qui peut se simplifier a` lexpression suivante :
pt = gt + t pt1
(5.85)
o`u les scalaires t peuvent se calculer de trois mani`eres e quivalentes :
T
T
gt1
gt
gt1
gt
gtT gt
, t = T
, t = T
t =
T
gt1 pt1
gt1 gt1
gt1 gt1

5.6.1

(5.86)

Algorithme du gradient conjugue

Pour entraner un reseau perceptron multicouche avec la methode du gradient conjugue, il importe tout dabord de proceder par groupage. En effet, puisquon cherche a` exploiter linformation
contenue dans la variation du gradient (une forme de derivee seconde), il est primordial de calculer
celle-ci a` partir de gradients estimes avec un maximum de precision. Sinon, on se retrouverait a`
surtout exploiter du bruit qui entranerait a` coup sur la divergence de lalgorithme. Ensuite, il sagit
de remarquer que lindice de performance dun perceptron multicouche nest pas une fonction quadratique, de sorte quon ne doit pas sattendre a` converger en m iterations comme ce serait le cas
pour une fonction quadratique. Ceci implique quil faudra re-initialiser la methode a` toutes les m
iterations, a` chaque fois que nous passerons a` travers m directions12 conjuguees successives. Pour
ce faire, nous pourrons simplement employer la methode de descente du gradient. Voici donc les
principales e tapes de lalgorithme :
1. t = 0 ;
2. Choisir la prochaine direction conjuguee de recherche :
(

pt =
12

gt + t pt1 si t mod m 6= 0
gt
si t mod m = 0

Il y a aura autant de directions conjuguees quil y a de poids dans le reseau.

(5.87)


5.6. METHODE
DU GRADIENT CONJUGUE

65

-g1
x0
x1

p1
p0

F IG . 5.16 Illustration de la methode du gradient conjugue.


avec gt F (x)|x=xt et t est calcule comme a` lequation 5.86 :
T
T
gt1
gt
gt1
gt
gtT gt
t =
, t = T
, t = T
T
gt1 pt1
gt1 gt1
gt1 gt1

(5.88)

3. Faire un pas comme a` lequation 5.83, en choisissant t de mani`ere a` minimiser la fonction


F dans la direction de recherche pt :
xt+1 = xt + t pt ;

(5.89)

4. t = t + 1 ;
5. Si le crit`ere darret nest pas atteint, alors recommencer a` letape 2.
Cet algorithme est illustre a` la figure 5.16 dans le cas dune fonction F quadratique a` deux
variables. Dans ce cas, on converge en deux iterations. La direction initiale p0 est choisie dans le
sens inverse du gradient. En faisant une recherche du minimum dans cette direction, on obtient
un point x1 sur une autre courbe de niveau. Au lieu de recommencer dans la direction inverse du
gradient, perpendiculaire a` la courbe de niveau, on choisit plutot une direction conjuguee p1 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 dune droite

Pour completer la description de la methode du gradient conjugue, il ne nous reste plus qu`a
resoudre le probl`eme de la recherche du minimum dune fonction le long dune droite. Soit F (x0 )
la valeur initiale de la fonction a` minimiser et p la direction dans laquelle on veut faire cette
minimisation. Alors, on commence par calculer :
Fi = F (x0 + 2i p), i = 0, 1, . . . , I

(5.90)

jusqu`a ce quon trouve un FI > FI1 , avec representant une distance e lementaire pour notre
recherche dun intervalle initial contenant le minimum. Ce dernier doit donc se trouver quelque

66

CHAPITRE 5. PERCEPTRON MULTICOUCHE

8e
4e
2e
F4

F0
F1
e
F2
F3
x0

x1

x2

x3

x4

F IG . 5.17 Etape
de localisation dun intervalle initial de recherche.
part entre FI2 et FI et lintervalle de recherche est maintenant reduit a` a1 = x0 + 2I2 p et b1 =
x0 + 2I p (voir figure 5.17). Pour reduire davantage cet intervalle, on peut appliquer lalgorithme
suivant appele Golden Section search :
1. = 0.618 ;
2. Calculer :
c1
d1
Fc
Fd

=
=
=
=

a1 + (1 )(b1 a1 )
b1 (1 )(b1 a1 )
F (c1 )
F (d1 )

3. k = 1 ;
4. Si Fc < Fd , alors calculer (voir figure 5.18a) :
ak+1
bk+1
ck+1
dk+1
Fd
Fc

=
=
=
=
=
=

ak
dk
ak+1 + (1 )(bk+1 ak+1 )
ck
Fc
F (ck+1 )

Autrement calculer (voir figure 5.18b) :


ak+1
bk+1
ck+1
dk+1
Fc
Fd

=
=
=
=
=
=

ck
bk
dk
bk+1 (1 )(bk+1 ak+1 )
Fd
F (dk+1 )


5.6. METHODE
DU GRADIENT CONJUGUE

67

intervalle

intervalle

(a)

(b)

F IG . 5.18 Etape
de reduction de lintervalle de recherche : (a) cas o`u Fc < Fd ; (b) cas o`u
Fd < Fc .
5. k = k + 1 ;
6. Si ||bk ak || > , alors recommencer a` letape 4.
o`u est un param`etre de tolerance specifiant la precision desiree pour la recherche du minimum.
Notez bien que cet algorithme suppose quil nexiste quun seul minimum dans lintervalle initial
de recherche.

68

Chapitre 6
Nuees dynamiques
Dans ce chapitre, nous allons e tudier trois variantes dun algorithme nomme nuees dynamiques et permettant deffectuer une classification non-supervisee dun ensemble de Q stimuli
{p1 , p2 , . . . , pQ }. Lobjectif est double : produire une partition en K classes de cet ensemble,
dune part, et trouver K prototypes W = {1 w, 2 w, . . . , K w}T permettant de representer au mieux
les centres de ces classes. Bien quhistoriquement cet algorithme nappartienne pas au domaine
des reseaux de neurones, plusieurs architectures neuronales, dont celles decrites dans les deux chapitres suivants (Kohonen et GNG), sen inspirent en effectuant des traitements semblables. Nous
abordons donc cet algorithme en guise dintroduction aux reseaux non supervises, bases sur lapprentissage competitif (voir chapitre 4).
On peut visualiser les prototypes i w, i = 1, . . . , K, comme les poids de K neurones competitifs
alignes sur une seule couche, tel quillustre a` la figure 6.1. Le niveau dactivation dun neurone
competitif est determine par la distance entre son vecteur de poids et le stimulus dentree,
contrairement au neurone de type perceptron o`u lon mesurait plutot une correlation entre ces
deux vecteurs. Ensuite, la fonction dactivation competitive (compet) retourne un 1 pour le neurone ayant la plus grande sortie (le gagnant), et un 0 pour tous les autres :
(

ai =

1 si ni = max(nk ), k = 1, . . . , K
k

0 autrement

(6.1)

En cas degalite pour la premi`ere place, on fait gagner arbitrairement le neurone dont lindice est
le plus petit.
Cest la norme ||xy|| qui definit la distance entre deux vecteurs x et y et donc leur manque de
ressemblance. En calculant la negation de cette norme, on obtiendra une mesure de similarite qui
nous permettra de regrouper les stimuli dapprentissage en categories (classes). Habituellement,
on utilisera une norme basee sur le produit scalaire classique mais pouvant incorporer une matrice
positive definie A telle que :
||x y||A =

(x y)T A(x y),

(6.2)

Lorsque A est la matrice identite, on parle alors de distance euclidienne entre x et y. Dans le cas
69


CHAPITRE 6. NUEES
DYNAMIQUES

70
Entre

Couche de K neurones

Rx1

Kx1

a
Kx1

KxR
R

ni = ||iw p||
a = compet(n)

F IG . 6.1 Couche competitive de S = K neurones.


o`u A correspond a` linverse de la matrice de covariance des stimuli dentranement, on parle alors
de la distance de Mahalanobis.

6.1

K-means

Lalgorithme dit du k-means permet de partitionner lensemble des stimuli en K classes


{C1 , C2 , . . . , CK }. Il sagit ici dune partition rigide, cest-`a-dire dune collection de K sousensembles o`u chaque stimulus dentree appartient a` une et une seule classe de la partition U :

U=

u1,1
u2,1
..
.

u1,2
u2,2
..
.

uK,1 uK,2

u1,Q
. . . u2,Q
..
...
.
uK,Q

(6.3)

avec ui,j {0, 1} designant lappartenance du stimulus pj a` la classe Ci :


(

ui,j =

1 si pj Ci
.
0 autrement

(6.4)

De plus, on impose les deux contraintes suivantes sur cette partition :


K
X

ui,j = 1, j = 1, . . . , Q,

(6.5)

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

(6.6)

i=1
Q
X
j=1

La premi`ere specifie que tout stimulus doit appartenir a` une et une seule classe de la partition, alors
que la deuxi`eme precise quune classe doit posseder au moins un stimulus.

71

6.1. K-MEANS

1. Initialiser les centres W(0) en choisissant aleatoirement K stimuli parmi les Q donnees
dapprentissage ;
2. Calculer la partition initiale U(0) a` laide de lequation :
(

ui,j =

1 si ||pj i w|| = min ||pj k w||


k

0 autrement

, i = 1, . . . , K, j = 1, . . . , Q, (6.8)

en brisant (arbitrairement) les e galites, sil y a lieu, en choisissant la classe dont lindice
est minimum ;
3. t = 1 ;
4. Repeter :
(a) Calculer les nouveaux centres W(t) en calculant les centrodes des classes :
Q
X
iw

ui,j pj

j=1
Q
X

, i = 1, . . . , K.

(6.9)

ui,j

j=1

(b) Calculer la nouvelle partition U(t) a` laide de lequation 6.8 ;


(c) t = t + 1 ;
5. Tant que U(t) 6= U(t 1) et t tmax .
F IG . 6.2 Algorithme du k-means.
Connaissant les centres W = [1 w 2 w K w]T des classes, lindice de performance F (U, W)
que lon desire minimiser peut sexprimer de la facon suivante :
F (U, W) =

Q X
K
X

(ui,j ) ||pj i w||2

(6.7)

j=1 i=1

o`u lon cherche a` trouver la partition qui minimise la distance entre les centres des classes et les
stimuli. Lalgorithme iteratif permettant doptimiser cette fonction objectif est resume 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 latteinte dun nombre maximum diterations tmax .
Un probl`eme avec cet algorithme est que lon force une partition rigide des stimuli dentranement ce qui, en presence de bruit, peut provoquer une certaine instabilite. Considerons par
exemple les stimuli dentranement representes a` la figure 6.3a. Dans ce cas, nous avons deux
classes bien separees pour lesquelles lalgorithme du k-means, avec K = 2, convergera assurement
vers la partition indiquee par les points noirs et les points blancs. Mais si lon ajoute un stimulus
e loigne des autres, par exemple une erreur de mesure, alors la partition engendree par les k-means
peut devenir instable comme a` la figure 6.3b, e tant donne que tous les stimuli ont la meme importance dans la partition rigide. Pour limiter ce phenom`ene, une solution consiste a` faire appel aux


CHAPITRE 6. NUEES
DYNAMIQUES

72

(a)

(b)

F IG . 6.3 Example dune partition rigide en deux classes : (a) cas sans bruit ; (b) cas avec bruit.
notions densemble flou et de partition floue.

6.2

Fuzzy K-means

Lalgorithme dit du fuzzy k-means1 (le k-means flou) est semblable au k-means, sauf que
la partition engendree par les centres est floue, cest-`a-dire que le degre dappartenance ui,j du
stimulus pj a` la classe Ci varie dans lintervalle [0, 1] au lieu detre e lement de {0, 1}, comme
precedemment. Lindice de performance que lon desire minimiser sexprime maintenant par lexpression :
Fm (U, W) =

Q X
K
X

(ui,j )m ||pj i w||2 ,

(6.10)

j=1 i=1

o`u m > 1 est un exposant qui fixe le niveau de flou de lalgorithme dont les e tapes sont resumees
a` la figure 6.4. Lalgorithme se poursuit ainsi tant que la mise a` jour des centres engendre une
modification non negligeable de la partition floue, ou jusqu`a un nombre maximum diterations
tmax . Generalement, on juge de la convergence en fixant un seuil sur lelement de la matrice U qui
a change le plus. Si ce changement est inferieur au seuil fixe, on consid`ere alors que lalgorithme
a converge.
Le param`etre m de lalgorithme determine le niveau de partage des degres dappartenance
de la matrice U. On fixe generalement m = 2. Plus m augmente, plus on se trouve a` partager
les degres dappartenance entre les differentes classes. Il importe de se rappeler que lalgorithme
du fuzzy k-means, tout comme celui du k-means, impose la contrainte de lequation 6.5, a` savoir
que lappartenance global dun stimulus a` lensemble des classes est toujours e gal a` 1. Lorsque m
sapproche 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 Clusters, J. Cybernetics, vol. 3, no. 3, p. 32-57, 1973.

73

6.2. FUZZY K-MEANS

1. Initialiser les centres W(0) en choisissant aleatoirement K stimuli parmi les Q donnees
dapprentissage ;
2. Fixer les param`etres m et ;
3. Calculer la partition initiale U(0) a` laide de lequation :
ui,j =

1
K
X
k=1

||pj i w||
||pj k w||

2
m1

, i = 1, . . . , K, j = 1, . . . , Q;

(6.11)

4. t = 1 ;
5. Repeter :
(a) Calculer les nouveaux centres W(t) a` laide de lequation :
Q
X
iw

(ui,j )m pj

j=1
Q
X

, i = 1, . . . , K.

(6.12)

(ui,j )m

j=1

(b) Calculer la nouvelle partition floue U(t) en utilisant lequation 6.11 ;


(c) t = t + 1 ;
6. Tant que max |ui,j (t) ui,j (t 1)| > et t tmax ;
i,j

F IG . 6.4 Algorithme du fuzzy k-means.


rigide. Ceci devient un peu plus explicite en ree crivant lequation 6.11 de la mani`ere suivante :

ui,j (t) =

1
||pj i w||
K
X
k=1

1
||pj k w||

2
m1

2
m1

(6.13)

2
Lorsque m 1, lexposant m1
tend vers linfini et, par consequent, le terme de la somme du
denominateur qui correspond au centre le plus proche du stimulus pj devient infiniment dominant,
de sorte que le degre dappartenance a` la classe correspondante tendra vers 1 (et les autres vers 0).

Lalgorithme du fuzzy k-means generalise donc celui du k-means en e tant beaucoup moins
sensible au bruit dans les stimuli grace au partage de lappartenance entre les differentes classes.
Ceci permet dans bien des situations deviter de rester pris dans des minimums locaux de la fonction objectif Fm . Lalgorithme est donc e galement beaucoup moins sensible a` une mauvaise initialisation des centres. Cependant, il demeure un probl`eme important, illustre a` la figure 6.5. On
voit sur cette figure deux nuages de points bien separes ainsi que deux points A et B qui semblent


CHAPITRE 6. NUEES
DYNAMIQUES

74

F IG . 6.5 Exemple dune partition floue a` deux classes.


correspondre a` du bruit. Typiquement, lalgorithme du fuzzy k-means affectera ces deux points
a` lune ou lautre des deux classes, en fonction de lemplacement exact de ces points ainsi quen
fonction de la position initiale des centres. Le probl`eme est que peu importe cette affectation finale,
les degres dappartenance de A et B aux deux classes en question seront tous les deux 0.5 puisquil
sont approximativement a` e gale distance des centres. Ceci resulte de la contrainte de lequation 6.5
qui impose un partage de lappartenance avec une somme des degres e gale a` 1. Autrement dit, un
stimulus situe a` e gale distance de deux centres obtiendra toujours des degres e gaux dappartenance
aux classes correspondantes, peu importe la distance mesuree. Dans le cas de la figure 6.5, le point
A obtient un degre dappartenance de 0.5, tout comme le point B, meme si le point B semble a
priori beaucoup plus plausible que le point A, e tant situe beaucoup plus pr`es des deux centres. Ceci
a comme consequence daccorder la meme importance au point A quau point B. Dans le cas de
donnees bruitees, cela peut empecher les centres de converger vers des regions denses de lespace
dentree.

6.3

Possibilistic K-means

Lalgorithme dit du Possibilistic k-means2 cherche a` pallier aux limitations du fuzzy kmeans en levant la contrainte de lequation 6.5 et en modifiant la fonction objectif de mani`ere a`
ne pas converger vers une solution triviale o`u tous les degres dappartenance seraient nuls. Les
e lements ui,j de la partition floue U doivent alors respecter les trois contraintes suivantes :
ui,j [0, 1], i = 1, . . . , K, j = 1, . . . , Q,
Q
X

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

(6.14)
(6.15)

j=1
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.

75

6.3. POSSIBILISTIC K-MEANS


K
X

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

(6.16)

o`u les deux premi`eres contraintes specifient respectivement que les degres dappartenance des stimuli aux classes sont compris entre 0 et 1, et que toute classe doit posseder au moins un stimulus
avec un degre dappartenance non nul. Ces deux contraintes sont identiques a` celles de lalgorithme du fuzzy k-means. La troisi`eme contrainte, celle de lequation 6.16, se distingue cependant
a` la fois du k-means et du fuzzy k-means qui impose a` chaque stimulus davoir une somme des
degres dappartenance e gale a` 1 (equation 6.5). Le possibilistic k-means impose plutot que chaque
stimulus appartienne a` au moins une classe avec un degre dappartenance non nul. Ceci implique
que la somme des degres dappartenance dun stimulus a` lensemble des classes peut maintenant
e tre soit plus petite, soit plus grande que 1, dune part, et quun stimulus puisse appartenir a` une
seule classe avec un degre dappartenance inferieur a` 1, dautre part. Dans ce dernier cas, un stimulus bruite tr`es e loigne de tous les centres pourra nappartenir qu`a une seule classe, avec un degre
dappartenance arbitrairement petit.
Pour realiser ces contraintes, cependant, on ne peut pas optimiser la meme fonction objectif que pour le fuzzy k-means (equation 6.10), car on tendrait systematiquement vers des degrees
dappartenance arbitrairement petits. Il sagit alors dajouter un deuxi`eme terme a` cette fonction
objectif pour stimuler lemergence de ui,j les plus grands possibles. On utilise lexpression suivante :
Fm (U, W) =

Q X
K
X

(ui,j ) ||pj i w|| +

j=1 i=1

K
X

i=1

Q
X

(1 ui,j )m ,

(6.17)

j=1

o`u les i sont des valeurs positives adequates representant letendue du nuage associe a` la classe Ci .
Le premier terme de cette e quation cherche a` minimiser les distances entre les stimuli et les centres
des classes, alors que le deuxi`eme force les ui,j a` e tre maximum en e vitant donc la solution triviale. Les e lements cles dans cette fonction objectif sont les i qui viennent ponderer limportance
relative de ces deux crit`eres.
Pour optimiser cette fonction objectif, il importe de remarquer que les contraintes imposees
par le possibilistic k-means (equations 6.14 a` 6.16) rendent les lignes et les colonnes de la matrice
U independantes. En effet, les ui,j sont maintenant libres de changer independamment les uns des
autres car la contrainte de lequation 6.6 a e te levee. Ceci nous permet donc de minimiser Fm par
rapport a` U en minimisant individuellement chaque ui,j . On obtient alors les termes Fmi,j de Fm :
Fmi,j (ui,j , i w) = (ui,j )m ||pj i w||2 + i (1 ui,j )m .

(6.18)

que lon peut deriver par rapport a` ui,j et, en affectant le resultat a` 0, on obtient le resultat suivant :
ui,j =

1
||pj i w||2
1+
i

1
m1

(6.19)

qui nous precise la facon dont il faudra estimer la partition floue a` chaque iteration de lalgorithme,
e tant donne les stimuli dapprentissage et les positions des centres. Lequation 6.19 specifie que le
degre dappartenance a` une classe ne depend que de la distance entre le stimulus et le centre de la


CHAPITRE 6. NUEES
DYNAMIQUES

76

classe. Cest exactement le resultat que nous cherchions. Il ne reste plus qu`a determiner la facon
de calculer les i qui viennent ponderer cette distance.
Le param`etre m dans lequation 6.19 represente le niveau de flou de lalgorithme, comme pour
1
tend vers
le fuzzy k-means, mais son interpretation est differente. Lorsque m 1, lexposant m1
linfini et les degres dappartenance deviennent binaires : 1 si la distance du stimulus au centre est
1
0 et tous les degres
inferieur a` i , 0 autrement. Au contraire, lorsque m , lexposant m1
dappartenance deviennent e gaux 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 possibilite. Pour le fuzzy k-means on conseille habituellement m = 2 qui donne des resultats
satisfaisants dans la plupart des situations. Pour le possibilistic k-means, cette valeur est parfois
trop e levee, on conseille plutot 1.5 m < 2.
La valeur de i determine la distance a` partir de laquelle le degre dappartenance dun stimulus
a` la classe devient 50%. Cest en quelque sorte la zone dinfluence de la classe Ci , a` linterieur de
laquelle la possibilite dappartenance est superieure a` 50%. De facon generale, il importe donc
que sa valeur soit correlee avec letendu du nuage des stimuli associes a` la classe. En pratique, la
definition suivante fonctionne bien :
Q
X

i =

(ui,j )m ||pj i w||2

j=1
Q
X

(6.20)

(ui,j )

j=1

Cette expression rend i proportionnel a` la moyenne ponderee des distances intra-classe. Une autre
facon de proceder est de considerer seulement dans lequation ci-dessus les ui,j , on parle
alors dune coupe de la partition. Dans ce cas, i represente la moyenne ponderee des distances
intra-classe pour les bons stimuli, cest-`a-dire ceux dont le degre dappartenance a` la classe est
superieur a` .
Les valeurs de i peuvent e tre fixees a priori, ou encore e tre ajustees a` chaque iteration de
lalgorithme. Dans ce dernier cas, cependant, il importe de prendre des precautions pour e viter les
instabilites pouvant resulter de tels changements en continu. En pratique, lalgorithme du possibilistic k-means est assez robuste a` de larges variations de i , a` condition davoir bien initialiser
les centres. Ainsi, on peut calculer les i a` partir de la partition floue initiale, puis les re-estimer
lorsque lalgorithme a converge une premi`ere fois. Ensuite, on peut recommencer la procedure si
lon desire obtenir une meilleure estimation de la partition floue. Cette deuxi`eme e tape converge
generalement en quelques iterations seulement puisque les centres sont dej`a correctement positionnes. Dans le cas de stimuli bruites, elle permet de determiner les degres dappartenance aux
classes avec presque la meme precision que dans le cas dun environnement non bruite. Des valeurs
de entre 0.1 et 0.4 produisent generalement des resultats satisfaisants.
Lalgorithme du possibilistic k-means est resume a` la figure 6.6. Il comporte deux parties dont
la deuxi`eme est optionnelle. Dans les deux cas, nous adoptons le meme crit`ere darret que pour le
fuzzy k-means. Pour le choix des centres initiaux, on ne peut pas proceder comme precedemment
en choisissant aleatoirement des stimuli a` linterieur de la base dapprentissage car les centres
de lalgorithme du possibilistic k-means ne sont pas aussi mobiles que ceux des deux algorithmes

77

6.3. POSSIBILISTIC K-MEANS

1. Initialiser les centres W(0) ainsi que la partition floue U(0) en utilisant lalgorithme
du fuzzy k-means ;
2. Estimer les i en utilisant lequation 6.20 avec une coupe = 0 ;
3. Fixer les valeurs de m et ;
4. t = 1 ;
5. Repeter :
(a) Calculer les nouveaux centres W(t) en utilisant lequation 6.12 ;
(b) Calculer la nouvelle partition floue U(t) en utilisant lequation 6.19 ;
(c) t = t + 1 ;
6. Tant que max |ui,j (t) ui,j (t 1)| > et t tmax ;
i,j

7. Re-estimer les i en utilisant lequation 6.20 avec une coupe 0.1 0.4 ;
8. t = 1 ;
9. Repeter :
(a) Calculer les nouveaux centres W(t) en utilisant lequation 6.12 ;
(b) Calculer la nouvelle partition floue U(t) en utilisant lequation 6.19 ;
(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.


precedents. En effet, a` cause du param`etre i qui restreint le rayon daction des centres, un mauvais
choix de leur position initiale peut limiter grandement la performance de lalgorithme, et meme
empecher 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 quen changeant la norme utilisee pour calculer la distance entre
un stimulus et un centre, on peut construire differentes variantes du possibilistic k-means. Par
exemple, en calculant la matrice de covariance floue des stimulus :
Q
X

Fi =

(ui,j )m (pj i w)(pj i w)T

j=1
Q
X

(6.21)

(ui,j )

j=1

et en lutilisant pour calculer la norme suivante :


||pj i w||2 =

q
R

|Fi | (pj i w)T Fi1 (pj i w),

on obtient lalgorithme dit du possibilistic Gustafson-Kessel.

(6.22)

78

Chapitre 7
Reseau de Kohonen
Dans ce chapitre, nous allons e tudier un reseau de neurones dit reseau de Kohonen1 , ou encore carte auto-organisee de Kohonen. Il sagit dun reseau non supervise avec un apprentissage
competitif o`u lon apprend non seulement a` modeliser lespace des entrees avec des prototypes,
comme avec les nuees dynamiques (chapitre 6), mais e galement a` construire une carte a` une ou
deux dimensions permettant de structurer cet espace.
Un reseau de Kohonen est illustre a` la figure 7.1. Les neurones de ce reseau correspondent
aux prototypes (figure 7.1a). Ils sont constitues dun vecteur de poids dans lespace des entrees
(dune facon semblable aux centres des nuees dynamiques). La carte des neurones (figure 7.1b)
definit quant a` elle des relations de voisinage entre les neurones. Par exemple, la figure 7.2 montre
la forme carree de voisinage qui est la plus souvent utilisee (les neurones y sont representes par
des cercles vides). On voit sur cette figure que les neurones adjacents sont lies entre eux par des
aretes (on pourrait aussi avoir des aretes diagonales). Ce sont les voisins immediats specifies par
le voisinage i = k du neurone i, cest-`a-dire lensemble des neurones lies au neurone i par des
chemins dans le graphe de la carte contenant au plus k aretes.
Lalgorithme dapprentissage du reseau de Kohonen est de type competitif (section 4.3). La
mise a` jour des poids i w du neurone i au temps t sexprime de la facon suivante :
(

i w(t) =

(t)[p(t) i w(t)] si i g (t)


0
autrement

(7.1)

o`u p(t) designe le stimulus dapprentissage au temps t et g (t) represente le voisinage au temps t
du neurone gagnant g. Ce dernier est determine simplement en retenant lindice du neurone pour
lequel la distance avec le stimulus p est minimum :
g(p) = arg min ||p i w||, i = 1, 2, . . . , S
i

(7.2)

o`u S correspond au nombre de neurones du reseau.


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


CHAPITRE 7. RESEAU
DE KOHONEN

80
Entre

Carte auto-organise

Couche de S neurones

Rx1

Sx1

Sx1

SxR
R

ni = ||iw p||
a = compet(n)

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)

F IG . 7.1 Reseau de Kohonen avec carte rectangulaire de S = 6 7 = 42 neurones.


1

10

11

12

13

14

10

11

12

13

14

10

11

12

13

14

15

16

17

18

19

20

21

15

16

17

18

19

20

21

15

16

17

18

19

20

21

22

23

24

25

26

27

28

22

23

24

25

26

27

28

22

23

24

25

26

27

28

29

30

31

32

33

34

35

29

30

31

32

33

34

35

29

30

31

32

33

34

35

36

37

38

39

40

41

42

36

37

38

39

40

41

42

36

37

38

39

40

41

42

(a)

(b)

(c)

F IG . 7.2 Topologie de voisinage (quatre voisins) pour une carte a` deux dimensions : (a) 18 = 2 ;
(b) 18 = 1 ; et (c) 18 = 0.
` lequation 7.1, il importe de remarquer que le taux dapprentissage et le voisinage du
A
neurone gagnant g dependent tous deux du temps. Lidee e tant demployer au depart un grand
taux dapprentissage ainsi quun grand voisinage, et de reduire ceux-ci au fur et a` mesure que le
temps (donc lapprentissage) progresse. On utilise souvent une decroissance lineaire pour le taux
dapprentissage :


(

t si t <
0 0

(t) =
(7.3)

autrement
o`u 0 est le taux dapprentissage initial, est le taux dapprentissage final, et o`u delimite la
fronti`ere entre deux phases dapprentissage. De meme, pour le voisinage, on peut aussi utiliser une
decroissance lineaire :


(
0 1 t si t <
(t) =
(7.4)
0
autrement
Ces fonctions lineaires decroissantes sont illustrees a` la figure 7.3. Le param`etre marque la fin
dune periode dorganisation et le debut dune periode de convergence. La phase dorganisation,
grace a` un taux dapprentissage e leve ainsi quun voisinage e tendu, permet de deployer la carte de

81

7.1. ALGORITHME DE KOHONEN

(a)

(b)

F IG . 7.3 Exemple de decroissance (a) du taux dapprentissage et (b) de la fenetre de voisinage


en fonction du temps.
neurones l`a o`u les donnees sont concentrees. Elle permet aussi, grace a` une decroissance progressive du taux dapprentissage et du voisinage, de deplier la carte de mani`ere a` ce que sa topologie
corresponde au mieux a` la topologie des stimuli. Ainsi, les stimuli adjacents dans lespace des
entrees seront associes a` des neurones adjacents dans la carte du reseau. La phase de convergence,
grace a` un taux dapprentissage 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

Lalgorithme de base de Kohonen est resume a` la figure 7.4. Il consiste a` e chantillonner les
stimuli dapprentissage jusqu`a latteinte dun certain crit`ere darret. Celui-ci est le plus souvent
specifie par un nombre maximum diteration tmax mais peut aussi tenir compte de la stabilite
des poids. Par exemple, lorsque maxi ||i w|| < durant plusieurs iterations, on peut decider
arbitrairement de stopper lapprentissage puisque le reseau modelise suffisamment bien lespace
` chaque iteration, on determine le neurone gagnant (le plus proche) et on deplace
des entrees. A
celui-ci, ainsi que son voisinage actuel, dans la direction du stimulus courant en utilisant le taux
dapprentissage courant.
Une variante que lon peut aussi rencontrer consiste a` remplacer lequation 7.1 par lexpression
suivante :
i w(t) = i,g (t)(t)[p(t) i w(t)]
(7.5)
o`u :

d2i,g
i,g (t) = exp 2
2 (t)

(7.6)

vient remplacer le voisinage g par une fonction i,g qui depend de la distance topologique di,g (en
nombre daretes dans la carte) entre le neurone i et le neurone gagnant g. La fonction i,g a une
forme gaussienne telle quillustree a` la figure 7.5. Elle se trouve a` reduire le taux dapprentissage


CHAPITRE 7. RESEAU
DE KOHONEN

82

1. Initialiser les poids i w(0) avec de petites valeurs aleatoires ;


2. Fixer 0 , , et 0 ;
3. t = 1 ;
4. Repeter tant que t tmax :
(a) Choisir aleatoirement un stimulus p(t) parmi lensemble dapprentissage ;
(b) Determiner le neurone gagnant g(p) a` laide de lequation 7.2 :
g(p) = arg min ||p(t) i w(t)||, i = 1, 2, . . . , S
i

(c) Mettre a` jour les poids a` laide de lequation 7.1 :


(

i w(t) =

(t)[p(t) i w(t)] si i g (t)


0
autrement

o`u (t) correspond au taux dapprentissage et g (t) a` un voisinage autour du neurone gagnant g ; (t) et g (t) sont toutes deux des fonctions decroissantes dans le
temps.
(d) t = t + 1 ;
F IG . 7.4 Algorithme de Kohonen.
effectif du neurone i par rapport a` son e loignement topologique du neurone gagnant. Tout comme
pour le voisinage g , il importe que le rayon daction de i,g decroisse dans le temps de mani`ere a`
ce que vers la fin de lapprentissage, seul le neurone gagnant subisse une mise a` jour significative
de son vecteur g w. Pour ce faire, par exemple, on peut faire decrotre exponentiellement la variance
de la gaussienne en fonction du temps :


(t) = 0 exp

(7.7)

o`u 0 definit la variance au temps initial. Pour linterpretation de i,g , il importe de se rappeler que
la distance topologique est discr`ete : di,g IN . Par exemple, pour 0 = di,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, di,g = 5 et = 1000, on obtiendra i,g (1) = 0.249, i,g (500) = 0.023 et
i,g (1000) = 3.5 105

7.2

Proprietes

Cette section resume les principales proprietes statistiques de lalgorithme de Kohonen par
rapport a` son espace continu dentree X , pour lequel la topologie est definie par une metrique de
distance, et son espace discret de sortie Y dont la topologie est specifiee par le treillis de la carte

ES

7.2. PROPRIET

83

i,g

di,g

F IG . 7.5 Fonction de voisinage gaussienne.


de neurones. Le reseau realise donc une transformation non-lineaire :
:X Y

(7.8)

Cette transformation peut e tre vue comme une abstraction de lequation 7.2 qui determine lidentite
du neurone gagnant en presence dune stimulus p X .

Propriete 1. Approximation de lespace dentree


La carte auto-organisee de Kohonen, representee par un ensemble de vecteurs poids synaptiques
{i w|i = 1, 2, . . . , S}, construit dans lespace de sortie Y, une approximation de lespace dentree
X , tel quillustre a` la figure 7.6.

Propriete 2. Ordre topologique


La carte obtenue par lalgorithme de Kohonen est ordonnee topologiquement dans le sens o`u
lemplacement des neurones dans lespace des sorties (le treillis) correspond a` une region particuli`ere de lespace des entrees. Deux regions adjacentes dans lespace des entrees seront aussi
adjacentes dans lespace des sorties. Ceci est une consequence directe de lequation 7.1 qui force
le vecteurs des poids synaptiques g w du neurone gagnant, ainsi quun certain nombre de poids
voisins i w g de ce neurone gagnant, a` bouger dans la direction des stimuli p.

Propriete 3. Appariement des fonctions de densite


La carte refl`ete les variations statistiques des distributions de points dans lespace des entrees :
les regions de X contenant beaucoup de stimuli seront appariees avec davantage de neurones que
les regions e parses. Ainsi, elles seront mieux modelisees.


CHAPITRE 7. RESEAU
DE KOHONEN

84

Espace de sortie
discret

g(p)

Espace d'entre
continu
p

gw

F IG . 7.6 Illustration de la relation entre la carte auto-organisee et le vecteur g w du neurone


gagnant pour le stimulus p.

7.3

Exemples

Cette section presente trois exemples tires de larticle de Kohonen. Le premier, illustre a` la figure 7.7, presente le cas dune carte a` une dimension, cest-`a-dire une carte constituee dune chane
unidimensionnelle de neurones. Les stimuli dapprentissage pour cet exemple sont e chantillonnes
uniformement a` linterieur dun triangle. La premi`ere image de la figure (t = 0) montre linitialisation aleatoire du reseau o`u la chane de neurones est totalement repliee sur elle-meme. D`es
les premi`eres iterations de lalgorithme (t = 20), on commence a` voir apparatre la chane qui se
deplie graduellement au fil des iterations en prenant de lexpansion a` linterieur du triangle o`u sont
situees les stimuli. Apr`es 25 000 iterations, on constate que la chane sest compl`etement deployee
pour occuper tout lespace disponible.
La figure 7.8 presente un exemple avec cette fois-ci une carte a` deux dimensions. Les stimuli
dapprentissage pour cet exemple sont e chantillonnes uniformement a` linterieur dun carre. De
nouveau, d`es les premi`eres iterations, la carte initialisee avec de petits vecteurs de poids aleatoires
se deploie en se depliant et, apr`es quelques dizaines de milliers diterations, finit par occuper tout
lespace disponible.
Le dernier exemple presente un cas plus complique o`u les stimuli sont tridimensionnels, dune
part, et nont pas une topologie rectangulaire, dautre part. Ils sont e chantillonnes dans un volume
synthetique dont la forme e voque vaguement celle dun cactus illustre a` la figure 7.9(a). Le resultat
final de lapprentissage, donne a` la figure 7.9(b), illustre le principal defaut de lapproche de Kohonen. Bien que la carte obtenue approxime raisonnablement bien le volume des stimuli, on observe

7.3. EXEMPLES

85

F IG . 7.7 Exemple dune carte auto-organisee a` une dimension. Les stimuli dapprentissage sont
distribuees uniformement a` linterieur dun triangle.

F IG . 7.8 Exemple dune carte auto-organisee a` deux dimensions. Les stimuli dapprentissage
sont distribuees uniformement a` linterieur dun carre.


CHAPITRE 7. RESEAU
DE KOHONEN

86

(a)

(b)

F IG . 7.9 Exemple dune carte auto-organisee a` deux dimensions (droite). Les stimuli dapprentissage sont distribuees uniformement a` linterieur dun volume tridimensionnel en forme de cactus
(gauche).


7.4. RESEAU
LVQ

87

Entre

Couche linaire

Couche comptitive

W1

Rx1

n1
S1 x 1

S1 x R

a1
S1 x 1

W2

n2

a2

S2 x 1

S2 x 1

S2 x S1

S2

S1

ni = ||iw p||
a1 = compet(n)

a2 = W2a1

F IG . 7.10 Reseau LVQ


aussi que sa topologie plus ou moins compatible avec celle des donnees engendre certaines aberrations comme, par exemple, les neurones qui se sont positionnes dans lespace des entrees, entre
les branches du cactus, a` des endroits o`u il nexiste aucun stimulus dapprentissage. La topologie
fixee a` priori des cartes de Kohonen constitue donc un handicap que nous tenterons de lever avec
larchitecture presentee au chapitre suivant : le reseau GNG.

7.4

Reseau LVQ

En utilisant les principes de lapprentissage competitif on peut aussi construire un reseau


supervisee nommee LVQ2 . Ce reseau hybride est illustre a` la figure 7.10. Sa premi`ere couche
competitive permet de modeliser lespace des entrees, alors que la seconde lineaire permet de
prendre des decisions. Chaque neurone de la premi`ere couche est associe a priori a` une classe,
avec generalement plusieurs neurones par classe (S 1 >> S 2 ). Ceci permet de reunir des fronti`eres
de decision convexes dans lespace des entrees. Tout comme pour le Kohonen ou les nuees dynamiques, les neurones competitifs de la premi`ere couche apprennent a` positionner un vecteur
prototype dans lespace des entrees et celui-ci permet de classifier une region de ce dernier, region
que lon peut interpreter comme une sous-classe de la classe a` laquelle chaque neurone est associe.
2
Cest la deuxi`eme couche de neurones qui prend les decisions grace aux poids wi,j
de la
matrice W2 :

(
2
wi,j

1 si le neurone j est associe au neurone i (classe i)


0 autrement

(7.9)

La matrice W2 est donc fixee une fois pour toute avant meme de commencer lapprentissage.
Les neurones de la premi`ere couche sont generalement repartis uniformement entre les classes, a`
2

En anglais : Linear Vector Quantization.


CHAPITRE 7. RESEAU
DE KOHONEN

88

moins que lon dispose dinformations sur leur probabilite a priori, auquel cas on pourra affecter
plus de neurones a` certaines classes et moins a` dautres. Lapprentissage du reseau LVQ consiste
simplement a` positionner au mieux les prototypes en employant la r`egle de Kohonen. Lorsquun
stimulus est correctement classe par le reseau, alors le vecteur de poids g w du neurone gagnant
est rapproche de ce stimulus avec un taux dapprentissage . Autrement, cest que le mauvais
neurone a gagne et il sagit simplement deloigne son vecteur de poids du stimulus, au lieu de
le rapprocher, avec le meme taux dapprentissage, dans lespoir quun autre neurone associe a` la
bonne classe puisse gagner la prochaine fois :
g w(t) =

[p(t) g w(t)]

si a2g = dg = 1

[p(t) w(t)] si a2 = 1 6= d = 0
g
g
g

(7.10)

Cette approche comporte neanmoins une faille importante, dependant de linitialisation des neurones, lorsque pour atteindre une zone associee a` sa classe, un neurone doit traverser une zone
associee a` une autre classe. Parce que le vecteur de poids dun tel neurone sera repousse par les stimuli presents dans cette region de transit, il risque fort, en pratique, de ne jamais pouvoir traverser
cette zone, et ainsi de ne jamais pouvoir servir a` classifier une region associee a` la bonne classe.
Pour contourner ce probl`eme, une solution souvent utilisee consiste dans ce cas a` non seulement ajuster le vecteur du neurone gagnant, en leloignant du stimulus, mais aussi a` choisir le
neurone le plus proche qui classifie correctement le stimulus pour le rapprocher de celui-ci. De
cette facon, deux neurones sont ajustes simultanement : le mauvais gagnant est e loigne du stimulus et un e ventuel futur bon gagnant est rapproche de ce dernier.

Chapitre 8
Reseau GNG
Le reseau Growing Neural Gas1 (GNG) est un reseau constructif qui ne pose a priori aucune
hypoth`ese sur la topologie de lespace des entrees. Un reseau minimal est initialement cree et de
nouveaux neurones ainsi que de nouvelles connexions entre les neurones sont ajoutes au fil de
lapprentissage non supervise.
La topologie du reseau est representee par un graphe G = [V (t), E(t)] o`u V (t) designe len` chaque sommet est
semble des sommets du graphe au temps t et E(t) lensemble de ses aretes. A
associe un neurone caracterise par un vecteur de poids synaptiques i w ainsi quun signal derreur
ei . Ce dernier servira a` accumuler lerreur de modelisation attribuable au neurone i et guidera le
choix de lemplacement o`u nous ajouterons periodiquement de nouveaux sommets dans le graphe.
Les aretes du graphe, liant deux sommets i et j, correspondent quant a` elles a` des connexions entre
` chaque connexion {i, j} est associe un a ge ai,j . Une connexion jeune
les neurones sous-jacents. A
implique une vraisemblance e levee de la relation topologique, alors quau contraire, une connexion
a gee signifie une vraisemblance faible de cette relation. Lorsque lage dune connexion depassera
un certain seuil, celle-ci pourra mourir et disparatre du graphe. Comme nous le verrons plus loin,
a` la fois les connexions et les neurones peuvent apparatre et disparatre du graphe tout au long du
processus dapprentissage. Cest pourquoi les ensembles V et E dependent tous les deux du temps.

8.1

Algorithme

Lalgorithme du GNG comprend un certain nombre de param`etres essentiels. Tout dabord,


il y a qui defini la periode de temps entre les ajouts de neurone, cest-`a-dire qu`a toutes les
iterations, nous ajouterons un neurone quelque part dans le graphe. Lapprentissage du GNG,
tout comme celui du Kohonen (voir chapitre 7), est de type competitif. Le neurone gagnant ainsi
que ses voisins sont deplaces dans la direction dun stimulus en proportion de sa distance et dun
certain taux dapprentissage. Le GNG utilise deux taux distincts, un pour le neurone gagnant,
g , et lautre pour ses voisins immediats, v . Contrairement au reseau de Kohonen, cependant,
1

Bernd Fritzke, A Growing Neural Gas Network Learns Topologies, publie dans Advances in Neural Information Processing Systems 7, G. Tesauro, D.S. Touretzky et T.K. Leen (editeurs), MIT Press, Cambridge MA, 1995.

89


CHAPITRE 8. RESEAU
GNG

90

ces taux demeurent fixes tout au long de lapprentissage. Egalement,


le voisinage est fixe a` 1,
cest-`a-dire que seuls les voisins immediats du neurone gagnant se deplacent. Les connexions
entre les neurones ne peuvent depasser un a ge maximum amax , sinon elle meurent et disparaissent.
Finalement, on utilise aussi un param`etre pour controler loubli des signaux derreur associes
aux neurones du reseau. Le role precis de chacun de ces param`etres est explicite dans les e tapes
suivantes :
1. Initialisation : V = {x, y} et E = {{x, y}} avec x w(0) et y w(0) initialises aleatoirement
avec de petits poids synaptiques dans lespace des entrees ; ex (0) = ey (0) = ax,y (0) = 0.
2. Fixer tmax , , g , v , amax et .
3. t = 1.
4. Repeter tant que t tmax :
(a) Choisir aleatoirement un stimulus p(t) parmi lensemble dapprentissage.
(b) Determiner les deux neurones gagnants g1 et g2 les plus pr`es de p(t) :
g1 = arg min ||p(t) i w(t)||
iV (t)

g2 = arg

min

iV (t)\{g1 }

||p(t) i w(t)||

(8.1)
(8.2)

(c) Incrementer les a ges de toutes les connexions adjacentes a` g1 :


{i, g1 } E : ai,g1 = ai,g1 + 1

(8.3)

(d) Incrementer lerreur associee au premier gagnant :


eg1 = eg1 + ||p(t) g1w(t)||

(8.4)

(e) Deplacer les vecteur de poids synaptiques de g1 et de ses voisins immediats dans la
direction de p(t) :
g1 w(t) = g [p(t) g1w(t)]
v w(t) = v [p(t) v w(t)], v g1

(8.5)
(8.6)

o`u g1 = {i V |i 6= g1 et{i, g1 } E(t)}.


(f) Si {g1 , g2 } E(t), alors ag1 ,g2 = 0 ; autrement :
E(t) = E(t) {{g1 , g2 }}, ag1 ,g2 (t) = 0.

(8.7)

(g) Retirer de E toutes les connexions pour lesquelles ai,j > amax ; retirer aussi tous
les neurones qui se retrouveraient isoles (sans aucune connexion) suite a` la mort de
connexions.
(h) Si t mod = 0, alors :
i. Determiner le neurone q possedant lerreur maximum :
q = arg max ei
iV

(8.8)

91

8.2. EXEMPLE
ii. Determiner le neurone r, voisin de q, possedant aussi lerreur maximum :
r = arg max ei
iq

(8.9)

iii. Inserer un nouveau neurone x a` mi-chemin entre q et r :


x w(t)

q w(t)

eq
eq
+ r w(t)
, ex = , eq =
2
2
2

(8.10)

iv. Remplacer la connexion {q, r} par les deux connexions {q, x} et {x, r} avec aq,x =
ax,r = 0.
(i) Reduire les signaux derreur de tous les neurones :
ei = ei , i V (t)

(8.11)

(j) t = t + 1.

8.2

Exemple

La figure 8.1 illustre la capacite qu`a le GNG a` apprendre la topologie des donnees. Pour cet
exemple, les donnees dapprentissage ont e te generees 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 apposee sur lune des faces du prisme, la troisi`eme le long dun segment de
droite au bout de la surface et la derni`ere le long dun anneau au bout du segment de droite. La
figure montre le graphe du reseau a` differents instant durant lapprentissage. Initialement (en haut
a` gauche), on commence avec un reseau de deux neurones lies par une seule connexion. Au fil des
iterations, des neurones sont ajoutes dans le graphe aux endroits o`u lerreur de modelisation est
` la fin, nous seulement le reseau a` appris a` modeliser lespace dentree, mais il a aussi
maximum. A
reussi a` apprendre la topologie des differentes formes e chantillonnees !

92

CHAPITRE 8. RESEAU
GNG

F IG . 8.1 Exemple dun GNG entrane sur des stimuli e chantillonnes dans un volume en forme de
prisme rectangulaire, sur une surface rectangulaire apposee perpendiculairement a` lune des faces
du prisme et a` une courbe en forme danneau au bout dune tige apposee a` lune des extremites de
la surface.

Chapitre 9
Architectures ART
Les architectures ART1 sont issues des travaux de Stephen Grossberg et Gail Carpenter. Elles
sont basees sur une theorie dinspiration biologique2 assez complexe sur laquelle nous ninsisterons pas. Elles se manifestent par differentes implantations specifiques dont celles nommees
ART1, ART2, ART3, fuzzy ART, ARTmap, fuzzy ARTmap, etc. Larchitecture
ART13 poss`ede la particularite de naccepter que des entrees binaires, alors que le ART24 accepte
des entrees continues en incorporant aux mecanismes du ART1 differentes operations complexes
de normalisation. Quant au ART35 , il developpe le ART2 davantage en lui ajoutant un nouveau
mecanisme de reinitialisation biologiquement inspire. Ces trois architectures utilisent toutes un
processus dapprentissage non supervise. Dans ce chapitre, nous allons nous concentrer sur une
quatri`eme architecture, e galement non supervisee, nommee fuzzy ART6 , qui poss`ede la relative
simplicite du ART1 tout en offrant la capacite du ART2 a` traiter des entrees continues.
Nous aborderons ensuite une des versions supervisees des architectures ART : le fuzzy ARTmap qui permet non seulement un apprentissage supervise, mais e galement un apprentissage
incremental des connaissances, cest-`a-dire un apprentissage o`u tous les stimuli ne sont pas necessairement disponibles en tout temps. Ainsi, on peut par exemple apprendre avec un premier sousensemble de stimuli, puis mettre ce dernier de cote et poursuivre lapprentissage avec un autre sousensemble sans que les connaissances acquises precedemment soient oubliees par le reseau. Ceci
nest tout simplement pas possible avec dautres architectures neuronales comme, par exemple, le
7

En anglais : Adaptive Resonance Theory.


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 Recognition 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.
2

93

94

CHAPITRE 9. ARCHITECTURES ART


Sx2R

W
p
Rx1

a1

n1
Sx1
t
rese

2Rx1

a2
Sx1

R
2R

F IG . 9.1 Architecture du reseau fuzzy ART.


perceptron multicouche qui, lors de la deuxi`eme phase dentranement, oubliera tr`es rapidement
(en quelques periodes) tout ce quil a appris lors de la premi`ere phase. Pour permettre lapprentissage incremental, le fuzzy ARTmap combine deux reseaux fuzzy ART grace a` un carte associative
(map en anglais ; do`u le nom ARTmap).

9.1

Fuzzy ART

Le fuzzy ART est un reseau competitif a` deux couches de neurones tel quillustre a` la figure 9.1. La premi`ere couche, notee Ec , sert a` coder les stimuli dentree avec un encodage dit
complementaire. La deuxi`eme couche est une couche competitive semblable a` celle du Kohonen. Cependant, tout comme les autres architectures ART, le fuzzy ART incorpore un mecanisme
de retroaction permettant de stabiliser les prototypes appris dans les vecteurs de poids qui relient
les deux couches. Ce mecanisme dit de resonance est controle par un param`etre qui permet
de re-initialiser au besoin la couche competitive. Pour chaque stimulus dentree, les sorties a2 du
reseau specifient une categorie parmi S.
Un peu comme le GNG, le fuzzy ART est un reseau constructif o`u de nouveaux neurones
sont allouees au fil de lapprentissage. Generalement, on fixe au depart un nombre maximum de
neurones S, ce qui fixe e galement un nombre maximum de categories de stimuli. Initialement,
aucun neurone nest actif, le premier stimulus dapprentissage activera le neurone associe a` la
premi`ere categorie. Lallocation subsequente de nouvelles categories dependra a` la fois des stimuli
et des param`etres de lalgorithme.
Les entrees dun fuzzy ART doivent e tre des ensembles flous definis sur un referentiel discret.
Soit p la representation vectorielle dun ensemble flou E defini sur un referentiel discret R =
{r1 , r2 , . . . , rR } :
E = {(rj , pj )|rj R et 0 pj 1}, j = 1, . . . , R
(9.1)
o`u 0 pj 1 represente le degre dappartenance a` E de lelement rj du referentiel. Le vecteur
p = [p1 p2 pR ]T peut ainsi e tre interprete 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 sagit donc de
transformer (normaliser) nos stimuli dapprentissage de mani`ere a` les faire tous entrer a` linterieur
dun hypercube unitaire, pour en faire des ensembles flous.

95

9.1. FUZZY ART


r2
1

0
0

r1

F IG . 9.2 Representation vectorielle dun ensemble flou E defini sur un referentiel de deux
e lements.
Le reseau fuzzy ART definit trois param`etres , et :
> 0, 0 < 1, 0 < < 1

(9.2)

o`u represente un param`etre de selection, le taux dapprentissage et le taux de vigilance. Nous


allons expliciter la signification de ces param`etres ci-dessous.
Lalgorithme du fuzzy ART se resume aux e tapes suivantes :
1. Initialiser les poids W = [1 w 2 w S w]T avec des 1 ;
2. Fixer , et ;
3. t = 1 ;
4. Repeter tant que t tmax :
(a) Choisir aleatoirement un ensemble flou p(t) parmi la base dapprentissage ;
(b) Effectuer lencodage complementaire Ec :
"

p(t)
a (t) = c
p (t)
1

(9.3)

o`u pc = [(1 p1 )(1 p2 ) (1 pR )]T represente le complement flou de p.


(c) Calculer les niveaux dactivation n1i des neurones de la premi`ere couche :
n1i (t) =

|a1 (t) i w(t)|


, i = 1, . . . , S,
+ |i w(t)|

(9.4)

o`u est le taux de selection, | | designe la norme l1 du vecteur :


|x| = [x1 x2 xn ]T =

n
X
i=1

xi ,

(9.5)

96

CHAPITRE 9. ARCHITECTURES ART


et x y represente lintersection floue entre x et y :

min(x1 , y1 )
y1
x1


min(x2 , y2 )
x2 y2

. . =
..

. .

. .
.
min(xn , yn )

yn

xn

(9.6)

(d) Calculer les sorties de la couche competitive :

1 si n1i (t) = max n1j (t)

a2i (t) =

j=1S

0 autrement

, i = 1, . . . , S.

(9.7)

Soit g = arg max n1j (t), lindice du neurone gagnant.


j

(e) Si le degre de resonance du neurone g avec les sorties de la couche dentree est inferieur
au seuil :
|a1 (t) g w(t)|
< ,
(9.8)
|a1 (t)|
alors bloquer temporairement le neurone g pour quil ne puisse plus gagner et retourner
a` letape 4d pour choisir le prochain gagnant.
(f) Liberer tous les neurones bloques.
(g) Mettre a` jour le prototype du neurone gagnant :
g w(t) =

h

a1 (t) g w(t) g w(t) ,

(9.9)

o`u est le taux dapprentissage.


(h) t = t + 1 ;
Fin
La premi`ere chose que lon peut remarquer a` lequation 9.3 est que la norme des vecteurs
encodes demeure toujours constante :
|a1 (t)| =

R
X

pi +

i=1

R
X

(1 pi ) =

R
X

pi + R

i=1

i=1

R
X

pi = R

(9.10)

i=1

Le processus dencodage permet donc de normaliser en amplitude les stimuli dentree.


Le niveau dactivation n1i du neurone i de la couche competitive, calcules a` lequation 9.4,
permet de mesurer le degre de ressemblance entre le stimulus dentree a1 , exprime dans son encodage complementaire, et le vecteur de poids i w. En posant i w = [x yc ]T , o`u x et y sont deux
vecteurs quelconques dans lespace des stimuli, on obtient linterpretation geometrique de la figure
9.3 pour le cas particulier dun espace a` deux dimensions. La region definie par le rectangle en trait
plein correspond a` la zone dactivite du neurone i. Pour tous les stimuli p situes a` linterieur de
cette zone, le numerateur de lequation 9.4 sera e gal a` :
"

"

"

"

p
x
px
x
a iw = c c =
= iw
c =
p
y
(p y)
yc
1

(9.11)

97

9.1. FUZZY ART


r2
1

p x

Zi

Zi p

p x

0
0

r1

F IG . 9.3 Regions associees a` i w = [x yc ]T (en trait plein) et a` a1 i w (en trait pointille).


|i w|
, cest-`a-dire une valeur
Par consequent, on obtient dans ce cas |a1 i w| = |i w| et n1i = +|
i w|
inferieure a` 1. Pour un i w fixe, plus sera grand, plus le niveau dactivation sera petit et, inversement, plus i w sera grand, plus le niveau dactivation tendra vers 1 pour un donne.

Pour les stimuli p situes a` lexterieur de la zone, comme a` la figure 9.3, loperation a1 i w
engendre la nouvelle region indiquee en trait pointille. Pour cette region, nous aurons |a1 i w| <
|i w| et le niveau dactivation calcule sera nettement inferieur a` 1. Ainsi, les neurones dont la region
associee englobe p gagneront la competition avant les autres, et sils sont plusieurs a` lenglober,
cest celui dont la region est la plus petite qui sera declare gagnant.
Soit Zi la region associee a` i w. Dans le cas general dun espace des stimuli a` R dimensions, il
sagit dun hyper-rectangle defini respectivement par les coins x et y de ses composantes minimum
et maximum. La dimension de cette region peut se calculer de la facon suivante :
|Zi | |y x|

(9.12)

Pour quun vecteur i w puisse changer de valeur (equation 9.9), il faut que le neurone correspondant gagne la competition de lequation 9.7 et que celui-ci nechoue pas le crit`ere de resonance
de lequation 9.8. Dans ce cas seulement, la region Zi associee a` ce neurone pourra grandir et,
e ventuellement, englober le stimulus dentree. Si lon pose un taux dapprentissage = 1 a`
lequation 9.9, on parle dans ce cas dapprentissage instantane, alors la region Zi sera agrandie
juste assez pour englober le stimulus p. Dans le cas particulier dun neurone inactif (un neurone
qui na jamais gagne), cest-`a-dire un neurone dont le i w ne contient que des uns (etape 1 de lalgorithme), on obtiendra i w(t + 1) = a1 (t) et la region Zi sera limite au point p(t). Par la suite,
lapprentissage ne pourra quaugmenter la taille de la region Zi et, par consequent, la norme de
ese de = 1, on peut montrer que la
i w ne pourra que diminuer. En fait, toujours sous lhypoth`
region Zi correspondra toujours au plus petit rectangle (ou hyper-rectangle) englobant lensemble
des stimuli qui vont faire gagner et resonner le neurone i au cours de lapprentissage.
Le crit`ere de resonance de lequation 9.8 impose une contrainte sur la taille maximum que peut
atteindre les regions associees aux neurones du fuzzy ART. En effet, le denominateur |a1 (t)| = R

98

CHAPITRE 9. ARCHITECTURES ART

est une constante et il faut que :


|a1 (t) g w(t)| R

(9.13)

pour que le neurone gagnant puisse subir une modification de son vecteur de poids. Or :
" # " #
p
x

|a (t) g w(t)| = c c
p
y
"
#
px


= c
p yc
"
#
px



=
(p y)c
1

(deM organ)

= |p x| + R |p y|
= R (|p y| |p x|)
= R |Zg p|

(9.14)

o`u Zg p designe la plus petite region (hyper-rectangle) qui englobe a` la fois Zg et p (voir figure
9.3 avec i = g). Par consequent, on obtient lexpression suivante :
|Zg p| R(1 )

(9.15)

qui specifie la taille maximum quune region peut atteindre en fonction du taux de vigilance .
` la limite, lorsque 1,
Plus il est grand, plus les regions sont contraintes a` de petites tailles. A
le fuzzy ART apprendra les stimuli par cur ! Plus il est petit, plus les regions pourront crotre.
` la limite, lorsque 0, un seul neurone pourrait couvrir tout lespace dentree, et le reseau
A
ne produirait plus quune seule categorie. Lorsque le neurone gagnant ne respecte pas le crit`ere
de resonance, alors il est temporairement retire de la competition et le neurone suivant ayant le
plus grand niveau dactivation est selectionne a` son tour. Ce processus est repete jusqu`a ce quon
trouve un neurone qui resonne. Ceci sera toujours possible dans la mesure o`u le reseau comporte
encore des neurones inactifs (la preuve est laissee en exercice).
Generalement, dans le cas dun stimulus qui ne ressemble a` aucune des categories actives,
cest-`a-dire lorsque le neurone gagnant e tait precedemment inactif, on fixera automatiquement
le taux dapprentissage = 1 pour passer en mode dapprentissage instantane. Sinon, si le
stimulus engendre la resonance dune categorie existante, alors on fixera un taux 0 < 1 tel
que specifiee par lutilisateur.
Finalement, mentionnons que le param`etre de selection est habituellement fixe a` une petite
valeur telle que, par exemple, 0.01. Ainsi, le neurone gagnant sera celui dont la region associee
requiert un minimum dagrandissement relatif pour pouvoir englober le stimulus dentree. Lorsque
, ce nest plus le pourcentage dagrandissement qui compte, mais seulement la dimension
finalle.

9.2

Fuzzy ARTmap

Le fuzzy ARTmap est un reseau supervise capable deffectuer un apprentissage incremental.


Il est constitue de deux reseaux fuzzy ART respectivement nommes ARTp et ARTd , tel quillustre

99

9.2. FUZZY ARTMAP


ARTp

S1x2R1

W
p
R1x1

n1
S1x1
t
rese

2R1x 1

a2
S1x1

re
s

R1

et

S1

2R1

Fpd

ARTd

S2x2R2

W
d
R2x1

a1

n1
S2x1
t
rese

2R2x1

a2
S2x1

Wpd

apd

pd

R2
2R2

S2

F IG . 9.4 Architecture du reseau fuzzy ARTmap.

a` la figure 9.4. Les reseaux ARTp et ARTd sont relies entre eux par un champ associatif nomme
Fpd . Ce champ est utilise pour effectuer des predictions associatives entre les categories du module
ARTp , qui sont associees aux stimuli dentree, et celles du module ARTd , qui sont associees aux
sorties desirees.
En mode dapprentissage, on propage un stimulus dentree dans le module ARTp et, simultanement, on propage le vecteur des sorties desirees dans le module ARTd . Les categories produites
par les deux modules sont alors comparees a` laide du champ associatif Fpd . La matrice Wpd de
dimension S2 S1 contient des vecteurs de poids wi associes a` chacune des S1 categories du module ARTp . Lorsque la categorie i produite par le ARTp resonne avec la categorie j produite par le
ARTd , alors wi est modifie pour ressembler davantage a` a2d , la sortie de ARTd . Sinon, le module de
resonance de Fpd transmet un signal au ARTp pour que celui-ci produise une nouvelle categorie.
Ce processus est recommence jusqu`a ce que lon trouve une association adequate.
En mode de reconnaissance, on ne propage rien dans le module ARTd ; celui-ci demeure inactif. Le stimulus dentree est simplement propage dans le module ARTp et la categorie produite est
utilisee pour selectionner le vecteur correspondant dans Wpd .

100

CHAPITRE 9. ARCHITECTURES ART


Plus formellement, voici toutes les e tapes de lalgorithme dapprentissage du fuzzy ARTmap :

1. Initialiser les poids Wpd = [w1 w2 wS1 ] avec des 1 ;


2. Fixer les param`etres des modules ARTp et ARTd ;
3. Fixer pd et pd de Fpd ;
4. t = 1 ;
5. Repeter tant que t tmax :
(a) Choisir un couple (p(t), d(t)) parmi les donnees de la base dapprentissage ;
(b) Propager p(t) dans le ARTp ;
(c) Propager d(t) dans le ARTd ;
(d) Calculer la sortie de Fpd :
apd = a2d wgpd

(9.16)

o`u a2d designe le vecteur de sortie de ARTd et g correspond a` la categorie produite par
le ARTp ;
(e) Si le degre de resonance de Fpd est inferieur au seuil pd , cest-`a-dire si :
|apd |
< pd ,
|a2d |

(9.17)

alors augmenter p juste assez pour forcer le ARTp a` produire une nouvelle categorie et
retourner a` letape 5d. Pour ce faire, il faudra fixer temporairement p leg`erement plus
grand que |a1p wgp |/|a1p |.
(f) Mettre a` jour le vecteur gagnant de Fpd :
wg (t + 1) = pd a2d + (1 pd ) wg (t)

(9.18)

(g) Sil y a lieu, remettre p a` sa valeur initiale ;


Fin
Plus souvent quautrement, le fuzzy ARTmap est utilise pour faire du classement. Dans ce
cas, la dimension R2 de lespace dentree du module ARTd correspondra au nombre de classes et
les vecteurs dentree d seront restreints a` des ensembles non flous, cest-`a-dire a` des vecteurs dont
une des composantes est 1, et toutes les autres sont 0 (coins de lhypercube). Les taux de vigilance
et dapprentissage seront d = d = 1 de mani`ere a` ce que les vecteurs de sorties desires soient
appris par cur et instantanement. Autrement dit, le module ARTd ne sert presqu`a rien dans ce
cas, sinon a` produire un indice de classe. De son cote, le module ARTp contiendra au moins autant
de neurones quil y a de classes, mais typiquement de 4 a` 10 fois plus, pour pouvoir creer des
fronti`eres de decision complexes formees de plusieurs hyper-rectangles entrelaces. Les param`etres
du module ARTp seront fixes de mani`ere a` ce que celui-ci puisse bien modeliser son espace des
stimuli. On emploiera un taux dapprentissage e leve (p = 1) si les donnees sont peu bruitees, et un
taux plus faible (p.ex. p = 0.5) en presence de bruit. Le taux de vigilance sera dautant plus e leve
` la
que lon cherche a` classer correctement toutes les donnees. Mais gare au sur-apprentissage ! A
limite, si p = 1 on apprendra litteralement par cur toutes les donnees mais la generalisation sera

9.2. FUZZY ARTMAP

101

TAB . 9.1 Valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte de classement.
Param`etres
Intervalles valeurs suggerees
p = 0.01
taux de selection
]0, [
d = 0.01
0.5 p 1
d = 1
taux dapprentissage
]0, 1]
pd = 1
0.5 p 0.9
d = 1
taux de vigilance
[0, 1]
pd = 1
TAB . 9.2 Valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte dapproximation de fonction.
Param`etres
Intervalles valeurs suggerees
p = 0.01
taux de selection
]0, [
d = 0.01
0.5 p 1
0.5 d 1
taux dapprentissage
]0, 1]
pd = 1
0.5 p 0.9
0.5 p 0.9
taux de vigilance
[0, 1]
pd = 1
catastrophique en presence de bruit. Une valeur comprise dans lintervalle 0.5 p 0.9 produit
generalement de bons resultats. Finalement, le taux dapprentissage du champ associatif Fpd est
souvent fixe a` pd = 1 pour apprendre instantanement les bonnes associations de categorie. Dans
ce cas, la valeur du taux de vigilance pd na pas dimportance (on la fixe donc a` 1). En conclusion,
le tableau 9.1 donne des valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte
de classement.
Dans un contexte dapproximation de fonction, le role du module ARTd prend toute son importance. Cest lui qui produira des categories de valeurs pour la fonction que lon tente de modeliser.
Pour une fonction scalaire, nous aurons R2 = 1. Pour une fonction vectorielle, nous aurons R2 > 1.
` la limite, en
En variant la vigilance d nous pourrons varier la precision de lapproximation. A
fixant d = 1, nous pourrons apprendre par cur toutes les valeurs ayant servi a` lapprentissage.
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 ARTp . En ce qui concerne les param`etres du module
Fpd , il sont souvent fixes a` pd = pd = 1, tout comme dans le contexte de classement. Le tableau 9.2 resume les valeurs suggerees pour les param`etres du fuzzy ARTmap dans un contexte
dapproximation de fonction.
Mentionnons finalement que, dans un contexte dapproximation de fonction, contrairement a`
celui dun probl`eme de classement o`u la sortie apd du reseau fuzzy ARTmap indique directement

102

CHAPITRE 9. ARCHITECTURES ART

lindice j de la classe associee au stimulus dentree, la valeur de la fonction recherchee doit e tre
extraite du module ARTd en allant chercher le vecteur de poids j wd = [x yc ]T associe a` cet indice
de classe et en calculant le centre (x + y)/2 de sa region.

Chapitre 10
ACP et apprentissage hebbien
Lanalyse en composantes principales (ACP) est une methode danalyse des donnees qui permet de reduire la dimension dun espace dentree en ne retenant que les axes o`u la variance est importante. Soit un ensemble de Q vecteurs {p1 , p2 , . . . , pQ } definis dans <n . Ces vecteurs forment
un nuage de points dans un espace a` n dimensions. En choisissant de nouvelles bases, on desire
representer ces vecteurs dans <m , avec m < n tout en minimisant la perte dinformation.
Shannon definit linformation contenu dans une variable aleatoire X = {x1 , x2 , . . . , xN } a`
partir de son entropie H(X) :
H(X) =

N
X

Pr(xk ) log[Pr(xk )] = E[log(Pr(xk ))]

(10.1)

k=1

o`u Pr(xk ) designe la probabilite de rencontrer la k e`me realisation de X et E represente lesperance


mathematique. Lentropie nous dit que plus un xk poss`ede une probabilite e levee, moins il contient
` la limite, lorsque la variable devient deterministe, cest-`a-dire lorsque Pr(xk ) 1
dinformation. A
pour un certain k et que, par consequent, Pr(xj ) 0 pour j 6= k, alors lentropie tend vers 0.
Cette definition suppose cependant que nous connaissions a priori la loi de densite de nos variables
aleatoires ce qui, dans la pratique, nest pas toujours le cas. Cependant, si lon suppose quelles
obeissent a` des lois gaussiennes1 :
(x )2
1
exp
,
Pr(x) =
2 2
2
"

(10.2)

o`u represente la moyenne et 2 la variance, alors lentropie devient :


1
1
H(x) = E
log(2 2 ) + E
2
2


"

2 #

1
log(2 2 ),
2

(10.3)

et lon observe quelle ne depend plus que de la variance. Par consequent, dans le cas de distributions gaussiennes, on peut conclure que la variance est synonyme dinformation.
1

Notez bien que la loi de Gauss sapplique a` une variable aleatoire continue. Dans ce cas, il faut remplacer la
sommation par une integrale dans lequation 10.1.

103

104

CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN

z1
z2
p

F IG . 10.1 Illustration des composantes principales pour un nuage de points en deux dimensions.
Ceci nous am`ene a` definir lanalyse en composantes principales en termes de la variance et
de la covariance entre les differentes composantes de nos stimuli. Intuitivement, nous recherchons
les directions dans nos nuages de points o`u la variance est maximale, tel quillustre a` la figure
10.1 dans un espace a` deux dimensions, o`u z1 et z2 donnent lorientation des deux composantes
principales et lellipse symbolise lhypoth`ese de distribution gaussienne des vecteurs qui est sousjacente a` lACP.
de nos stimuli :
Tout dabord, calculons la moyenne p
Q
1 X
=
pk .
p
Q k=1

(10.4)

Cest le centre du nuage de points. La matrice de covariance C de nos stimuli est donnee par :

2
2
2
11
12
1n

2
21
1
T
)(pk p
) =
(pk p
C=
.
.
Q 1 k=1
.

Q
X

2
2
22
2n
.. . .
..
.
.
.

2
2
2
n1
n2
nn

(10.5)

o`u ij2 represente la covariance entre les composantes i et j de nos stimuli, et n est leur dimension.
Une matrice de covariance est toujours symetrique et positive definie (valeurs propres reelles et
positives).
Pour trouver les composantes principales de nos donnees, il sagit de determiner les valeurs
et les vecteurs propres de la matrice C (voir section 3.2.3). Les vecteurs propres de C definissent
dans <n les orientations des composantes principales de nos stimuli lorsque lorigine de lespace
. Les valeurs propres, quant a` elles, representent limportance de chacune
vectoriel est deplace en p
de ces composantes. Elles correspondent aux variances des donnees lorsque projetees dans chacune

105
de ces orientations. Soit la matrice Z dont les colonnes contiennent les n vecteurs propres de C :
Z = [z1 z2 zn ].

(10.6)

) = ZT (pk p
) represente le stimulus pk
Alors Z est une matrice de rotation et p0k = Z1 (pk p
apr`es translation et rotation des axes dans la direction des composantes principales. Si lon calcule
la matrice de covariance C0 des p0k , on obtient alors une matrice diagonale dont les e lements
correspondent aux valeurs propres de C :

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

..
.

0
0
..
.

(10.7)

Sans perte de generalite, supposons que les vecteurs propres zi sont tries en ordre decroissant
de leur valeur propre : i i+1 , i = 1, . . . , n 1, alors lanalyse en composante principale
consiste a` choisir les m premiers vecteurs propres associes aux plus grandes valeurs propres, cesta` -dire ceux qui maximisent la variance. Pour reduire la dimension de lespace de representation de
nos stimuli, il suffit donc de construire la matrice W suivante :
W = [z1 z2 . . . zm ], m < n

(10.8)

et de sen servir pour projeter les pk de n dimension en p0k a` m dimension :


), k = 1, . . . , Q.
p0k = WT (pk p

(10.9)

La proportion de la variance des pk contenue dans les p0k se mesure habituellement par le ratio :
Pm
i=1 i
> ,
(10.10)
Pn
i=1 i
que lon peut contraindre, par exemple, aux m composantes principales qui expliquent au moins
P
> 95% de la variance des stimuli dorigine. La trace ni=1 i de la matrice sert ici a` mesurer la
variance globale des stimuli dapprentissage. Il sagit dune mesure de volume, ou dhyper-volume,
tout comme la norme est une mesure de longueur. Une autre mesure de volume pour un nuage de
points consiste a` calculer le determinant de la matrice de covariance. Ainsi, on pourrait e galement
choisir nos m composantes de la facon suivante :
Qm
i=1 i
> ,
(10.11)
Qn
i=1 i
Mentionnons finalement quon peut aussi utiliser les valeurs propres de lanalyse en composantes principales pour effectuer un blanchiment de nos stimuli en effectuant loperation suivante :
1/2 0
pk , k = 1, . . . , Q,
p00k = m

(10.12)

o`u m represente la matrice diagonale des m premi`eres composantes de :

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

...

0
0
..
.

ce qui engendre une matrice de covariance unitaire pour les p00k .

(10.13)

106

10.1

CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN

R`egle de Hebb

Lapprentissage par la r`egle de Hebb (voir section 4.2) exprime la variation de poids en fonction de la correlation entre lentree p et la sortie a dun neurone :
w = p a.

(10.14)

Cette r`egle nous dit que plus la reponse du neurone sera forte vis-`a-vis dun stimulus, plus la
variation de poids sera grande.
Dans le cas dun neurone lineaire, nous avons la relation a = wT p = pT w. En interpretant w
comme une direction dans lespace des stimuli et en supposant que les stimuli dentree sont centres
sur leur moyenne2 , on peut se creer lindice de performance F suivant :
F = a2 = (wT p)(pT w),

(10.15)

visant a` maximiser la variance. Pour un module ||w|| fixe, on obtient une esperance E(F ) :
E[F ] = E[(wT p)(pT w)] = wT E[ppT ]w = wT Cw

(10.16)

qui depend de lorientation de w et de la matrice de covariance C des stimuli. Clairement, on


constate que F sera maximum lorsque w sera oriente 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` crotre sans cesse et lapproche diverge presque toujours. Une
solution consiste a` normaliser w :
w(t + 1) =

10.2

w(t) + p a
||w(t) + p a||

(10.17)

R`egle de Oja

Une autre solution consiste a` adopter une approximation de lequation 10.17, nommee r`egle
de Oja3 :
w = a(p a w) = (a p a2 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 lesperance de la variation des poids :
E(w) =
=
=
=
2

E[(ap a2 w)]
E[p(pT w) (wT p)(pT w)w]
E[(ppT )w wT (ppT )ww]
(Cw wT Cww)

(10.19)
(10.20)
(10.21)
(10.22)

Si ce nest pas le cas, il suffit de le faire a` laide de lequation 10.4.


E. Oja, A Simplified Neuron Model as a Principal Component Analyser, Journal of Mathematical Biology,
vol. 15, p. 239-245, 1982.
3

`
10.3. REGLE
DE SANGER

107

Entre

Couche de S neurones

p
Rx1

Sx1

Sx1

SxR
R

a = purelin(Wp)
F IG . 10.2 Reseau permettant deffectuer une analyse en S composantes principales.
Apr`es convergence, on obtient E(w) 0 et :
Cw = (wT Cw)w = w

(10.23)

ce qui nous indique, par definition (voir section 3.2.3), que = wT Cw est une valeur propre
de C et w le vecteur propre qui lui est associe. Finalement, en substituant lequation 10.23 dans
lexpression de , on obtient :
= wT 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 assuree, mais que le vecteur propre obtenu sera associe 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. Letape
suivante consiste a` trouver le moyen de determiner les autres composantes en utilisant une couche
de neurones lineaires comme a` la figure 10.2. Un tel reseau permet de reduire la dimension de
lespace des entrees, de R dimensions a` S dimensions (S < R). La matrice W = {wi,j } represente
les poids wi,j des connexions reliant les neurones i aux composantes j des stimuli dentree. La
r`egle suivante, dite r`egle de Sanger4 , ou encore Algorithme de Hebb generalise, est une
generalisation de la r`egle de Oja :
"

i w = ai p ai

i
X

ak k w , i = 1, . . . , S.

(10.25)

k=1
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 lequation 10.18 :


"

1w = a1 p a1

1
X

a1 1w = a1 p a21 1w

(10.26)

k=1

Pour mieux visualiser lequation 10.25, on peut la ree crire de la facon suivante :
i w = ai [p0 ai i w] , i = 1, . . . , S,

(10.27)

o`u p0 est une version modifiee du stimulus p :


p0 = p

i1
X

ak k w.

(10.28)

k=1

qui depend de lindice i du neurone. Pour le premier neurone, i = 1, on obtient donc p0 = p. Dans
ce cas, la formule generalisee se reduit a` la r`egle de Oja, et lon sait que ce neurone recherchera la
composante principale dans les stimuli.
Pour le deuxi`eme neurone de la couche, i = 2, on obtient :
p0 = p a1 1w.

(10.29)

Sous lhypoth`ese que le premier neurone a dej`a converge, on voit que lon se trouve a` retrancher
de p une fraction a1 de la composante principale des stimuli. Ceci ressemble e trangement a` la
procedure dorthogonalisation de Gram-Schmidt (voir section 3.1.5). Le second neurone cherchera
donc la composante principale des p0 , cest-`a-dire la seconde composante principale des p. Et ainsi
de suite pour les autres neurones qui chercheront dans un espace reduit des i 1 composantes
principales precedentes.
Dans la pratique, contrairement a` ce quon laisse entendre ci-dessus, tous les neurones tendent
a` converger simultanement. Neanmoins, la convergence definitive dun neurone i dependant de
celle du neurone i 1, les poids i w se stabiliseront dans lordre croissant de leur indice. Le temps
total dapprentissage sera cependant inferieur a` ce qui serait necessaire pour un apprentissage individuel des neurones.
En notation matricielle, la r`egle de Hebb generalisee permettant de faire une analyse en S
composantes principales sexprime de la facon suivante :


W(t) = a pT LT[a aT ] W(t) ,

(10.30)

o`u LT[.] designe un operateur matriciel qui met a` zero tous les e lements de son argument au dessus
de la diagonale.

10.4

Apprentissage de Hebb supervise

Nous terminons ce chapitre avec la version supervisee de lapprentissage de Hebb o`u lon
remplace la sortie a du reseau par la sortie desiree d :
W(t) = d(t) p(t)T

(10.31)

10.4. APPRENTISSAGE DE HEBB SUPERVISE

109

et o`u lon fixe le taux dapprentissage = 1. En supposant que la matrice de poids W est initialisee
a` 0, on obtient :
W=

d1 pT1

d2 pT2

+ +

dQ pTQ

Q
X

dq pTq

(10.32)

q=1

apr`es la presentation des Q paires (pq , dq ) dapprentissage. En notation matricielle, on obtient :

W = [d1 d2 dQ ]

pT1
pT2
..
.
pTQ

= D PT ,

(10.33)

avec D = [d1 d2 dQ ] et P = [p1 p2 pQ ].


Lequation 10.33 permet de construire ce quon appelle une memoire associative lineaire. Elle
permet dapprendre a` memoriser Q associations entre un stimulus pq et une reponse dq . Supposons
dabord que tous les stimuli sont orthogonaux et normalises (longueur unitaire). Alors, la reponse
de cette memoire a` lun dentre eux, par exemple pk , sera :

a = W pk =

Q
X

dq pTq pk

Q
X

dq pTq pk .

(10.34)

q=1

q=1

Or, puisque tous les stimuli sont orthogonaux et normalises, on a :




pTq pk

1 si q = k
,
0 autrement

(10.35)

et a = dk . La reponse pour un stimulus dapprentissage est donc la sortie desiree qui lui est
associee, a` condition que les stimuli soient orthonormaux. Dans le cas o`u ils ne seraient plus
orthogonaux (mais toujours normalises), on obtiendrais :
a = W p k = dk +

dq pTq pk ,

(10.36)

q6=k

o`u la somme ci-dessus represente un terme derreur par rapport a` la reponse desiree, engendre par
la non orthogonalite des stimuli.

10.4.1

R`egle de la matrice pseudo-inverse

De nouveau, nous constatons que la r`egle de Hebb seule nest pas suffisante pour produire le
resultat souhaite dans le cas general, a` savoir :
Wpq = dq , q = 1, . . . , Q.

(10.37)

Une methode pour y arriver consiste a` dabord definir un indice de performance F quadratique a`
minimiser, semblable a` ce que nous avons utilise pour le perceptron (voir chapitre 5) :
F (W) = ||D W P||2 ,

(10.38)

110

CHAPITRE 10. ACP ET APPRENTISSAGE HEBBIEN


Entre

Couche de S neurones

p
30 x 1

30 x 1

30 x 1

30 x 30
30

30

a = hardlims(Wp)
F IG . 10.3 Reseau auto-associatif pour la reconnaissance de chiffres.
o`u D W P est la forme matricielle de lequation 10.37. Nous avons dej`a demontre a` la section
precedente que F (W) = 0 lorsque les stimuli dapprentissage sont orthonormaux. Ensuite, pour
minimiser lequation 10.38 dans le cas general, il faudrait que D W P 0 et donc que W =
D P1 . Or, la matrice P nest generalement pas carree (sauf si P = Q) et ne peut donc pas e tre
inversee. Pour contourner cette difficulte, il faut faire appel a` la matrice pseudo-inverse P+ de
Moore-Penrose definie par :
P+ = (PT P)1 PT
(10.39)
` condition que les stimuli de P soient independants, la matrice (PT P) peut toujours e tre inversee
A
et on obtient :
P+ P = (PT P)1 PT P
= (PT P)1 (PT P)
= I.

(10.40)

W = D P+ ,

(10.41)

Ainsi, en fixant :
on obtient la r`egle dite de la matrice pseudo-inverse pour construire notre memoire associative
lineaire. Contrairement a` celle de lequation 10.33, cette r`egle produira toujours la reponse desiree
pour nimporte quel stimulus qui a servi a` lapprentissage. Pour un stimulus nayant pas servi a`
lapprentissage, elle produira une reponse dautant plus proche de celle dun stimulus dapprentissage que ce premier est proche de ce dernier.

10.4.2

Exemple dauto-association

La figure 10.3 illustre un reseau auto-associatif permettant dapprendre a` reconnatre des


chiffres representes par une matrice binaire de 5 6 pixels (voir figure 10.4). Pour entraner
un tel reseau, il suffit de construire des stimuli et des reponses desirees en assemblant des vecteurs
de bits a` partir de la concatenation des lignes de pixels. Apr`es entranement avec lequation 10.41,

10.4. APPRENTISSAGE DE HEBB SUPERVISE

111

F IG . 10.4 Prototypes pour lapprentissage auto-associatif des chiffres 0, 1 et 2.

(a)

(b)

(c)

F IG . 10.5 Exemples de reponses du reseau auto-associatif de la figure 10.3 pour des stimuli
degrades ou bruites : (a) chiffres 0 ; (b) chiffres 1 ; et (c) chiffres 2.
dans une certaine mesure, le reseau sera capable de produire en sortie des chiffres complets meme
si les stimuli dentree sont incomplets ou bruites. Par exemple, retirer la moitie inferieure des pixels
des chiffres naffecte aucunement la sortie du reseau, comme le montre la figure 10.5 (premi`ere
ligne). Par contre, si lon retire davantage de pixels (67% des pixels ; voir seconde ligne de la figure), alors seul le 1 est reconnu correctement. Dans le cas du 0, le reseau ne produit rien de
coherent alors que pour le 2, il produit un 1. Finalement, si lon bruite les stimuli de nos trois
chiffres (troisi`eme ligne de la figure), on constate que le reseau na aucun probl`eme a` reconstruire
les reponses desirees. Ceci illustre bien la robustesse dune memoire associative lineaire.

112

Chapitre 11
Reseau RBF
Dans ce chapitre, nous allons e tudier les reseaux dits a` fonction de base radiale1 . Nous
avons vu au chapitre 5 quil est possible dapproximer nimporte quelle fonction a` laide dun perceptron en integrant une couche cachee de neurones sigmodes et une couche de sortie de neurones
lineaires, comme a` la figure 5.10 (page 50). Dans ce cas, on obtient les sorties suivantes pour le
reseau :
a2 = purelin(W2 a1 b2 ) = W2 a1 b2
(11.1)
Simplifions ce reseau au cas dun seul neurone de sortie (S 2 = 1), posons a2 = f et annulons les
biais de la couche de sortie pour simplifier (b2 = 0). On obtient alors :
1

f = W2 a1 =

S
X

w1,j a1j ,

(11.2)

j=1

o`u a1 = [a11 a12 . . . a1S 1 ]T correspond aux sorties des neurones de la couche cachee, et w1,j au poids
qui relie le neurone cache j a` la sortie unique de notre reseau. En interpretant les a1j comme des
bases (voir section 3.1.2), on remarque immediatement que lequation 11.2 permet dapproximer
la fonction f a` laide dune combinaison lineaire de celles-ci. La problematique de lapprentissage
dun tel perceptron consiste, premi`erement, a` trouver des bases adequates pour effectuer lapproximation recherchee et, deuxi`emement, a` trouver les bon coefficients de la combinaison lineaire. Les
bases engendrees par la couche cachee du reseau sont en fait des fonctions sigmodes que lon positionne dans lespace des entrees. Des travaux theoriques ont montre quun tel perceptron poss`ede
la propriete dapproximation universelle, cest-`a-dire quil peut approximer nimporte quelle fonction avec une precision arbitraire, a` condition de disposer de suffisamment de neurones sur sa
couche cachee.
Mais les neurones sigmodes ne sont pas les seuls a` posseder cette capacite dapproximation
universelle. De nombreuses autres fonctions la poss`ede aussi, dont les fonctions radiales quutilisent les reseaux RBF. Il est important de se rappeler quun neurone sigmode agit partout dans
son espace dentree. Il passe une fronti`ere de decision lineaire qui traverse lespace de bord en
bord. En ce sens, lorsquun un stimulus est presente a` la couche cachee dun perceptron multicouche, tous les neurones de cette derni`ere peuvent contribuer a` produire la reponse du reseau. Ils
1

En anglais : Radial Basis Function (RBF).

113


CHAPITRE 11. RESEAU
RBF

114
Entre

Couche radiale

p
Rx1

Couche linaire

a1 =

W1

S1 x 1

S xR

a2 = f

W2

S2 x 1

S xS
S1

S2

a = (p )

f = purelin(W2a)

F IG . 11.1 Reseau RBF avec fonctions radiales gaussiennes.


travaillent globalement. Ceci explique entre autres pourquoi on ne peut pas utiliser une perceptron
multicouche pour faire de lapprentissage incremental, comme on peut le faire avec un reseau ART,
par exemple.
Contrairement aux neurones sigmodes, les neurones radiaux travaillent localement dans
lespace des entrees. Cest la principale particularite des reseaux RBF. Plusieurs fonctions radiales
peuvent e tre utilisees, mais la plus courante est une fonction de type gaussienne multivariee :
(x i w)T 1 (x i w)
,
(x) = exp
2
!

(11.3)

o`u designe une matrice de covariance que lon pose plus souvent quautrement e gale a` 2 I et o`u
esigne la position (le centre) du neurone radial dans son espace dentree. Ainsi, la reponse a`
i w d
un stimulus p depend dun voisinage autour du centre, dont la variance 2 est e gale dans toutes les
directions, avec une decroissance exponentielle qui depend du carre de la distance entre le stimulus
et le centre :
!
!
||x i w||2
(x i w)T (x i w)
= exp
,
(11.4)
(x) = exp
2 2
2 2
o`u || || designe la norme euclienne. Un reseau RBF peut alors approximer une fonction f avec
lexpression suivante :
1

f(p) =

S
X

2
w1,j
j (p)

(11.5)

j=1
2
o`u w1,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
associe au neurone j de cette derni`ere. Dans le cas vectoriel o`u lon desire plusieurs sorties, on
obtient lexpression suivante :
f (p) = W2 (p)
(11.6)

o`u = [1 2 , . . . , S 1 ]T dont le reseau e quivalent est illustre a` la figure 11.1.

11.1. ENTRAINEMENT
DUN RESEAU
RBF

11.1

115

Entranement dun reseau RBF

Pour entraner le reseau RBF, on peut utiliser plusieurs strategies. La premi`ere consiste a` optimiser simultanement tous les param`etres du reseau, par exemple, en utilisant la retropropagation
des erreurs. Il sagit de la position des centres des fonctions radiales, de leur variance et, finalement, des poids de la couche lineaire de sortie. Malheureusement, cette approche comportent
certaines difficultes liees a` la nature tr`es differente de ces deux couches et de leur dynamique
de convergence. La premi`ere couche, constituee de neurones non lineaires agissant localement
dans lespace des entrees, a plutot tendance a` converger lentement, alors que la seconde, avec ses
neurones lineaires, converge generalement tr`es rapidement. Ces dynamiques tr`es differentes provoquent souvent une stagnation de lapprentissage autour dun minimum local parfois tr`es e loigne
de loptimum global.
Ce quil importe de remarquer ici est que les deux couches du reseau RBF realisent des
fonctions distinctes. En ce sens, on peut tr`es bien proceder a` leur apprentissage en deux e tapes
e galement 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 lineaire.
Une premi`ere alternative pour le positionnement des centres consiste simplement a` les distribuer uniformement dans lespace des entrees. Cette solution comporte cependant des limitations
e videntes, tout particuli`erement lorsque cet espace dentree est de grande dimension.
Une seconde alternative est de fixer les centres sur certains stimuli pk choisis aleatoirement
parmi lensemble des donnees dapprentissage. Dans ce cas, on peut imposer comme fonction
radiale une gaussienne isotrope normalisee et centrees sur i w1 = pk :
S1
i (p) = exp 2 ||p i w1 ||2 ,
max
!

(11.7)

2
o`u S 1 correspond au nombre total de neurones radiaux, max
au carre de la distance maximum
1
entre leurs centres et i w a` la
position de ces derniers. Ce choix de fonction radiale entrane un
e cart 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 extremes e tant a` e viter autant que possible. Il
ne reste plus qu`a estimer les poids de la couche lineaire en utilisant, par exemple, la r`egle de la
matrice pseudo-inverse (voir section 10.4.1) :

W2 = D P+

(11.8)

o`u D = [d1 d2 dQ ] est la matrice des reponses desirees pour le reseau, P = [1 2 Q ] est
la matrice des reponses 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` laide de lune ou lautre des methodes dapprentissage non supervise e tudiees aux chapitres 6 a`
9 (nuees dynamiques, Kohonen, GNG ou Fuzzy ART). Une fois les centres positionnes, il ne reste
plus qu`a estimer les i en utilisant, par exemple, la partition (floue ou non floue ; voir chapitre
6) des stimuli engendree par le processus competitif des neurones, puis a` estimer les poids de
la couche lineaire a` laide dune methode supervisee comme la r`egle LMS (voir section 5.2) ou,
comme ci-dessus, celle de la matrice pseudo-inverse.


CHAPITRE 11. RESEAU
RBF

116

En conclusion, mentionnons que la principale difficulte des reseaux RBF concerne la question
du nombre de neurones radiaux a` utiliser pour une application donnee. A priori, il nexiste pas de
methode pour fixer leur nombre, et cette architecture souffre de facon particuli`erement aigue de
ce quon appelle la malediction de la dimension2 , a` savoir laugmentation exponentielle du
nombre de neurones caches requis en fonction de la dimension R de lespace dentree. Lorsque R
est grand, une facon dattenuer ce probl`eme consiste a` remplacer les hyper-sph`eres qui resultent
de limposition dune variance fixe par des hyper-ellipses o`u la matrice de covariance nest plus
contrainte. On peut ainsi reduire le nombre de neurones a` positionner au detriment du nombre de
param`etres a` estimer.

En anglais : curse of dimensionality.

Bibliographie
[1] M.T. Hagan, H.B. Demuth, M. Beale, Neural Network Design, PWS Publishing Compagny, 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 Programming 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.