Livre - Reseaux de Neurones Par Marc Parizeau
December 2, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Livre - Reseaux de Neurones Par Marc Parizeau...
Description
´ RESEAUX DE NEURONES GIF-21140 et GIF-64326
par Marc Parizeau
Automne 2004
Table des mati` matieres e` res
1
2
3
Introduction
1
1.1
Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Modele e` le de neurone et r´ r e´ seau
5
2.1
Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Mod`ele d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3
Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2. 2.4 4
Ar Arch chit itec ectu ture re de re´ seau
12
Algebre e` bre lin´ line´ aire 3.1
3.2
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De´ finition d’un espace vectoriel
17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1
Dependance e´ pendance lin´ line´ aire . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2
Bases et dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3
Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.4 3. 3.1. 1.5 5
Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Or Orth thog ogon onal alit it´e´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Trans Transform formati ations ons lin´ line´ aires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
22
3.2.1
Repre´ sentations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2
Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3
Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Processus d’apprentissage
27
4.1
Par correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.2
Par la re` gle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.3 4.4
Compe´ titif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Probleme e` me de l’affectation du cr´ cre´ dit . . . . . . . . . . . . . . . . . . . . . . . . . . 33 i
ii
5
4. 4.5 5
Su Supe perv rvis is´e´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6
Par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4. 4.7 7
NonNon-su supe pervi rvisse´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.8
Taˆ ches d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Perceptron multicouche 5.1 Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 39
5.2
Re` gle LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3
Re´ seau multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5. 5.3. 3.1 1
Pr Prob oblleme e` me du «ou exclusif » . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.3.2
Approximation de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.3
Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
6
7
` TABLE DES MA MATI TI ERES
50
Re´ tropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.4.1 5.4 .1
Calcul Calcul des sensibi sensibilit´ lit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4.2 5.4 .2
Algori Algorithm thmee d’entra d’entraˆˆınement . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.4.3
Criteres e` res d’arrˆ d’arreˆ t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
5.4.4
Phenom` e´ nome` ne de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.4.5
Groupage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
5.4.6
Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4.7
Taux d’apprentissage variable . . . . . . . . . . . . . . . . . . . . . . . .
5. 5.4. 4.8 8
Autr Autres es co cons nsid´ id´erations pratiques . . . . . . . . . . . . . . . . . . . . . . . 60
60
5.5
Me´ thode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6
Methode e´ thode du gradient conjugu´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
62
5.6.1 5.6 .1
Algori Algorithm thmee du gradien gradientt conjug conjugu ue´
. . . . . . . . . . . . . . . . . . . . . . 64
5.6.2
Recherche du minimum le long d’une droi roite . . . . . . . . . . . . . . . . . 65
Nu´ Nue´ es dynamiques
69
6.1
K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.2
Fuzzy K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
6.3
Possibilistic K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
Re´ seau de Kohonen
79
7.1
Algorithme de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
7. 7.2 2
´ te´ s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pr Prop opri ri´eet´
82
7.3 7.4
Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Re´ seau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84 87
` TABLE DES MATI ERES
8
9
iii
Re´ seau GNG
89
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 10.1 .1 Re` gle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 10 06 10 10.2 .2 R`egle de Oja
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10 10.3 .3 Re` gle de Sanger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 10 07 10.4 Apprentissag Apprentissagee de Hebb supervis supervis´e´ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 10 08 10 10.4 .4.1 .1 Regle e` gle de la matrice pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . 109 10.4.2 Exemple d’auto-association . . . . . . . . . . . . . . . . . . . . . . . . . 1 11 10
11 Re´ seau RBF
113
11.1 Entraˆınement ınement d’un r´eseau RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 11 15
iv
` TABLE DES MA MATI TI ERES
Table des figures e` le d’un neurone artificiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Mod ele
8
Schema 2.2 Sch´ ´ d’un neurone biologique. . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3 Repr´ esentation matricielle du mod`ele ele d’un neurone artificiel. . . . . . . . . . . . . 10 onction de transfert transfert : (a) du neurone neurone « seuil seuil» ; (b) du neurone « llin´ ineaire , et (c) 2.4 Fonction ´ » du neurone « sigm si gmo¨ o¨ıde ıd e» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 Couche de S neurones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
´ ´ matricielle d’une couche de S neurones. . . . . . . . . . . . . . . 14 2.6 Repr esentation matricielle d’un r eseau de trois couches. . . . . . . . . . . . . . . 14 2.7 Repr esentation ´ ´ ´´ ´ ement El´ de retard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 2.8 El
15
sous-ensembles de 2 : (a) r egion rectangulair rectang ulairee ; (b) droite ; (c) plan. . . 18 3.1 Diff erents ´ ´ ´´
3.2 Illustrati Illustration on de la m´ ethode de transformation orthogonale Gram-Schmidt. . . . . . 22 ransformation ion de rotation rotation : (a) rotation rotation du vecteur x ; (b) rotation des vecteurs 3.3 Transformat de base v base v1 et v et v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Tr Trajectoire ajectoire de la descente du gradient. . . . . . . . . . . . . . . . . . . . . . . . . «
29
»
Repr esentation esenta ´ ´ . tion graphiq r e` .gle ´ .post-synaptique 4.2 positive. . . .graphique . . . . ue . de . . la . r ` . egle . . instar . . . . lors . . . d’une . . . activit . . . .e´ . . . . . . . . .
32
Schema supervis e. 4.3 Sch´ ´ bloc de l’apprentissage supervis´ ´ . . . . . . . . . . . . . . . . . . . . . . 34 Perceptron a` une seule couche avec fonction seuil. seuil. . . . . . . . . . . . . . . . . . . 5.1 Perceptron
40
5.2 Fronti` Frontiere e` re de d ecision ´´ pour un perceptron simple simple a` 1 neurone et deux entr entr ´ ees. ´ . . . 41 probleme e` me a` deux classes classes (points (points noirs vs points blancs). . . . . . . . 42 5.3 Exemple d’un probl` problemes e` mes non lin´ lineairement separables. s´ 5.4 Exemples de probl` ´ ´ . . . . . . . . . . . . . . . . 43
5.5 R´ eseau ADALINE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 rajectoiree de la descente descente du gradient gradient pour diff erents taux d’apprentissage : (a) 5.6 Trajectoir ´ ´ taux faible faible ; (b) taux moyen moyen ; (c) taux (trop (trop)) elev´ ´ e. . . . . . . . . . . . . . . . . . . 47 multicouche pour r esoudre le probl` probleme e` me du « ou ou exclusif » 5.7 Reseau ´ ´´ » . . . . . . . . . . . 48
v
vi
TABLE DES FIGURES
Fronti`eres e` res de d ecision engendr ees de la figure 5.7 : (a) neurone 1 de 5.8 Fronti ´´ ´´ par le r eseau ´´ la couche 1 ; (b) neurone neurone 2 de la couche couche 1 ; (c) neurone neurone 1 de la couche couche 2. . . . . . . 49
5.9 Fronti` Frontiere e` re de d ecision ´´ engendr ee ´´ par le neurone qui effectue une conjonction. . . . 49 multicouche permettant de faire de l’approximation de fonction. . . . . . . 50 5.10 Reseau ´
5.11 Exemples de fronti`eres eres de d´ ecision ecision : (a) convexe convexe ouverte ; (b) con convexe vexe ferm´ ee ; (c (c)) concavee ouverte ; et (d) concave ferm´ concav fermee. ´ . . . . . . . . . . . . . . . . . . . . . . . 50 matricielle d’un r eseau de trois couches (reproduction de la figure 5.12 Repr esentation ´ ´ ´´ 2.7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
phenom enom` e` ne de sur-apprentissage pour le cas simple d’une approxiene 5.13 Illustration du ph´ ´ mation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
crois´ ee. 5.14 Illustration de la validation crois ´ . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.15 Exemple d’un neurone satur´ e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 methode du gradient conjugu´ conjugue. 5.16 Illustration de la m´ ´ ´ . . . . . . . . . . . . . . . . . . .
65
´ de localisation d’un intervalle initial de recherche. recherche. . . . . . . . . . . . . . . 66 5.17 Etape ´ 5.18 Etape de r´ eduction de l’intervalle de recherche : (a) cas o`u F c < F d ; (b) cas o`u
F d < F c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
competitive de S = K neurones. . . . . . . . . . . . . . . . . . . . . . . . 6.1 Couche comp´ ´
70
k-means» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Algorithme du « k-means
6.3 Example Example d’une partitio partition n rigide en deux deux classes : (a) cas cas sans bruit ; (b) cas avec bruit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
6.4 Algorithme du « fuzzy k-means» . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 floue a` deux classes. classes. . . . . . . . . . . . . . . . . . . . . 74 6.5 Exemple d’une partition floue
6.6 Algorithme du « possibilistic k-means » . . . . . . . . . . . . . . . . . . . . . . . . 77 de Kohonen avec carte rectangulaire de S = 6 × 7 = 42 neurones. . . . . 80 7.1 Reseau ´
7.2 Topologie opologie de voisinage voisinage (quatre (quatre voisins) pour une carte a ` deux dimensions : (a) Λ18 = 2 ; (b) Λ18 = 1 ; et (c) Λ18 = 0. . . . . . . . . . . . . . . . . . . . . . . . . 80 Exemple de d ecroissance (a) du taux d’apprentissage et (b) de la fen etre 7.3 Exemple ´´ ˆ de voisinage en fonction du temps temps.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.4 Algorithme de Kohonen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 7.5 Fonction de voisinage gaussienne. . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Illustration on de la relation relation entre la carte auto-organis auto-organis´ ee 7.6 Illustrati ´ Φ et le vecteur g w du neurone gagnant pour le stimulus p stimulus p.. . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.7 Exemple d’une carte auto-organis´ auto-organisee ee ´ a` une dimension. Les stimuli d’apprentissage sont distribu´ distribuees uniformement d’un triangle. . . . . . . . . . . . . . . 85 ´ uniform´ ´ a` l’int erieur ´´ Exemple d’une carte auto-or auto-organis ganis´ ee ´ a` deux dimensions. Les stimuli d’apprentis7.8 Exemple sage sont distribu´ distribuees uniformement d’un carr e. ´ uniform´ ´ a` l’int erieur ´´ ´ ´ . . . . . . . . . . . . 85
TABLE DES FIGURES
vii
auto-organisee ee 7.9 Exemple d’une carte auto-organis´ ´ a` deux dimensions (droite). Les stimuli d’ap prentissage sont distribu d istribu´ ees uniformement d’un volume tridimension´ uniform´ ´ a` l’int erieur ´ ´ nel en forme de cactus (gauche). . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.10 R´ eseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
Exemple d’un GNG entraˆ entraˆ ın´ ıne´ sur des stimuli echantillonn echantillonn´ es 8.1 Exemple ´ ´ dans un volume en forme de prisme rectangulaire, sur une surface rectangulaire appos appos´ ee ´ perpendiculairement a` l’une des faces du prisme et a` une courbe en forme d’anneau au bout d’une tige appos´ apposee ee ´ a` l’une des extr emit ´´ es ´´ de la surface. . . . . . . . . . . . . . . . 92
9.1 Architecture Architecture du r´ eseau fuzzy ART. . . . . . . . . . . . . . . . . . . . . . . . . . . 94 esentation tion vectorielle vectorielle d’un ensemble ensemble flou E d efini sur un r ef de deux 9.2 Repr esenta ´ ´ ´ ´ ´ ´ erentiel ´ ´ el´ el ´ ements. ´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.3 R´ egions egions associ´ ees a` i w = [x yc ]T (en trait plein) et a` a1 ∩ i w (en trait pointill´ e). . 97 9.4 Architecture Architecture du r´ eseau fuzzy ARTmap. . . . . . . . . . . . . . . . . . . . . . . . . 99 10.1 Illustrati Illustration on des composantes composantes principales principales pour un nuage nuage de points points en deux dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 permettant d’effectuer une analyse en S composantes principales. . . . . . 1 0 7 10.2 Reseau ´
10.3 Reseau ´ auto-associatif pour la reconnaissance de chiffres. . . . . . . . . . . . . . 110 10.4 Prototypes pour l’apprentissage auto-associatif des chiffres chiffres « 0» , « 1» et et « 2» . . . . 111 10.5 Exemples de r´ eponses du r´ eseau auto-associati auto-associatiff de la figure figure 10.3 pour des stimuli d egrad es chiffres 0 ; (b) chiffres chiffres 1 ; et (c) chiffres chiffres 2. . . . . . . . . . 1 ´ ´ ´ ´ ou bruit es ´´ : (a) chiffres 11 11 RBF avec fonctions radiales gaussiennes. . . . . . . . . . . . . . . . . . . 1 11.1 Reseau ´ 11 14
viii
TABLE DES FIGURES
Liste des tableaux 2.1 Fonctions de transfert a a = f (n). . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1 Valeurs sugg´ sugg er ´ ees ´´ pour les param` parametres e` tres du fuzzy ARTmap dans un contexte de classement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 sugger parametres e` tres du fuzzy ARTmap dans un contexte d’ap9.2 Valeurs sugg´ ´ ees ´´ pour les param` proximation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
ix
Chapitre 1 Introduction Les r´eseaux eseaux de neurones, fabriqu´es es de structures cellulaires artificielles, constituent une approche permettant d’aborder sous des angles nouveaux les probl emes e` mes de perception, de m´ memoire, e´ moire, d’apprentissage et de raisonnement. Ils s’av` s’averent e` rent aussi des alternatives tr tr`es e` s prometteuses pour contourner certaines des limitations des ordinateurs classiques. Gr ace aˆ ce a` leur traitement parall` parallele e` le de l’information et et a` leurs m´ mecanismes e´ canismes inspir´ inspires e´ s des cellules nerveuses (neurones), ils inf ` inf erent e` rent des ´ tees ´ ´ s ´emergentes proprieet´ propri´ emergentes permettant de solutionner des probl emes e` mes jadis qualifi´ qualifies e´ s de complexes. Nous aborderons dans ce cours les principales architectures de r´ r eseaux e´ seaux de neurones que l’on retrouve dans la litt´ litterature. e´ rature. Il ne s’agit pas de les etudier e´ tudier toutes, car elles sont trop nombreuses, ˆ t d’ maiss plut mai pluto ot d’en en co comp mpre rend ndre re le less mecani e´ canism smes es inte intern rnes es fond fondam amen enta taux ux et de savo savoir ir comm commen entt et quan quand d les utiliser. En ce sens, nous mettrons autant l’emphase sur l’analyse math eematique ´ matique de ces rr´eeseaux ´ seaux que sur la fac¸on ¸on de les utiliser dans la pratique pour resoudre e´ soudre des probl` problemes e` mes concrets. ´egalem Nous aborderons aborderons ´ egalement ent certain certaines es notion notionss rel relati atives ves aux ense ensembl mbles es flou flouss et ` et `a la logi logiqu quee da dans ns la mesure o` ou` ces derniers sont incorpor´ incorpores e´ s dans certaines des architectures de r´ r eseaux e´ seaux de neurones que nous nous etudierons. e´ tudierons. ´eelab Le re rest stee de ce ch chap apit itre re ´ labore ore da dava vant ntag agee sur sur le less ob obje ject ctif ifss pours poursui uivi viss par par ce co cour urs, s, puis puis pr´ presente e´ sente un bref historique du domaine des r´eseaux eseaux de neurones avant de terminer par un survol de leurs diff erentes e´ rentes applications. Le chapitre 2 introduit ensuite le mod` modele e` le math´ mathematique e´ matique du neurone artificiel et etablit e´ tablit une notation coh´ coherente e´ rente qui sera suivie tout au long des chapitres subs equents. e´ quents. Le chapitre 3 effectue un certain nombre de rappels en alg ebre e` bre lin´ lineaire, e´ aire, rappels qui seront forts utiles tout au long de cet ouvrage lorsque nous etudierons e´ tudierons diff erentes e´ rentes architectures de r´ reseaux e´ seaux de neurones. Le chapitre 4 pr´ presente e´ sente quant ` quant `a lui la probl´ problematique e´ matique g´ gen´ e´ nerale e´ rale de l’apprentissage en d´ d ecrivant e´ crivant les principales r` regles e` gles pouvant pouvant etre eˆ tre utilis´ utilisees e´ es ainsi que les diff erents e´ rents types d’approche. Ainsi, nous aborderons les notions de correction d’erreur, d’apprentissage hebbien, comp´ comp etitif, e´ titif, supervis´ supervise, e´ , nonsupervis´e´ et, finalement, d’apprentissage par renforcement. Par la suite, nous ´etudierons supervis etudierons en deetails ´ tails diff´erentes erentes architectures architectures de r´eeseau seau de neurones dont le perceptron multicouche, le r´eseau eseau de Kohonen, le «Growing Neural Gas» (GNG), certains membres de la famille des r eseaux e´ seaux ART («Adaptive Resonance Theory»), le «Radial Basis Function» (RBF) et le «Support Vector Machine» (SVM). Nous traiterons traiterons aussi de l’algorithm l’algorithmee du «K-means» qui s’apparente au r´ reseau e´ seau de Koho-
1
2
CHAPITRE 1. INTR INTRODUCTION ODUCTION
nen, ainsi que de l’analyse en composantes principales (ACP) via un apprentissage hebbien. Ces notes de cours sont d d´eriv´ e´ rivees e´ es d’un certain nombre d’ouvrages dont les principaux sont eenum´ ´ numeer´ ´ res e´ s en annexe. annexe.
1.1 1. 1
Obj bjec ecti tifs fs
Le cerveau humain contient environ 100 milliards de neurones. Ces neurones vous permettent, entre autre, de lire ce texte tout en maintenant une respiration r´ reeguli` ´ gulieere ` re permettant d’oxyg d’oxyg´ener e´ ner votree sang, en actionnant votr actionnant votre votre c ?ur qui assure une circulation circulation efficace de ce sang pour nourrir vos cellules, etc. Ils vous permettent m eme, eˆ me, je l’esp` l’espere, e` re, de comprendre les id´ id ees e´ es que je tente de vous transmettre transm ettre ! Chacun de ces neurones est par ailleurs fort complexe. Essentiellement, il s’agit de tissu vivan antt et de ch chim imie ie.. Les Les sp´ speciali e´ cialiste stess des neurone neuroness biolog biologiqu iques es (ce (ceux ux qui ?uvren ?uvrentt en neu neuroph rophysi ysiolo ologie gie)) `a peine ` commencent ` commencent peine `a comprendre quelques quelques uns de leurs m´ mecanismes e´ canismes internes. On croit en g´ g en´ e´ neral e´ ral que leurs diff erentes e´ rentes fonctions neuronales, neuronales, y compris compris celle de la meemoire, ´ moire, sont stock ees e´ es au niveau 1
des connexions les neurones. C’est eorie ´ orie dans qui ce a inspir´ inspir la plupart 2 ce genre de th e des architectures architect ures(synapses) de reseaux e´ seauxentre de neurones artificiels que nous aborderons cours.e´ L’apprentissagee consiste alors soit a` etablir tissag e´ tablir de nouvelles connexions, soit a` en modifier des existantes. Ceci nous am` amene e` ne a` poser une question fondamentale : en ce basant sur nos connaissances actuelles, peut-on construire des mod` mod eles e` les approximatifs de neurones et les entra entraˆˆııner ner pour, pour, ´ ´eventueleventuellement, r´ realiser e´ aliser des tˆ taches aˆ ches utiles utiles ? Eh bien, bien, la r eponse e´ ponse courte est «oui», meme eˆ me si les r´ reseaux e´ seaux que nous allons d´ developper e´ velopper ne poss` posseedent ` dent qu’une qu’une infime infime fraction de fraction de la puissance du cerveau humain, et c’est l’objectif l’objectif du cours de vous montrer comment on peut y arriver arriver sans salir son linge ! Pour ce qui est de la r´ reponse e´ ponse longue (plus d´ detaill´ e´ taillee), e´ e), elle suit dans les chapitres subs´ subs equents. e´ quents. Mais avant d’y arriver, faisons un peu d’histoire...
1.2 1. 2
His isto toir iree
De nombreux ouvrages ont permis de documenter l’histoire des recherches en r eseaux e´ seaux de neurones. En particulier, le livre intitul´ intitul e´ «Neuroc Neurocomputi omputing ng : Found Foundation ationss of Researc Research h» edit´ e´ dite´ par John Anderson et Edward Rosenfeld est une compilation de 43 articles qui ont marqu e´ le domaine sur le plan historique. Chacun d’entre eux est d’ailleurs pr´ prec´ e´ ced´ e´ de´ d’une introduction qui permet de situer l’article dans son contexte. 1
Des th´ theeories ´ ories rr´eecentes ´ centes sugg sugg`eerent ` rent au contraire que l’information pourrait pourrait etre eˆ tre stock ee e´ e au niveau de la morphologie des connexions connexions (des dendri dendrites) tes) ; mais ceci est totalemen totalementt en dehors dehors du cadre cadre de ce cours (ainsi que du doma domaine ine de comp´etence comp e´ tence du professeur !). 2 Ce cours traitant exclusivement des r eseaux e´ seaux de neurones artificiels (par opposition opposition a` biologique), nous omettrons parfois d’ajouter le mot «artificiel» a` la suite de «neurone» et de «reseau e´ seau de neurones», sachant qu’il est toujours sous-entendu, sauf lorsque mention explicite du contraire.
1.2. HIST HISTOIRE OIRE
3
Deux ingr´ ingredients e´ dients sont sont a` la base de tout avancement des connaissances. Premi` Premierement, e` rement, il importe de poss´ posseder e´ der un nouveau concept, ou un nouveau point de vue a` propos d’un sujet, qui vient ` jeter une lumi`ere e re l`a ou` il n’y avait qu’obscurit´e. e. Par exemple, consid´eerons rons le c ?u ?urr huma humain in.. A diff erentes e´ rentes epoques e´ poques on le consid´ considerait e´ rait comme le centre de l’ˆ l’aame ˆ me ou encore comme une source de chaleur. Quelque part au 17e si`ecle, ecle, les m´edecins edecins ont commenc´e a` le consid´eerer rer comme une pompe et ont donc conc¸¸u u des exp´ experiences e´ riences pour tenter de comprendre son fonctionnement, ce qui a eeventuellement ´ ventuellement uneetcompr compr´ e´st` hension du syst` syst e` me Sans le concept de pompe, une comprehension compr´ e´ hensiopermis n du c ?ur du syst syehension e` me sanguin eme eneme gen´ g´ e´ nsanguin, e´ ral ´etait eral ´ etait etc. simplement hors d’atteinte. Deuxiemem Deuxi` e` memen ent, t, il im impo port rtee au aussi ssi de po poss ss´eder e´ der des outils outils tec techno hnolog logiqu iques es per permet mettan tantt de con constr struir uiree des syst`emes emes concrets. Par exemple, on connaissait les th´eories eories physiques permettant d’envisager la conception d’une bombe atomique bien avant d’ etre eˆ tre capable de r´ realiser e´ aliser une telle bombe. bombe. On savait aussi math´ mathematiquement e´ matiquement reconstruire des images de radiographie en coupe (tomographie) bien avant de poss´ posseder e´ der les ordinateurs et les algorithmes capables d’effectuer efficacement les calculs requis dans un temps raisonnable. L’histoire des r´eseaux eseaux de neurones est donc tiss´eeee a` travers des d´eecouvertes couvertes conceptuelles et des d´ developpements e´ veloppements technologiques survenus ` survenus `a diverses ´ diverses ´epoques. epoques. Bri`evement, Bri e` vement, les premi` premieres e` res recherches recherches remontent remontent a` la fin du 19e et au d´ debut e´ but du 20e si` sieecle. ` cle. Ils consistent en de travaux multidisciplinaires en physique, en psychologie et en neurophysiologie ` cette par des scientifiques tels Hermann von Helmholtz, Ernst Mach et Ivan Pavlov. A cette eepoque, ´ poque, il s’agissait de th´eories eories plut plutot oˆ t g´een´ n´erales erales sans mod`ele ele math´ematique ematique pr´ precis e´ cis d’un neurone. On s’entend pour dire que la naissance du domaine des r eseaux e´ seaux de neurones artificiels remonte aux ann´ ann ees e´ es 1940 avec les travaux de Warren McCulloch et Walter Pitts qui ont montr´e qu’avec qu’avec de tels r´eseaux, eseaux, on pouvait, en principe, calculer n’importe quelle fonction arithm´ arithmetique e´ tique ou logique. Vers la fin 3 des ann´ annees e´ es 1940, Donald Hebb a ensuit ensuitee propos´ propose´ une th´ theorie e´ orie fondamentale pour l’apprentissage. Nous y reviendrons d’ailleurs d’ailleurs a` plusieurs reprises dans les chapitres suivants. La premi` premiere e` re application concr` concrete e` te des r´ reseaux e´ seaux de neurones artificiels est survenue vers la fin des ann´ees ees 1950 avec l’invention du r´eseau eseau dit «perceptron» par un d´enomm´ enomm´e Frank Rosenblat Rosenblatt. t. Rosenblatt et ses coll` coll egues e` gues ont construit un r´ r eseau e´ seau et d´ demontr´ e´ montre´ ses habilit´ habilites e´ s a` reconnaˆ reconnaˆıtre ı tre des formes. Malheureusement, il a eet´ ´ te´ demontr´ e´ montre´ par la suite que ce perceptron simple ne pouvait resoudre e´ soudre qu’une classe limit´ limitee e´ e de probl` probleme. e` me. Environ au mˆ meme eˆ me moment, Bernard Widrow et Ted Hoff ont propos´ propose´ un nouvel algorithme d’apprentissage pour entra entraˆˆıner ıner un r´ reeseau ´ seau adaptati adaptatiff de neurones lin´ lineaires, e´ aires, dont la structure et les capacit´ capacit es e´ s sont similaires au perceptron. Nous les ´etudierons etudierons tous les deux au chapitre 5. Ver erss la fin de dess an ann neees ´ es 1960, 1960, un li livr vree pu publ bliie´ par Marvi Marvin n Mi Mins nsky ky et Seym Seymou ourr Pape Papert rt est est venu venu jete jeterr beaucoup d’ombre sur le domaine des r´ reseaux e´ seaux de neurones. Entre autres choses, ces deux auteurs ont d´ demontr´ e´ montre´ les limitations des r´ reseaux e´ seaux d´ developp´ e´ veloppes e´ s par Rosenblatt et Widrow-Hoff. Beaucoup ´ te´ influenc´ de gens ont ont eet´ influences e´ s par cette d´ demonstration e´ monstration qu’ils ont g´ gen´ e´ neralement e´ ralement mal interpr´ interpret´ e´ tee. e´ e. Ils ont conclu a` tort que le domaine des r´ conclu r eseaux e´ seaux de neurones neurones eetait ´ tait un cul de sac et qu’il fallait cesser de s’y int´ interesser e´ resser (et de financer financer la recherche recherche dans ce domaine), d’autant d’autant plus qu’on ne disposait pas pas a` l’´ l’epoque e´ poque d’ordinateurs suffisamment puissants pour effectuer des calculs complexes. 3
Un canadien qui a pass´e la majo majorit´ rit´e de sa carri`eere re acad´eemique mique a` l’Universit´e McGill.
4
CHAPITRE 1. INTR INTRODUCTION ODUCTION
Heureusement, certains chercheurs ont pers´ persev´ e´ ver´ e´ re´ en d´ developpant e´ veloppant de nouvelles architectures et de nouveaux algorithmes plus puissants. En 1972, Teuvo Kohonen et James Anderson ont d´evelopp´ evelopp´e ind´ependamment ependamment et simultan´ement ement de nouveaux r´eeseaux seaux pouvant servir de m´emoires emoires ´ associatives (chapitre 7). Egalement, Stephen Grossberg a investigu´ investigue´ ce qu’on appelle les r´ r eeseaux ´ seaux auto-organis´es es (chapitre 9). Dans les ann´ annees e´ es 1980, une pierre d’achoppement a ´ a ´et´ ete´ lev´ levee e´ e par l’invention de l’algorithme de reetropropagation ´ tropropagation des erreurs (section 5.4). Cette algorithme est la r´ reponse e´ ponse aux critiques de Minsky et Papert formul´ees e es a` la fin des ann´ees ees 1960. C’est ce nouveau d´eeveloppeme veloppement, nt, g´en´ en´eralement eralement attribu´e´ a` David Rumelhart et James McClelland, mais aussi d tribu d´ecouvert e´ couvert plus ou moins en mˆ meeme ˆ me temps par Paul Werbos et par Yann LeCun, qui a litt´eralement eralement ressusc ressuscit´ it´e le domaine des r´eeseaux seaux de neurones. Depuis ce temps, c’est un domaine o u` bouillonne constamment de nouvelles th´ th eories, e´ ories, de nouvelles structures et de nouveaux algorithmes. Dans ce cours, nous allons tenter d’en survoler les principaux.
1.3 1. 3
Appli pplica cati tion onss
Les r´ reseaux e´ seaux de neurones servent aujourd’hui a` toutes sortes d’applications dans divers domaines. Par exemple, on a d´ developp´ e´ veloppe´ un auto-pilote pour avion, ou encore un syst` systeme e` me de guidage pour automobile, automobile, on a conc¸u ¸u des syst` systemes e` mes de lecture automatique de ch` ch eques e` ques bancaires et d’adresses postales, on produit des syst` syst emes e` mes de traitement du signal pour diff erentes e´ rentes applications militaires, un syst` systeme e` me pour la synth` synthese e` se de la parole, des r eseaux e´ seaux sont aussi utilis´ utilisees ´ s pour b bˆatir aˆ tir des syst`eemes mes de vision par ordinateur, pour faire des pr´evisions evisions sur les march´es es mon´eetaires, taires, pour ´ valuer le risque financier ou en assurance, pour diff ´ eevaluer diff erents e´ rents processus manufacturiers, pour le diagnostic m´edical, edical, pour l’exploration p´etroli` etroli`ere ere ou gazi`ere, ere, en robotique, en t´el´ el´ecommunication, ecommunication, et j’en passe ! Bref, les reseaux e´ seaux de neurones ont aujourd’hui un impact consid´ consid erable e´ rable et, il y a fort fort a` parier, que leur importance ira grandissant dans le futur.
Chapitre 2 Mod`ele Mod e` le de neurone et r´ reseau e´ seau Dans ce ch Dans chapi apitr tre, e, no nous us pr´esen e sento tons ns le mod` mod`eele le math´ math´emat e matiq ique ue que nous nous em empl ploi oier eron onss dans dans les les ch chaapitres suivants pour d´ decrire, e´ crire, d’une part, un neurone artificiel et, d’autre part, un r eseau e´ seau de neurones neurones complet, c’est-` c’est-a-dire a` -dire un ensemble de neurones reli´ relies e´ s en r´ reseau. e´ seau. Le mod` modeele ` le que nous pr pr´esentons e´ sentons dans ce chapitre chapitre est celui de base, commun commun a` beaucoup d’architectures. Il n’est cependant pas universel, nous pr´ presenterons e´ senterons dans les chapitres subs´ subs eequents ´ quents les diff erentes e´ rentes variantes au fur et ` et `a mesure qu’il sera n´ necessaire e´ cessaire de le faire.
2.1 2. 1
Nota Notati tion onss
Tout au long de cet ouvrage, nous tenterons d’adopter une notation math´ math ematique e´ matique coh´ coheerente. ´ rente. Les principales notations que nous adopterons sont enum´ ´enum´er´ erees e´ es ci-dessous. Il n’est pas n´eecessaire cessaire de tout m´ memoriser e´ moriser d’un seul coup, on pourra au besoin s’y rapporter plus tard.
Concepts de base – Les scalaires scalaires seront seront d´ design´ e´ signes e´ s par des lettres minuscules minuscules italiques : p. ex. a, b , c . . . – Un «vecteur» d´ d esigne e´ signe une colonne de nombres. nombres. – Les vecteu vecteurs rs seront seront repr´esent´ esent´es es par des minuscules grasses ( «bold») non italiques : p. ex. a, b, c . . . ´ signe un tableau de nombres ayant un certain nombre de lignes et de – Une «matrice» deesigne colonnes. – Les matric matrices es seront seront d´ denot´ e´ notees e´ es par des majuscules grasses («bold») non italiques : p. ex. A ex. A,, B, C . . . – Un «vecteur-rang vecteur-rang´eee ´ e» est une rang´ rangee e´ e d’une matrice utilis´ utilisee e´ e comme un vecteur (donc une rang´ee rang e´ e transpos´ transposee). e´ e). 5
6
` ´ CHAPI CHAPITRE TRE 2. MOD ELE DE NEURONE ET R ESEAU
Poids d’une couche de neurones – Wk (t) d´ d esigne e´ signe la matrice des poids pour la couche k d’un r´ reseau e´ seau au temps t . – w jk (t) d d´esigne e´ signe le vecteur correspondant ` correspondant `a la colonne j de Wk (t). – i wk (t) d d´eesigne ´ signe le vecteur-rang´ee ee correspondant correspondant a` la ligne i de de W W k (t). k d´eesigne ´ signe l’ l’´eel´ ´ lement e´ ment (i, j ) de de W d eesigne ´ signe toujours une ligne et j une colonne). – wi,j (t) d W k (t) ( i d´
Biais d’une couche de neurones – bk (t) d d´esigne e´ signe le vecteur des biais pour la couche k d’un r´ reseau e´ seau au temps t . – bki (t) d´ d eesigne ´ signe l’´el´ el´ement ement i de bk (t).
Stimulus d’un r´ reseau e´ seau – p(t) d´ d esigne e´ signe un vecteur stimulus pr´ present´ e´ sente´ `a l’entr´ l’entree e´ e d’un r´ reseau e´ seau au temps t . ´ lement – pi (t) d d´esigne e´ signe l’´ l’eel´ e´ ment i de de p p (t).
Niveaux d’activation d’une couche de neurones – nk (t) d d´esigne e´ signe le vecteur des niveaux d’activation pour la couche k d’un r´ reseau e´ seau au temps t . ´ lement – nki (t) d d´esigne e´ signe l’´ l’eel´ e´ ment i de nk (t).
Sorties d’une couche de neurones – ak (t) d d´eesigne ´ signe un vecteur des sorties pour la couche k d’un r´ reseau e´ seau au temps t . – aki (t) d´ d eesigne ´ signe l’ l’´eel´ ´ lement e´ ment i de de a a k (t).
Cibles d’un r´ reseau e´ seau – d(t) d´ d eesigne ´ signe un vecteur cible pour les sorties d d´esir´ e´ sirees e´ es d’un r´ reseau e´ seau au temps t . – di (t) d´ d eesigne ´ signe l’ l’´eel´ ´ lement e´ ment i de d(t).
Base d’apprentissage – {(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ)} designe e´ signe un ensemble de Q associations stimulus/cible pour l’apprentissage supervis´ supervise. e´ .
Signaux d’erreur – e(t) = d (t) − a(t) d´ d eesigne ´ signe un vecteur vecteur mesurant l’erreur entre les sorties sorties d esir´ e´ sirees e´ es (cible) et les sorties calcul´ calculees e´ es d’un r´ reseau e´ seau au temps t .
2.1. NOT NOTA ATIONS
7
´ lement – ei (t) d d´esigne e´ signe l’´ l’eel´ e´ ment i de de e e (t).
Dimensions – M designe e´ signe le nombre de couches d’un r eseau. e´ seau. – S k designe e´ signe le nombre de neurones sur la couche k d’un r´ reseau. e´ seau. ´ signe le nombre d’associations pour l’apprentissage. – Q d´ d eesigne – R d esigne e´ signe la dimension des stimulus d’entr´ d’entr ee. e´ e.
Fonctions de transfert d’une couche de neurones ´ signee le ve vect cteu eurr de dess sort sortie iess de la couch couchee k , tell telles es que que ca calc lcul ul´eees ´ es par la fon fonct ctio ion n – f k (nk ) = a k deesign k k de transfert transfert f appliqu appliqu´ee e´ e sur chacun des n i , i = 1, . . . , S . – f k (nki ) = a ki d´esigne esigne l’´el´ el´ement ement i de de f f k (nk ). ∂ – f ˙(n) = ∂n f (n) d´ d eesigne ´ signe la d d´eriv´ e´ rivee e´ e partielle de f par rapport ` rapport `a n .
f ˙(n )
0
1
··· ˙ f (n2 ) 0 0
˙ (n) = – F
.. .
... . . .
0 0
.. .
0 · · · f ˙(nS )
0
.
Notations diverses – ||x|| designe e´ signe la norme du vecteur x vecteur x.. – F (x) d d´esigne e´ signe un indice de performance (une fonction) appliqu´ applique´ sur le vecteur x vecteur x.. – F (x) d d´eesigne ´ signe une approximation de F (x).
– ∇F (x) =
∂F ∂F ∂x 1 ∂x 2
– ∇ F (x) = 2
···
∂F ∂x
n
∂ 2 F ∂x 1 ∂x 1
∂ 2 F ∂x 2 ∂x 1
.. . ∂ 2 F ∂x ∂x 1 n
T
∂ 2 F ∂x 1 ∂x 2
···
∂ 2 F ∂x 2 ∂x 2
···
...
..
deesigne ´ signe le vecteur gradient de F (x).
∂ 2 F ∂x ∂x 2 n
.
···
∂ 2 ∂x 1 ∂x
n
∂ 2 ∂x 2 ∂x
n
.. .
∂ 2 ∂x ∂x n
– λi d esigne e´ signe une valeur propre d’une matrice. – zi d esigne e´ signe un vecteur propre.
F d´eesigne matric ricee signe la mat F
n
F
hessienne» de F (x).
«
8
` ´ CHAPI CHAPITRE TRE 2. MOD ELE DE NEURONE ET R ESEAU
R en entrées
p1
Modèle du neurone
w1,1
p2 n
p3 …
…
w1, R R
p R
ƒ
a
∑ b
-1
a = ƒ(w ƒ(w Tp − b)
F IG . 2.1 – Mod`ele ele d’un neurone artificiel.
2.2
Modele e` le d’un neurone
Le mod` modele e` le math´ matheematique ´ matique d’un neurone artificiel est illustr illustr´e´ `a la figure 2.1. Un neurone est essentiellement constitu´ constitue´ d’un int´ integrateur e´ grateur qui effectue la somme pond´ ponder´ e´ ree e´ e de ses entr´ entrees. e´ es. Le r´ resultat e´ sultat n de cette somme est ensuite transform´ transformee e´ e par une fonction de transfert f qui produit la sortie a du neurone. En suivant les notations pr´esent´ esent´ees ees a` la section pr´ec´ ec´eedente, dente, les R entr´eees es du neurones corT T repr´esente e´ sente le vecteur respondent au vecteur p = [ p p1 p2 · · · pR ] , alors que w = [w1,1w1,2 · · · w1,R] repr des poids du neurone. La sortie n de l’int´egrateur egrateur est donn´ee ee par l’´equation equation suivante : R
n =
w
1,j p j
− b
(2.1)
j =1
= w1,1 p1 + w1,2 p2 + · · · + w1,R pR − b, que l’on peut aussi ´ aussi ´ecrire ecrire sous forme matricielle : n = w T p − b.
(2.2)
Cette sortie correspond correspond a` une somme pond´er´ er´ee ee des poids et des entr´ees ees moins ce qu’on nomme le biais b du neurone. Le r´ r esultat e´ sultat n de la somme pond´ ponder´ e´ ree e´ e s’appelle le niveau d’activation du neurone. Le biais b s’appelle aussi le seuil d’activation du neurone. Lorsque le niveau d’activation atteint ou depasse e´ passe le seuil b , alors l’argument de f devi devient ent positif positif (ou nul). Sinon, il est n´ n egatif. e´ gatif. On peut faire un parall` parall ele e` le entre ce mod` modele e` le math´ mathematique e´ matique et certaines informations que l’on connaitt (ou que l’on croit connaˆıtre) connai ıtre) a` propos du neurone biologique. Ce dernier poss`ede ede trois principales composantes : les dendrites, le corps cellulaire et l’axone (voir figure 2.2). Les dendrites forment un maillage de r´ecepteurs ecepteurs nerveux qui permettent d’acheminer vers le corps du neurone des signaux signaux electriques e´ lectriques en provenance provenance d’autres neurones. Celui-ci agit comme un esp` espece e` ce d’int´egrateur d’int e´ grateur en accumulant des charges ´ charges ´electriques. electriques. Lorsque le neurone devient suffisamment ex´ e depasse cit´ cite´ (lorsque la charge accumul´ accumuleee e´ passe un certain seuil), par un processus electrochimique, e´ lectrochimique,
` 2.2. 2.2. MO MOD D ELE D’UN NEURONE
9
Sch´ ema F IG . 2.2 – Sch ´ d’un neurone biologique.
il engendre un potentiel electrique e´ lectrique qui se propage a` travers son axone1 pour eventuellement e´ ventuellement venir exciter d’autres neurones. Le point de contact entre l’axone d’un neurone et le dendrite d’un autre neurone s’appelle le synapse. Il semble que c’est l’arrangement spatial des neurones et de leur axone, ainsi que la qualit´ qualite´ des connexions synaptiques individuelles qui d etermine e´ termine la fonc2 tion pr´ precise e´ cise d’un r´ reeseau ´ seau de neurones biologique. C’est en se basant sur ces connaissances que le mod`ele mod e` le math´ mathematique e´ matique d´ decrit e´ crit ci-dessus a ´ a ´eet´ te´ defini. e´ fini. Un poids d’un neurone artificiel repr´ represente e´ sente donc l’efficacit´ l’efficacite´ d’une connexion synaptique. Un poids n´ negatif e´ gatif vient inhiber une entr´ entree, e´ e, alors qu’un poids positif vient l’accentuer. Il importe de retenir que ceci est une grossi` grossi ere e` re approximation d’un v´ veritable e´ ritable synapse qui r´ resulte e´ sulte en fait d’un processus chimique tr` tres e` s complexe et d´ dependant e´ pendant de nombre nombreux ux facteu facteurs rs ext ext´erieurs e´ rieurs encore mal connus. Il faut bien comprendre que notre neurone artificiel est un mod` modele e` le pragmatique qui, comme nous le verrons plus loin, nous permettra d’accomplir des tˆ taches aˆ ches int´ inteeressantes. ´ ressantes. La vraisemblance biologique de ce mod` modele e` le ne nous importe peu. Ce qui compte est le r´ resultat e´ sultat que ce mod` modele e` le nous permettra d’atteindre. Un au autr tree fa fact cteu eurr li limi mita tati tiff dans dans le mod modeele ` le qu quee no nous us no nous us somm sommes es do donn nn´es e´ s co conc ncern ernee son son ca carac ractteere ` re ´ seau de neurones, nous allons rendre le temps discret discret. En effet, pour pouvoir simuler un r eeseau dans nos equations. e´ quations. Autrement dit, nous allons supposer que tous les neurones sont synchrones, c’est-`a-dire c’esta` -dire qu’` qu’a` chaque temps t , ils vont simultan´ simultanement e´ ment calculer leur somme pond´ ponder´ e´ ree e´ e et produire une sortie sortie a(t) = f (n(t)). Dans les reseau e´ seaux x bi biol ologi ogiqu ques, es, tous tous les les neur neuron ones es sont sont en fa fait it asy async nchr hrone ones. s. Revenons donc ` donc `a notre mod` modele e` le tel que formul´ formule´ par l’´ l’equation e´ quation 2.2 et ajoutons la fonction d’ac1 2 Un
axone peut peut ˆ ˆeetre tre plusque ou moins le type de neurone. Notez bien, cependant, des th´ th long e´ oriesselon eories recentes r´ e´ centes remettent en cause cette hypoth` hypothese. e` se. Mais ceci sort du cadre du cours cou rs !
10
` ´ CHAPITRE CHAPITRE 2. MOD ELE DE NEURONE ET R ESEAU
Entrée
Modèle du neurone
p R
x1
W 1 x R
-1 R
n
+
1x1
ƒ
a
1x1
b 1x1
1
a = ƒ(Wp-b)
matricielle du mod ele e` le d’un neurone artificiel. F IG . 2.3 – Repr esentation ´´
tivation f pour obtenir la sortie du neurone : T
(2.3) a = f (n) = f (w p − b). T En rempla rem placc¸ant w par une matrice W = w d’une seule ligne, on obtient une forme g´ gen´ e´ nerale e´ rale que nous adopterons tout au long de cet ouvrage : T
a = f (Wp − b).
(2.4)
L’equation e´ quation 2.4 nous am` amene e` ne a` introduire un sch´ schema e´ ma de notre mod` modele e` le plus compact que celui de la figure 2.1. La figure 2.3 illustre celui-ci. On y repr esente e´ sente les R entr entr´ees e´ es comme un rectangle noir (le nombre d’entr´ d’entrees e´ es est indiqu´ indique´ sous le rectangle). De ce rectangle sort le vecteur p dont la dimension matricielle est R × 1. Ce vecteur est multipli´ multiplie´ par une matrice W qui contient les poids (synaptiques) du neurones. Dans le cas d’un neurone simple, cette matrice poss ede e` de la dimension reesultat ´ sultat de la multiplication correspond au niveau d’activation qui est ensuite compar e´ au 1 × R. Le r´ seuil b (un scalaire) par soustraction. Finalement, la sortie du neurone est calcul´ calculeee ´ e par la fonction d’activation f . La sortie d’un neurone est toujours un scalaire.
2.3
Fonctio onctions ns de transf transfert ert
Jusqu’a` pr Jusqu’` pr´eesen ´ sent, t, no nous us n’av n’avon onss pas pas sp´ specifi´ e´ cifie´ la na natu ture re de la fon fonct ctio ion n d’ac d’acti tiva vati tion on de notr notree mo mod deele. ` le. Il se trouve que plusieurs possibilit´ possibilit es e´ s existent. Diff erentes e´ rentes fonctions de transfert pouvant pouvant etre eˆ tre utilis´ liseees ´ es comme fonction d’activation du neurone sont enum´ e´ numer´ e´ rees e´ es au tableau 2.1. Les trois les plus utilis´ees utilis e´ es sont les fonctions fonctions «seuil» (en anglais «hard limit»), «lin´ lineaire e´ aire» et «sigmo sigmo¨¨ıde ıde». Commee so Comm son n no nom m l’in l’indi diqu que, e, la fonc foncti tion on se seui uill ap appl pliq ique ue un seui seuill su surr so son n entr entree. e´ e. Plus Plus pr´ precis´ e´ cisement, e´ ment, une entr´ entreee ´ e neegative ´ gative ne passe pas le seuil, la fonction retourne alors la valeur 0 (on peut interpr eeter ´ ter ce 0 comme signifiant faux), alors qu’une entr´ entree e´ e positive ou nulle d´ depasse e´ passe le seuil, et la fonction
2.3. FONCT FONCTIONS IONS DE TRANSF TRANSFER ERT T
11
TAB . 2.1 – Fonctions de transfert a a = f (n). Relation d’entre´ e/sortie
Nom de la fonction seuil
a = 0 si n < 0 a = 1 si n ≥ 0 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
´e lin´ lineaire e´ aire satur´ satureee
lin´ lineaire e´ aire positive
ˆ ne Ico one
satlin
satlins
poslin
logsig
tansig
C
compet
retourne 1 (vrai). Utilis´ Utilisee e´ e dans le contexte d’un neurone, cette fonction est illustr´ illustree e´ e a` la figure T 2.4a. On remarque alors que le biais b dans l’expression de a = hardlim(w p − b) ( equation e´ quation 2.4) T determine e´ termine l’emplacement du seuil sur l’axe w p, ou` la fonction passe de 0 ` 0 `a 1. Nous verrons plus loin que cette fonction permet de prendre des d´ decisions e´ cisions binaires. La fonction lin´ lineaire e´ aire est tr` tres e` s simple, elle affecte directement son entr´ entree ` e´ e `a sa sortie :
a = n.
(2.5)
´ e dans le contexte d’un neurone, cette fonction est illustr ee Appliqueee Appliqu´ e´ e a` la figure 2.4b. Dans ce cas, la sortie du neurone correspond correspond a` son niveau d’activation dont le passage a` z ero e´ ro se produit lorsque lorsque T w p = b . La fonction de transfert sigmo¨ sigmo¨ıde ıde est quant a` elle illustr´ illustree e´ e a` la figure 2.4c. Son equation e´ quation est donn´ee ee par :
a =
1 . 1 + exp−n
(2.6)
Elle ressemble soit ` soit `a la fonction seuil, soit ` soit `a la fonction lin lin´eeaire, ´ aire, selon que l’on est loin ou pr pr`es e` s de b, T respectivement. La fonction seuil est tr`es es non-lin´eaire eaire car il y a une discontinuit´e lorsque w p = b . ˆ e, De son cot ot´ e´ , la fonction lin´ lineaire e´ aire est tout a` fait lin´ lineaire. e´ aire. Elle ne comporte aucun changement de pente. La sigmo¨ sigmo¨ıde ıde est un compromis int´ interessant e´ ressant entre les deux pr´ prec´ e´ ceedentes. ´ dentes. Notons finalement, que la fonction fonction «tangente hyperbolique» est une version sym´ symetrique e´ trique de la sigmo sigmo¨¨ıde. ıde.
12
` ´ CHAPITRE CHAPITRE 2. MOD ELE DE NEURONE ET R ESEAU
a
a
a +1
+1
b 0
b
0
T
w p
-b
b
0
T
w p
-1
b
T
w p
-1
(a)
(b)
(c)
seuil» ; (b) du neurone « llin´ ineaire , et (c) du F IG . 2.4 – Fonction de transfert : (a) du neurone « seuil ´ » neurone « sigm si gmo¨ o¨ııde d e» .
2.4 2. 4
Arch Archite itect ctur uree de reseau e´ seau
´ seau de ne Un reeseau neuro urone ness est est un mail mailla lage ge de pl plus usie ieur urss neuro neurone nes, s, gen´ e´ neralement e´ ralement orga organis nis´e´ en co couc uche hes. s. Pour construire une couche de S neurones, neurones, il s’agit simplement de les assembler comme a` la figure 2.5. Les S neurones d’une mˆ meme eˆ me couche sont tous branch´ branches e´ s aux R entr entr´ees. e´ es. On dit alors que la couche est totalement connect´ connectee. e´ e. Un poids wi,j est associ´ associe´ a` chacune des connexions. Nous noterons toujours le premier indice par i et le deuxi`eme eme par j (jamais l’inverse). Le premier indice (rang´ (rangee) e´ e) d´ designe e´ signe toujours le num´ numero e´ ro de neurone sur la couche, alors que le deuxi eme e` me indice indice esigne le poids de la connexion qui relie (colonne) sp´ecifie ecifie le num´ero ero de l’entr´ee. ee. Ainsi, wi,j d´esigne ´ e j . L’ensemble des poids d’une couche forme donc une matrice W de le neurone i a` son entr´ entreee dimension S × × R : w1,1 w1,2 · · · w1,R
w W = . ..
2,1
w2,2 · · · w2,R
.. . . .. . . .
wS,1 wS,2 · · · wS,R
(2.7)
Notezz bi Note bien en qu quee S en´eral e ral (les (les no nomb mbres res de neur neuron ones es et d’ent d’entr´ r´ees e es sont sont ind´ ind´eependants). pendants). = R , dans le cas g´en´ Si l’on consid` considere e` re que les S neurones forment un vecteur de neurones, alors on peut cr´ creer e´ er les T T T vecteurs b = [b1 b2 · · · bS ] , n = [n1 n2 · · · nS ] et a = [a1 a2 · · · aS ] . Ceci nous am` amene e` ne a` la ´ e a` la figure 2.6. On y retrouve, comme a` la figure repr´esentation repr e´ sentation graphique simplifi´ simplifiee, e´ e, illustr´ illustreee 2.3, les mˆ meemes ˆ mes vecteurs et matrice. La seule diff erence e´ rence se situe au niveau de la taille, ou plus pr´ precis´ e´ cisement e´ ment du nombre de rang´ rang ees e´ es (S ), ), de b de b,, n, n , a et W. Finalement, pour construire un r´ reseau, e´ seau, il ne suffit plus que de combiner des couches comme a` la figure 2.7. Cet exemple comporte R entr entr´ees e´ es et trois couches de neurones comptant respecti1 2 3 vement S , S et S neurones. Dans le cas g´ g en´ e´ neral, e´ ral, de nouveau, S 1 = S 2 = S 3 . Chaque couche poss`ede poss e` de sa propre matrice de poids Wk , o u` k d´ d eesigne ´ signe l’indice de couche. Dans le contexte des vecteurs et des matrices relatives relatives a` une couche, nous emploierons toujours un exposant pour d´ designer e´ signer k k k cet indice. Ainsi, les vecteurs b , n et a sont aussi associ´ associes ` e´ s `a la couche k . Il importe de remarquer dans cet exemple que les couches qui suivent la premi` premiere e` re ont comme ´ ceedente. ´ dente. Ainsi, on peut enfiler autant de couche que l’on veut, entr´ee entr e´ e la sortie de la couche pr eec´
´ 2.4. ARCHI ARCHITECTU TECTURE RE DE RESEAU
en ntrées R e
p1
13
Couche de S neurones neurones
w1,1
∑
n1
a1
a2
ƒ
b1 p2
-1
∑
p3
n2
ƒ
b2
…
p R
…
…
-1
w
∑
nS
ƒ
aS
S , R R
bS -1
a = ƒ(Wp − b)
F IG . 2.5 – Couche de S neurones.
du moins en th´ theorie. e´ orie. Nous pouvons aussi fixer un nombre quelconque de neurones sur chaque couche. En pratique, nous verrons plus tard qu’il n’est cependant pas souhaitable d’utiliser trop de neurones. Finalement, notez aussi que l’on peut changer de fonction de transfert d’une couche a` l’autre. l’autr e. Ainsi, toujours dans le cas g´ g en´ e´ neral, e´ ral, f 1 = f 2 = f 3. ´ e «couche de sortie». Les couches qui pr´ La derni` derniere e` re couche est nomm´ nommeee prec` e´ cedent e` dent la couche de sortie sont nomm´ nommees e´ es «couche couchess cach´ cachees e´ es». Nous verrons un peu plus tard pourquoi. Le r eseau e´ seau de la figure 2.7 poss` possede e` de donc deux couches cach´ cachees e´ es et une couche de sortie. Les r´ reseaux e´ seaux multicouches sont beaucoup plus puissants que les r eseaux e´ seaux simpl simples es a` une seule couche. En utilisant deux couches (une couche cach´ cachee e´ e et une couche de sortie), a` condition d’employer une fonction d’activation sigmo¨ sigmo¨ıde ı de sur la couche cach´ cach ee, e´ e, on peut entraˆ entraˆıner ı ner un r´ reseau e´ seau a` produire une approximation de la plupart des fonctions, avec une pr´ precision e´ cision arbitraire (cela peut cependant requ´ requerir e´ rir un grand nombre de neurones neurones sur la couche cach´ cachee). e´ e). Sauf dans de rares cas, les reeseaux ´ seaux de neurones artificiels exploitent deux ou trois couches. Entraˆıner Entraˆ ı ner un r´ reseau e´ seau de neurones signifie modifier la valeur de ses poids et de ses biais pour ´ alise ´ e. Nous ´eetudi qu qu’i ’ill reeali se la fonct fonctio ion n en entr tr´ee/sort e´ e/sortie ie desir´ e´ sireee. Nous ´ tudiero erons ns en detai e´ tails ls,, dans dans des des chap chapit itre ress sub subssequents, e´ quents,
14
` ´ CHAPITRE CHAPITRE 2. MOD ELE DE NEURONE ET R ESEAU
Entrée
Couche de S neurones neurones
p R x
W
1
S
x R
+
n S x x
1
ƒ
a S x x
1
b
-1
x S x
R
1
S
a = ƒ(Wp − b) matricielle d’une couche de S neurones. F IG . 2.6 – Repr esentation ´´ Entrée
Couche 3
Couche 2
Couche 1
p
R x
1
W1
a
1 S x R
-1 R
+
n1 1 S x 1
1 S x
1
1
1 S x
-1 1 S
1
1
a1 = ƒ (W1p ! b1)
W2
a
2 1 S x S
ƒ
b
1
3
2
1
+
n2 2 S x 1
2 S x
2
2 S x
-1 2 S
1
2
a2 = ƒ (W2a1 ! b2)
W3 3 2 S x S
ƒ2
b
1
a
+
n3 3 S x 1
3 S x
ƒ3
3
b
3 S x
3 S
1
3
a3 = ƒ (W3a2 ! b3)
F IG . 2.7 – Repr´ esentation matricielle d’un r´ eseau de trois couches.
diff erents e´ rents algorithmes pour y parvenir dans diff ´ diff erents e´ rents contextes. Pour sp sp´eecifier ´ cifier la structure du reseau, e´ seau, il faut aussi choisir le nombre de couches et le nombre de neurones sur chaque couche. Tout d’abord, rappelons que le nombre d’entr´ d’entr ees e´ es du rr´eseau e´ seau (R), de mˆ meme eˆ me que le nombre de neurones sur la couche de sortie est fix´e par les sp´ecifications ecifications du probl`eme eme que l’on veut r´eesoudre soudre avec ce reseau. e´ seau. Par exemple, si la donn´ donnee e´ e du probl` probleme e` me comporte quatre variables en entr´ entree e´ e et qu’elle exige de produire trois variables en sortie, alors nous aurons simplement R = 4 et e t S M = 3, ou` M correspond correspond a` l’indice de la couche de sortie (ainsi qu’au nombre de couches). Ensuite, la nature du probl` probleeme ` me peut aussi nous guider dans le choix des fonctions de transfert. Par exemple, si l’on d´ desire e´ sire produire des sorties binaires 0 ou 1 , alors on choisira probablement une fonction seuil (voirr tableau 2.1, page 11) pour la couche de sortie. Il reste ensuite ` (voi ensuite `a choisir le nombre de couches ´ es ainsi que le nombre de neurones sur ces couches, et leur fonction de transfert. Il faudra cach´eees cach aussi fixer les diff eerents ´ rents param param`eetres ` tres de l’algorithme d’apprentissage. Mais nous y reviendrons en temps tem ps et lieu ! ´ lement Finalement, la figure 2.8 illustre le dernier eel´ e´ ment de construction que nous emploierons
1
´ 2.4. ARCHI ARCHITECTU TECTURE RE DE RESEAU
15
Délai
(t)
u
D
(t)
a
(0)
a
(t) = u(t-1)
a
´ ement El´ de retard. F IG . 2.8 – El ´
pour bˆ batir aˆ tir des r´ reseaux e´ seaux dit «recurrents e´ currents». Il s’agit d’un registre a` decalage e´ calage qui permet d’introduire d’introduire un retard dans une donn´ee ee que l’on veut acheminer dans un r´eseau. eseau. La sortie retard´ee a ee a (t) prend ´ e u au temps t − 1. Cet ´ lement la valeur de l’entr´ l’entreee Cet eel´ e´ ment de retard pr´ pr esuppose e´ suppose que l’on peut initialiser la sortie au temps t = 0 avec la valeur a valeur a (0). Cette condition initiale est indiqu´ indiqu ee e´ e a` la figure 2.8 par une fl` fleche e` che qui entre par le bas de l’ eel´ ´ leement. ´ ment. Avant de passer a` la d´ decription e´ cription des architectures concr` concretes e` tes et de leur algorithmes d’apprentissage, nous allons d’abord effectuer au chapitre suivant quelques rappels sur l’alg`eebre bre lin´eaire. eaire. En effet, comme le lecteur attentif l’aura devin´ devine, e´ , nous allons avoir a` manipuler beaucoup de matrices et d’op´ d’opeerations ´ rations matricielles tout au long de ces chapitres. La notation matricielle peut peut etre eˆ tre tr` tres e` s puissante, parce que compacte, mais ´ mais ´egalement egalement obscure lorsqu’on ne la maˆ maˆıtrise ıtrise pas bien, d’o` d’ou` l’importance de ces rappels.
16
Chapitre 3 Algebre Alg` e` bre lin´ lineaire e´ aire Dans ce chapitre, nous faisons plusieurs rappels essentiels en alg`eebre bre lin´eaire. eaire. Au chapitre ´ cedent, pr´ preec´ e´ dent, nous avons vu que les entr ees e´ es et les sorties d’un r eseau e´ seau de neurones, ainsi que les rang´eees rang ´ es de ses matrices de poids forment des vecteurs. Il est donc important de bien comprendre ce qu’est un espace vectoriel en en etudiant e´ tudiant ses principales principales propri´ propriet´ e´ tes. e´ s. Ensuite, nous aborderons des outils alg´ algebriques e´ briques de base tels les transformations transformations lin´ lineaires, e´ aires, les changements de base ainsi que les valeurs et vecteurs propres. Ces outils serviront par la suite tout au long des chapitres subs equents. e´ quents.
3.1
Definition e´ finition d’un espace vectoriel
xn ]T , nous nous fais faison onss habi habitu tuel elle leme ment nt ref e´ f erence e´ rence Lorsque Lorsq ue no nous us definisson e´ finissonss un vecteu vecteurr x = [x1 x2 n a` un espace euclidien de de n n dimensions, dimensions, que nous notons . Cependant, la notion d’espace vectoriel est beaucoup plus vaste que ce dernier qui ne repr esente e´ sente qu’un cas particulier.
···
Definition. e´ finition. Un espace vectoriel lin´ lineaire e´ aire est un ensemble d’´ d’ el´ e´ lements e´ ments (de vecteurs) d´ defini e´ fini sur un champ scalaire , et respectant les propri´ proprieet´ ´ tees ´ s suivantes :
F
X
1. po poss ss`ede e` de un op´ operateur e´ rateur d’addition tel que : (a) x, y
∈ X implique x implique x + y ∈ X ;
(b) x + y = y + x ; (commutativit´e) e) ´) (c) (x + y) + z = x + (y + z) ; (associativit´ (associativitee)
∃0 ∈ X tel tel que x que x + 0 = x, x , ∀x ∈ X ; ; (eel´ ´ lement e´ ment neutre) ´ lement (e) ∀x ∈ X , ∃-x tel que x que x + (-x) = 0 ; (eel´ e´ ment inverse)
(d)
2. po poss ss`ede e` de un op´ operateur e´ rateur de multiplication tel que : implique ax x ∈ X ; ∈ F etet x x ∈ X implique a ´ lement ∀ ∈ X et et le scalaire 1, 1x = x ; (eel´ e´ ment neutre)
(a) a (b) x
17
18
` ´ CHA CHAPIT PITRE RE 3. ALG EBRE LIN EAIRE
x
2
x
2
x
2
x+y
y x x
x
3
x
1
1
x
1
(a)
(b)
F IG . 3.1 – Diff´ erents sous-ensembles de
(c)
2
(c)
: (a) r´ egion rectangu rectangulair lairee ; (b) droite ; (c) plan.
∀a, b ∈ F et ∀x ∈ X , a(bx) = (ab)x ; (associativit´ (associativite) e´ )
(d) (a + b)x = ax a x + bx bx ; (distributivit´e) e) a x + ay ay ; (distributivit (e) a(x + y) = ax (distributivite) e´ ) n
2
et, de par cons´ cons eequent, ´ quent, Il estcependant facile de d´ d e´ montrer ces propri´ propri eet´ ´ tes e´ s de sont respect´ respectsous-ensembles ees e´ es pour 2 On peut seemontrer poser la que question question a` propos certains . Par exemple,. ´ e a` la figure 3.1a. Ce sous-ensemble de 2 n’est pas consid´erons consid e´ rons la r´ region e´ gion rectangulai rectangulaire re illustr illustr´eee un espace vectoriel car, entre autres, la propri´ propriet´ e´ te´ 1a n’est pas respect´ respectee. e´ e. En effet, si l’on prend deux vecteurs vecteurs a` l’int´ l’interieur e´ rieur du rectangle et qu’on les additionne, il se peut que le r esultat e´ sultat sorte du rectangle. rectan gle. Par contre, on peut montrer (et ceci est laiss´ laissee e´ e en exercice) que la droite infinie illustr´ illustree e´ e ´ tees ´ s enum´ a` la figure 3.1b respecte toutes les propri´ propri eet´ e´ numer´ e´ rees e´ es ci-dessus et, par cons´ cons equent, e´ quent, d´ defini e´ fini un espace vectoriel. Notez bien, cependant, que cette droite se doit de passer par l’origine, sinon la propri´et´ et´e 1d ne serait pas respect´ee. ee.
Un autre exemple d’un espace vectoriel est l’ensemble Par exemple, deux ´ deux ´eel´ lements e´ ments de cet espace sont :
− t.
2
P des polynˆ polynomes oˆ mes de degr´ degre´ 2 ou moins.
x = 3 + 2t + t2 , y = 5
(3.1) (3.2)
´ tes Cet ensemble respecte les 10 propri´ proprieet´ e´ s d’un espace vectoriel. En effet, si l’on additionne deux polynˆomes omes de degr´e 2 ou moins, on obtient un autre polynˆome ome de degr´e 2 ou moins. On peut aussi multiplier un polynˆ polynome oˆ me par un scalaire sans changer l’ordre l’ordre de celui-ci, celui-ci, etc. En notation vec vectoriel torielle, le, T T et y = [5 -1 0] . on peut donc repr´ representer e´ senter les deux polynˆ polynomes oˆ mes de l’exemple par x par x = [3 2 1] et y Mentionnons qu’on peut aussi former des espaces vectoriels Mentionnons vectoriels avec des ensembles de foncti fonctions ons plus g´ gen´ e´ nerales e´ rales que des polynomes. ˆ Il importe seulement de respecter les 10 propri´ propri et´ e´ tes e´ s fondam fondamenentales tales d’un espace espace vectorie vectoriell ! Si nous prenons prenons la peine de pr´eciser eciser cette d´eefinition finition formelle, c’est parce que la r´ resolution e´ solution d’un probl` probleme e` me avec un r´ r eseau e´ seau de neurones requiert toujours de pouvoir repr´esenter repr e´ senter ce probl` probleme ` e` me `a l’aide d’un espace vectoriel. C’est donc une notion tout `a fait fondamen `a ce sujet d’´ tale ` tale d’etude. e´ tude.
´ 3.1. 3.1. D EFINITION D’UN ESPACE VECTORIEL
3.1.1
19
Dependance e´ pendance lin´ lineaire e´ aire
{
}
Soient les les n vecteurs x1 , x2 , . . . , xn . Alors ces vecteurs sont lin eeairement ´ airement d d´ependants e´ pendants s’il n scalaires a 1 , a2 , . . . , an tels qu’au moins un d’eux est non nul et que : existe n existe scalaires a a1 x1 + a2 x2 + Et reciproquement, e´ ciproquement, si a si a 1 x1 + a 1 x1 + sont (lin´ (lineairement) e´ airement) ind´ independants. e´ pendants.
+ an xn = 0.
(3.3)
··· · · · + a x = 0 implique que ∀i, a = 0, alors les vecteurs 1
i
1
Par exemple, les vecteurs suivants :
x1
1 = −1 −1
, x2
1 = 1 −1
(3.4)
sont lin´ lineairement e´ airement ind´ independants e´ pendants car si a si a 1 x1 + a2x2 = 0, alors :
1 2 a2 + a -aa1 + -a1 a2
= 00 0
− que a = − a , et −a + a = 0 implique que
et et a1 + a 2 a1 = a 2 = 0.
2
1
1
2
,
(3.5)
implique a1 = a2 . Ainsi, il faut que = 0 implique
Par contre, les polynˆ polynomes p oˆ mes p 1 = 1 + t + t2 , p 2 = 2 + 2t + t2 et p et p 3 = 1 + t sont t sont lin´ lineeairement ´ airement a 1 = 1, a 2 = 1 et a et a 3 = 1. pour a dependants e´ pendants puisque a puisque a 1 p1 + a2 p2 + a3p3 = 0 pour
−
3.1.2 3.1 .2
Bases Bases et dim dimens ension ionss
La dimension d’un espace vectoriel est d´etermin´ etermin´ee par le nombre minimum de vecteurs de ba base se requi requiss pour pour co couv uvri rirr l’es l’espa pace ce ve vect ctor orie iell en en enti tier er.. On dit dit d’u d’un n en ense semb mble le de vect vecteu eurr u1 , u2 , . . . , un qu’il couvre un espace vectoriel si si et seulement si tous les x de cet espace peuvent eetre de ˆ tre exprim´es exprim e´ s comme une combinaison lin´ lin eaire e´ aire des vecteurs de base :
X
x = a 1 u1 + a2 u2 +
{
∈ X
· · · + a u . n
n
(3.6)
Par exemple, dans 2 , nous avons l’habitude de travailler avec les vecteurs de base u base u 1 = [1 0] et u2 = [0 1], mais ce n’est pas la seule possibilit´ possibilite. e´ . Un autre choix serait [0 .5 0.5] et [ 0.5 0.5] ou encore [2 0] et [0 2]. La seule chose qui importe est que les vecteurs de base soient lin´ lineairement e´ airement ind´ependants. ind e´ pendants.
−
Pour notre espace 2 des polynˆ polynomes oˆ mes de degr´ degre´ 2 ou moins, on peut choisir autant 1, t , t2 que 1, 1 + t, 1 + t + t2 , par exemple.
{
}
P
{
}
}
20
` ´ CHA CHAPIT PITRE RE 3. ALG EBRE LIN EAIRE
3.1.3 3.1 .3
Produ Produit it sca scalai laire re
Le produit scalaire entre deux vecteurs x vecteurs x et y, y , que nous noterons < noterons , est une op´ opeeration ´ ration ´ seaux de neurones. N’importe quelle fonction scalaire prenant deux tr` tres e` s importante pour les r´ reeseaux vecteurs comme argument et respectant les trois propri et´ e´ tees ´ s suivantes peut servir servir ` `a d d´eefinir ´ finir un produit scalaire : 1. = < ; 2. = a< a + b< b ; 3.
≥ 0, avec < avec = 0 uniquement pour x pour x = 0 ;
La premi` premiere e` re propri´ proprieet´ ´ te´ sp´ specifie e´ cifie qu’un produit scalaire doit ˆ doit ˆeetre tre sym sym´etrique. e´ trique. La deuxi` deuxieeme ` me pr pr´ecise e´ cise que le produit d’un vecteur par une combinaison lin´ lineaire e´ aire de deux vecteurs est egale e´ gale a` la combinaison lin´ lineaire e´ aire des produits produits scalaires. Finalement, Finalement, la troisi troisieme e` me propri´ propriet´ e´ te´ restreint le produit scalaire d’un vecteur avec lui-mˆ lui-meme eˆ me aux valeurs valeurs positives, positives, sauf pour le vecteur nul qui doit donner zz´ero. e´ ro. Le produit scalaire habituellement utilis´ utilise´ sur
n
est d´ defini e´ fini par :
= x T y = x 1 y1 + x2 y2 +
3.1. 3.1.4 4
· · · + x y .
n n
(3.7)
No Norm rmee
La norme d’un vecteur est une mesure de longueur. La fonction scalaire ´ tes norme si elle satisfait satisfait aux quatre propri´ proprieet´ e´ s suivantes :
||x|| s’appelle une
||x|| ≥ 0 ; 2. ||x|| = 0 si, et seulement si, x si, x = 0 ; 3. ||ax|| = |a| ||x|| ; 4. ||x + y||≤||x|| + ||y|| ;
1.
La premi`ere ere propri´et´ et´e sp´ecifie ecifie qu’une norme est toujours positive ou nulle. La deuxi`eeme me pr´ecise ecise qu’elle n’est nulle que pour le vecteur nul. La troisi eeme ` me impo impose se que la norme norme d’un vec vecteur teur mul multipl tipliie´ par un scalaire soit (lin´ (lineairement) e´ airement) proportionnelle proportionnelle a` ce scalaire. Finalement, la derni derni`eere ` re propri propri´et´ e´ te´ impose que la norme d’une somme de deux vecteurs soit inf ´ inf erieure e´ rieure ou egale e´ gale a` la somme des normes.
|| || √ , ce qui dans
La norme la plus souvent utilis´ee, ee, nomm´eee l e l 2 , est d´efinie efinie par x = n un espace euclidien correspond a` la norme euclienne habituelle : correspond
|| || = + x21
x
x22 +
· · · + x . 2
n
(3.8)
|| || | | | | · · · | |
+ xn . Beaucoup d’autres Beaucoup d’autres normes sont possibles telle que, par exemple, x = x1 + x2 + Cette derni` derniere e` re s’appelle norme l norme l 1 (on dit aussi «city block » ou encore «manhattan»). Dans le cas gen´ e´ neral, e´ ral, il existe les normes dites l dites l p telles que :
|| || = | | + | x
p
p x1 p
p + x2 p
p p
| · · · + |x | , n
(3.9)
´ 3.1. 3.1. D EFINITION D’UN ESPACE VECTORIEL
ou` p
21
≥ 1. Dans le cas ou` p → ∞, on obtient la norme l norme l suivante : ||x|| = max |x |. ∞
i
i
(3.10)
Ceci nous indique que plus p plus p devient grand, plus on attache de l’importance aux grandes compo ` santes de x de x.. A la limite, limite, on ne tient compte que de la plus grande composante composante du vecteur vecteur.. «
»
Finalement, mentionnons Finalement, mentionnons qu’il 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 m eme eˆ me direction qu’auparavant mais dont la norme est unitaire. Les concepts de produit scalaire et de norme permettent aussi d’introduire la notion d’angle θ y via entre deux vecteurs x vecteurs x et et y via la fameuse loi des cosinus :
|| ||||y|| cos θ.
= x
3.1.5 3.1 .5
(3.12)
Orthog Orthogona onali litte´
y sont x, y> est nul (θ Deux vecteurs x vecteurs x et et y sont dits orthogonaux si leur produit scalaire < scalaire 0, il faut que le vecteur x (t) pointe dans le sens oppos´ oppose´ au gradient car c’est dans ce cas que le produit scalaire sera minimum : x(t) = −∇F (t)
(4.8)
Ce qui engendre la r` regle e` gle dite de «descente du gradient» :
∆w(t) = − η∇F (t)
(4.9)
illustreee illustr´ ´ e a` la figure 4.1. Dans l’espace des poids, cette figure montre les courbes de niveau de F repr´esent´ repr e´ sentees e´ es par des ellipses hypoth´ hypothetiques. e´ tiques. La fl` fleche e` che en pointill´ pointilles e´ s montre la direction optimale pour atteindre le minimum de F . La fl` fleeche ` che pleine montre la direction du gradient qui est perpendiculaire dicul aire a` la courbe de niveau en w (t). L’expression exacte du gradient d´ depend e´ pend de la fonction d’activation utilis´ utilisee e´ e pour les neurones. Nous reviendrons en d´ details e´ tails sur la m´ meethode ´ thode de la descente du gradient au chapitre 5, lorsque nous traiterons du perceptron multicouche. La regle e` gle de la correction des erreurs est utilis´ utilis ee e´ e pour beaucoup de rr´eeseaux ´ seaux de neurones artificiels, bien qu’elle ne soit pas plausible biologiquement. En effet, comment le cerveau pourrait-il connaˆˆııtre conna tre a priori priori les sorties sorties qu’il qu’il doit doit produir produiree ? Cette Cette r egle e` gle ne peut etre eˆ tre utilis´ utilisee e´ e que dans un contexte d’apprentissage supervis´ supervise´ sur lequel nous reviendrons bient ot. ˆ
4.2
Par la regle e` gle de Hebb
Dans cette section nous abordons une rr`egle e` gle qui s’inspire des travaux du neurophysiologiste Donald Donal d Hebb : When 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 A’s efficiency as one of the cells firing B, is increased.» «
30
CHAPITRE 4. PROCESSUS D’APPRENTISSA D’APPRENTISSAGE GE
Dans un contexte contexte neurobiologi neurobiologique, que, Hebb cherchait cherchait a` etablir e´ tablir une forme d’apprentissage associatif au niveau cellulaire. Dans le contexte des r´ r eseaux e´ seaux artificiels, on peut reformuler l’ l’´eenonc´ ´ nonce´ de Hebb sous la forme d’une r`eegle gle d’apprent d’apprentissage issage en deux parties : 1. Si deux neurones de part et d’autre d’un synapse (connex (connexion) ion) sont acti activ ves e´ s simultan´ simultanement e´ ment (d’une mani` maniere e` re synchrone), alors la force de ce synapse doit ˆeetre tre augment augment´ee e´ e ; 2. Si les memes eˆ mes deux neurones sont activ´ actives e´ s d’une mani` maniere e` re asynchrone, alors le synapse correspondant doit doit etre eˆ tre affaibli ou carr´ carrement ´ e´ ment ´elimin´ elimine. e´ . Un tel synapse est dit «synapse hebbien». Il utilise un m´ mecanisme e´ canisme interactif, d´ deependant ´ pendant du temps et de l’espace, l’espace, pour augmenter l’efficacit´ l’efficacit´e synaptique d’une mani`eere re proportion proportionnelle nelle a` la corr´eelation lation des activit´ activites e´ s pr´ pree´ - et post-synapti post-synaptiques. ques. De cette d´ definition e´ finition ressort les propri´ propriet´ e´ tes e´ s suivantes : 1. D´ ependance temporelle temporelle.. Les modifications d’un synapse hebbien d´ d ependent e´ pendent du moment exact des activit´ activites e´ s pr´ pree´ - et post-synaptiqu post-synaptiques es ; ´ spatiale. Etant spatiale. 2. Dependance ´ donne´ la nature mˆ donn´ meme eˆ me du synapse qui constitue un lieu de transmission d’information, l’apprentissage hebbien se doit de poss´ poss eeder ´ der une contigu contigu¨¨ıt´ ıte´ spati spatiale. ale. ´ te´ qui, entre autres, permet l’apprentissage dit non-supervis e´ sur lequel C’est cette propri´ proprieet´ nous reviendrons bientˆ biento ot ˆt ; Interaction. L’apprentissage hebbien d´ 3. Interaction. depend e´ pend d’une interaction entre les activit activit´es e´ s de part et d’autre du synapse. elation. 4. Conjonction ou corr elation ´ ´ . Une interpr´ interpretation e´ tation de l’´ l’enonc´ e´ nonce´ de Hebb est que la condition permettant mett ant un changement changement dans l’efficacit´ l’efficacit´e synaptique est une conjonction des activit´es e s pr´e et post-synapti post-s ynaptiques. ques. C’est la co-occurrence co-occurrence des activit activit´es e´ s de part et d’autre du synapse qui engendre une modification de celui-ci. Une interpr´ interpretation e´ tation plus statistique r´ r ef e´ f eere ` ` re `a la corr´ correlation e´ lation de ces activit´ activites. e´ s. Deux activit´ activites e´ s positives simultan´ simultanees e´ es (corr´ (correlation e´ lation positive) positive) engendrent engendrent une augmentation de l’efficacit´ l’efficacite´ synaptique, alors que l’absence d’une telle corr elation e´ lation engendre une baisse de cette efficacit´ efficacite. e´ . Mathematiquement, Math´ e´ matiquement, on peut exprimer la r` r egle e` gle de Hebb sous sa forme la plus simple par la formule suivante : ∆w j (t − 1) = ηp η p j (t)a(t), (4.10) ou` η est une constante positive qui d etermine e´ termine la vitesse de l’apprentissage, p j (t) correspond a` l’activit´e pr´e-synaptique e-synaptique (l’entr´eeee j du neurone) au temps t, et a(t) a` l’activit´e post-s post-synapti ynaptique que (sortie du neurone) a` ce mˆ meme eˆ me temps t. Cette formule fait ressortir explicitement la corr elation e´ lation entre le signal qui entre et celui qui sort. Sous une forme vectoriel vectorielle, le, on ecrit e´ crit :
∆w(t − 1) = η p(t)a(t).
(4.11)
Un probl`eme eme imm´ediat ediat avec la r`egle egle de l’´equation equation 4.11 est que les changements de poids ∆ w j (t) peuvent peuve nt croˆ croˆıtre ıtre de fac¸on ¸on exponentielle si, par exemple, l’entr´ l’entree e´ e et la sortie demeurent constantes dans le temps. Pour pallier a` cette croissance exponentielle qui provoquerait invariablement une saturation du poids, on ajoute parfois un facteur d’oubli qui retranche de la variation de poids, une fraction α du poids actuel. On obtient ainsi :
∆w j (t − 1) = ηp η p j (t)a(t) − αw j (t − 1),
(4.12)
` 4.2.. PAR LA REGLE 4.2 DE HEBB
31
ou` 0 ≤ α ≤ 1 est une nouvelle constante. Sous forme vectorielle, on ´ on ´ecrit ecrit :
∆w(t − 1) = η p(t)a(t) − αw(t − 1).
(4.13)
La regle e` gle de Hebb avec oubli, eenonc´ ´ nonceee ´ e a` l’´ l’equation e´ quation 4.13, contourne efficacement efficacement le probl probl`eme e` me des poids qui croissent (ou d ecroissent) e´ croissent) sans limite. limite. Supposons que p j (t) = a(t) = 1 et que nous ayons atteint le r´ regime e´ gime permanent o` ou` ∆w j = 0 . Alors, la valeur maximale w jmax que peut atteindre le poids w j (t) est donn´ donnee e´ e par :
w jmax = (1 − α )w jmax + η η = . α
(4.14)
(4.15)
` cause du terme d’oubli, il est primordial Mais cette r` regle e` gle ne r´ resout e´ sout pas tous les probl` problemes. e` mes. A que les stimuli soient r´ rep´ e´ peet´ ´ tees ´ s reguli` e´ gulierement, e` rement, sinon les associations apprises gr ace aˆ ce a` la r` reegle ` gle de l’´ l’equation e´ quation 4.13 seront ´ seront ´eventuellement eventuellement perdues car compl` completement e` tement oubli´ oubliees. e´ es. Une autre variante de la regle e` gle de Hebb s’exprime donc de la mani ere e` re suivante :
∆w j (t − 1) = ηp η p j (t)a(t) − αa(t)w j (t − 1).
(4.16)
Et si l’on fixe α = η pour simplifier simplifier (on pose un rythme d’apprentissa d’apprentissage ge eegale ´ gale a` celui de l’oubli), on obtient la r`egle egle dite «instar» :
∆w j (t − 1) = ηa η a(t) [ p p j (t) − w j (t − 1)] ,
(4.17)
que l’on peut r´ ree-´ ´ -ecrire e´ crire sous sa forme vectorielle de la fac¸on suivante :
∆w(t − 1) = ηa η a(t) [p(t) − w(t − 1)] .
(4.18)
Une fac fa c¸on d’abord d’ aborder er cette ce tte r eegle, ` gle, 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 qu’en pr´esence esence d’une activit´e post-synaptique positive, le vecteur de poids est ´ e p (t), le long du segment qui relie l’ancien vecteur de deplac´ e´ place´ dans la direction du vecteur d’entr eee poids avec le vecteur d’entr´ d’entreee, ´ e, tel qu’illustr qu’illustr´e´ `a la figure 4.2. Lorsque η = 0, le nouveau vecteur de poids est est egal ` e´ gal `a l’ancien (aucun changement). Lorsque η = 1, le nouveau nouveau vecteur de poids est ´egal egal 1 au vecteur d’entr´ d’entree. e´ e. Finalement, lorsque η = 2 , le nouveau vecteur est ` est `a mi-chemin entre l’ancien vecteur vecte ur de poids et le vecteur vecteur d’entr´ d’entree. e´ e. ´ te´ particuli Une propri´ proprieet´ particuli`erement e` rement int int´eressante e´ ressante de la r` regle e` gle instar est qu’avec des entr ees e´ es normalis´ lisees, e´ es, suite au processus d’apprentissage, les poids w convergeront convergeront egalement e´ galement vers des vecteurs normalis´es. normalis e´ s. Mais nous y reviendrons lorsque nous traiterons du r´ reseau e´ seau «instar».
32
CHAPITRE 4. PROCESSUS D’APPRENTISSA D’APPRENTISSAGE GE
p(t)
w(t) w(t-1)
graphique de la r egle e` gle « instar instar » lors d’une activit e´ F IG . 4.2 – Repr – Repr esentation ´ ´ » lors ´ post-synaptique positive.
4.3
Competitif e´ titif
L’apprentissage comp´ competitif, e´ titif, comme son nom l’indique, consiste ` consiste `a faire comp´ competitionner e´ titionner les neurones d’un r´ reseau e´ seau pour d´ determiner e´ terminer lequel sera actif actif a` un instant donn´ donne. e´ . Contrairement aux autres types d’apprentissage o` ou, u` , gen´ e´ neralement, e´ ralement, tous les neurones peuvent apprendre simultan simultan´ement e´ ment et de la mˆ meme eˆ me mani` maniere, e` re, l’apprentissage comp´ competitif e´ titif produit un «vainqueur» ainsi que, parfois, un ensemble de neurones «voisins» du vainqueur, et seuls ce vainqueur et, potentiellement, son voi´ ficient d’une adaptation de leur poids. On dit alors que l’apprentissage est local car sinage b´ ben´ e´ neeficient limit´e´ a` un sous-ensemble des neurones du r eseau. limit e´ seau. Une r` regle e` gle d’apprentissage comp´ compeetitif ´ titif comporte les les el´ e´ leements ´ ments suivants : – Un ensemble ensemble de neurones identique identiquess (mˆ (meme eˆ me type) sauf pour les valeurs de leurs poids synaptiqu napt iques es ; ´ e `a la «force» d’un neuron – Une limite limite impos´ imposeee ` neuronee ; – Un m´ mecanisme e´ canisme permettant aux neurones de comp´ comp etitionner e´ titionner pour le droit de r´ r epondre e´ pondre a` un certain sous-ensemble des stimuli d’entr´ee, ee, de mani`ere e re a` ce qu’un seul neurone de sortie a` la fois. soit actif ` Ainsi, les neurones individuels peuvent apprendre a` se sp´eecialiser cialiser sur des sous-ensembles de stimuli similaires pour devenir des d´ detecteurs e´ tecteurs de caract´ caracteristiques. e´ ristiques. Dans leur forme la plus simple, les r eseaux e´ seaux de neurones qui utilisent l’apprentissage comp etitif e´ titif sont souvent constitu´es es d’une seule couche de neurones de sortie, totalement connect´eeee sur les ´ es. Un ne entr´eees. entr neur uron onee va vain inqu queu eurr modi modifie fiera ra ses ses po poid idss syna synapt ptiq ique uess en les les rapp rapproc rocha hant nt (g (g´eom´ e´ ometriquement) e´ triquement) d’un stimulus d’entr´eeee p pour lequel il a battu tous les autres neurones lors de la comp´etition etition :
∆w =
η(p − w) si le neurone est vainqueur , 0 autrement
(4.21)
ou` 0 < η < 1 correspond correspond a` un taux d’apprentissage. Un neurone qui ne gagne pas la comp etition e´ tition ne modifiera aucunement ses poids. Il ne sera donc pas affect e´ par le stimulus en question. Parfois, on d efinit ´ e´ finit ´eegalement galement un voisinage autour du neurone gagnant et on applique une r egle e` gle similaire sur
` ´ 4.4.. PR 4.4 PROBL OBL EME DE L’AFFECTATION DU CR EDIT
33
les voisins, mais avec un taux d’apprentissage diff erent e´ rent :
∆w = avec η 2 ≤ η 1 .
η1(p − w) si le neurone est vainqueur η2(p − w) si le neurone est voisin du vainqueur , 0 autrement
(4.22)
Comme nous le verrons plus loin dans ce chapitre, l’apprentissage comp etitif e´ titif est surtout utilis´ utilise´ dans le contexte d’un apprentissage dit non-supervis´ non-supervise, e´ , c’est-` c’est-a-dire a` -dire lorsqu’on ne connait pas les valeurs d´ desir´ e´ sirees e´ es pour les sorties du r´ reeseau. ´ seau.
4.4
Probleme e` me de l’affectation du cr´ credit e´ dit
Dans le domaine g´en´ en´eral eral de l’apprentissage, il existe un probl`eme eme qui tourne autour de la notion not ion de «aff affect ectati ation on du cr´ credit e´ dit»2 . Esse Essent ntie iell llem emen ent, t, il s’agi s’agitt d’af d’affe fect cter er le cr´ credit e´ dit d’un d’un resultat e´ sultat globa global, l, par exemple l’ad´ l’adequation e´ quation des sorties d’un r´ reseau e´ seau face ` face `a un certain certain stim stimulus ulus d’entr´ d’entreee, ` ´ e, `a l’ensemble des d´ decisions e´ cisions internes prises par le syst` syst eme e` me (le r´ reseau) e´ seau) et ayant conduit ` conduit `a ce r´ resultat e´ sultat global. Dans le cas de l’exemple d’un r´ reseau, e´ seau, les d´ decisions e´ cisions internes internes correspondent correspondent aux sortie sortiess des neurones situ situ´es e´ s ´ cedent sur les couches qui pr´ preec` e` dent la couche de sortie. Ces couches sont habituellement qualifi´ qualifiees e´ es de «couches cach´ cachees e´ es» car on ne dispose pas, a priori, priori, d’information d’information sur l’ad´ l’adequation e´ quation de leurs sorties. Le probl`eme eme de l’affectation du cr´edit edit est donc bien pr´esent esent dans l’apprentissage des r´eeseaux seaux de neurones. Par exemple, si l’on adopte une r egle e` gle bas´ basee e´ e sur la correction des erreurs, comment fera-t-on pour calculer cette erreur sur les couches cach´ cachees, e´ es, si l’on ne poss` posseede ` de pas l’information a` propos de leurs sorties d´ desir´ e´ sirees? e´ es? De mˆ meme, eˆ me, que fera-t-on si l’on dispose uniquement d’une appr´eciation appr e´ ciation g´ gen´ e´ nerale e´ rale de performance du r´ reseau e´ seau face ` face `a chaque stimulus, stimulus, et non des sorties d´ deesir´ ´ sirees e´ es pour chaque neurone de la couche de sortie ? Nous apporterons certains certains el´ e´ lements e´ ments de r´ reponse ` e´ ponse `a ces questions questi ons dans les sous-sections sous-sections suivant suivantes, es, puis dans les chapitres chapitres subs´ subsequents e´ quents au fur et et a` mesure que nous aborderons des algorithmes concrets d’apprentissage.
4.5 4. 5
Super uperv vis is´e´
L’apprentissage dit supervis´ supervise´ est caract´ caracteris´ e´ rise´ par la pr´ presence e´ sence d’un «professeur» qui poss` possede e` de une connaissance approfondie de l’environnement dans lequel eevolue ´ volue le rr´eeseau ´ seau de neurones. En pratique, les connaissances de ce professeur prennent la forme d’un ensemble de Q couples de ´ signe vecteurs d’entr´ d’entree e´ e et de sortie que nous noterons {(p1 , d1 ), (p2 , d2), . . . , (pQ , dQ )}, ou` p i deesigne un stimulus (entr´ (entree) e´ e) et di la cible pour ce stimulus, c’est-` c’est-a-dire a` -dire les sorties d´ desir´ e´ sirees e´ es du r´ reseau. e´ seau. d’espece e` ce de ce que le r´ reeseau ´ seau devrait produire Chaque couple (pi , di ) correspond donc a` un cas d’esp` (la cible) pour un stimulus donn´ donne. e´ . Pour cette raison, l’apprentissage supervis´ supervis e´ est aussi qualifi´ qualifie´ d’apprentissage par des exemples. 2
Traduction litt´eerale rale de « Credit assignment».
34
Environnement
CHAPITRE 4. PROCESSUS D’APPRENTISSA D’APPRENTISSAGE GE
p(t)
d(t)
Professeur
+ a(t) −
Système supervisé
∑
e(t)
ema supervis e. F IG . 4.3 – Sch – Sch´ ´ bloc de l’apprentissage supervis´ ´ L’apprentissage supervis´e est illustr´e d’une mani`ere ere conceptuelle a` la figure 4.3. L’environnement est inconnu inconnu du reseau. e´ seau. Celui-ci produit un stimulus p qui est achemin´ achemine´ `a la fois au professeur et au r´eseau. eseau. Grˆace ace a` ses connaissances intrins`eeques, ques, le professeur produit une sortie d´esir´ esir´ee ee d (t) pour ce stimulus. On suppose que cette r´ reponse e´ ponse est optimale. Elle est ensuite compar´ comparee e´ e (par soustration) avec la sortie du r´ reseau e´ seau pour produire un signal d’erreur e(t) qui est r´ ree-inject´ ´ -injecte´ dans le reseau e´ seau pour modifier son comportement via une proc´ procedure e´ dure it´ iterative e´ rative qui, eventuellement, e´ ventuellement, lui permet de simuler la r´ r eponse e´ ponse du professeur. Autrement dit, la connaissance de l’environnement par le professeur est graduellement transf er´ e´ ree e´ e vers le r´ reseau e´ seau jusqu’` jusqu’a` l’atteinte d’un certain crit` critere e` re d’arrˆ d’arret. eˆ t. Par la suite, on peut ´eliminer eliminer le professeur professeur et laisser laisser le reseau e´ seau fonctio fonctionner nner d dee fac¸ on auto autonome. nome. Le lecteur attentif aura remarqu´ remarque´ qu’un apprentissage supervis supervis´e´ n’est rien d’autre qu’un synonyme de l’apprentissage par correction des erreurs (voir section 4.1). Il poss ede e` de donc les mˆ memes eˆ mes limitations, a` savoir que sans professeur pour fournir les valeurs cibles, il ne peut d’aucune fac¸¸on limitations, on apprendre de nouvelles strat´ strategies e´ gies pour de nouvelles situations qui ne sont pas couvertes par les exemples d’apprentissage.
4.6 4. 6
Par Par renf renfor orce ceme ment nt
L’apprentissage par renforcement permet de contourner certaines des limitations de l’apprentissage supervis´ supervise. e´ . Il consiste en un esp ece e` ce d’apprentiss d’apprentissage age supervis supervise, e´ , mais avec un indice de satisfaction scalaire au lieu d’un signal d’erreur vectoriel. Ce type d’apprentissage est inspir e´ des travaux en psychologie exp´eerimentale rimentale de Thorndike (1911) : Off several responses made to the same situation, those which are accompanied or O 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 rec ur ; those which which are accompanied or closely followed followed by discomfort discomfort to the animal 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 eˆ me si cet cet enonc´ e´ nonce´ ne peut expliquer a` lui seul le comportement animal au niveau biologique, sa simplicit´e´ et son pragmatisme peut nous permettre de composer des r` simplicit regles e` gles d’apprentissage utiles.
´ 4.7. NON-S NON-SUPER UPERVIS VIS E
35
Dans le contexte des r´ reseaux e´ seaux de neurones neurones artificiels, artificiels, nous pouvons reformuler l’´ l’enonc´ e´ nonce´ de Thorndike de la l a fac¸ on suivante : Lorsqu’une action (d´ (decision) e´ cision) prise par le r´ reseau e´ seau engendre un indice de satisfaction positif, alors la tendance du r´eeseau seau a` prendre cette action doit etre eˆ tre renforc´ee. ee. Autrement, la tendance tendance a` prendre cette action doit doit etre eˆ tre diminu´ diminuee. e´ e. En pratique, pratique, l’usage de l’apprentiss l’apprentissage age par renforcement renforcement est complexe complexe a` mettr mettree en ?uvre, ?uvre, de sor sorte te que nous n’aborderons aucun r eseau e´ seau qui l’emploie. Il importe cependant de bien comprendre la diff erence e´ rence entre ce type d’apprentissage et l’apprentissage supervis e´ que nous ´ nous ´etudierons etudierons en d´ details e´ tails au chapitre 5. L’apprentissage supervis´ supervise´ dispose d’un signal d’erreur qui non seulement permet de calculer un indice de satisfaction (p.ex. l’erreur quadratique moyenne), mais permet aussi d’estimer le gradient local qui indique une direction pour l’adaptation des poids synaptiques. C’est cette information fournie par le professeur qui fait toute la diff erence. e´ rence. Dans l’apprentissage par renforcement, l’absence de signal d’erreur rend le calcul de ce gradient impossible. Pour estimer le gradient, le reseau e´ seau est oblig´ oblige´ de tenter des actions et d’observer le r´ resultat, e´ sultat, pour eventuellement e´ ventuellement inf erer e´ rer une direction de changement pour les poids synaptiques. Pour ce faire, il s’agit alors d’implanter un processus d’essais et d’erreurs tout en retardant la r´ecompense ecompense offerte par l’indice de satisfaction. Ainsi, on introduit deux ´ deux ´etapes etapes distinctes : une d’exploration ou` l’on essaie des directions al al´eeatoires ´ atoires de changement, et une d’exploitation o` ou` l’on prend une d d´ecision. e´ cision. Ce processus en deux ´ deux ´etapes etapes peut ralentir consid´ considerablement e´ rablement l’apprentissage. De plus, il introduit un dilemme entre le d esir e´ sir d’utiliser l’information d´ deej` ´ ja` apprise a` propos du m´ merite e´ rite des diff erentes e´ rentes actions, et celui d’acqu´ d’acquerir e´ rir de nouvelles connaissances sur les cons´ cons equences e´ quences de ces d´ decisions e´ cisions pour, ´ pour, ´eventuellement, eventuellement, mieux les choisir dans le futur.
4.7 4. 7
NonNon-su supe perv rvis is´e´ La derni derni`ere e` re forme d’apprentissage que nous abordons est dite «non-supervis non-supervis´ee e´ e» ou encore
«
auto-organiseee auto-organis´ ´ e». Elle est caract´ caract eris´ e´ risee e´ e par l’absence compl` compl ete e` te de professeur, c’est-` c’est- aa-dire ` -dire qu’on ne dispose ni d’un signal d’erreur, comme dans le cas supervis´ supervise, e´ , ni d’un indice de satisfaction, comme dans le cas par renforcement. Nous ne disposons donc que d’un environnement qui fournit des stimuli, stimuli, et d’un r eseau e´ seau qui doit apprendre sans intervention externe. En assimilant les stimuli de l’environnement a` une description de son l’environnement son etat e´ tat interne, la tˆ tache aˆ che du r´ reseau e´ seau est alors de mod´ mod eliser e´ liser cet etat e´ tat le mieux possible. Pour y arriver, il importe d’abord de d´efinir efinir une mesure de la qualit´e pour ce mod` modele, e` le, et de s’en servir par la suite pour optimiser les param` parametres e` tres libres du r´ reseau, e´ seau, c’est-` c’est-a-dire a` -dire ` ses poids synaptiques. A la fin de l’apprentissage, le r´ r eseau e´ seau a d´ deevelopp´ ´ veloppe´ une habilit habilit´e´ a` former des repr´esentations repr e´ sentations internes des stimuli stimuli de l’environn l’environnement ement permettant permettant d’encod d’encoder er les caract caract´eristiques e´ ristiques de ceux-ci et, par cons´ cons eequent, ´ quent, de cr cr´eeer ´ er automatiquement des classes de stimuli similaires. L’apprentissage non-supervis´e s’appuie g´en´ en´eralement eralement sur un processus comp´etitif etitif (voir section 4.3) permettant d’engendrer un mod ele e` le o` ou` les poids synaptiques des neurones repr´ representent e´ sentent des prototypes de stimuli. La qualit´ qualit e´ du mod` modele e` le r´ resultant e´ sultant doit s’´ s’evaluer ` e´ valuer `a l’aide d’une m´ meetrique ´ trique permettant de mesurer la distance entre les stimuli et leurs prototypes. Souvent, cette m etrique e´ trique est bas´ basee e´ e
36
CHAPITRE 4. PROCESSUS D’APPRENTISSA D’APPRENTISSAGE GE
sur la norme l2 (voir section 3.1.4). C’est le processus de comp etition e´ tition qui permet de s´ selectionner e´ lectionner le prototype associ´ associe´ `a chaque stimulus en recherchant le neurone dont le vecteur de poids synaptiques est le plus proche (au sens de la m´etrique etrique choisie) du stimulus en question.
4.8
T ˆaches aches d’apprentissage
´enum´ ˆ ches que Nous te Nous term rmin inon onss ce ch chap apit itre re en en ´ enumerant e´ rant diff diff erente e´ rentess cat´ categor e´ gorie iess de taaches que l’on l’on peut peut voul vouloi oirr realiser e´ aliser avec un r´ reseau e´ seau de neurones : Approximation. Soit la fonction g telle que : 1. Approximation.
d = g (p),
(4.23)
ou` p est l’argument de la fonction (un vecteur) et d la valeur (un scalaire) de cette fonction e´ valuee evalu´ e´ e en p . Supposons Supposons maintenant maintenant que la fonction fonction g (·) est inconnue. La tˆ tache aˆ che d’approximation consiste alors a` concevoir un r´eeseau seau de neurones capable d’associer les el´ e´ l´ements ements des couples entr´ entree-sortie e´ e-sortie : {(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )}. Ce probl` probleme e` me peut ˆ peut ˆetre etre r´ resolu ` e´ solu `a repr´esentant e´ sentant les stimuli, l’aide d’un apprentissage supervis´ supervise´ sur les Q exemples, avec les p i repr et les di repr´ representant e´ sentant les sorties d´ desir´ e´ sirees e´ es pour chacun de ces stimuli, avec i = 1, 2, . . . , Q. Ou inversement, on peut aussi dire que l’apprentissage supervis e´ est un probl` probleeme ` me d’approximation mati on de fonction fonction ; 2. Association. Association. Il en existe deux types : l’auto-association et l’h´et´ et´eero-associati ro-association. on. Le probl`eme eme `a memori de l’auto-assoc l’auto-associatio iation n consiste consiste ` e´ moriser ser un en ense semb mble le de patr patron onss (v (vec ecte teur urs) s) en les les pr´ presentant e´ sentant success suc cessiv iveme ement nt au resea e´ seau. u. Par la suit suite, e, on pr´ presen e´ sente te au reseau e´ seau une une vers versio ion n part partie iell llee ou deform´ e´ formee e´ e d’un patron original, et la t ache aˆ che consiste ` consiste `a produire en sortie le patron original correspondant. Le probl` probleme e` me de l’h´ l’heet´ ´ tero-association e´ ro-association consiste quant a` lui a` associer des paires de patrons : ´ e et un patron de sortie. un patron d’entr´ d’entreee sortie. L’auto-associa ’auto-association tion impliqu impliquee un apprent apprentissage issage non supervis´e, supervis e´ , alors que l’h´ l’heet´ ´ teero-association ´ ro-association requiert plut plutˆot oˆ t un apprentissage supervis´ supervise. e´ . 3. Classement . Pour cette tˆ taache, ˆ che, il existe un nombre fixe de cat cat´egories e´ gories (classes) de stimuli d’entr´ee d’entr e´ e que le r´ reseau e´ seau doit apprendre apprendre a` reconna reconnaˆˆıtre. ıtre. Dans un premier temps, le r eseau e´ seau doit entreprendre entrep rendre une phase d’apprentiss d’apprentissage age supervis supervise´ durant laquelle les stimuli sont pr esent´ e´ sentes e´ s en entr´ entree e´ e et les cat´ cat egories e´ gories sont utilis´ utilisees e´ es pour former les sorties d´ deesir´ ´ sirees, e´ es, g´ gen´ e´ neeralement ´ ralement en utilisant une sortie par cat´ cat egorie. e´ gorie. Ainsi, la sortie 1 est associ ee e´ e a` la cat´ categorie e´ gorie 1, la sortie 2 2 a` la cat´ categorie e´ gorie 2, etc. Pour un probl` probleme e` me comportant Q cat cat´eegories, ´ gories, on peut par exemple fixer les T sorties d´ desir´ e´ sirees e´ es d = [d1 , d2 , . . . , dQ ] a` l’aide de l’expression suivante :
di =
stimulus appartient appartient ` `a la cat´ cateegorie ´ gorie i 1 si le stimulus , i = 1, . . . , Q . 0 autrement
(4.24)
Par la suite, dans une phase de reconnaissance, il suffira de pr´esenter esenter au r´eseau eseau n’impo n’importe rte quel stimulus inconnu pour pouvoir proc´ proceder e´ der au classement de celui-ci dans l’une ou l’autre des cat´ categories. e´ gories. Une r` regle e` gle simple de classement consiste, par exemple, exemple, a` choisir la cat´ cateegorie ´ gorie associ´ee associ e´ e avec la sortie maximale.
ˆ 4.8. 4.8. T ACHES D’APPRENTISSAGE
37
ediction. ´ diction est l’une des plus fondamentales en apprentissage. Il 4. Pr ediction ´ ´ . La notion de pr eediction s’agit d’un probl` probleme e` me de traitement temporel de signal. En supposant que nous poss´ posseedons ´ dons M echantillons e´ chantillons pass´es es d’un signal, x(t − 1), x(t − 2), . . . , x(t − M ), eechantillonn´ ´ chantillonn´es es a` intervalle de temps fixe, la tˆ taache ˆ che consiste consiste ` `a pr´ pr eedire ´ dire la valeur de x au temps t. Ce probl` probleme e` me de pr´ prediction e´ diction peut eetre ˆ tre r´ r esolu e´ solu grˆace ace a` un apprentissage apprentissage par correction correction des erreurs erreurs,, mais d’une mani`ere ere non ´etant supervis´e´ (sans supervis (sans professe professeur), ur), ´ etant donn donne´ qu quee le less valeu aleurs rs de sort sortiie desir´ e´ siree e´ e peu peuven ventt ˆetre e tre inf inf er´ e´ rees e´ es directement de la s´ seerie ´ rie chronologique. Plus pr pr´ecis´ e´ cisement, e´ ment, l’´ l’eechantillon ´ chantillon de x (t) peut servir de valeur d´ desir´ e´ siree e´ e et le signal d’erreur pour l’adaptation des poids se calcule simplement par l’´ l’equation e´ quation suivante :
e(t) = x (t) − x(t | t − 1, t − 2, . . . , t − M ),
(4.25)
sentee la sor sorti tiee obse observ´ rv´ee du ou` x(t) d´eesig signe ne la sort sortie ie d´eesir´ sir´ee et x(t | t−1, t−2, . . . , t−M ) repr´eesent ´ cedents. reseau ´ e´ seau ´etant etant donn´ donne´ les M echantillon e´ chantillonss pr´ preec´ e´ dents. La La pr´ prediction e´ diction s’apparente ` s’apparente `a la construction construction d’un mod` modele e` le physique de la s´ seerie ´ rie chronologique. Dans la mesure o o`u` le rr´eseau e´ seau poss` posseede ` de des neurones dont la fonction de transfert est non-lin eaire, e´ aire, le mod` modele e` le pourra lui-aussi lui-aussi etre eˆ tre nonlin´ lineaire. e´ aire.
5. Commande. Commande. La commande d’un processus est une autre tˆ tache aˆ che d’apprentissage que l’on peut aborder a` l’aide d’un r´ aborder reseau e´ seau de neurones. Consid´ Considerons e´ rons un syst` systeeme ` me dynamique dynamique non-li non-lin neeaire ´ aire
{u(t), y(t)} o u` u (t) d´ d eesigne ´ signe l’entr l’entr´ee e´ e du syst` systeme e` me et y (t) correspond correspond a` la r´ reeponse ´ ponse de celui celui-ci. -ci. Dans le cas g´ gen´ e´ neral, e´ ral, on d´ desire e´ sire commander ce syst` syst eme e` me de mani` maniere e` re a` ce qu’il se comporte selon un mod` modele e` le de r´ ref e´ f erence, e´ rence, souvent un mod` modele e` le lin´ lineeaire, ´ aire, { r (t), d(t)}, ou` pour tout temps t ≥ 0 , on arrive arrive a` produire une commande u (t) telle que :
lim |d(t) − y (t)| = 0,
t→∞
(4.26)
de mani` maniere e` re a` ce que la sortie du syst eme e` me suivent de pr` pr es e` s celle du mod` modele e` le de r´ ref e´ f erence. e´ rence. Ceci peut se r´ realiser e´ aliser grˆ grace aˆ ce a` certains types de r´ reseaux e´ seaux supervis´ supervises. e´ s. Dans les chapitres qui suivent, nous allons aborder des r´eseaux eseaux sp´eecifiques cifiqu es en commenc¸ ant par pa r l’u l’un n de dess pl plus us co conn nnus us et de dess pl plus us ut util ilis is´es e´ s : le pe perce rcept ptro ron n mult multic icou ouch ches es et so son n algor algorit ithm hmee de retropropagation e´ tropropagation des erreurs. erreurs.
38
Chapitre 5 Perceptron multicouche Le premier r´eseau eseau de neurones que nous allons ´eetudier tudier s’appelle le «perceptron multicouche1 » (PMC). Ce type de r´ r eseau e´ seau est dans la famille g´ gen´ e´ nerale e´ rale des r´ reseaux e´ seaux a` «propagation vers l’avant2 », c’est-`a-dire c’esta` -dire qu’en mode normal d’utilisation, l’information se propage dans un sens unique, des entr´ees entr e´ es vers les sorties sans aucune r etroaction. e´ troaction. Son apprentissage est de type supervis e, e´ , par correction des erreurs (chapitre 4). Dans ce cas uniquement, le signal d’erreur est «retropropag´ e´ tropropage´ » vers les entr´ entrees e´ es pour mettre mettre `a jour les poids des neurones. Le perceptron multicouche est un des r´ reseaux e´ seaux de neurones les plus utilis´ utilises e´ s pour des probl` probl emes e` mes d’approximation, de classification et de pr´ediction. ediction. Il est habituellement constitu´e de deux ou trois couches de neurones neurones totalement totalement connect´ connectes. e´ s. Avant d’en d’en etudier e´ tudier le fonctionnem fonctionnement ent global, nous allons nous attarder attarder a` divers cas particuliers plus simples. En particulier, nous allons aborder le cas du perceptron simple, c’est-` c’est-a-dire a` -dire le perceptron ` perceptron `a une seule couche de neurones dont les fonctions d’act d’actiiva vati tion on so sont nt de type type seui seuils ls (sect (sectio ion n 2.3). 2.3). Nous Nous al allo lons ns ensui ensuite te co consi nsid deerer ´ rer diff diff erent e´ rentes es regles e` gles d’ap d’ap-3 prentissage prenti ssage pour la correction des erreurs. Nous traiterons traiterons le cas de la r egle e` gle LMS , de l’algorithme de retropropagation e´ tropropagation (en anglais «backpropagation»), de la m´ meethode ´ thode de Newton et de la m ethode e´ thode du gradient conjugu´ conjugue. e´ .
5.1 5. 1
Percep erceptr tron on simpl simplee
Le perceptron simple est illustr´ illustre´ a` la figure 5.1. En suivant la notation sch sch´eematique ´ matique eetablie ´ tablie au chapitre 2, il s’agit d’une seule couche de S neurones totalement connect´ connectee e´ e sur un vecteur p vecteur p de de R T entr´ees. entr e´ es. La matrice W = [1 w 2 w · · · S w] de dimension S × R repr repr´esente e´ sente l’ensemble des poids de representant e´ sentant les R poids des connexions la couche, avec les vecteur-rang´ vecteur-rangees e´ es i w (dimension R × 1) repr´ reliant le neurone i avec ses entr´ entrees. e´ es. Le vecteur b (dimension S × 1) d´ d esigne e´ signe l’ensemble des S biais biais T de la couche. Les niveaux d’activation n d’activation n = Wp − b = [n1 n2 · · · nS ] des neurones de la couche servent d’argument d’argument a` la fonction d’activation qui applique un seuil au niveau 0 (section 2.3) pour 1
En anglais «multilayer perceptron» ou MLP. En anglais «feedforward networks». 3 En anglais «Least Mean Square».
2
39
40
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
Couche de S neurones neurones
Entrée
p R x x
W
1
S
x R
+
n S x x
a S x x
1
1
b
-1
S x x
R
1
S
a = hardlims(Wp!b) F IG . 5.1 – Perceptron Perceptron a` une seule couche avec fonct fonction ion seuil. produire le vecteur des sorties a sorties a = [a1 a2 · · · aS ]T , ou` :
ai =
si n i ≥ 0 +11 autrement
−
(5.1)
Considerons Consid´ e´ rons maintenant le cas non-trivial le plus simple, `a savoir lorsque R = 2 et S = 1 , c’est-` c’est-aa` dire lorsque la couche n’est form ee e´ e que d’un seul neurone reli e´ a` deux entr´ entrees. e´ es. Dans ce cas, nous T T aurons p aurons p = [ p p1 p2 ] , W = [1 w] = [w1,1 w1,2 ], b = [b1 ] et a et a = [a1 ], ou` :
a1 =
+1 si w 1,1 p1 + w1,2 p2 ≥ b1 −1 autrement
(5.2)
Cette derni` derniere e` re equation e´ quation nous indique clairement que la sortie du r eseau e´ seau (neurone) peut prendre seulement deux valeurs distinctes selon le niveau d’activation du neurone : −1 lorsque ce dernier est strictement inf erieur e´ rieur a` 0 ; +1 dans dans le cas contra contraire ire.. Il exist existee donc dans l’espa l’espace ce des entr´ entrees e´ es une fronti`ere e re d´elimitant elimitant deux r´egions egions correspondant correspondantes. es. Cette fronti`ere ere est d´eefinie finie par la condition w1,1 p1 + w1,2 p2 = b1 de l’´ l’equation e´ quation 5.2 qui correspond correspond a` l’expression g´ gen´ e´ nerale e´ rale d’une droite, telle ´ qu’illustr´eeee a` la figure 5.2. Etant donn´e un certain vecteur de poids w poids w = [w1,1 w1,2 ]T , il est ais´e de p de montrer que ce vecteur doit etre eˆ tre perpendiculaire perpendiculaire a` cette droite. En effet, pour tous les points p de T T la droite, nous avons la relation w relation w p = b, ou` b = b1 . Or le terme w terme w p correspond correspond a` un produit scalaire (section 3.1.3) et l’on sait que < x, y> = ||x|| ||y|| cos θ (equation e´ quation 3.12), ou` θ repr repr´esente e´ sente l’angle entre les vecteurs x vecteurs x et et y y.. Nous avons donc :
= ||w|| ||p|| cos θ = b
(5.3)
pour tous les points p points p qui qui appartiennent appartiennent a` la droite, droite, et le produit scalaire doit rester constant. constant. Mais s’il reste constant alors que la norme de p change, c’est parce que l’angle entre les vecteurs doit possede e` de la plus petite aussi changer. Soit Soit p , le point de la droite dont le vecteur correspondant poss` ⊥ norme. Ce vecteur est perpendiculaire ` perpendiculaire `a la droite et sa norme correspond correspond ` `a la distance perpendiculaire entre la droite et l’origine. l’origine. Maintenant, Maintenant, si sa norme est minimale, minimale, c’est que cos θ est maximal
5.1. PERCEPTR PERCEPTRON ON S SIMPLE IMPLE
p
2
41
n = 0
n > 0 w
p
1
n < 0
Fronti`ere e` re de d ecision pour un perceptron simple simple a` 1 neurone et deux entr ees. F IG . 5.2 – Fronti ´´ ´ ´
et, par cons´ consequent, e´ quent, que l’angle θ entre p⊥ et w est nul. Ainsi, w pointe dans la mˆ meme eˆ me direction que p⊥ et : b ||p⊥ || = (5.4) ||w|| ´ e (n > 0 ) si, et seuleNous pouvons pouvons egalement e´ galement d´ deduire e´ duire que l’origine appartiendra ` appartiendra `a la r´ region e´ gion gris´ griseee ment si, b < 0. Autrement, comme a` la figure 5.2, l’origine appartiendra a` la r´egion egion n < 0. Si b = 0, alors la fronti` fronti ere e` re de d´ decision e´ cision passera par l’origine. Si l’on consid` considere e` re maintenant le cas o` ou` S > 1, alors chaque neurone i poss poss´eedera ´ dera son propre vecteur de poids i w et son propre biais b i , et nous nous retrouveron retrouveronss ave avecc S fronti`eres eres de d´eecision cision distinctes. Toutes Toutes ces fronti` frontieres e` res de d´ decision e´ cision seront lin´ lineaires. e´ aires. Elles permettront chacune de d´ decouper e´ couper l’espace d’entr´ee e e en deux r´egions egions infinies, de part et d’autre d’une droite. Chaque neurone d’un perceptron simple permet donc de r´ r esoudre e´ soudre parfaitement un probl` probleme e` me de classification (voir section 4.8) 4.8) a` deux classes, classes, a` condition que celles-ci soient lin lin´eeairement ´ airement ss´eparables. e´ parables. Il ne reste plus qu’`a` trouver une r` qu’ regle e` gle d’apprentissage pour pouvoir d´ d eterminer e´ terminer les poids et les biais du r eseau e´ seau permettant de classer au mieux Q couples d’apprentissage :
{(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )}
(5.5)
Pour fixer les id´ idees, e´ es, consid´ considerons e´ rons le probl` probleme e` me particulier, illustr´ illustre´ a` la figure 5.3, consistant a` discriminer entre le point noir (p ( p1 ) et les points blancs (p (p2 et p 3 ) definis e´ finis par :
1 p1 = 2
−
, d1 = +1 , p2 =
1 2
, d2 = −1 , p3 =
0 −2
, d3 = −1
(5.6)
et fixons S = 1 (un seul neurone). Il s’agit de trouver un vecteur de poids w correspondant a` l’une ou l’autre des fronti` frontieres e` res de d´ decision e´ cision illustr illustr´ees e´ es a` la figure 5.3a. Pour simplifier davantage,
42
p
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
p
p
2
2
2
p2 w
(t +1) +1)
w
w
p
(a)
p
p
1
1
1
w
(t )
w
(b)
(c)
(d)
probleme e` me a` deux classes classes (points noirs vs point pointss blancs). F IG . 5.3 – Exemple d’un probl`
nous supposons pour cet exemple que b = 0, de sorte que les fronti` frontieres e` res de d´ decision e´ cision induites par w passent toutes par l’origine. Le probl` probleme, e` me, bien ssˆur, uˆ r, est que nous ne connaissons pas a priori la bonne orientation pour w pour w.. Nous allons donc l’initialiser al´ aleatoirement, e´ atoirement, par exemple w exemple w = [1 −1]T (voir figure 5.3b). Consid´erons Consid e´ rons le point p point p 1 (point noir). La sortie du r´ reseau e´ seau pour ce point est donn´ donn ee e´ e par :
a = hardlims(wT p1 ) = hardlims [1 −1] 1
2
= hardlims(−1) = −1
(5.7)
Or, la sortie d´ desir´ e´ siree e´ e pour ce point est +1 (les zones grises a` la figure 5.3 produisent une sortie +1). Le r eseau e´ seau n’a donc pas le comportement d esir´ e´ sire, e´ , il faudra modifier le vecteur w. On peut remarquer que dans le cas particulier de ce probl eme e` me simplifi´ simplifie, e´ , la norme de w de w ne compte pas car le biais est nul, seule son orientation importe. Comment pourrions-nous modifier w pour que le r´eseau eseau puisse classifier ad´eequatement quatement le point p1 ? Une solution consisterait ` consisterait `a fixer w = p 1 , tel qu’illustr´ qu’illustre´ `a la figure 5.3c. De cette mani ere, e` re, le point p point p 1 serait parfaitement classer. Mais le probl eme e` me avec cette approche est que la fronti` frontieere ` re de d ecision e´ cision bondirait d’un stimulus ` stimulus `a l’autre au fil de l’apprentiss l’apprentissage age ce qui pourrait engendrer engendrer des oscillations et empˆ empecher eˆ cher la convergence dans certains cas. La solution consiste donc ` donc `a prendre une position interm´ intermediaire e´ diaire en approchant la direction de de w de celle de p de p 1 : w de w(t + 1) = w (t) + p1
(5.8)
tel qu’illustr´ qu’illustre´ a` la figure 5.3d. Cette r egle e` gle fonctionne bien pour la cat egorie e´ gorie de stimulus o` ou` l’on desire e´ sire obtenir une sortie +1. Dans la situation inverse, il faut au contraire eeloigner ´ loigner w de p1 . d−a Definissons e´ finissons un signal d’erreur e = 2 ou` e ∈ {−1, 0, +1}. Alors, nous avons l’ensemble suivant de r` regles e` gles : p si e = +1 0 si e = 0 (5.9) ∆w = −p si e = −1
ou` ∆w = w (t + 1) − w(t) et p est le stimulus stimulus que l’on cherche a` apprendre. Dans le cas o`u b = 0, on peut aussi mettre a` jour le biais en observant simplement que celui-ci n’est rien d’autre qu’un poids comme les autres, mais dont l’entr ee e´ e est fix´ fixeee ` ´ e `a -1. Ainsi :
∆b = −e
(5.10)
p1
5.1. PERCEPTR PERCEPTRON ON S SIMPLE IMPLE
(a)
(b)
43
(c)
problemes e` mes non lin´ lineairement separables. s´ F IG . 5.4 – Exemples de probl` ´ ´
Et dans le cas g´en´ en´eral e ral o u` l’on dispose de S neurones, neurones, on peut r´e´ eecrire e´ crire l’´equation equation 5.9 sous forme matricielle matrici elle de d e la fac¸on suivante s uivante :
∆W = epT ∆b = −e
(5.11)
(5.12)
T
ou` e = p.
[e1 e2
···
] = d − a est le vecteur des erreurs que l’on observe en sortie pour le stimulus
eS
Malgre´ sa relative simplicit´ Malgr´ simplicit e, e´ , la r` regle e` gle du perceptron s’av` s’avere e` re tr` tres e` s puissante. Vous pouvez facilement exp´ experimenter e´ rimenter avec cette r` regle e` gle grˆ grace ` aˆ ce `a la «Neural Network toolbox» de Matlab, programme de d´emonstration emonstration nnd4pr. ´ montrerons pas ici qu’elle converge toujours vers une solution en un nombre fini Nous ne d´ deemontrerons d’it´erations, d’it e´ rations, mais sachez qu’une telle preuve existe. Il importe cependant de connaˆ connaˆıtre ı tre les hypoth`eses poth e` ses sous-jacentes ` sous-jacentes `a cette preuve : 1. Le probl probl`eme e` me doit doit etre eˆ tre lin´ lineairement e´ airement s´ separabl e´ parablee ; 2. Les poids poids ne sont sont mis ` mis `a jour que lorsqu’un stimulus stimulus d’entr´ d’entree e´ e est class´ classe´ incorr incorrecteme ectement nt ; 3. Il existe existe une une borne sup sup´erieure e´ rieure sur la norme des vecteurs de poids. La premi` premiere e` re hypoth` hypothese e` se va de soit car s’il n’existe aucune solution lin eaire e´ aire au probl` probleme, e` me, on ne peut pas s’attendre ` s’attendre `a ce qu’un r´ reseau e´ seau qui ne peut produire produire que des solutio solutions ns lin lin´eeaires ´ aires puisse con conver verger ger ! La deuxi`eme eme hypoth`ese ese est implicite dans l’´eequation quation 5.11. Lorsque le signal d’erreur e est nul, le changement de poids ∆W est egalement e´ galement nul. La troisi` troisi eme e` me hypoth` hypothese e` se est plus subtile mais || || constant, sans changer l’o l’orienta rientation tion non limitative. Si l’on s’arrange pour conserver le ratio b constant, de de w pour un neurone donn´ donn e, e´ , on ne change aucunement la fronti` frontiere e` re de d´ decision e´ cision que ce neurone engendre. Sans perte de g´ g en´ e´ neeralit´ ´ ralite, e´ , on peut donc r´ reeduire ´ duire la norme des poids lorsque celle-ci devient trop grande. w
Mais qu’entend-on par un probl` probleme e` me a` deux classes «lin´ lineeairement ´ airement ss´eparables e´ parables» ? Et bien simplement un probl`eme eme de classification dont la fronti`ere ere de d´eecision cision permettant de s´eparer eparer les deux classes peut sous la forme hyperplan (plan dans un espace a` n dimensions). Par exemple, les s’exprimer problemes probl` e` mes de la figure 5.4d’un ne sont pas ss´eparables e´ parables en deux dimensions (par de simples droites). Des fronti` frontieres e` res possibles sont dessin´ dessinees e´ es en pointill´ pointilles. e´ s. Elles sont toutes non lin´ lineaires. e´ aires.
44
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
Entrée
Couche de S neurones neurones
p R x
1
W S
x R
+
n S x x
a S x x
1
1
b
-1
S x x
R
1
S
a = purelin(Wp!b) F IG . 5.5 – R R´ eseau ´ ADALINE.
5.2
Regle e` gle LMS
A ` la section pr pr´eec´ ´ cedente, e´ dente, nous avons trait´ traite´ le cas du perceptron simple o u` les neurones utilisent une fonction de transfert de type «seuil». Nous allons maintenant consid´ consideerer ´ rer la m mˆeeme ˆ me architecture de r´eseau eseau a` une seule couche mais avec cette fois-ci une fonction de transfert lin´eaire eaire comme a` la figure 5.5. Ce r´ reseau e´ seau s’appelle «ADALINE» (en anglais «ADAptive LInear NEuron») `a cause de sa fonction de transfert lin´eeaire. aire. Il souffre des mˆeemes mes limitations que le perceptron simple : il ne peut r´ resoudre e´ soudre que des probl` problemes e` mes lin´ lineairement e´ airement s´ separables. e´ parables. Cependant, son algorithme d’apprentissage, la r` regle e` gle du «Least Mean Square», est beaucoup plus puissante que la r` r eegle ` gle du perceptron ´ e de converger vers une solution, si celle-ci existe, original, car bien que cette derni` derniere e` re soit assur´ assureee le reseau e´ seau r´ reesultant ´ sultant est parfois sensible au bruit puisque la fronti eere ` re de d d´ecision e´ cision se retrouve souvent trop proche des patrons d’apprentissage (l’algorithme s’arrˆ s’arrete eˆ te d` des e` s que tous les patrons sont biens class´ classes). e´ s). En revanche, la r` regle e` gle LMS minimise minimise l’erreur quadratique quadratique moyenne, de sorte que la fronti`ere fronti e` re de d´ decision e´ cision a tendance ` tendance `a se retrouver retrouver aussi loin que possible des prototypes. prototypes. En pratique, la r` regle e` gle du LMS a d´ debouch´ e´ bouche´ vers de nombreuses applications dont une des plus fameuses est l’annulation de l’´ l’echo e´ cho pour les communications tt´el´ e´ lephoniques. e´ phoniques. Lorsque que vous faitess un appel inter-urbai faite inter-urbain n ou outre-mer, outre-mer, vous vous trouvez peut-ˆ peut-etre, eˆ tre, sans le savoir, a` utiliser un reseau e´ seau ADALINE ADALINE ! Comme `a la section 4.1 o` Comme ` ou` nous avons d´ developp´ e´ veloppe´ le concept d’un apprentissage par correction des erreurs, et comme son nom l’indique, la r egle e` gle LMS consiste consiste a` tenter de minimiser un indice de performance F bas´ base´ sur l’erreur quadratique moyenne. Poss eedant ´ dant un ensemble d’apprentissage de Q associations stimulus/cible {(pq , dq )}, q = 1, . . . , Q, ou` p q repr´ represente e´ sente un vecteur stimulus (entr´ees) (entr e´ es) et d et d q un vecteur vecteur cible (sorties d´ deesir´ ´ sirees), e´ es), a` chaque instan instantt t , on peut propager vers l’avant un stimulus diff erent e´ rent p(t) `a travers le r´ reseau e´ seau de la figure 5.5 pour obtenir un vecteur de sorties a(t). Ceci nous permet de calculer l’erreur e l’erreur e (t) entre ce que le r´ r eseau e´ seau produit en sortie pour ce stimulus et la cible d cible d (t) qui lui est associ´ associ eee ´e : e(t) = d (t) − a(t).
(5.13)
` 5.2. 5.2. REGLE LMS
45
Sachant que tous les neurones d’une m eme eˆ me couche sont ind´ independants e´ pendants les uns des autres, et pour simplifier les les equations, e´ quations, nous allons allons developper e´ velopper la r` regle e` gle LMS pour S = 1, c’est-` c’est-a-dire a` -dire le cas d’un seul neurone. Ensuite, nous pourrons facilement l’´etendre etendre au cas g een´ ´ n´eral eral de S neurones. neurones. Nous allons aussi regrouper tous les param` parametres e` tres libres du neurone en un seul vecteur vecteur x x : : w
x =
.
(5.14)
b De meme, eˆ me, nous allons regrouper en un vecteur y vecteur y le le stimulus p stimulus p et et l’entr´ l’entree e´ e virtuelle −1 associ associ´eee ´ e au biais du neurone : p y = . (5.15)
−1
Ce qui nous permettra d’´ d’ecrire e´ crire la sortie a du neurone sous une forme simplifi´ simplifiee e´ e :
a = w T p − b = x T y.
(5.16)
Nous allons donc travailler avec le signal d’erreur scalaire e (t) = d(t) − a(t) et construire notre indice de performance F en fonction du vecteur x vecteur x des des param` parametres e` tres libres du neurone :
F (x) = E e2 (t) ,
(5.17)
ou` E [·] designe e´ signe l’esp l’esp´erance e´ rance math mathematiq e´ matique. ue. Le probl probl`eme e` me av avec ec ce cett ttee ´equa e quati tion on est est qu quee l’on l’on ne pe peut ut pa pass facilement facil ement calculer calculer cette esp´erance erance math´ematique ematique puisqu’on ne connaˆııtt pas les lois de probabilit e´ de de x. On pourrait faire la moyenne des erreurs pour les Q associations d’apprentissage mais ce serait long. Une id´eeee plus int´eressante, eressante, et plus performante performante en pratique, consiste simplement simplement a` estimer l’erreur quadratique moyenne par l’erreur quadratique instantan ee e´ e pour chaque association d’apprentissage : ˆ (x) = e 2 (t). F (5.18) Alors, a` chaque it´ Alors, iteeration ´ ration de l’algorithme, on peut calculer le vecteur gradient de cet estim e´ :
ˆ F (x) = ∇e2 (t), ∇
(5.19)
correspondent ent aux d´ d eriv´ e´ riv´eess partielles par rapport aux R poids ou` les R premier premierss el´ e´ l´ements ements de ∇e2 (t) correspond ´ lement du neurone, et le dernier dernier eel´ e´ ment correspond ` correspond `a la d´ deriv´ e´ rive´ partielle par rapport rapport a` son biais. Ainsi :
∇ e2 (t)
j
=
∂e 2 (t) ∂e (t) = 2 e(t) , j = 1, . . . , R , ∂w 1,j ∂w 1,j
(5.20)
et :
∂e 2 (t) ∂e (t) e (t) . = = 2e(t) R+1 ∂b ∂b Il s’agit maintenant maintenant de calculer calculer les deux d´ d eriv´ e´ rives e´ s partielles de e (t) par rapport ` rapport `a w 1,j :
∇ 2
∂e (t) ∂w 1,j
=
(5.21)
∂ [d(t) − a(t)] ∂ = d(t) − (1 wT p(t) − b1 ) ∂w 1,j ∂w 1,j
∂ = ∂w 1,j d(t) −
= − p j (t),
R
w1,k p k (t) − b1 k=1
(5.22)
46
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
et b :
∂e (t) = 1. ∂b Notez bien que les termes p j (t) et −1 sont les ´ les ´eel´ lements e´ ments de y de y,, de sorte qu’on peut ´ peut ´ecrire ecrire :
ˆ F (x) = ∇e2 (t) = −2e(t)y(t). ∇
(5.23)
(5.24)
Ce r´ r esultat e´ sultat nous permet aussi d’appr´ d’apprecier e´ cier la simplicit´ simplicite´ qu’engendre l’id´ l’idee e´ e d’utiliser l’erreur instantan´ee tan e´ e plutˆ plutot oˆ t que l’erreur moyenne. Pour calculer le gradient estim e´ de notre indice de performance, il suffit de multiplier l’erreur instantan´ instantanee e´ e par le stimulus d’entr´ d’entree e´ e ! L’equation e´ quation 5.24 va nous permettre d’appliquer la m ethode e´ thode de la descente du gradient d ecrite e´ crite par l’´ l’equation e´ quation 4.7 (voir (voir section 4.1, page 28) pour modifier les param` parametres e` tres du neurone dans le sens d’une diminution de F :
∆x(t) = x (t + 1) − x(t) = −η ∇F (x) ˆ F (x), on obtient : En substituant ∇F (x) par ∇
=x(t) .
x
∆x(t) = 2 ηe (t)y(t),
(5.25)
(5.26)
ce qui qui equivaut e´ quivaut a` :
∆w(t) = 2ηe(t)p(t), ∆b(t) = −2ηe (t).
(5.27)
(5.28)
Les equations e´ quations 5.27 et 5.28 d´ definissent e´ finissent la r` regle e` gle LMS de base. On la nomme egalement e´ galement r` regle e` gle de Widrow-Hoff, du nom de ses auteurs. Dans le cas d’une couche de S neurones, nous pourrons mettre a` jour chaque rang´eeee i de la matrice de poids ainsi que chaque el´ e´ l´ement ement i du vecteur de biais a` l’aide des ´ des ´equations equations suivantes :
∆i w(t) = 2ηei (t)p(t),
∆bi (t) = −2ηe i (t).
(5.29) (5.30)
Ce qui nous permet de r´e´ eecrire e´ crire le tout sous la forme matricielle matricielle :
∆W(t) = 2η e(t)pT (t), ∆b(t) = −2ηe(t).
(5.31) (5.32)
´ montrerons pas ici la convergence de l’algorithme LMS, il importe de reteMeme eˆ me si nous ne d´ deemontrerons nir que pour les indices de performance performance quadratiques quadratiques (comme dans le cas ADALINE), ADALINE), la m ethode e´ thode de la descente du gradient est garantie de converger vers un minimum global, a` condition de restreindre la valeur du taux d’apprentissage. En pratique, nous sommes int eeress´ ´ resses e´ s 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 diverger l’algorithme. Le gradient etant e´ tant toujours urs η peut perpendiculaire aux lignes de grand contour de F (faire x), un petit η permettra de suivre ces lignes de toujo contour vers le bas jusqu’` jusqu’a` ce qu’on rencontre le minimum global. En voulant aller trop vite, l’algorithme
´ 5.3. 5.3. RESEAU MULTICOUCHE
(a)
(b)
47
(c)
taux d’apprentissage : (a) taux F IG . 5.6 – Trajectoire de la descente du gradient pour diff erents ´ ´ faible ; (b) taux moyen ; (c) taux (trop) ´ (trop) ´ elev´ eleve. ´
peut sauter par dessus un contour et se mettre a` osciller. Dans le cas quadratique, les lignes de contour ont une forme elliptique comme a` la figure 5.6. Lorsque le taux est faible, la trajectoire est continue mais peut converger lentement vers l’optimum. Avec un taux plus ´eelev´ leve´ (moyen), les pas sont plus grands mais peuvent avoir tendance a` osciller. On atteint normalement l’optimum plus rapidement. rapide ment. Lorsque le taux est trop ´ trop ´elev´ eleve, e´ , l’algorithme peut diverger. On peut montrer que pour garantir la convergence de l’algorithme LMS avec le r eseau e´ seau ADA1 LINE, il faut que 0 < η < λ max ou` λ max est la plus grande valeur propre de la matrice E y yT . Pour initialiser l’algorithme, il s’agit simplement de fixer tous les poids et biais du r eeseau ´ seau a` zeero. ´ ro. Puis, pour r´ealiser ealiser l’apprentissage, il s’agit de lui pr´esenter esenter toute toutess les associations associations stimulus/c stimulus/cible ible `a tour de r ole, disponibles, ` disponibles, oˆ le, et de mettre les poids ` poids `a jour ` jour `a chaque fois en utilisant les ´ les ´equations equations 5.31 et 5.32. Une p´eriode eriode d’entraˆınement ınement correspond a` appliquer ces equations e´ quations une fois pour chaque couple (pi , di ), i = 1, . . . , Q. Notez qu’il peut ˆ peut ˆetre etre avantageux de permuter l’ordre de pr esentation e´ sentation a` chaque p p´eriode. e´ riode. L’algorithme it` itere e` re ainsi jusqu’` jusqu’a` un nombre maximum (fix´ (fix e´ a priori) de p´ periodes e´ riodes ou encore jusqu’` jusqu’a` ce que la somme des erreurs quadratiques en sortie soit inf ´ inf erieure e´ rieure a` un certain seuil.
5.3
Reseau e´ seau multicouche
Jusqu’a` pr´ Jusqu’` present, e´ sent, nous n’avons trait´ traite´ que des r´ reseaux e´ seaux a` une seule couche de neurones. Nous avons aussi vu que ces r eseaux e´ seaux ne pouvaient r´ resoudre e´ soudre que des probl` problemes e` mes de classification lin´ lineeai´ airement s´ separables. e´ parables. Les r´ reseaux e´ seaux multicouches permettent de lever cette limitation. On peut m eme eˆ me demontrer e´ montrer qu’avec un r´ reeseau ´ seau de trois couches (deux couches cach cach´ees e´ es + une couche de sortie), comme celui de la figure 2.7 (voir page 14), on peut construire des fronti eres e` res de d´ decision e´ cision de complexit´e´ quelconque, ouvertes ou ferm´ plexit fermeees, ´ es, concaves ou convexes, convexes, ` `a condition d’employer une fonction de transfert non lin´ lineaire e´ aire et de disposer de suffisamment de neurones sur les couches cach´ cachees. e´ es. Un reseau e´ seau multicouche n’est rien d’autre qu’un assemblage de couches concat en´ e´ nees e´ es les unes
48
E ntrées
Couche de décision
2
p1
-1 2
p2
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
-1
∑
1
n 1
Conjonction
1
a 1
1
1
2
n 1
-1
∑
1 1
n 2
1 a 2
2
2
a 1
∑ 1.5
-1
-1.5 -1
F IG . 5.7 – R´ Reseau ´ multicouche multicouche pour r´ r esoudre ´ le probl`eme eme du « ou ou exclusif » » . aux autres, de la gauche vers la droite, en prenant les sorties d’une couche et en les injectant comme ` la section les entr´ees ees de la couche suivante. A section suivante, suivante, nous allons d eevelopper ´ velopper l’algorithme dit de «retropropagation e´ tropropagation des erreurs» qui permet d’entraˆ d’entraˆıner ıner un r´ reseau e´ seau multicouche. Mais pour l’instant nous allons tenter d’illustrer d’illustrer a` quoi servent les couches suppl´ementaires. ementaires. Une chose que l’on peut ´ ja` remarquer est qu’il ne sert ` deej` sert `a rien d’assembler plusieurs couches ADALINE car la combinaison de plusieurs couches lin´ lineaires e´ aires peut toujours se ramener a` une seule couche lin´ lineeaire ´ aire eequivalente. ´ quivalente. C’est pourquoi, pour etre eˆ tre utile, un r´ reseau e´ seau multicouche doit toujours poss´ poss eder e´ der des neurones avec fonctions de transfert non-lin´ non-lineaires e´ aires sur ses couches cach´ cacheees. ´ es. Sur sa couche de sortie, selon le type d’application, il pourra comporter des neurones lin´ lineaires e´ aires ou non-lin´ non-lineaires. e´ aires.
5.3. 5.3.1 1
Pr Prob oblleme e` me du «ou exclusif »
` la figure 5.4a, nous avons illustr A illustre´ un probl` probleme e` me de classification non s´ separable e´ parable lin´ lineairement. e´ airement. Il s’agit du probl` probleeme ` me classique du «ou exclusif » (xor) que l’on ne peut pas r´ r esoudre e´ soudre ni avec un perceptron simple, ni avec un r´ reseau e´ seau ADALINE, car les points noirs ne peuvent pas etre eˆ tre s´ separ´ e´ pares e´ s des blancs a` l’aide d’une seule fronti` frontiere e` re de d´ decision e´ cision lin´ lineaire. e´ aire. Dans ce probl` probl eme, e` me, les points noirs ´ sentent le vrai (valeur 1) et les points blancs le faux (valeur 0). Le «ou exclusif », pour repr´eesentent repr pour etre eˆ tre vrai, exige qu’une seule de ses entr ees e´ es soit vraie, sinon il est faux. On peut r esoudre e´ soudre facilement ce probl`eme probl e` me a` l’aide du r´ r eseau e´ seau multicouche illustr´ illustre´ a` la figure 5.7. Ce r´ reseau e´ seau a` deux couches utilise des fonctions de transfert seuil. Sur la premi ere e` re couche, chaque neurone engendre les fronti fronti`eeres ` res de d´ecision ecision illustr´ees ees aux figures 5.8a et 5.8b. Les zones gris´ees ees repr´eesentent sentent la r´eegion gion de l’espac l’espacee d’entr´ee d’entr e´ e du r´ reeseau ´ seau pour laquelle le neurone correspondant produit une r eponse e´ ponse vrai. Le rˆ role oˆ le du neurone sur la couche de sortie, illustr´e a` la figure 5.8c, consiste a` effectuer la conjonction des deux regions r´ e´ gions produites par neurones la premi ere e` re couche. Notez5.8 bien que les entr ees e´ es les de la deuxi deuxi` eme e` me couche sont lesles sorties de ladepremi` premi eere ` re couche. La figure repr repr´ eesente ´ sente toutes fronti`eres fronti e` res de d´ decision e´ cision dans l’espace des entr´ entr ees. e´ es. La fronti` frontiere e` re de d´ decision e´ cision engendr´ engendree e´ e par le neurone
´ 5.3. 5.3. RESEAU MULTICOUCHE
p2
p2
49
p2
1
1
w
p1
p1
p1
1
w
2
(a)
(b)
(c)
F IG . 5.8 – Fronti Fronti`eres e` res de d ecision ´´ engendr ees ´´ par le r eseau ´ ´ de la figure 5.7 : (a) neurone 1 de la couchee 1 ; (b) neurone couch neurone 2 de la couche couche 1 ; (c) neurone neurone 1 de la couche 2. 1 2
a
2
w
1
1 1
a
Fronti`ere e` re de d ecision engendr ee F IG . 5.9 – Fronti ´´ ´´ par le neurone qui effectue une conjonction.
de la couche de sortie est aussi illustr´ illustree e´ e dans son propre espace d’entr´ d’entree e´ e a` la figure 5.9. Il importe de remarquer que la sortie des fonctions seuils employ´ employees ´ e´ es ´eetant tant limit limit´eee ´ e aux valeurs {0, 1} (que l’on interpr`ete interpr e` te comme ´ comme ´etant etant respectivement faux et vrai), seuls les coins du carr e´ illustr´ illustre´ `a la figure sont pertinents. Pour r´ realiser e´ aliser une conjonction (un «et logique»), le neurone effectue donc la somme de ses deux entr´ entrees e´ es et fixe un seuil ` seuil `a 1.5. Si la somme est inf erieur ` e´ rieur `a 1.5, alors il produit vrai en sortie, sinon il produit faux. Dans ce cas, seul le coin sup erieur e´ rieur droite du carr´ carre´ produit vrai en sortie. Mentionnons finalement que le r´ reseau e´ seau de la figure 5.7 n’est pas le seul a` pouvoir rr´eesoudre ´ soudre ce probl` probleme e` me du «ou exclusif ». D’autres combinaisons de poids et de biais pourraient produire le meme eˆ me r´ resultat e´ sultat (pouvez-vous (pouvez-vous en trouver trouver d’autres d’autres ?).
5.3.2
App Approxi roximati mation on de fon fonctio ction n
Pour faire de l’approximation de fonction (section 4.8), on peut montrer qu’un r´eseau eseau multicouche comme celuiavec de la figure 5.10, lin avec unepermet seule couche cach eee ´ e n’importe de neurones sigmo sigmo¨ ¨ııdes deson et une couche de sortie des neurones eaires e´ aires d’approximer d’appro ximer quelle foncti fonction ´ ret d’int´eerˆ d’int eˆ t avec une pr´ precision e´ cision arbitraire, arbitraire, a` condition de disposer de suffisamment de neurones sur la
50
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
Couche sigmoïde
Entrée
p R x
Couche linéaire
a1
1
1
W 1
x R
S
1
S
+
1
x 1
n 1
S
2
S
R
x S
x 1
+
n
2
x 1
2
S
x 1
2
-1
b
1
S
2
S
1
1
-1
a2
2
W
1
x 1
S
a1 = logsig(W1p ! b1)
b 2
S
2
S
x 1
a2 = purelin (W2a1 ! b2)
R´ eseau multicouche permettant de faire de l’approximation de fonction. F IG . 5.10 – R ´
(a)
(b)
(c)
(d)
frontieres e` res de d eci ecisio n : (a) convex convexee ouvert ouvertee ; (b) conv convex exee ferm fermee; F IG . 5.11 – Exemples de fronti` ´´ sion ´ (c) concave ouverte ouverte ; et (d) concave ferm´ fermee. ´
couche cach´ cachee. e´ e. Intuitivement, un peu peu a` la fac¸on des seeries ´ ries de Fourier qui utilisent des sinus et cosinus, cette preuve passe par la d´ d emonstration e´ monstration que l’on peut approximer n’importe quelle fonction d’int´eerˆ d’int ´ ret eˆ t par une combinaison combinaison lin´ lineaire e´ aire de sigmo¨ sigmo¨ıdes. ıdes.
5.3.3 5.3 .3
Classi Classifica ficatio tion n
Pour faire de la classification, classification, on utilisera des r eseaux e´ seaux soit ` soit `a deux, soit soit a` trois couches de neurones sigmo¨ sigmo¨ıdes. ıdes. On peut montrer qu’une seule couche cach cach´ee e´ e suffit suffit a` engendrer des fronti fronti`eeres ` res de 4 decision e´ cision convexes, ouvertes ou ferm´ fermees, e´ es, de complexit´ complexite´ arbitraire, alors que deux couches cach´ cachees e´ es 5 permettent de cr´ creer e´ er des fronti` frontieres e` res de d´ decision e´ cision concaves ou convexes, ouvertes ou ferm´ fermeees, ´ es, de complexit´e arbitraire. La figure 5.11 montre en deux dimensions diff´erents erents types de fronti`eres eres de decision. e´ cision. Intuitivement, on veut voir que la premi` premiere e` re couche cach´ cachee e´ e d’un tel r´ reseau e´ seau sert ` sert `a d ecouper e´ couper l’espace d’entr´eeee a` l’aide de fronti`eres eres de d´ecision ecision lin´eeaires, aires, comme on l’a vu pour le perceptron simple, la deuxi` deuxieme e` me couche sert ` sert `a assembler assembler des fronti` frontieres e` res de d´ decision e´ cision non-lin´ non-lineaires e´ aires6 convexes en 4
Notez bien qu’une fronti` frontiere e` re de d´ decision e´ cision n’est pas n´ necessairement e´ cessairement une fonction fonction !
5 Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure, alors qu’une courbe concave implique un point d’inflexion. 6 Les non-lin´eearit´ arit´es es proviennent proviennen t des sigmo¨ııdes des !
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
Entrée
Couche 1
p R x
1
W
a1
-1
+
n
1 S x
1
1 S x 1
1 -1
1 S
1
1
1
W
Couche 3
a2
2
2 1 S x S
ƒ
b1 1 S x
51
Couche 2
1
1 S x R
R
+
n
2
2 S x 1
2 S x
-1 2 S
1
2
a1 = ƒ (W1p ! b1)
W
3 2 S x S
ƒ2
b2 2 S x
1
a3
3
a2 = ƒ (W2a1 ! b2)
+
n
3 S x
3
3 S x 1
ƒ3
b3 3 S x
3 S
1
3
a3 = ƒ (W3a2 ! b3)
matricielle d’un r eseau de trois couches (reproduction de la figure 2.7). F IG . 5.12 – Repr esentation ´ ´ ´´
s´electionnant electionnant ou en retranchant des r´egions egions engendr´ees ees par la couche pr´eec´ c´eedente dente et, de mˆeeme, me, la couche de sortie permet d’assembler des fronti` frontieres e` res de d´ decision e´ cision concaves en s´ s electionnant e´ lectionnant ou en retranchant des r´egions egions convexes engendr´ees ees par la couche pr´eec´ c´eedente. dente. Avant de passer a` l’algorithme de r´ retropropagat e´ tropropagation ion qui nous permettra permettra d’entra d’entraˆˆıner ı ner un r´ reseau e´ seau multicouche, que nous nommerons dor´ dorenavant e´ navant perceptron multicouche ou PMC, mentionnons que ce n’est pas par hasard que nous avons remplac´e la fonction de transfert seuil par la fonction sigmo¨¨ıde, sigmo ıde, mais bien pour pouvoir proc´ proc eder ` e´ der `a un apprentissage automatique. Par exemple, mˆ meme eˆ me si nous avons pu construire a` la main, avec la fonction seuil, le r´eseau eseau de la figure 5.7 pour r´eesoudre soudre le probl`eme probl e` me du «ou exclusif », nous ne saurions pas comment apprendre automatiquement automatiquement a` gen´ e´ nerer e´ rer les bons poids et les bons biais de ce r´ reseau. e´ seau. Le probl probl`eeme ` me avec la fonction seuil est que sa d´ deeriv´ ´ rivee e´ e est toujours nulle sauf en un point ou elle n’est mˆ meme eˆ me pas d´ definie e´ finie ! On ne peut donc pas l’utili l’utiliser ser avec la m´ methode e´ thode de la descente du gradient qui nous a si bien servi pour le r´ r eseau e´ seau ADALINE.
5.4
Retropropagation e´ tropropagation des erreurs
Pour d´ developper e´ velopper les equati e´ quations ons de l’algo l’algorit rithme hme de retropropagat e´ tropropagation ion des erreur (en anglais anglais «backpropagation»), nous aurons besoin de toute la puissance des notations introduites ` a la section 2.1 (voir page 5) et illustr´ illustrees ` e´ es `a la figure 2.7 que nous reproduisons a` la figure 5.12. L’eequation ´ quation qui d d´ecrit e´ crit les sorties d’une couche k dans un perceptron multicouche est donn´ donnee e´ e par :
ak = f k Wk ak−1 − bk , pour k = 1, . . . , M ,
(5.33)
ou` M est le nombre total de couches et a0 = p d´efinit e finit le cas de base de cette formule de recurrence. e´ currence. Les sorties du r´ r eeseau ´ seau correspondent correspondent alors a` aM . L’algorithme de r´ reetropropagation ´ tropropagation est une g´en´ en´eralisation eralisation de la r`egle egle LMS. Tous deux utilisent comme indice de performance l’erreur quadratique moyenne, et tous deux un apprentissage type supervis e´ avecstiun ensemble d’association stimulus/cible {(ppermettent ` p qde repr´ repr esente e´ sente un vecteur q , dq )}, q = 1, . . . , Q, ou ` chaque instan mulus (entr´ (entrees) e´ es) et d et d q un vecteur vecteur cible (sorties d´ desir´ e´ sirees). e´ es). A instantt t , on peut propager vers
1
52
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
l’avant un stimulus diff erent p e´ rent p (t) a` travers le r´ reseau e´ seau de la figure 5.12 pour obtenir un vecteur de sorties a(t). Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ r eeseau ´ seau produit en sortie pour ce stimulus et la cible d cible d (t) qui lui est associ´eeee : e(t) = d (t) − a(t).
(5.34)
L’indice de performance F permet de minimiser l’erreur quadratique moyenne :
T
F (x) = E e (t)e(t)
(5.35)
ou` E [.] designe e´ signe l’esp´ l’esperance e´ rance math´ mathematique e´ matique et le vecteur vecteur x regroupe l’ensemble des poids et des biais du r´ reseau. e´ seau. Tout comme pour la r` regle e` gle LMS, nous allons approximer cet indice par l’erreur ´e : instantan´eee instantan ˆ (x) = e T (t)e(t) (5.36) F x : et nous allons utiliser la m´ methode e´ thode de la descente du gradient gradient pour optimiser optimiser x : k wi,j
∆
∂ ˆ F (t) = −η k ∂w i,j
(5.37)
∂ ˆ F ∆ (t) = −η k ∂b i bik
(5.38)
ou` η d esigne e´ signe le taux d’apprentissage. La proc´ procedure e´ dure d’optimisation est donc tr` tres e` s semblable a` celle de la r` regle e` gle LMS. Cependant, il faut faire face a` deux difficult´ difficultes e´ s suppl´ supplementaires. e´ mentaires. Premi` Premierement, e` rement, les fonctions de transfert des neurones ne sont plus n´ n ecessairement e´ cessairement lin´ lineaires. e´ aires. Leur d´ deriv´ e´ rive´ partielle ne sera donc plus constante. Deuxi`emement, Deuxi e` mement, nous ne poss´ possedons e´ dons les sorties d´ desir´ e´ sirees e´ es (les cibles) que pour les neurones de la couche de sortie. C’est surtout cette deuxi` deuxieme e` me observation observation qui va nous poser probl probl`eme. e` me.
ˆ , il faudra faire appel ` Pour calculer la d´ deriv´ e´ rive´ partielle de F appel `a la r` regle e` gle de chaˆ chaˆınage ınage des d´ deriv´ e´ rives e´ s : df [n(w)] df [n] dn(w ) × . = dw dn dw
(5.39)
Par exemple, si f [n] = e n et n = 2w, donc f [w] = e 2w , alors :
df [n(w)] = dw
den dn
×
d2w = (en)(2) = 2e2w . dw
(5.40)
Nous allons nous servir de cette r egle e` gle pour calculer les d d´eriv´ e´ rives e´ s partielles des eequations ´ quations 5.37 et 5.38 :
∂ ˆ F k ∂w i,j
∂ ˆ F ∂n ki , × = k ∂w i,j ∂n ik
∂ ˆ F ∂ ˆ F ∂n ki × k. = ∂b ik ∂n ik ∂b i
(5.41) (5.42)
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
53
Le deuxi` deuxieme e` me terme de ces equations e´ quations est facile a` calculer car les niveaux d’activation nki de la couche k d ependent e´ pendent directement directement des poids et des biais sur cette couche : S k−1
nik
=
k wi,j a jk− 1 − bki .
(5.43)
j =1
Par cons´ consequent e´ quent :
k ∂n ik k−1 ∂n i a , = = −1. j k ∂w i,j ∂b ki
(5.44)
ˆ par rapport a` un poids (ou un biais) est On remarque que cette partie de la d eriv´ e´ rivee e´ e partielle de F toujours egale ` toujours e´ gale `a l’entr l’entree e´ e de la connexion correspondante. Maintenant, pour le premier terme des des equations e´ quations 5.41 et 5.42, d´ definissons e´ finissons la sensibilit´ sensibilite´ s ki de ˆ aux changements dans le niveau d’activation n ik du neurone i de la couche k : F
sik ≡
∂ ˆ F . ∂n ik
(5.45)
On peut alors r´ re´ ecrire e´ crire les les equations e´ quations 5.41 et 5.42 de la fac¸on suivante :
∂ ˆ F k ∂w i,j
= sik a jk− 1 ,
∂ ˆ F = −sik , k ∂b i
(5.46)
(5.47)
et les expressions expressions des des equations e´ quations 5.37 et 5.38 de la fac¸¸on on suivante : k (t) = −ηsik (t)a jk− 1 (t), ∆wi,j
∆bik (t) = ηsik (t),
(5.48)
(5.49)
ce qui donne en notation matricielle :
∆Wk (t) = −η sk (t)(ak−1 )T (t), ∆bk (t) = η sk (t), avec :
sk ≡
∂ ˆ F = ∂ nk
∂ ˆ F ∂n k 1 ∂ ˆ F ∂n k 2
.. . ∂ ˆ F ∂n k k S
.
(5.50) (5.51)
(5.52)
Par rapport ` rapport `a la r` regle e` gle LMS, il est int´ interessant e´ ressant de noter la ressemblance des des ´ ´equations equations ci-dessus avec les equations les e´ quations 5.31 et 5.32. On remarque que le terme 2e(t) est simplement remplac´ remplace´ par s par s M (t).
54
5.4.1 5.4 .1
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
´s Calcul Calcul des sensib sensibili ilittees
Il reste maintenant ` maintenant `a calculer les sensibilit´ sensibilit ees s ´ s s k , ce qui requerra une nouvelle applicatio application n de la regle e` gle de chaˆ chaˆınage ınage des d´ deriv´ e´ rives. e´ s. Dans ce cas, nous obtiendrons une formule de r ecurrence e´ currence o` ou` la sensibilit´e´ des couches en amont (entr bilit (entrees) e´ es) d´ dependra e´ pendra de la sensibilit´ sensibilite´ des couches en aval (sorties). C’est de l a` que provient l’expression «retropropagation e´ tropropagation», car le sens de propagation de l’information est invers´e´ par rapport invers rapport a` celui de l’´ l’equation e´ quation 5.33. Pour d´ deriver e´ river la formule de r´ recurrence e´ currence des sensibilit´ sensibilites, e´ s, nous allons commencer par calculer la matrice suivante : k k k
∂ nk+1 = ∂ nk
∂n 1 +1 ∂n k 1
∂n 1 +1 ∂n k 2
k+1
k+1
···
.. .
k+1
∂n 2 ∂n k k
···
S
...
∂n k+1 k+1
∂n k+1 k+1
∂n k 1
∂n k 2
..
.
···
S
S
S
∂n 2 ∂n k 2
∂n 2 ∂n k 1
∂n 1 +1 ∂n k k
.. .
∂n k+1 k+1 S
∂n k k S
.
(5.53)
Cette matrice matrice enum` e´ numere e` re toutes les sensibilit´ sensibilites e´ s des niveaux d’activation d’une couche par rapport a` ceux de la couche pr´ec´ ec´edente. edente. Consid´erons erons chaque el´ e´ l´ement ement (i, j ) de cette matrice :
∂n ik+1 ∂n jk
∂ = ∂n jk
=
k+1 wi,j
avec :
S k
k+1 k wi,l al
−
bki +1
l=1
∂f k (n jk ) ∂n jk
=
k+1 w i,j
∂a jk ∂n jk
k+1 ˙k f (n jk ), = w i,j
∂f k (n jk ) k k ˙ . f (n ) = j
(5.54)
∂n jk
(5.55)
Par cons´ consequent, e´ quent, la matrice matrice de l’´ l’equation e´ quation 5.53 peut s’´ s’ ecrire e´ crire de la fac¸ on suivante su ivante :
∂ nk+1 k+1 Fk (nk ), ∂ nk = W ˙ ou` :
˙ (n ) = F k
k
f ˙k (nk )
0 ···
1
f ˙k (n2k )
0 .. .
...
0
0 ..
.
0
...
0 · · · f ˙k (nkS )
0
k
.
(5.56)
(5.57)
Ceci nous permet maintenant d’´ d’ ecrire e´ crire la relation de r´ recurrence e´ currence pour les sensibilit´ sensibilites e´ s : k
s
∂ ˆ F
∂ nk+1
= ∂ nk = ∂ nk = F˙ k nk Wk+1
T
T
∂ ˆ F
˙ k
∂ nk+1 = F n sk+1 .
k+1
k
W
T
∂ ˆ F ∂ nk+1 (5.58)
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
55
Cette equation Cette e´ quation nous permet de calculer calculer s1 a` partir de s de s 2 , qui lui-mˆ lui-meme eˆ me est calcul´ calcule´ a` partir de de s3 , etc., jusqu’` jusqu’a` sM . Ainsi les sensibilit´ sensibilitees ´ s sont rr´etropropag´ e´ tropropagees e´ es de la couche de sortie jusqu’ jusqu’`a` la couche d’entr´eeee : sM → sM −1 → · · · s2 → s1 . (5.59) Il ne nous reste plus qu’` qu’a` trouver le cas de base, s base, s M , permet permettant tant de mett mettre re fin a` la r´ recurrence e´ currence :
M T
M
∂ d − a d−a ∂ ˆ F sM = = i ∂n iM ∂n iM
−
= −2 di − =
2 di −
M M ∂a i ai ∂n iM aiM f M niM
˙
En notation matricielle, on on ecrit e´ crit :
∂ = ∂n M i
S M
(dl − alM )2
l=1
.
˙ M nM sM = −2F
5.4.2 5.4 .2
(5.60)
d − aM .
(5.61)
Algori Algorithm thmee d’e d’entr ntra a ˆınement ınement
Voici donc un r´ resum´ e´ sume´ de la d´ demarche e´ marche a` suivre pour entraˆ entraˆııner ner un perceptron multicouche : 1. Initialise Initialiserr tous les poids poids du r´eseau eseau a` de petites valeurs al´eatoires. eatoires. 2. Pour chaque chaque association association (pq , dq ) dans la base d’apprentissa d’apprentissage ge : (a) Propager Propager les entr´ entrees p e´ es p q vers l’avant l’avant a` travers les couches du r eseau e´ seau : a0 = pq ,
(5.62)
ak = f k Wk ak−1 − bk , pour k = 1, . . . , M .
(5.63)
(b) R´ Retropropager e´ tropropager les sensibilit´ sensibilites e´ s vers l’arri` l’arriere ` e` re `a travers les couches du r eseau e´ seau :
−
˙ M nM sM = −2F ˙ k nk sk = F
aM ,
dq
Wk+1
T
(5.64)
sk+1 , pour k = M − 1, . . . , 1.
(5.65)
(c) Mettre Mettre ` `a jour les poids et biais :
∆W
k
= −ηs
k
ak−1
T
, pour k = 1, . . . , M ,
∆bk = η sk , pour k = 1, . . . , M .
3. Si llee crit crit`ere e` re d’arrˆ d’arret eˆ t est atteint, alors stop. 4. Sinon, Sinon, permuter permuter l’ordre l’ordre de pr´ presentation e´ sentation des associations de la base d’apprentissage. 5. Recommencer Recommencer a` l’´ l’etape e´ tape 2.
(5.66) (5.67)
56
5.4. 5.4.3 3
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
Cr Criiteres e` res d’arr ˆ d’arr ˆeett
Plusieurs crit` Plusieurs criteres e` res d’arrˆ d’arrets eˆ ts peuvent etre eˆ tre utilis´ utilises e´ s avec l’algorithme de r´ retropropagat e´ tropropagation ion des erreurs. Le plus commun consiste a` fixer un nombre maximum de p´eriodes eriodes d’entraˆınement, ınement, ce qui fixe effectivement une limite sup´ superieure e´ rieure sur la dur´ duree e´ e de l’apprentissage. Ce crit ere e` re est important car la r´etropropagation etropropagation des erreurs n’offre aucune garantie quant `a la convergence de l’algorithme. Il peut arriver, par exemple, que le processus d’optimisation reste pris dans un minimum local. Sans un tel crit` critere, e` re, l’algorithme pourrait ne jamais se terminer. Un deuxi`eme eme crit`ere ere commun consiste a` fixer une borne inf´eerieure rieure sur l’erreur quadratique 7 moyenne, ou encore sur la racine carr carr´ee e´ e de cette erreur. D´ Dependant e´ pendant de l’applicati l’application, on, il est parfois possible de fixer a priori un objectif a` atteindre. Lorsque l’indice de performance choisi diminue en dessous de cet objectif, on consid ere e` re simplement que le PMC a suffisamment bien appris ses donn´ees donn e´ es et on arrˆ arrete eˆ te l’apprentissage. Les deux crit`eres eres pr´ec´ ec´edents edents sont utiles mais ils comportent aussi des limitations. Le crit`eere re relatif au nombre maximum de p´ periodes e´ riodes d’entraˆ d’entraˆınement ınement n’est aucunement li´ lie´ `a la performance du r´eseau. eseau. Le crit`ere ere relatif a` l’erreur minimale obtenue obtenue mesure quant a` lui un indice de performance mais ce dernier peut engendrer un ph enom` e´ nomene e` ne dit de sur-apprentissage qui n’est pas d´ desirable e´ sirable dans la pratique, surtout si l’on ne poss` possede e` de pas une grande quantit quantit´e´ de donn´ donnees e´ es d’apprentissage, ou si ces derni` dernieres e` res ne sont pas de bonne qualit´ qualite. e´ . Un processus d’apprentissage d’apprentissage par correction correction des erreurs, comme celui de la r etropropagation, e´ tropropagation, vise a` r´eeduire duire autant que possible l’erreur que commet le r´eseau. eseau. Mais cette erreur est mesur´ee ee sur un ensemble de donn´ donnees e´ es d’apprentissage. Si les donn´ donn ees e´ es sont bonnes, c’est-` c’est-a-dire a` -dire quelles repr´esentent repr e´ sentent bien le processus physique sous-jacent que l’on tente d’apprendre ou de mod eeliser, ´ liser, et que l’algorithme a converg´ converg e´ sur un optimum global, alors il devrait bien performer sur d’autres donn´ees donn e´ es issues du mˆ meme eˆ me processus physique. Cependant, si les donn donn´ees e´ es d’apprentissage sont partiellement corrompues par du bruit ou par des erreurs de mesure, alors il n’est pas evident e´ vident que la performance optimale du r´ reseau e´ seau sera atteinte en minimisant l’erreur, lorsqu’on la testera sur un jeu de donn´ donnees e´ es diff erent e´ rent de celui qui a servi ` servi `a l’entraˆ l’entraˆınement. ınement. On parle alors de la capacit´ capacite´ du r´ reseau ` e´ seau `a gen´ e´ neraliser, e´ raliser, c’est-` c’est-a-dire a` -dire de bien performer performer avec des donn´ donnees e´ es qu’il n’a jamais vu auparavant. Par exemple, la figure 5.13 illustre le probl` probl eme e` me du sur-apprentissage dans le contexte d’une tache aˆ che d’approximation de fonction (voir section 4.8). La droite en pointill´ pointill es e´ s montre une fonction lin´ lineeaire ´ aire que l’on voudrait approximer en ne connaissant que les points noirs. La courbe en trait plein montre ce qu’un r´ reseau e´ seau hypoth´ hypothetique e´ tique pourrait apprendre. On constate que la courbe passe par tous les points d’entraˆ d’entraˆınement ınement et donc que l’erreur est nulle. De toute evidence, e´ vidence, ce r´ reeseau ´ seau ne gen´ e´ neralisera e´ ralisera pas bien si l’on l’on echantillo e´ chantillonne nne d’autres points points sur la droite ! Une solution solution a` ce probl` probleme e` me consiste consiste a` utiliser un autre crit` crit ere e` re d’arrˆ d’arret eˆ t bas´ base´ sur une technique dite de validation crois´ croisee e´ e (en anglais «cross-validation»). Cette technique consiste consiste a` utiliser deux 8 ´ es po ensembl ense mbles es ind´ independants e´ pendants de do donn nn´eees pour ur en entr traaˆııner ner no notr tree reseau e´ seau : un pou pourr l’appre l’apprenti ntissag ssagee (l’aju (l’ajuste ste-ment des poids) et l’autre pour la validation, c’est-` c’est-aa-dire ` -dire le calcul d’un indice de performance (une 7 8
On parle alors de la racine de l’erreur quadratique moyenne. En anglais, on dit «Root Mean Square» ou RMS. En pratique cela consiste a` partitionner les donn´ees ees disponibles en deux ensembles distincts.
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
57
phenom enom` e` ne de sur-apprentissage pour le cas simple d’une approximaene F IG . 5.13 – Illustration du ph´ ´ tion de fonction.
erreur
validation
arrêt sur-apprentissage
entraînement temps F IG . 5.14 – Illustration de la validation crois ee. ´
erreur, un taux de reconnaissance ou tout autre mesure pertinente `a l’application). Le crit` critere e` re d’arrˆ d’arret eˆ t consiste alors ` alors `a stopper l’apprentissage lorsque l’indice de performance calcul e´ sur les donn donn´eees ´ es de validation cesse de s’am´ s’ameliorer e´ liorer pendant plusieurs plusieurs periodes e´ riodes d’entraˆ d’entraˆınement. ınement. La figure 5.14 illustre le crit` critere e` re de la validation crois´ croisee e´ e dans le cas d’un indice de performance que l’on cherche a` minimiser. La courbe en pointill´ pointilles e´ s de ce graphique repr´ represente e´ sente l’indice de performance d’un r´ reseau e´ seau 9 hypoth´etique hypoth e´ tique calcul calcul´e´ sur les donn´ donneees ´ es d’apprentissage, alors que la courbe en trait plein montre le mˆeme eme indice mais calcul´e sur les donn´ees ees de validation. On voit qu’il peut exister un moment au cours de l’apprentissage ou` l’indice en validation validation se d et´ e´ teriore e´ riore alors que le mˆ meme eˆ me indice continue continue a` s’am´eliorer eliorer pour les donn´eees es d d’entraˆ ’entraˆınement. ınement. C’est alors le d´eebut but du «sur-apprentissage». 9
Des courbes semblables s’observent couramment dans la pratique.
58
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
100
0.3
∑ 100
0.4
n
a
-0.5
-1
F IG . 5.15 – Exemple d’un neurone satur´ e.
5.4.4
Phenom` e´ nomene e` ne de saturation
Une au Une autr tree co cons nsid id´erat e´ ratio ion n prat pratiq ique ue dont dont on do doit it te teni nirr co comp mpte te lorsq lorsqu’ u’on on en entr traaˆııne ne un PMC PMC conce concern rnee `a to le phenom` e´ nomene e` ne de satura saturati tion on de dess ne neur uron ones es ou, u` , sous sous certain certaines es con condit dition ions, s, les neuron neurones es peuvent peuvent ` tout utee fin pratique cesser d’apprendre tellement leur convergence devient lente. Consid´ Consid erons e´ rons par exemple le r´eseau eseau de la figure 5.15, constitu´e d’un seul neurone a` deux entr´eees es avec p 1 = p 2 = 100. Si l’on calcule son niveau d’activation n , on obtient :
n = 100 × 0.3 + 100 × 0.4 + 0.5 = 70.5
(5.68)
On peut d´ deej` ´ ja` remarquer que l’effet du biais est n egligeable e´ gligeable devant celui des deux poids d’entr ee, e´ e, malgr´e´ le fait qu’ils soient tous les trois du m eme malgr eˆ me ordre de grandeur, a` cause de l’amplitude des entr´eees. entr ´ es. Si l’on 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 × 10−31 . On dit alors que le neurone est satur´ sature. e´ . Le probl` probleme e` me avec un tel neurone est qu’il ne peut presque plus apprendre car la d eriv´ e´ rivee e´ e de sa fonction d’activation est pratiquement nulle : d (−1) dn (1 + exp(−n)) da d exp(−n) 1 a˙ = = = = dn dn 1 + exp(−n) (1 + exp(−n))2 (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 l’algorithme de r etropropagat e´ tropropagation ion des erreurs erreurs,, deefinies ´ finies aux eequations ´ quations 5.66 et 5.67, d´eependent pendent lin´eairement eairement des sensibilit´es es (voir equations e´ quations 5.64 et 5.65) qui elles-memes elles-mˆ eˆ mes d´ dependent e´ pendent de la d´ deriv´ e´ rivee e´ e de la fonction d’activation, on voit imm eediatement ´ diatement qu’elles tendent vers z´ zero e´ ro lorsque le neurone est satur e´ et que la convergence, mˆ meeme ˆ me si elle est toujours possible, possib le, requerra beaucoup de periodes e´ riodes d’apprentissage.
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
59
` ne de saturation, il importe de normaliser les donn´ Par cons´ consequent, e´ quent, a` cause de ce ph´ phenom` e´ nomeene donnees e´ es a` l’entr l’entr´ee e´ e d’un PMC, c’est-` c’est-a-dire a` -dire de les transformer de mani` maniere e` re a` eviter e´ viter tout risque de saturat saturation. ion. Une autre fac¸on ¸on de proc´ proceeder ´ der est d’initialiser les poids sur la premi`eere re couche en choisissant un intervalle de valeurs al´ aleatoires e´ atoires ajust´ ajuste´ aux stimuli d’apprentissage. Par exemple, pour l’entr ee e´ e j d’un r´eseau eseau a` R entr´ees, ees, on pourrait choisir l’intervalle suivant :
1 q , 1 q , j = 1, . . . , R , p j | − maxq | p p j | maxq | p
(5.72)
ou` {q } designe e´ signe l’ensemble des stimuli d’apprentissage. Une autre alternative serait de fixer tous les poids a` zero. e´ ro. Bien que ceci r´ reglerait e´ glerait certes le probl`eeme probl ` me de la saturation des neurones, ce n’est malheureusement pas une alternative viable. En effet, il se trouve que l’origine de l’espace des poids correspond souvent souvent a` un lieu d’instabilit´ d’instabilite´ de la fonction d’erreur du r´ r eseau. e´ seau. Et ceci peut facilement entra entraˆˆıner ıner la divergence de l’algorithme de retropropagation. e´ tropropagation.
5. 5.4. 4.5 5
Gr Grou oupa page ge
Au lieu de mettre ` mettre `a jour les poids pour chaque donn´ donn ee e´ e d’entraˆ d’entraˆınement, ınement, une alternative consiste a` accumuler les variations de poids sur une p eriode e´ riode d’apprentissage compl compl`eete ` te et de mettre mettre a` jour les poids en une seule fois avec la moyenne de ces variations. On parle alors d’apprentissage «hors-ligne» ou par groupage (en anglais «batching»). L’id´ L’idee e´ e est la suivante : l’estimation du ´ e d’entr gradien grad ientt qu’eng qu’engendr endree chaque chaque donn´ donneee d’entraaˆıınem nemen entt est est pe peu u pr´ precise e´ cise,, la mo moye yenn nnee de ce cess esti estima mati tion onss devrait ˆ devrait ˆeetre tre pl plus us pr pr`es e` s du grad gradie ient nt reeel. ´ el. En fait fait,, si le less do donn nn´ees e´ es d’entra d’entraˆˆıınemen nementt couv couvren rentt ad´ adeequatement ´ quatement l’espace l’espa ce des entr´ entrees, e´ es, alors la moyenne moyenne de ces estimations estimations sera exacte. exacte. ´ e ca Mais le gr Mais grou oupa page ge n’es n’estt pa pass un unee pa pana nacceee carr ce cela la pe peut ut au aussi ssi rale ralent ntir ir co cons nsid id´erable e´ rablemen mentt la con conver ver-gence, puisque les poids changent moins souvent. Autrement dit, si l’estimation du gradient bas ee e´ e sur une seule donn´ donnee e´ e d’entraˆ d’entraˆınement ınement a tendance tendance a` etre eˆ tre bonne, alors on pourrait converger converger jusqu’ jusqu’`a` fois pluslelentement l’on ` de groupage. contre, lorsque plut ot oˆ t Q a` eeviter ´proc mauvaise, groupagesisert sert vitereede de par partir dans unePar mauvaise directioncette qui,estimation autrement,est augmenterait nos chances de rester pris dans un minimum local inad´ inadeequat. ´ quat.
5. 5.4. 4.6 6
Mo Mome ment ntum um
Une fac¸ on d’am d’a meliorer e´ liorer l’algorithme de r´ r eetropropagation ´ tropropagation est de rajouter un terme d’inertie dont le role oˆ le est de filtrer les oscillatio oscillations ns dans la trajectoire trajectoire de la descente du gradie gradient nt :
∆Wk (t) = α∆Wk (t − 1) − (1 − α)η sk ak−1
T
, pour k = 1, . . . , M ,
∆bk (t) = α∆bk (t − 1) + (1 − α)η sk , pour k = 1, . . . , M .
(5.73) (5.74)
ou` 0 ≤ α < 1 s’appelle le momentum. Lorsque α = 0, les ´ les ´equations equations 5.73 et 5.74 sont ´ sont ´eequivalentes quivalentes k k e´ pendent aux equations aux e´ quations 5.66 et 5.67, respectivement. Lorsque α = 1, les ∆ W (t) et ∆ b (t) ne dependent
60
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
´ tropropa plus plus de dess ´eequa quati tion onss de reetropr opagat gation ion des erreurs erreurs,, mais mais unique uniquemen mentt des ∆Wk (t−1) et ∆bk (t−1), c’est-`a-dire c’esta` -dire des changements changements de poids poids a` l’´ l’etape e´ tape pr´ preec´ ´ cedente. e´ dente. Le terme du momentum produit deux effets distincts selon la situation. Premi erement, e` rement, lorsque la trajectoire du gradient a tendance ` tendance `a osciller (comme ` (comme `a la figure 5.6c), il contribue ` contribue `a la stabiliser en ralentissant les changements de direction. Par exemple, avec α = 0.8, cela correspond d’embl d’embl´ee e´ e a` ajouter 80% du changement pr´ preec´ ´ cedent e´ dent au changement courant. Deuxi Deuxi`emement, e` mement, lorsque le gradient courant pointe dans la mˆ meme eˆ me direction que le gradient pr pr´ec´ e´ cedent, e´ dent, le terme d’inertie contribue a` augmenter augmen ter l’ampleur l’ampleur du pas dans cette direction direction et donc a` acc´el´ el´eerer rer la convergence.
5.4.7
Taux d’app d’apprent rentissage issage vari variable able
Une autre fac¸on ¸on d’am´eliorer eliorer la vitesse de convergence pour la r´etropropagation etropropagation des erreurs serait de modifier le taux d’apprentissage dynamiquement tout au long de l’entraˆ l’entraˆınement. ınement. Plusieurs approches approch es peuvent etre eˆ tre consid´er´ er´eees. es. Par exemple, on peut adopter la strat´egie egie suivante : 1. Si l’erreur quadratique quadratique totale, totale, calcul´ calculee e´ e pour toutes les associations de la base d’apprentissage, augmente d’une p´ peeriode ` ´ riode `a l’autre par plus d’un certain pourcentage β (typiquement (typiquement de mise a` jour des poids, alors cette mise a` jour doit doit eetre ˆ tre abandonn abandonn´ee e´ e 1 a` 5% ) a` la suite d’une mise et le taux d’apprentissage doit ˆ doit ˆetre etre multipli´ multiplie´ par un facteur 0 < ρ < 1 , et le momentum doit etre eˆ tre fix´e a` z´ero; e ro; 2. Si l’erreur quadratique quadratique totale totale diminue diminue a` la suite d’une mise a` jour des poids, alors celle-ci est conserv´ conservee e´ e et le taux d’apprentissa d’apprentissage ge est multipli multipli´e´ par un facteur γ > 1 ; si le momentum ´ cedemment ´ te´ fix avait pr´ preec´ e´ demment eet´ fix´e´ a` zero, e´ ro, alors on lui redonne sa valeur originale originale ; 3. Si l’erreur quadratique quadratique totale totale augmente par moins de β , alors la mise a` jour des poids est accept´ee ee et le taux d’apprentissage d’apprentissage reste inchang´e ; Si le momentum momentum av avait ait pr´ec´ ec´eedemment demment et´ e´ t´e fix fix´e´ a` zero, e´ ro, alors on lui redonne sa valeur originale originale ; Cette approche suppose que l’apprentissage fonctionne par groupage, c’est-` c’est-aa-dire ` -dire que les mises a` jour des poids sont accumul´ accumul ees e´ es sur l’ensemble des associations de la base d’apprentissage et appliqu´ees appliqu e´ es une fois ` fois `a la fin de chaque p´ periode e´ riode (section 5.4.5). Dans certains cas cela peut acc acc´el´ e´ leerer ´ rer grandement la convergence. Dans d’autres cas, cette approche peut aussi nuire `a la convergence. Il faut comprendre que ce genre de technique ajoute des param etres e` tres10 (β , ρ et γ ) qu’il faut fixer a priori. Pour un probl`eme eme donn´e, e, certaines combinaisons de param`eetres tres peuvent eetre ˆ tre b´en´ eneefiques ´ fiques et d’autres non. Parfois, l’emploi d’une telle m´ m ethode e´ thode peut mˆ meme eˆ me entraˆ entraˆıner ıner une divergence rapide l` la` ou` la r´ reetropropagation ´ tropropagation des erreurs avec momentum produisait une convergence lente.
5.4.8 5.4 .8
Autr utres es consid consid´erations e´ rations pratiques
Nous enum´ e´ numerons e´ rons ci-dessous d’autres consid´ consideerations ´ rations pratiques pour l’entra l’entraˆˆınement ınement du PMC. Selon les circonstances, celles-ci peuvent aussi avoir un effet appr eciable e´ ciable sur la performance de l’algorithme de r´ retropropagation e´ tropropagation des erreurs. 10
L’approche d´ decrite e´ crite ici, propos´ proposee e´ e par Vogl et al. en 1988, est relativement simple parmi l’ensemble des variantes qui ont eet´ ´ t´e explor´ees ees dans la litt´erature erature pour faire varier dynamiquement le taux d’apprentissage.
´ 5.4. 5.4. RETROPROPAGATION DES ERREURS
61
1. Lorsqu’on Lorsqu’on utilise une couche de sortie non-lin´ non-lineaire, e´ aire, c’est-` c’est-a-dire a` -dire une couche dont les neurones poss` possedent e` dent des fonctions d’activation non lin´ lineaires e´ aires telles que la sigmo¨ sigmo¨ııde de ou la tangente hyperbolique (voir section 2.3), il importe de ne pas chercher a` saturer les neurones en fixant des sorties d´ desir´ e´ sirees e´ es qui tendent vers l’assymptote l’assymptote de la fonction. Dans le cas de la sigmo sigmo¨¨ıde, ıde, par exemple, au lieu de fixer des sorties d´esir´ esir´ees e es a` 0 ou ou a` 1, on peut les fixer `a 0.05 et 0.95. Ainsi, la r´ r etropropagation e´ tropropagation des erreurs ne cherchera pas a` entraˆ entraˆıner ıner les poids dans une direction qui pourrait rendre le neurone incapable de s’adapter. 2. Les sensibi sensibilit lit´es e´ s des neurones sur les derni` dernieres e` res couches ont tendan tendance ce a` etre eˆ tre plus grandes que sur les premi` premieres e` res couches ; le taux d’apprentissage d’apprentissage sur ces derni` dernieres e` res devrait donc etre eˆ tre plus grand que sur ces premi` premieres e` res si l’on veut que les diff erentes e´ rentes couches apprennent approximativement au mˆ meme eˆ me rythme. ` chaque p´ 3. A periode e´ riode d’entraˆ d’entraˆınement, ınement, il importe de permuter l’ordre de pr´ pr esentation e´ sentation des stimuli pour r´ reduire e´ duire la probabilit´ probabilite´ qu’une s´ sequence e´ quence de donn´ donnees e´ es pathologique nous garde prisonnier d’un pi` pietre e` tre minimum local. En effet, la performance de la m´ methode e´ thode de la descente du gradient peut d´ dependre e´ pendre grandement de cet ordre de pr esentation e´ sentation qui engendre des trajectoires diff´erentes erentes dans l’espace des param`etres, etres, et des trajectoires diff´erentes erentes peuvent nous amener a` des minimums locaux diff erents. e´ rents. Mˆ Meme eˆ me s’il existe des s´ sequences e´ quences pathologiques, le fait de permuter les donn´ ees e es a` chaque p´eeriode riode nous garantit que l’on ne tombera pas syst´ematiquement syst e´ matiquement sur les mˆ memes. eˆ mes. 4. Dan Danss le contexte contexte d’un probl` probleme e` me de classification a` n classes, on associe g´ gen´ e´ neeralement ´ ralement un M interpretera e´ tera chaque neurone neurone de sortie distinct ` distinct `a chacune d’elles (S = n ). Ainsi, on interpr´ sur la couche de sortie comme indiquant si oui ou non le stimulus d’entr´ d’entree e´ e apparti appartient ent a` la classe correspondante. On construira les vecteurs vecteurs d de sorties d´ desir´ e´ sirees e´ es avec deux valeurs possibles pour chaque composante : une valeur pour le «oui» et une valeur pour le «non». Si l’on choisit choisit la fonction fonction d’activation d’activation logistique, logistique, on pourra coder le «oui» avec une valeur proche de 1 et le «non» avec une valeur proche de 0 (voir item 1 ci-dessus). En mode de reconnaissance, on pourra classer un stimulus inconnu dans la cat´eegorie gorie associ´ee ee au neurone ayant produit la sortie maximale. 5. Dan Danss le contex contexte te d’un probl` probl`eme eme d’approximation de fonction, on choisit g´een´ n´eralement eralement des neurones lin´ lineaires e´ aires pour la couche de sortie. Autrement, cela force le rr´eseau e´ seau a` apprendre l’inverse de la fonction d’activation utilis´ utilis ee, e´ e, en plus de la fonction que l’on veut vraiment qu’il apprenne. 6. Effectuer Effectuer l’apprenti l’apprentissage ssage d’un r´ reseau e´ seau quelconque revient a` estimer les bonnes valeurs pour ch chac acun un de se sess po poid ids. s. Pour Pour po pouv uvoi oirr estim estimer er le less pa param ram`etre e` tress d’u d’un n sys systteme e` me que quelco lconqu nquee pos posssedant e´ dant un ce cert rtai ain n no nomb mbre re de de degr gr´es e´ s de li libe bert rt´e´ (para (param meetres ` tres ind´ indeepen ´ pendan dants ts), ), il est necess e´ cessai aire re de poss poss´eeder ´ der au moins un nombre nombre equivalent e´ quivalent de donn´ donnees. e´ es. Mais dans la pratique pratique il en faut bien plus ! Une regle e` gle heuristique nous indique que pour pouvoir esp erer e´ rer estimer correctement les n poids d’un d’u n r´ r eseau e´ seau de neurones, neurones, 10n donn´ees ees d’entraˆ d’e ntraˆınement ınement sont s ont requises. req uises. 7. La perfo performa rmance nce d’un r´ reseau e´ seau lorsqu’´ lorsqu’evalu´ e´ valuee e´ e avec ses donn´ donn ees e´ es d’entraˆ d’entraˆınement ınement est presque toujours sur-estim´ee. e e. Il faut bien comprendre que le r´eseau eseau ne comporte aucune intelligence r´ reeelle. ´ elle. Il ne fait qu’apprendre les associations qu’on lui fournit. A ` la limite, il peut les apprendre «pa parr c ?u ?urr». Nous avons discut´ discute´ a` la section 5.4.3 du ph´ pheenom` ´ nomene e` ne de «surapprentissage». Nous avons vu qu’une proc edure e´ dure de validation-crois´ validation-croisee e´ e peut augmenter la
62
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
capacite´ de g´ capacit´ gen´ e´ neralisation e´ ralisation d’un r´ reseau. e´ seau. Si l’on veut evaluer e´ valuer correctement la performance d’un r´ reseau, e´ seau, il faut le faire avec des donn´ donnees e´ es qui n’ont aucunement servi au processus d’appr pren enti tiss ssag age, e, ni po pour ur la r´eetrop tropro ropa paga gati tion on de dess erreu erreurs, rs, ni pour pour la vali valida dati tion on croi crois´ s´ee. e e. En prati pratiqu que, e, ceci implique de diviser les donn´ donneees ´ es d’entra d’entraˆˆıınement nement en trois sous-ensembles distincts : les donn´ees ees d’entr d’entraˆ aˆınemen ı nement, t, de valid validati ation on et de test. test. La proport proportion ion rel relati ative ve de ces ensemb ensembles les peut peut evidemment e´ videmment varier selon l’application, mais une bonne proportion se situe aux alentours de 50-20-30%, respectivement.
5.5
Methode e´ thode de Newton Newton
La methode e´ thode de Newton est une autre proc edure e´ dure d’optimisation, parfois plus efficace que la descente du gradient. Alors que cette derni` derni ere e` re est bas bas´ee e´ e sur une approximation par la s eerie ´ rie de Taylor de premier ordre (qui n’utilise que la d eriv´ e´ rive´ premi` premiere), e` re), la m´ methode e´ thode de Newton est bas´ bas ee e´ e sur la serie e´ rie de Taylor de deuxi` deuxieme e` me ordre, o` ou` l’on tient compte non seulement de la d d´eeriv´ ´ rive´ premi` premiere, e` re, mais aussi de la d´ d eriv´ e´ rive´ seconde :
1
ˆ (x), F (x ) = F (x + ∆x) ≈ F (x) + ∇F (x)T ∆x + ∆xT ∇2 F (x)∆x = F
(5.75)
2
ou` x est un point dans le voisinage de x de x,, ∆x = x − x, ∇F (x) est le vecteur gradient de F (x) et ´ e consis `a rech ∇2 F (x) es estt la matr matric icee he hess ssie ienn nnee de F (x). L’id ’id´eee consiste te ` recherc erche herr un plat platea eau u dans dans l’ex l’expre press ssio ion n ˆ ˆ quadratique de F (x). En d´erivant erivant l’expression de F (x) par rapport a` ∆x et en fixant le tout a` z ero, e´ ro, on obtient : ∇F (x) + ∇2 F (x)∆x = 0. (5.76) et :
∆x = − ∇2 F (x)
−1
∇F (x)
(5.77)
La m´ethode ethode de Newton propose donc d’explorer l’espace des param`etres etres libres dans la direction ˆ (x), c’est-` ∆x qui pointe vers un plateau de F c’est-a-dire a` -dire soit un maximum, soit un minimum. Cette m´ methode e´ thode converge en une seule ´ seule ´etape etape lorsque F est une fonction quadratique, puisqu’on approxime alors une fonction quadratique par une autre fonction quadratique eequivalente. ´ quivalente. Lorsque F n’est n’est pas quadratique, cette m´ methode e´ thode converge g´ gen´ e´ neralement e´ ralement tr` tres e` s rapidement ` rapidement `a condition d’avoir un bon point de d´epart epart (x (x n’est pas trop loin de l’optimum), car la plupart des fonctions analytiques s’approximent bien avec une fonction quadratique ` quadratique `a l’int´ l’interieur e´ rieur d’un petit voisinage autour d’un optimum. Cependant, mˆ meme eˆ me dans ce cas, on ne saura pas si cet optimum est minimum ou maximum. On ne saura pas non plus si l’optimum est local ou global. De plus, lorsqu’on s’ eloigne e´ loigne de ce voisinage, la m´ methode e´ thode de Newton peut donner des r esultats e´ sultats impr´ imprevisibles. e´ visibles. Finalement, cette m´ methode e´ thode comporte aussi le gros d´ d esavantage e´ savantage de n´ necessiter e´ cessiter le calcul et le stockage de la matrice hessienne, d’une part, et de son inverse, d’autre part. Dans le cas d’un perceptron multicouche comportant plusieurs centaines ou mˆ meme eˆ me plusieurs milliers de poids, cela s’av ere e` re totalement impossible en 11 pratique . 11
Il faut se rappeler que si le vecteur gradient croˆ cro ˆıt ıt lin´ lineairement e´ airement avec le nombre de param` parametres e` tres libres de la fonction, la taille (en nombre d’´ d’eel´ ´ leements) ´ ments) de la matrice hessienne, elle, croˆ croˆııtt avec le carr carr´e´ de ce nombre. De plus, le meilleur algorithme connu pour l’inversion l’inversion d’une matrice n × n poss poss`ede e` de une complexit complexit´e´ O(n2.376 ). Quant ` Quant `a la m´ methode e´ thode classique d’´elimination elimination de Gauss, elle requiert un temps O (n3 ).
´ ´ 5.6. 5.6. M ETHODE DU GRADIENT CONJUGU E
63
Nous avons pr´ present´ e´ sente´ dans cette section la m´ methode e´ thode de Newton non pas pour l’utiliser avec le perceptron multicouche, mais bien pour mettre en relief les m´ merites e´ rites de la r´ retropropagation, e´ tropropagation, et aussi pour faire le tour des diff´erentes erentes alternatives disponibles. Ceci nous am`ene e ne a` discuter d’un compromis o` ou` il ne sera pas n´ n ecessaire e´ cessaire de calculer ni d’inverser la matrice hessienne.
5.6
Meethode ´ thode du gradient conjugu conjugu´e´
La methode e´ thode du gradient poss` possede e` de la plupart des avantages de la m ethode e´ thode de Newton mais sans l’inconv´enient enient d’avoir a` calculer et a` inverser la matrice hessienne. Elle est bas´ee ee sur le concept ´ s, d’une part, ainsi que sur la recherche d’un minimum le long d’une droite, des vecteurs conjugu´ conjuguees, d’autre part. Les vecteurs d’un ensemble {pk } sont mutuelleme mutuellement nt conjug conjugu´ u´eess par rapport a` une matrice A matrice A positive d´ definie e´ finie (dont les valeurs propres sont toutes strictement positives) si, et seulement si, pT k Ap j = 0,
k= j.
(5.78)
Comme pour les vecteurs orthogonaux, il existe une infinit e´ d’ensembles de vecteurs conjugu conjugu´es e´ s qui couvrent un espace vectoriel de dimension m. Un de ceux-l`a est form´e des vecteurs propres de A de A,, {z1 , z2 , . . . , zm }, associ´ associes e´ s aux valeurs propres {λ1 , λ2 , . . . , λm }. Pour le montrer, il suffit de remplacer les p les p k par des z des z k dans l’´equation equation pr´ec´ ec´edente edente : T T zT k Az j = z k λ j z j = λ j zk z j = 0 ,
k = j,
(5.79)
ou` la derni`ere e re egalit´ e´ galit´e d´ecoule ecoule du fait que les vecteurs propres d’une matrice positive d´eefinie finie sont toujours orthogonaux. Par cons´ consequent, e´ quent, les vecteurs propres d’une telle matrice sont `a la fois orthogonaux et conjugu´es. es. Cependant, cette observation ne nous aide pas beaucoup si la matrice A en veut eviter e´ viter de calculer dans la m ethode e´ thode question correspond correspond a` la matrice hessienne ∇2 F que l’on veut de Newton, notre objectif ´ ´etant etant de trouver un algorithme efficace utilisant la d eriv´ e´ rivee e´ e seconde mais sans etre sans eˆ tre oblig´ oblige´ de la calculer explicitement. Pour une fonction F quadratique poss´ possedant e´ dant m param` parametres e` tres libres, on peut montrer qu’il est toujours possible d’atteindre son minimum en effectuant tout au plus m recherches lin´eeaires aires le long de droites orient´ orientees e´ es dans des directions conjugu´ conjuguees e´ es {p1 , p2 , . . . , pm }. La question qui demeure est comment construire ces directions conjugu´ conjuguees e´ es sans faire rr´ef e´ f erence e´ rence a` la matrice hessienne de F ? L’expression gen´ e´ nerale e´ rale d’une fonction quadratique est donn´ donnee e´ e par :
F (x) =
1 T x Ax + dT x + c 2
(5.80)
ou` le gradient ∇F est donn´ donne´ par :
∇F (x) = Ax + d
et la matrice hessienne par ∇2 F (x) = A. En posant gt ≡ ∇F (x)|
=xt et
x
(5.81) en combinant ces
l’iteration e´ ration t : equations, e´ quations, on peut trouver le changement de gradient ∆gt a` l’it´
∆gt = g t+1 − gt = (Axt+1 + d) − (Axt + d) = A ∆xt
(5.82)
64
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
ou` la variation variation des param` parametres e` tres libres ∆xt au temps t est donn´ donnee e´ e par :
∆xt = x t+1 − xt = α t pt
(5.83)
avec un α t choisi de mani` maniere ` e` re `a minimiser F (xt ) dans la direction de p de p t . On peut maintenant rr´e´ ecrire e´ crire la condition des vecteurs conjugu´ conjugu es e´ s de l’´ l’equation e´ quation 5.78 de la mani`ere mani e` re suivante : T T αt pT j. (5.84) t Ap j = ∆xt Ap j = ∆gt p j = 0, t = On remarque imm´ immediatement e´ diatement qu’en consid´ considerant e´ rant le changement de gradient a` chaque it´ iteration e´ ration t de l’algorithme, on peut faire disparaˆ disparaˆıtre ıtre la matrice hessienne de l’ l’´equation e´ quation qui d´ deefinit ´ finit la condition des vecteurs vecteurs conjugu´ conjugues. e´ s. La direction de recherche p recherche p j sera alors conjugu´ conjuguee e´ e a` condition d’ˆ d’etre eˆ tre orthogonale a` la variation orthogonale variation du gradient gradient ! ` chaque it´ A iteration e´ ration t de l’algorithme des gradients conjugu es, e´ s, il s’agit donc de construire une direction de recherche p recherche p t qui est orthogonale ` orthogonale `a {∆g0 , ∆g1 , . . . , ∆gt−1 } en utilisant une proc´ procedure e´ dure semblable a` la m´ semblable meethode ´ thode de Gram-Schmidt (section 3.1.5, page 21), qui peut se simplifier a` l’expression suivante : pt = −gt + β t pt−1 (5.85) ou` les scalaires scalaires β t peuvent se calculer de trois mani` manieres ´ e` res ´eequivalentes quivalentes : gtT gt ∆gtT −1 gt ∆gtT −1 gt , β t = T , β t = T β t = gt−1 gt−1 gt−1 gt−1 ∆gtT −1 pt−1
5.6.1
(5.86)
Algor Algorithm ithmee du gradi gradient ent conj conjugu ugu´e´
Pour entraˆ entraˆıner ıner un r´ reseau e´ seau perceptron multicouche avec la m ethode e´ thode du gradient conjugu´ conjugue, e´ , il importe tout d’abord de proc´eeder der par groupage. En effet, puisqu’on cherch cherchee a` exploiter l’information contenue dans la variation du gradient (une forme de d eriv´ e´ rivee e´ e seconde), il est primordial de calculer celle-ci a` partir de gradients estim´es es avec un maximum de pr´ecision. ecision. Sinon, on se retrouverait a` surtout exploiter du bruit qui entraˆ entraˆınerait ` ınerait `a coup sˆ sur uˆ r la divergence de l’algorithme. Ensuite, il s’agit de remarquer que l’indice de performance d’un perceptron multicouche n’est pas une fonction quadratique, de sorte qu’on ne doit pas s’attendre s’attendre a` converger en m it erations e´ rations comme ce serait le cas pour une fonction quadratique. Ceci implique qu’il faudra r´ re-initialiser e´ -initialiser la m´ meethode ´ thode a` toutes les m it´ iterations, ` e´ rations, `a chaque fois que nous passerons a` travers m directions12 conjugu conjugu´ees e´ es successives. Pour ce faire, nous pourrons simplement employer la m ethode e´ thode de descente du gradient. Voici donc les principales etapes principales e´ tapes de l’algorithme : 1. t = 0 ; 2. Choisir Choisir la prochaine direction direction conjugu conjugu´ee e´ e de recherche :
−−
gt + β t pt−1 si t mo 0 mod d m =
pt = 12
gt
si t mo mod d m = 0
Il y a aura autant de directions conjugu´eees es qu’il y a de poids dans le r´eseau. eseau.
(5.87)
´ ´ 5.6. 5.6. M ETHODE DU GRADIENT CONJUGU E
65
-g1 x
0
x1 p
1
p
0
methode du gradient conjugu´ conjugue. F IG . 5.16 – Illustration de la m´ ´ ´
avec g avec g t ≡ ∇F (x)|
=xt et β t est
x
calcul´e comme a` l’´equation equation 5.86 :
∆gtT −1 gt ∆gtT −1 gt gtT g t , β t = T β t = , β t = T gt−1 gt−1 gt−1 gt−1 ∆gtT −1 pt−1
(5.88)
3. Faire Faire un pas comme comme a` l’´ l’equation e´ quation 5.83, en choisissant α t de mani` manieere ` re a` minimiser la fonction F dans la direction de recherche p recherche p t : xt+1 = x t + αt pt ;
(5.89)
4. t = t + 1 ; 5. Si le crit` crit`ere ere d’arrˆet et n’est pas atteint, alors recommencer recommencer a` l’´etape etape 2. Cet algorithme est illustr´ illustre´ a` la figure 5.16 dans le cas d’une fonction F quadratique quadratique a` deux variables. Dans ce cas, on converge en deux it´ iterations. e´ rations. La direction initiale initiale p p 0 est choisie dans le sens inverse du gradient. En faisant une recherche du minimum dans cette direction, on obtient un point x point x 1 sur une autre courbe de niveau. Au lieu de recommencer dans la direction inverse du gradient, gradie nt, perpendicula perpendiculaire ire a` la courbe de niveau, on choisit plutˆot ot une direction conjugu´ee p ee p 1 qui pointe alors dans la direction du minimum global, puisque F est quadratique et ne poss eede ` de que deux param` parametres e` tres libres.
5.6.2
Reche Recherche rche du m minim inimum um le long long d’une droi droite te
Pour compl´ completer e´ ter la description de la m ethode e´ thode du gradient gradient conjugu conjugu´e, e´ , il ne nous reste plus qu’ a` resoudre e´ soudre le probl` probleme e` me de la recherche du minimum d’une fonction fonction le long d’une 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 :
F i = F (x0 + 2 i εp), i = 0, 1, . . . , I
(5.90)
jusqu’a` ce qu’on trouve un F II > F II −1 , avec ε repr jusqu’` repr´esentant e´ sentant une distance el´ e´ leementaire ´ mentaire pour notre recherche d’un intervalle initial contenant le minimum. Ce dernier doit donc se trouver quelque
66
CHAPITRE 5. PERCEPTR PERCEPTRON ON MUL MULTICOUCHE TICOUCHE
8e 4e 2e F 4
F 0 F 1
e F 2 F 3
x0 x x2 1
x3
x4
´ de localisation d’un intervalle initial de recherche. recherche. F IG . 5.17 – Etape
part entre F II −2 et F II et l’intervalle de recherche est maintenant r eduit ` e´ duit `a a 1 = x 0 + 2I −2 εp et b et b1 = I x0 + 2 εp (voir figure 5.17). Pour r eeduire ´ duire davantage cet intervalle, on peut appliquer l’algorithme suivant appel´ appele´ «Golden Section search» : 1. α = 0.618 ; 2. Cal Calcul culer er : c1 = a1 + (1 − α)(b1 − a1 ) d1 = b1 − (1 − α)(b1 − a1 )
F c = F (c1 ) F d = F (d1 ) 3. k = 1 ; 4. Si F c < F d, alors calculer (voir figure 5.18a) : ak+1 = ak bk+1 = dk ck+1 = ak+1 + (1 − α)(bk+1 − ak+1 ) dk+1 = ck
F d = F c F c = F (ck+1 ) Autrement calculer (voir figure 5.18b) : ak+1 = ck bk+1 = bk ck+1 = dk dk+1 = bk+1 − (1 − α)(bk+1 − ak+1 )
F c = F d F d = F (dk+1 )
´ ´ 5.6. 5.6. M ETHODE DU GRADIENT CONJUGU E
intervalle
a
c
(a)
67
intervalle
d
b
a
c
d
b
(b)
´ de r eduction de l’intervalle de recherche : (a) cas o u` F c < F d ; (b) cas ou` F IG . 5.18 – Etape ´´ F d < F c .
5. k = k + 1 ; 6. Si ||bk − ak || > τ , alors recommencer a` l’´etape etape 4. ou` τ est un param` parametre e` tre de tol´ tolerance e´ rance sp´ specifiant e´ cifiant la pr´ precision e´ cision d´ desir´ e´ siree e´ e pour la recherche du minimum. Notez bien que cet algorithme suppose qu’il n’existe qu’un seul minimum dans l’intervalle initial de recherche.
68
Chapitre 6 Nu´ees Nu e´ es dynamiques Dans ce chapitre, nous allons etudier e´ tudier trois variantes d’un algorithme nomm´e «nu´eees es dynamiques» et permettant d’effectuer une classification non-supervis´ non-supervisee e´ e d’un ensemble de Q stimuli {p1 , p2 , . . . , pQ }. L’objectif est double : produire une partition en K classes de cet ensemble, representer e´ senter au mieux d’une part, et trouver K prototypes prototypes W = { 1w, 2 w, . . . , K w}T permettant de repr´ les «centres» de ces classes. Bien qu’historiquement cet algorithme n’appartienne pas au domaine ´ seaux de neurones, plusieurs architectures neuronales, dont celles d ecrites des r´ reeseaux e´ crites dans les deux chapitres suivants (Kohonen et GNG), s’en inspirent en effectuant des traitements semblables. Nous abordons donc cet algorithme en guise d’introduction aux r´ reseaux e´ seaux non supervis´ supervises, e´ s, bas´ bases e´ s sur l’apprentissage comp´ competitif e´ titif (voir chapitre 4). On peut peut visual visualise iserr les prototy prototypes pes i w, i = 1, . . . , K , comm commee les les po poid idss de K neurones neurones comp competitifs e´ titifs align´es align e´ s sur une seule couche, tel qu’illustr e´ a` la figure 6.1. Le niveau d’activation d’un neurone «comp comp´etitif e´ titif » est d´ determin´ e´ termine´ par la distance entre son vecteur de poids et le stimulus d’entr ee, e´ e, ˆ une corr´ contrairement au neurone de type «perceptron» o u` l’on mesurait plutot correlation e´ lation entre ces deux vecteurs. Ensuite, la fonction d’activation comp´ compeetitive ´ titive (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
k = 1, . . . , K
(6.1)
0 autrement
En cas d’´egalit´ egalit´e pour la premi`ere ere place, on fait gagner arbitrairement le neurone dont l’indice est le plus petit. C’est C’est la no norm rmee ||x−y|| qui deefini ´ finitt la di dist stan ance ce en entr tree deux deux vect vecteu eurs rs x et y et do donc nc leur leur ma manq nque ue de ressemblance. En calculant la n´egation egation de cette norme, on obtiendra une mesure de similarit´e qui nous permettra de regrouper les stimuli d’apprentissage en cat egories e´ gories (classes). Habituellement, on utilisera une norme bas´ee ee sur le produit scalaire classique mais pouvant incorporer une matrice positive d´ definie e´ finie A telle que :
||x − y||A =
( − x
y)T A(x − y),
(6.2)
Lorsque A est la matrice identit´ identite, e´ , on parle alors de distance euclidienne entre x et y. Dans le cas
69
70
´ CHAPITRE CHAPITRE 6. NU EES DYNAMIQUES
Entrée
Couche de K neurones neurones
p R x
n
W
1
K
K x x
1
C
a K x x
1
x R
R
K
n = i
− ||iw − p||
a = compet(n)
F IG . 6.1 – Couche comp´ competitive de S = K neurones. ´ ou` A correspond correspond a` l’inverse de la matrice de covariance des stimuli d’entraˆ d’entra ˆınement, ınement, on parle alors de la distance de Mahalanobis.
6.1 6. 1
K-me -means ans
L’algorithme dit du «k-means» permet de partitionner l’ensemble des stimuli en K classes {C 1 , C 2 , . . . , CK }. Il s’agit ici d’une partition rigide, c’est- a-dire a` -dire d’une collection de K sousensembles o` ou` chaque stimulus d’entr´ d’entree e´ e appartient ` appartient `a une et une seule classe de la partition U :
U
=
u1,1 u1,2 u2,1 u2,2 .. .. . . uK,1 uK,2
· · · u1,Q . . . u2,Q . . .. . . · · · uK,Q
(6.3)
avec u i,j ∈ {0, 1} d´esignant esignant l’appartenance du stimulus p j a` la classe C i :
ui,j =
1
si p j ∈ C i . 0 autrement
(6.4)
De plus, on impose les deux contraintes suivantes sur cette partition : K
ui,j = 1 , j = 1, . . . , Q ,
(6.5)
ui,j > 0 , i = 1, . . . , K .
(6.6)
i=1 Q
j j =1
La premi` premiere e` re sp´ specifie e´ cifie que tout stimulus doit appartenir ` appartenir `a une et une seule classe de la partition, alors que la deuxi` deuxieme e` me pr´ precise e´ cise qu’une classe doit poss´ posseder e´ der au moins un stimulus.
6.1.. K-MEANS 6.1 K-MEANS
71
1. Initialise Initialiserr les centres centres W(0) en choisissant al´ aleatoirement e´ atoirement K stimuli stimuli parmi les Q donn donn´ees e´ es d’apprentissa d’appre ntissage ge ; 2. Calculer Calculer la partition partition initiale initiale U(0) a` l’aide de l’ l’´equation e´ quation :
1 si ||p j − i w|| = min ||p j − k w||
ui,j =
k
, i = 1, . . . , K K,, j = 1 , . . . , Q , (6.8)
0
autrement en brisant (arbitrairement) les ´ les ´egalit´ egalites, e´ s, s’il y a lieu, en choisissant la classe dont l’indice est minimum minimum ; 3. t = 1 ; 4. Rep´ e´ peter e´ ter : (a) Calculer Calculer les nouveaux nouveaux centres centres W(t) en calculant les centro¨ centro¨ıdes ıdes des classes : Q
iw
=
ui,j p j
j =1
, i = 1, . . . , K .
Q
(6.9)
ui,j j j =1
(b) Calculer Calculer la nouvelle nouvelle partition partition U(t) `a l’aide de l’´ l’equati e´ quation on 6.8 ; (c) t = t + 1 ; 5. Tant que U(t) = U(t − 1) et t ≤ t max. F IG . 6.2 – Algorithme du « k-means k-means» . Connaissant les centres W = [1 w 2 w · · · K w]T des classes, l’indice de performance F (U, W) que l’on d´ desire e´ sire minimiser peut s’exprimer de la fac¸ on suivante : Q
F (U, W
K
( )=
ui,j ) ||p j − i w||2
(6.7)
j =1 i=1
ou` l’on cherche a` trouver la partition qui minimise la distance entre les centres des classes et les stimuli. L’algorithme it´eratif eratif permettant d’optimiser cette fonction objectif est r´eesum´ sum´e a` la figure 6.2. Il se poursuit tant que la mise a` jour des centres engendre une modification de la partition, ou jusqu’`a l’atteinte d’un nombre maximum d’it´erations erations tmax. Un probl` probleme e` me avec cet algorithme est que l’on force une partition rigide des stimuli d’entra traˆˆınement ınement ce qui, en pr´ presence e´ sence de bruit, peut provoquer une certaine instabilit instabilit´ee. ´ . Consid Consid´erons e´ rons par exemple les stimuli d’entraˆınement ınement repr´esent´ esent´eess a` la figure 6.3a. Dans ce cas, nous avons deux classes bien s´ separ´ e´ pareees ´ es pour lesquelles l’algorithme du k-means, avec K = 2, convergera assur´ assureement ´ ment vers la partition indiqu´ee ee par les points noirs et les points blancs. Mais si l’on ajoute un stimulus eeloign´ ´ loigne´ des autres, autres, par exemple exemple une erreur de mesure, alors la partit partition ion engendr´ engendree e´ e par les k-means peut devenir instable comme comme a` la figure 6.3b, 6.3b, etant e´ tant donn´ donne´ que tous les stimuli ont la mˆ meeme ˆ me importance dans la partition rigide. Pour limiter ce ph enom` e´ nomene, e` ne, une solution consiste a` faire appel aux
72
´ CHAPITRE CHAPITRE 6. NU EES DYNAMIQUES
(a)
(b)
F IG . 6.3 – Example d’une partition partition rigide en deux classes : (a) cas sans bruit ; (b) cas avec bruit. notions d’ensemble flou et de partition floue.
6.2 6. 2
Fuzz Fuzzy y K-me K-mean anss
L’algorithme dit du «fuzzy k-means k-means»1 (le k-means flou) est semblable au k-means, sauf que la partition engendr´ engendree e´ e par les centres est floue, c’est-` c’est-a-dire a` -dire que le degr´ degre´ d’appartenance ui,j du stimulus p j a` la classe C i varie dans l’intervalle [0, 1] au lieu d’ˆ stimulus d’etre eˆ tre el´ e´ lement e´ ment de {0, 1}, comme pr´ preec´ ´ cedemment. e´ demment. L’indice de performance que l’on d esire e´ sire minimiser s’exprime maintenant par l’expression pressio n: Q
F m (U, W
K
( )=
ui,j )m ||p j − i w||2 ,
(6.10)
j =1 i=1
ou` m > 1 est un exposant qui fixe le niveau de flou de l’algorithme dont les eetapes ´ tapes sont rr´esum´ e´ sumees e´ es a` la figure 6.4. L’algorithme se poursuit ainsi tant que la mise a` jour des centres engendre une modification non n´ negligeable e´ gligeable de la partition floue, ou jusqu’ a` un nombre maximum d’it´ d’it eerations ´ rations tmax. Gen´ e´ nerale e´ raleme ment nt,, on juge juge de la co con nve verg rgenc encee en fixan fixantt un seui seuill ε sur sur l’´ l’el´ e´ lemen e´ mentt de la ma matr tric icee U qui a chang´ change´ le plus. Si ce changement est inf erieur e´ rieur au seuil fix fix´ee, ´ , on consid consid`eere ` re alors que l’algo l’algorithm rithmee ´. a converg´ convergee. Le param` parametre e` tre m de l’algorithme d´ d etermine e´ termine le niveau de partage des degr´ degres e´ s d’appartenance de la matrice matrice U. On fixe g´ gen´ e´ neralement e´ ralement m = 2. Plus m augmente, plus on se trouve a` partager les degr´ degres e´ s d’appartenance entre les diff erentes e´ rentes classes. Il importe de se rappeler que l’algorithme du fuzzy k-means, tout comme celui du k-means, impose la contrainte de l’ eequation ´ quation 6.5, 6.5, a` savoir que l’appartenance global d’un stimulus stimulus a` l’ensemble des classes est toujours ´ toujours ´egal egal a` 1. Lorsque m s’approche de 1, on tend alors vers le k-means puisque la partition floue devient de plus en plus 1
J.C. Dunn, «A Fuzzy Relative of the ISODATA Process and its Use in Detecting Compact Well-Separated Clusters», J. Cybernetics, vol. 3, no. 3, p. 32-57, 1973.
6.2. FUZZY K-MEANS K-MEANS
73
1. Initialise Initialiserr les centres centres W(0) en choisissant al´ aleatoirement e´ atoirement K stimuli stimuli parmi les Q donn donn´ees e´ es d’apprentissa d’appre ntissage ge ; 2. Fixer Fixer les param` parametres e` tres m et ε ; 3. Calculer Calculer la partition partition initiale initiale U(0) a` l’aide de l’ l’´equation e´ quation :
ui,j =
|| K
k=1
1
p j − i w||
||p j − k w||
2
m−1
, i = 1, . . . , K, K , j = 1, . . . , Q;
(6.11)
4. t = 1 ; 5. Rep´ e´ peter e´ ter : (a) Calculer Calculer les nouveaux nouveaux centres centres W(t) a` l’aide de l’´equation equation : Q
iw
=
(
ui,j )m p j
j =1
, i = 1, . . . , K .
Q
(6.12)
m
(
j =1
ui,j
)
(b) Calculer Calculer la nouvelle nouvelle partition partition floue U(t) en utilisant l’´eequati quation on 6.11 ; (c) t = t + 1 ; 6. Tant que max |ui,j (t) − ui,j (t − 1)| > ε et t ≤ t max ; i,j
F IG . 6.4 – Algorithme du « fuzzy k-means» . rigide.. Ceci devient rigide devient un peu plus explicite explicite en r e´ ecrivant e´ crivant l’´ l’equation e´ quation 6.11 de la mani` maniere e` re suivante : 2
m−1
1 || − || ()= 1
ui,j t
p j
iw
K
k=1
2
(6.13)
m−1
||p j − k w||
2 Lorsque m → 1, l’exposant m tend vers l’infini et, par cons´equent, equent, le terme de la somme du −1 denominateur e´ nominateur qui correspond au centre le plus proche du stimulus p j devient infiniment dominant, de sorte que le degr´ degr e´ d’appartenance d’appartenance a` la classe correspondante tendra vers 1 (et les autres vers 0).
L’algorithme du fuzzy k-means g´en´ en´eralise eralise donc celui du k-means en eetant ´ tant beaucoup moins sensible au bruit dans les stimuli grˆ gr ace aˆ ce au partage de l’appartenance entre les diff erentes e´ rentes classes. Ceci permet dans bien des situations d’´eviter eviter de rester pris dans des minimums locaux de la fonction objectif F e´ galement beaucoup beaucoup moins sensible sensible a` une mauvaise ini F m . L’algorithme est donc egalement tialisation des centres. Cependant, il demeure un probl` probl eme e` me important, important, illus illustr tr´e´ a` la figure 6.5. On voit sur cette figure deux nuages de points bien s epar´ e´ pares e´ s ainsi que deux points A et B qui semblent
74
´ CHAPITRE CHAPITRE 6. NU EES DYNAMIQUES
A
B
F IG . 6.5 – Exemple d’une partition floue a` deux classes. classes. correspondre a` du bruit. Typiquement, l’algorithme du fuzzy k-means affectera ces deux points a` l’une ou l’autre des deux classes, en fonction de l’emplacement exact de ces points ainsi qu’en fonction de la position initiale des centres. Le probl` probl eme e` me est que peu importe cette affectation finale, les degr´es es d’appartenance de A et B aux deux classes en question seront tous les deux 0.5 puisqu’il sont approximativement ` approximativement `a ´egale egale distance des centres. Ceci r´ resulte e´ sulte de la contrainte de l’´ l’equation e´ quation 6.5 qui impose un partage de l’appartenance avec une somme des degr´es es eegale ´ gale a` 1. Autrement dit, un stimulus situ´ situe´ `a ´egale egale distance de deux centres obtiendra toujours des degr´ degres ´ e´ s ´egaux egaux d’appartenance aux classes correspondantes, peu importe la distance mesur ee. e´ e. Dans le cas de la figure 6.5, le point A obtient un degr´ degre´ d’appartenance de 0.5, tout comme le point B , meme eˆ me si le point B semble a priori beaucoup plus plausible que le point A, ´eetant tant situ situ´e´ beaucoup plus pr` pres e` s des deux centres. Ceci a comme cons´ consequence e´ quence d’accorder la mˆ meme eˆ me importance au point A qu’au point B . Dans le cas de donn´ees donn e´ es bruit´ bruitees, e´ es, cela peut empˆ empecher eˆ cher les centres de converger vers des r´ r eegions ´ gions denses de l’espace l’espace d’entr´ee. d’entr e´ e.
6.3
Possib Possibilis ilistic tic K-m K-mean eanss
L’algorithme dit du «Possibilistic k-means»2 cherche a` pallier aux limitations du fuzzy kmeans en levant la contrainte de l’´ l’equation e´ quation 6.5 et en modifiant la fonction objectif de mani ere e` re a` ne pas converger vers une solution triviale o` ou` tous les degr degr´es e´ s d’appartenance seraient nuls. Les ´ lements eel´ e´ ments ui,j de la partition partition floue U doivent alors respecter les trois contraintes suivantes :
ui,j ∈ [0 , 1], i = 1, . . . , K, j = 1, . . . , Q ,
(6.14)
Q
ui,j > 0 , i = 1, . . . , K ,
(6.15)
=1
j j 2
R. Krishnapuram, J.M. Keller, «A Possibilistic Approach to Clustering», IEEE Transactions on Fuzzy Systems, vol. 1, no. 2, p. 98-110, mai 1993.
6.3. POSSIBILISTIC POSSIBILISTIC K-MEANS K-MEANS
75
K
ui,j > 0 , j = 1, . . . , Q ,
(6.16)
i
ou` les deux premi` premieres e` res contraintes sp´ specifient e´ cifient respectivement que les degr´ degres e´ s d’appartenanc d’appartenancee des stimuli aux classes sont compris entre 0 et 1, et que toute classe doit poss eder e´ der au moins un stimulus avec un degr´ degre´ d’appartenance non nul. Ces deux contraintes sont identiques a` celles de l’algorithmee du fuzzy k-means. La troisi` rithm troisieme e` me contrainte, celle de l’´ l’equation e´ quation 6.16, se distingue cependant a` la fois du k-means et du fuzzy k-means qui impose a` chaque stimulus d’avoir une somme des degr´es es d’appartenance d’appartenance egale e´ gale a` 1 (´eequation quation 6.5). Le possibilistic k-means impose plutˆot ot que chaque stimulus appartienne appartienne a` au moins une classe avec un degr degr´e´ d’appartenanc d’appartenancee non nul. Ceci impliqu impliquee que la somme des degr´es es d’appartenance d’un stimulus a` l’ensemble des classes peut maintenant ˆ tre soit plus petite, soit plus grande que 1, d’une part, et qu’un stimulus puisse appartenir a` une eetre seule classe avec un degr´ degre´ d’appartenance inf erieur ` e´ rieur `a 1, d’autre part. Dans ce dernier cas, un stimu` s eloign´ lus bruit´ bruite´ tr` trees e´ loigne´ de tous les centres pourra n’appartenir qu’ a` une seule classe, avec un degr e´ d’appartenance arbitrairement petit. Pour r´eealiser aliser ces contraintes, cependant, on ne peut pas optimiser la mˆeeme me fonction objectif que pour le fuzzy k-means (´ ( equation e´ quation 6.10), car on tendrait syst´ systematiquemen e´ matiquementt vers des degr degr´ees e´ es d’appartenance arbitrairement petits. Il s’agit alors d’ajouter un deuxi`eeme me terme a` cette fonction objectif pour stimuler l’´ l’ emergence e´ mergence de ui,j les plus grands possibles. On utilise l’expression suivante : Q
F m (U, W
Q
K
K
( )=
m
ui,j ) ||p j − i w
2
(1 − || + ηi
(6.17)
j =1
i=1
j =1 i=1
ui,j )m ,
ou` les ηi sont des valeurs positives ad´ adequates e´ quates repr´ representant e´ sentant l’´ l’etendue e´ tendue du nuage associ´ associe´ `a la classe C i . Le premier terme de cette ´ cette ´equation equation cherche ` cherche `a minimiser les distances entre les stimuli et les centres des classes, alors que le deuxi eme e` me force les u i,j a` eetre ˆ tre maximum en evitant e´ vitant donc la solution triviale. Les ´ Les ´eel´ lements e´ ments cl´ cles e´ s dans cette fonction objectif sont les ηi qui viennent pond´ ponderer e´ rer l’importance relative de ces deux crit` criteres. e` res. Pour optimiser cette fonction objectif, il importe de remarquer que les contraintes impos eees ´ es par le possibilistic k-means (´ ( equations e´ quations 6.14 ` 6.14 `a 6.16) rendent les lignes et les colonnes de la matrice independamment e´ pendamment les uns des ind´ependantes. e´ pendantes. En effet, les u i,j sont maintenant libres de changer ind´ U ind ´ te´ lev´ autres car la contrainte de l’´ l’equation e´ quation 6.6 a a eet´ levee. e´ e. Ceci nous permet donc de minimiser F m pa parr i,j rapport ` rapport `a U en minimisant individuellement chaque ui,j . On obtient alors les termes F m de F m : i,j F m ( ui,j , i w) = ( ui,j )m ||p j − i w||2 + ηi (1 − ui,j )m .
(6.18)
que l’on peut d´ deriver e´ river par rapport ` rapport `a ui,j et, en affect affectant ant le r´ r esultat ` e´ sultat `a 0, on obtient le rr´esultat e´ sultat suivant :
ui,j =
1+
||
1
p j − i w
ηi
|| 2
1
.
(6.19)
m−1
qui nous pr´ precise e´ cise la fac¸on dont il faudra estimer la partition floue ` floue `a chaque it´ iteeration ´ ration de l’algorithme, eetant ´ tant donn donn´e´ les stimuli d’apprentissage et les positions des centres. L’ eequation ´ quation 6.19 sp sp´eecifie ´ cifie que le degr´e´ d’appartenance degr d’appartenance a` une classe ne d´ depend e´ pend que de la distance entre le stimulus et le centre de la
76
´ CHAPITRE CHAPITRE 6. NU EES DYNAMIQUES
classe. C’est exactement le r´ r esultat e´ sultat que nous cherchions. Il ne reste plus qu’` qu’ a` determiner e´ termi ner la fac¸ on de calculer les ηi qui viennent pond´ ponderer e´ rer cette distance. Le param` parametre e` tre m dans l’´ l’equation e´ quation 6.19 repr´ represente e´ sente le niveau de flou de l’algorithme, comme pour 1 le fuzzy k-means, mais son interpr´ interpretation e´ tation est diff erente. e´ rente. Lorsque m → 1 , l’exposant m tend vers −1 l’infini et les degr´ degres e´ s d’appartenance d’appartenance deviennent deviennent binaires : 1 si la distan distance ce du stimu stimulus lus au centre est 1
degres e´ s 0 autrement. Au contraire, lorsque m → ∞, l’exposant → 0 et tous les degr´ d’appartenance deviennent deviennent egaux e´ gaux a` 0.5 peu importe la distance distance entre les stimuli et les centres centres ; on obtient alors le flou maximum puisque tous les stimuli appartiennent a` toutes les classes avec 50% de possibilit´ possibilitee. ´ . Pour le fuzzy k-means on conseille habituellement m = 2 qui donne des r´ reesultats ´ sultats satisfaisants dans la plupart des situations. Pour le possibilistic k-means, cette valeur est parfois ˆ 1.5 ≤ m < 2 . trop elev´ trop e´ levee, e´ e, on conseille plutot inf eerieur ´ rieur a` η i ,
m−1
La valeur de ηi d´ d eetermine ´ termine la distance distance ` `a partir de laquelle le degr e´ d’appartenance d’un stimulus a` la classe devient 50%. C’est en quelque sorte la zone d’influence de la classe C i , a` l’int´ l’interieur e´ rieur de laquelle la possibilit´ possibilite´ d’appartenance est sup´ superieure e´ rieure a` 50%. De fac¸on ¸on gen´ e´ neerale, ´ rale, il importe donc que sa valeur soit corr´el´ el´ee ee avec l’´etendu etendu du nuage des stimuli associ´es es a` la classe. En pratique, la definition e´ finition suivante fonctionne bien : Q
ηi =
(
ui,j )m ||p j − i w||2
j =1
.
Q
(
(6.20)
ui,j )m
j =1
Cette expression rend ηi proportionnel proportionnel ` `a la moyenne pond´ ponder´ e´ ree e´ e des distances intra-classe. Une autre fac¸ on de proc eder e´ der est de consid´ considerer e´ rer seulement dans l’´ l’equation e´ quation ci-dessus les ui,j ≥ α, on parle alors d’une coupe α de la partition. Dans ce cas, η i repr repr´eesente ´ sente la moyen moyenne ne pond´ ponder´ e´ ree e´ e des distances intra-classe pour les «bons» stimuli, c’est-` c’est-a-dire a` -dire ceux dont le degr´ degr e´ d’appartenance d’appartenance a` la classe est sup´erieur sup e´ rieur a` α . Les valeurs de ηi peuvent etre eˆ tre fix´ fixees e´ es a priori, ou encore etre eˆ tre ajust´ ajustees e´ es a` chaque it it´eeration ´ ration de l’algorithm l’algo rithme. e. Dans ce dernier cas, cependant, cependant, il importe de prendre des pr pr´ecautions e´ cautions pour ´ pour ´eviter eviter les instabilit´es instabilit e´ s pouvant r´ reesulter ´ sulter de tels changements en continu. En pratique, l’algorithme du possibilistic k-means est assez robuste a` de larges variations de η i , a` condition d’avoir bien initialiser les centres. Ainsi, on peut calculer les η i a` partir de la partition floue initiale, puis les rr´e-estimer e´ -estimer lorsque l’algorithme a converg´e une premi`eere re fois. Ensuite, on peut recommencer la proc´edure edure si ´ sire obtenir une meilleure estimation de la partition floue. Cette deuxi eme l’on d´ deesire e` me etape e´ tape converge g´en´ en´eralement eralement en quelques it´erations erations seulement puisque les centres sont d´ej` ej`a correctement positionn´es. tionn e´ s. Dans le cas de stimuli bruit´ bruites, e´ s, elle permet de d´ d eterminer e´ terminer les degr´ degres e´ s d’appartenance aux classes avec presque la mˆ meme eˆ me pr´ precision e´ cision que dans le cas d’un environnement non bruit ee. ´ . Des valeurs de α entre 0.1 et 0.4 produisent g en´ e´ neralement e´ ralement des resultats e´ sultats satisfaisants. L’algorithme du possibilistic k-means est r´ resum´ e´ sume´ `a la figure 6.6. Il comporte comporte deux parties dont la deuxi`eeme me est optionnelle. Dans les deux cas, nous adoptons le mˆeme eme crit`ere ere d’arrˆet et que pour le fuzzy k-means. Pour le choix des centres initiaux, on ne peut pas proc eeder ´ der comme pr pr´ec´ e´ ceedemment ´ demment en choisissant al´ aleatoirement e´ atoirement des stimuli a` l’int´ l’inteerieur ´ rieur de la base d’apprentissage car les centres de l’algorithme du possibilistic k-means ne sont pas aussi mobiles que ceux des deux algorithmes
6.3. POSSIBILISTIC POSSIBILISTIC K-MEANS K-MEANS
77
1. Initialise Initialiserr les centres centres W(0) ainsi que la partition floue floue U(0) en utilisant l’algorithme du fuzzy k-mean k-meanss ; 2. Estimer Estimer les ηi en utilisant l’´ l’equation e´ quation 6.20 avec une coupe α = 0 ; 3. Fixer Fixer les valeurs valeurs de de m et ε ; 4. t = 1 ;
e´ peter e´ ter : 5. Rep´ (a) Calculer Calculer les nouveaux nouveaux centres centres W(t) en utilisant l’´ l’equation e´ quation 6. 6.12 12 ; (b) Calculer Calculer la nouvelle nouvelle partition partition floue U(t) en utilisant l’´ l’eequati ´ quation on 6.19 ; (c) t = t + 1 ; 6. Tant que max |ui,j (t) − ui,j (t − 1)| > ε et t ≤ t max ; i,j
7. Re-estimer e´ -estimer les ηi en utilisant l’´ l’equation e´ quation 6.20 avec une coupe 0.1 ≤ α ≤ 0 .4 ; 8. t = 1 ; 9. Rep´ e´ peter e´ ter : (a) Calculer Calculer les nouveaux nouveaux centres centres W(t) en utilisant l’´ l’eequation ´ quation 6. 6.12 12 ; (b) Calculer Calculer la nouvelle nouvelle partition partition floue U(t) en utilisant l’´eequati quation on 6.19 ; (c) t = t + 1 ; 10. Tant que max |ui,j (t) − ui,j (t − 1)| > ε et t ≤ t max ; i,j
F IG . 6.6 – Algorithme du « possibilistic k-means » . pr´eec´ cedents. e´ dents. En effet, a` cause du param`etre etre ηi qui restreint le rayon d’action des centres, un mauvais choix de leur position initiale peut limiter grandement la performance de l’algorithme, et mˆ meme eˆ me empˆecher emp eˆ cher sa convergence. Pour cette raison, on commence habituellement avec un fuzzy k-means qui, lui, est beaucoup plus robuste robuste a` une mauvaise initialisation des centres. Mentionnons finalement qu’en changeant la norme utilis ee e´ e pour calculer la distance entre un stimulus et un centre, on peut construire diff´erentes erentes variantes du possibilistic k-means. Par exemple, en calculant la matrice de covariance floue des stimulus : Q
Fi =
(
ui,j )m (p j − i w)(p j − i w)T
j =1
,
Q
(
(6.21)
ui,j )m
j =1
et en l’utilisant pour calculer la norme suivante : 2
p j
|| −
iw
T
R
|| = |
Fi
p j
| ( −
iw
)
−1
F i
(p j − i w),
on obtient l’algorithme dit du «possibilistic Gustafson-Kessel».
(6.22)
78
Chapitre 7 Reseau e´ seau de Kohonen Dans ce chapitre, nous allons etudier e´ tudier un r´eseau eseau de neurones dit r´eeseau seau de Kohonen1 , ou encore carte auto-organ auto-organis is´ee e´ e de Kohonen. Il s’agit d’un r´ reseau e´ seau non supervis´ supervise´ avec un apprentissage comp´etitif comp e´ titif o` ou` l’on apprend non seulement a` mod´ modeliser e´ liser l’espace des entr´ entreees ´ es avec des prototypes, comme avec les nu´ nuees e´ es dynamiques (chapitre 6), mais egalement e´ galement a` construire une carte a` une ou deux dimensions permettant de structurer cet espace. Un r´eseau eseau de Kohonen est illustr´e a` la figure 7.1. Les neurones de ce r´eseau eseau correspondent aux prototypes (figure 7.1a). Ils sont constitu´ constitues e´ s d’un vecteur de poids dans l’espace des entr´ entr ees e´ es (d’une fac¸¸on on semblable aux centres des nu ees e´ es dynamiques). La carte des neurones (figure 7.1b) definit e´ finit quant ` quant `a elle des relations de voisinage entre les neurones. Par exemple, la figure 7.2 montre la forme «carr carr´eee ´ e» de voisinage qui est la plus souvent utilis´ utilisee e´ e (les neurones y sont repr´ represent´ e´ sentees ´ s par des cercles vides). On voit sur cette figure que les neurones adjacents sont li es e´ s entre eux par des ar arˆetes eˆ tes (on pourrait aussi avoir des arˆ aretes eˆ tes diagonales). Ce sont les voisins imm imm´ediats e´ diats sp´ speecifi´ ´ cifiees ´ s par le voisinage Λ i = k du neurone i , c’est-` c’est-a-dire a` -dire l’ensemble des neurones li´ lies e´ s au neurone i par des chemins dans le graphe de la carte contenant au plus k ar eetes. ˆ tes. L’algorithme d’apprentissage du r´ reseau e´ seau de Kohonen est de type comp comp´etitif e´ titif (section 4.3). La `a jour des poids ∆i w du neurone i au temps t s’exprim mise ` mise s’exprimee de la fac¸ on suivante su ivante :
∆i w(t) =
η(t)[ (t) − p
0
iw
(t)] si i ∈ Λg (t)
autrement
(7.1)
ou` p(t) d´ d eesigne ´ signe le stimulus d’apprentissage au temps t et Λg (t) repr´esente esente le voisinage au temps t du neurone gagnant g . Ce dernier est d´ determin´ e´ termine´ simplement en retenant l’indice du neurone pour lequel la distance avec le stimulus p est minimum :
g(p) = arg arg mi min n ||p − i w||, i = 1, 2, . . . , S i
(7.2)
ou` S correspond correspond au nombre de neurones du r´ reseau. e´ seau. 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
7.1.. ALGORI 7.1 ALGORITHM THME E DE KOHON KOHONEN EN
81
!
!
!0
!0
!" t
t
"
"
(a)
(b)
(a) du taux d’apprentissage et (b) de la fen etre F IG . 7.3 – Exemple de d ecroissance ´´ ˆ de voisinage en fonction du temps.
neurones la` ou` les donn´ neurones donnees e´ es sont concentr concentrees. e´ es. Elle permet aussi, grˆ gr ace aˆ ce a` une d´ deecroissance ´ croissance progressive du taux d’apprentissage et du voisinage, de d´ d eplier e´ plier la carte de mani` mani ere e` re a` ce que sa topologie corresponde au mieux a` la topologie des stimuli. Ainsi, les stimuli adjacents dans l’espace des ´ s `a des neurones adjacents dans la carte du r eseau. entr´ees entr e´ es seront associ´ associees ` e´ seau. La phase de convergence, grˆ grace ` aˆ ce `a un taux d’apprentissage faible et un voisinage nul, permet quant `a elle de raffiner la position des neurones de mani`ere ere a` les centrer sur des nuages denses de stimuli.
7.1
Algori Algorithm thmee de Kohonen ohonen
L’algorithme de base de Kohonen est r´ resum´ e´ sume´ a` la figure 7.4. Il consiste a` eechantillonner ´ chantillonner les stimuli d’apprentissage jusqu’` jusqu’a` l’atteinte d’un certain crit` critere e` re d’arrˆ d’arret. eˆ t. Celui-ci est le plus souvent stabilite´ sp sp´ecifi´ e´ cifie´ par un nombre maximum d’it´ d’iteration e´ ration tmax mais peut aussi tenir compte de la stabilit´ iterations, e´ rations, on peut d´ decider e´ cider des poids. Par exemple, lorsque maxi ||∆i w|| < ε durant plusieurs it´ arbitrairement de stopper l’apprentissage puisque le r´ reseau e´ seau mod´ modeelise ´ lise suffisamment bien l’espace ` chaque it´eration, des entr´ees. ees. A eration, on d´eetermine termine le neurone gagnant (le plus proche) et on d´eplace eplace celui-ci, ainsi que son voisinage actuel, dans la direction du stimulus courant en utilisant le taux d’apprentissage courant. `a rem Une va Une vari rian ante te qu quee l’on l’on pe peut ut au aussi ssi renco rencont ntrer rer co cons nsis iste te ` rempl plac acer er l’´ l’equati e´ quation on 7.1 par l’expre l’expressi ssion on suivante : (7.5) ∆i w(t) = πi,g (t)η (t)[p(t) − i w(t)] ou` :
d2i,g πi,g (t) = exp − 2 2σ (t)
(7.6)
depend e´ pend de la distance topologique di,g (en vient remplacer le voisinage Λg par une fonction πi,g qui d´ nombre d’arˆ d’aretes eˆ tes dans la carte) entre le neurone i et le neurone gagnant g . La fonction π i,g a une ´ e a` la figure 7.5. Elle se trouve forme gaussienne telle qu’illustr´ qu’illustreee trouve a` reduire e´ duire le taux d’apprentissage d’apprentissage
82
´ AU DE KOHON CHAP CHAPIT ITRE RE 7. RESE ESEA KOHONEN EN
1. Initialise Initialiserr les poids poids i w(0) avec de petites valeurs al´ aleatoir e´ atoires es ; 2. Fix Fixer er η0 , ητ , τ et Λ0 ; 3. t = 1 ; 4. Rep´ e´ peter e´ ter tant que t ≤ t max : p
(a) Choisir Choisir al al´eatoirement e´ atoirement un stimulus (t) parmi l’ensemble l’ensemble d’apprentis d’apprentissage sage ; (b) D´eterminer eterminer le neurone gagnant g equation 7.2 : g((p) `a l’aide de l’´equation
g (p) = arg arg mi min n ||p(t) − i w(t)||, i = 1, 2, . . . , S i
(c) Mettre Mettre a` jour les poids ` poids `a l’aide de l’´ l’equation e´ quation 7.1 :
∆i w(t) =
η(t)[ (t) − p
iw
0
(t)] si i ∈ Λg (t)
autrement
ou` η( η (t) correspond au taux d’apprentissage et Λg (t) `a un voisinage autour du neurone gagnant g ; η( η (t) et Λg (t) sont toutes deux des fonctions fonctions d ecroissantes e´ croissantes dans le temps. (d) t = t = t + + 1 ; F IG . 7.4 – Algorithme de Kohonen. ´ loignement topologique du neurone gagnant. Tout comme effectif du neurone i par rapport rapport a` son son eeloignement ´ croisse dans le temps de mani mani`eere ` re a` pour le voisinage Λg , il importe que le rayon d’action de πi,g deecroisse ce que vers la fin de l’apprentissage, seul le neurone gagnant subisse une mise `a jour significative de son vecteur g w. Pour ce faire, par exemple, on peut faire d´ decroˆ e´ croˆıtre ıtre exponentiellement la variance σ de la gaussienne en fonction du temps :
t σ(t) = σ exp − τ 0
(7.7)
importe te de se rappele rappelerr que ´ finit la variance au temps initial. Pour l’interpr etation e´ tation de πi,g , il impor ou` σ0 d eefinit la distance distance topologique topologique est discr` discrete e` te : d i,g ∈ IN . Par exemple, pour σ 0 = di,g = 5 et τ τ = 1000 on obtient σ(1) σ (1) = 4. 4.995 et π i,g (1) = exp(−25 25//49 49..9) = 0. 0.606, π i,g (500) = 0. 0.257 et πi,g (1000) = 0.025. Pour σ0 = 3, d i,g = 5 et τ τ = 1000, on obtiendra π i,g (1) = 0. 0.249, π i,g (500) = 0. 0.023 et
3.5 × 10−5 πi,g (1000) = 3.
7.2
Propriet´ e´ tes e´ s
Cette section r´ resume e´ sume les principales propri´ proprieet´ ´ tes e´ s statistiques de l’algorithme de Kohonen par rapport a` son espace continu d’entr´ rapport d’entr eee ´ e X , pour lequel la topologie est d´ d efinie e´ finie par une m´ metrique e´ trique de distance, et son espace discret de sortie Y dont la topologie est sp´ specifi´ e´ cifiee e´ e par le treillis de la carte
´ ES ´ 7.2. PRO PROPRI PRI ET
83
!
i,g
2 ! !
d i,g
F IG . 7.5 – Fonction de voisinage gaussienne.
de neurones. Le r´ reseau e´ seau r´ realise e´ alise donc une transformation non-lin´ non-lin eaire e´ aire Φ : Φ : X → Y
(7.8)
Cette transfo Cette transforma rmatio tion n peut peut eetre ˆ tre vu vuee co comm mmee un unee ab abst stra ract ctio ion n de l’´equa equati tion on 7.2 7.2 qu quii d´eetermine termine l’ide l’identit´ ntit´e du neurone gagnant en pr´ presence e´ sence d’une stimulus p ∈ X .
´ te´ 1. Approximation de l’espace d’entr´ Proprieet´ Propri´ ´e d’entreee La carte auto-organ auto-organis is´ee e´ e de Kohonen, repr´ represent´ e´ sentee e´ e par un ensemble de vecteurs poids synaptiques {i w|i = 1, 2, . . . , S } , construit dans l’espace de sortie Y , une approximation de l’espace d’entr´ d’entree e´ e X , tel qu’illustr´ qu’illustre´ `a la figure 7.6.
´ te´ 2. Ordre topologique Proprieet´ Propri´ La carte Φ obtenue par l’algorithme de Kohonen est ordonn´ ordonnee e´ e topologiquement dans le sens o u` l’emplacement des neurones dans l’espace des sorties (le treillis) correspond a` une r´ region e´ gion particuli`ere ticuli e` re de l’espace des entr´ entrees. e´ es. Deux r´ regions e´ gions adjacentes dans l’espace des entr´ entrees e´ es seront aussi adjacentes dans l’espace des sorties. Ceci est une cons equence e´ quence directe de l’´ l’ equation e´ quation 7.1 qui force le vecteurs des poids synaptiques g w du neurone gagnant, ainsi qu’un certain nombre de poids voisins i w ∈ Λg de ce neurone gagnant, gagnant, a` bouger dans la direction direction des stimuli stimuli p.
´ te´ 3. Appariement Propri´eet´ Propri Appariement des fonctions fonctions de densit´ densit´e La carte Φ refl refl`ete e` te les variation variationss statistiqu statistiques es des distributions distributions de points dans l’espace des entr entr´ees e´ es : les r´ regions e´ gions de X contenant contenant beaucoup de stimuli stimuli seront appari´ apparieees ´ es avec davantage de neurones que les r´ regions ´ e´ gions ´eparses. eparses. Ainsi, elles seront mieux mod elis´ e´ lisees. e´ es.
84
´ AU DE KOHON CHAP CHAPIT ITRE RE 7. RESE ESEA KOHONEN EN
Espace de sortie discret
g (p)
!
Espace d'entrée continu w
p
g
F IG . 7.6 – Illustration de la relation entre la carte auto-organis ee ´ Φ et le vecteur g w du neurone gagnant pour le stimulus p.
7.3 7. 3
Exemp xemple less
Cette section pr´ presente e´ sente trois exemples tir´ tires e´ s de l’article de Kohonen. Le premier, illustr e´ `a la figure 7.7, pr´ presente e´ sente le cas d’une carte ` carte `a une dimension, c’est-` c’est-a-dire a` -dire une carte constitu´ constituee e´ e d’une chaˆ chaˆıne ıne unidimensionnelle de neurones. Les stimuli d’apprentissage pour cet exemple sont echantillonn´ e´ chantillonnes e´ s uniform´ement ement a` l’int´erieur erieur d’un triangle. La premi`eere re image de la figure (t = 0) montre l’initialisation al´ aleatoire e´ atoire du r´ reseau e´ seau o` ou` la chaˆ chaˆıne ıne de neurones est totalement repli´ repliee e´ e sur elle-mˆ elle-meme. eˆ me. D` Des e` s les premi`eres eres it´erations erations de l’alg l’algorithm orithmee (t = 20), on commence a` voir appar apparaˆ aˆııtre tre la chaˆııne ne qui se deplie e´ plie graduellement au fil des it erations e´ rations en prenant de l’expansion ` l’expansion `a l’int´ l’interieur e´ rieur du triangle o` ou` sont situ´ees situ e´ es les stimuli. Apr` Aprees ` s 25 00 iterations, e´ rations, on constate constate que la cha chaˆˆııne ne s’est compl compl`etement e` tement d´ deeploy´ ´ ployee e´ e 0000 it´ pour occuper tout l’espace disponible. La figure 7.8 pr´ presente e´ sente un exemple avec cette fois-ci une carte carte a` deux dimensions. Les stimuli d’apprentissage pour cet exemple sont echantillonn´ e´ chantillonn´es es uniform´ement ement a` l’int´erieur erieur d’un carr´e. e. De nouveau, d` des e` s les premi` premieres e` res it´ iterations, e´ rations, la carte initialis´ initialisee e´ e avec de petit petitss vecteurs de poids al al´eatoires e´ atoires se deploie e´ ploie en se d´ depliant e´ pliant et, apr` apres e` s quelques dizaines de milliers d’it´ d’iterations, e´ rations, finit par occuper tout l’espace disponible. Le dernier exemple pr´ presente e´ sente un cas plus compliqu´ complique´ o u` les stimuli sont tridimensionnels, d’une part, et n’ont pas une topologie topologie rectangulaire, rectangulaire, d’autre part. Ils sont eechantillonn´ ´ chantillonn´eess dans un volume synth´etique synth e´ tique dont la forme ´ forme ´evoque evoque vaguement celle d’un cactus illustr illustr´e´ `a la figure 7.9(a). Le r´ reesultat ´ sultat final de l’apprentissage, donn´ donne´ `a la figure 7.9(b), illustre le principal d d´eefaut ´ faut de l’approche de Kohonen. Bien que la carte obtenue approxime raisonnablement bien le volume des stimuli, on observe
7.3. EXEMP EXEMPLES LES
85
auto-organis ee ee F IG . 7.7 – Exemple d’une carte auto-organis´ ´ a` une dimension. Les stimuli d’apprentissage sont distribu´ ees uniform´ ement a` l’int´ erieur d’un triangle.
d’une auto-organis auto-organis´ ee ´ carr a` deux F IG . distribu´ 7.8 – Exemple sont distribu ees uniform ement erieur d’un e. ´ uniform´ ´ carte a` l’int ´´ ´´ dimensions. Les stimuli d’apprentissage
86
(a)
´ AU DE KOHON CHAP CHAPIT ITRE RE 7. RESE ESEA KOHONEN EN
(b)
auto-organisee ee F IG . 7.9 – Exemple d’une carte auto-organis´ ´ a` deux dimensions (droite). Les stimuli d’apprentissage sont distribu´ distribuees ´ uniform´ uniformement ´ `a ` l’int erieur ´´ d’un volume tridimensionnel en forme de cactus (gauche).
´ 7.4. 7.4. RESEA ESEAU U LVQ
Entrée
87
Couche linéaire
Couche compétitive
p R x
W
n1
1
S 1 x
1
1
1
S x R
C
a1 S 1 x
n2
2
W
S 2 x
1 2
a2
n
i
1
1
S x S
S 2
S 1
R
S 2 x
1
= ! ||iw ! p||
a2 = W2a1
a1 = compet(n)
R´ eseau LVQ F IG . 7.10 – R ´
aussi que sa topologie plus ou moins compatible avec celle des donn eees ´ es engendre engendre certai certaines nes aberrations comme, par exemple, les neurones qui se sont positionn es e´ s dans l’espace des entr´ entrees, e´ es, entre les branches du cactus, a` des endroits ou` il n’existe aucun stimulus stimulus d’apprentissage. d’apprentissage. La topologie topologie fix´eeee a` priori des cartes de Kohonen constitue donc un handicap que nous tenterons de lever avec l’architecture pr´ present´ e´ sentee e´ e au chapitre suivant : le r´ r eseau e´ seau GNG.
7.4
Reseau e´ seau LVQ
En utilisant les principes de l’apprentissage comp´ competitif e´ titif on peut aussi construire un r eseau e´ seau 2 supervis´ee supervis e´ e nomm´ nommee e´ e LVQ . Ce r´ reseau e´ seau hybride est illustr´ illustre´ a` la figure 7.10. Sa premi ere e` re couche comp´etitive comp e´ titive permet de mod´ modeliser e´ liser l’espace des entr´ entr eees, ´ es, alors que la seconde lin lin´eaire e´ aire permet de prendre des d´ decisions. e´ cisions. Chaque neurone de la premi` premiere e` re couche est associ´ associe´ a priori a` une classe, reeunir ´ unir des fronti fronti`eeres ` res avec g´ gen´ e´ neralement e´ ralement plusieurs neurones par classe (S 1 >> S 2 ). Ceci permet de r´ de decision e´ cision convexes dans l’espace des entr ees. e´ es. Tout comme pour le Kohonen ou les nu´ nuees e´ es dynamiques, les neurones comp´ competitifs e´ titifs de la premi` premiere e` re couche apprennent a` positionner un vecteur prototype protot ype dans l’espace l’espace des entr´ees ees et celui-ci permet de classifier une r´egion egion de ce dernier, r´egion egion que l’on peut interpr´ interpreter e´ ter comme une sous-classe de la classe `a laquelle chaque neurone est associ e. e´ . 2 C’est la deuxi` deuxieme e` me couche de neurones qui prend les d d´ecisions e´ cisions grˆ graace ˆ ce aux poids wi,j de la 2 matrice W :
2 wi,j =
1
si le neurone neurone j est associ´ associe´ au neurone i (classe i) 0 autrement
(7.9)
La matrice W2 est donc fix´ fixee e´ e une fois pour toute avant m eme eˆ me de commencer l’apprentissage. Les neurones de la premi` premiere e` re couche sont g´ gen´ e´ neralement e´ ralement r´ repartis e´ partis uniform´ uniformement e´ ment entre les classes, a` 2
En anglais : « Linear Vector Quantization».
88
´ AU DE KOHON CHAP CHAPIT ITRE RE 7. RESE ESEA KOHONEN EN
moins que l’on dispose d’informations sur leur probabilit e´ a priori, auquel cas on pourra affecter plus de neurones neurones a` certaines classes et moins a` d’autres. L’apprentissage du r´ r eseau e´ seau LVQ consiste simplement a` positionner au mieux les prototypes en employant la r`egle egle de Kohonen. Lorsqu’un stimulus est correctement class´ classe´ par le r´ reseau, e´ seau, alors le vecteur de poids g w du neurone gagnant est rapproch´e de ce stimulus avec un taux d’apprentissage η . Autrement, c’est que le mauvais neurone a gagn´ gagne´ et il s’agit simplement d’ eloign´ e´ loigne´ son vecteur de poids du stimulus, au lieu de le rapprocher, avec le mˆ meeme ˆ me taux d’apprentissage, dans l’espoir qu’un autre neurone associ e´ a` la bonne classe puisse gagner la prochaine prochaine fois :
∆g w
η [ (t) − (t) = −η [ (t) − p
p
gw
(t)] si a2g = d g = 1
2 = dg = 0 g w(t)] si ag = 1
(7.10)
Cette approche comporte n´ neanmoins e´ anmoins une faille importante, d´ dependant e´ pendant de l’initialisation des neurones, lorsque pour atteindre une zone associ´ associeee ´ e a` sa classe, un neurone doit traverser une zone associ´eeee a` une autre classe. Parce Parce que le vecteur de poids d’un tel neurone sera repouss´e par les stimuli pr´ presents e´ sents dans cette r´ region e´ gion de transit, il risque fort, en pratique, de ne jamais pouvoir traverser cette zone, et ainsi de ne jamais jamais pouvoir servir a` classifier une r´egion egion associ´eeee a` la bonne classe. Pour contourner ce probl` probleme, e` me, une solution solution souvent souvent utilis´ utiliseee ´ e consiste dans ce cas a` non seulement ajuster le vecteur du neurone gagnant, en l’´ l’eloignant e´ loignant du stimulus, mais aussi a` choisir le neurone le plus proche qui classifie correctement le stimulus pour le rapprocher de celui-ci. De cette fac¸on, deux neurones sont ajust´ ajustes e´ s simultan´ simultanement e´ ment : le mauvais gagnant est eloign´ e´ loigne´ du stimulus et un eventuel e´ ventuel futur bon gagnant gagnant est rapproch´ rapproch´e de ce dernier.
Chapitre 8 Reseau e´ seau GNG Le r´eseau «Growing Neural Gas»1 (GNG) est un r´eseau eseau construc constructif tif qui ne pose a pri priori ori auc aucune une hypoth`ese hypoth e` se sur la topologie de l’espace des entr´ entr ees. e´ es. Un r´ reseau e´ seau minimal est init initialem ialement ent cr´ cre´ e´ et de nouveaux neurones ainsi que de nouvelles connexions entre les neurones sont ajout ees ´ s au fil de l’apprentissage non supervis´ supervise. e´ . La topologie du r´ reseau e´ seau est repr´ represent´ e´ sentee e´ e par un graphe G = [V ( (t), E (t)] o u` V ( (t) d esigne e´ signe l’en` chaque sommet est semble des sommets du graphe au temps t et E (t) l’ensemble de ses arˆetes. etes. A associ´e´ un neurone caract´ associ caracteris´ e´ rise´ par un vecteur de poids synaptiques i w ainsi qu’un signal d’erreur servira a` accumuler l’erreur de mod´ modeelisation ´ lisation attribuable au neurone i et guidera le ei . Ce dernier servira choix de l’emplacement o` ou` nous ajouterons p´ periodiquement e´ riodiquement de nouveaux sommets dans le graphe. Les arˆ aretes eˆ tes du graphe, liant deux sommets i et j , correspondent quant ` quant `a elles elles ` `a des connexions entre ` chaque connexion {i, j } est associ´ les neurones sous-jacents. A associe´ un ˆ un ˆage age ai,j . Une connexion jeune implique une vraisemblance ´ vraisemblance ´elev´ eleveee ´ e de la relation topologique, alors qu’au contraire, une connexion ´ e signifie ag´ aˆ geee signifie une vraisemblan vraisemblance ce faible faible de cette relation. relation. Lorsque l’ˆ l’age aˆ ge d’une connexion d´ depassera e´ passera un certain seuil, celle-ci pourra mourir et dispara disparaˆııtre tre du graphe. Comme nous le verrons plus loin, a` la fois les connexions et les neurones peuvent apparaˆıtre ıtre et disparaˆııtre tre du graphe tout au long du processus d’apprentissage. C’est pourquoi les ensembles V et E d d eependent ´ pendent tous les deux du temps.
8.1 8. 1
Algo Algori rith thme me
L’algorithme du GNG comprend un certain nombre de param` parametres e` tres essentiels. Tout d’abord, il y a τ qui d´ defini e´ fini la p´ peeriode ´ riode de temps entre les ajouts de neurone, c’est- a-dire a` -dire qu’` qu’a` toutes les τ it it´erations, e´ rations, nous ajouterons un neurone quelque part dans le graphe. L’apprentissage du GNG, tout comme celui du Kohonen (voir chapitre 7), est de type comp eetitif. ´ titif. Le neurone gagnant ainsi que ses voisins sont d´ deplac´ e´ places e´ s dans la direction d’un stimulus en proportion de sa distance et d’un certain taux d’apprentissage. Le GNG utilise deux taux distincts, un pour le neurone gagnant, reseau e´ seau de Kohonen, cependant, e´ diats, ηv . Contrairement au r´ ηg , et l’autre pour ses voisins imm ediats, 1
Bernd Fritzke, «A Growing Neural Gas Network Learns Topologies», publi´ publie´ dans Advances in Neural Information Processing Systems 7 , G. Tesauro, D.S. Touretzky et T.K. Leen (´editeurs), editeurs), MIT Press, Cambridge MA, 1995.
89
90
´ CHAPIT CHA PITRE RE 8. RESEAU GNG
´ ces taux demeurent fixes tout au long de l’apprentissage. Egalement, le voisinage est fix´ fixe´ a` 1, c’est-`a-dire c’esta` -dire que seuls les voisins imm´ immediats e´ diats du neurone gagnant se d d´eplacent. e´ placent. Les connexions entre les neurones ne peuvent d´epasser epasser un age aˆ ge maximum amax , sinon elle meurent et disparaissent. Finalement, on utilise aussi un param` parametre e` tre α pour contrˆ controler ˆ l’oubli des signaux d’erreur associ´ associ es e´ s aux neurones du r´eseau. eseau. Le rˆole ole pr´ecis ecis de chacun de ces param`etres etres est explicit´e dans les eetapes ´ tapes suivantes : 1. Initialisa Initialisation tion : V = {x, y } et E = {{x, y }} avec xw(0) et y w(0) initialis initialis´es e´ s al´ aleatoirement e´ atoirement avec de petits poids synaptiques dans l’espace des entr eees; ´ es; ex (0) = e y (0) = a x,y (0) = 0. 2. Fix Fixer er t max , τ , ηg , ηv , amax et α . 3. t = 1. 4. Rep´ e´ peter e´ ter tant que t ≤ t max : (a) Choisir Choisir al al´eatoirement e´ atoirement un stimulus p(t) parmi l’ensemble d’apprentissage. (b) D D´eterminer e´ terminer les deux neurones gagnants g1 et g2 les plus pr` pres e` s de p(t) :
g1 = arg min ||p(t) − i w(t)||
i∈V (t)
g2 = arg
min
i∈V (t)\{g1 }
(8.1)
||p(t) − i w(t)||
(8.2)
(c) Incr Incrementer e´ menter les ˆ les ˆaages ges de toutes les connexions adjacentes `a g1 :
∀{i, g1 } ∈ E : ai,g = ai,g + 1 1
1
(8.3)
(d) Incr Incrementer e´ menter l’erreur associ´ associee e´ e au premier gagnant :
eg = e g + ||p(t) − g w(t)|| 1
1
1
(8.4)
(e) D D´eplacer e´ placer les vecteur de poids synaptiques de g1 et de ses voisins imm´ immediats e´ diats dans la direction de p(t) :
∆g
1
w(t)
= ηg [p(t) − g w(t)]
1
∆v w(t) = ηv [p(t) − v w(t)], v ∈ Λg
(8.5)
1
(8.6)
(t) = 0 .
(8.7)
ou` Λg = { i ∈ V |i = g1 et{i, g1 } ∈ E (t)}. 1
(f) Si {g1 , g2 } ∈ E (t), alors ag
1
,g2
= 0 ; autrement :
E (t) = E (t) ∪ {{g1 , g2 }}, ag
1
,g2
(g) Retire Retirerr de E toutes les connexions pour lesquelles ai,j > amax ; retirer aussi tous les neurones qui se retrouveraient isol´ isoles e´ s (sans aucune connexion) suite a` la mort de connexions. (h (h)) Si t mod τ = 0, alors : i. D´eterminer eterminer le neurone q poss´ poss´edant edant l’erreur maximum :
q = = arg arg ma max x ei i∈V
(8.8)
8.2. EXEMP EXEMPLE LE
91
ii. D D´eterminer e´ terminer le neurone r , voisin de q , poss´ possedant e´ dant aussi l’erreur maximum :
r = arg arg ma max x ei i∈Λq
(8.9)
iii iii.. Ins´eerer rer un nouveau neurone x `a mi-chemin entre q et et r : xw
(t) =
qw
eq eq (t) + r w(t) , ex = , eq = 2 2 2
(8.10)
iv iv.. Rempla Remplacer cer la connex connexion ion {q, r} pa parr le less deux deux co conn nnex exio ions ns {q, x} et {x, r} avec aq,x = ax,r = 0 . (i) R R´eduire e´ duire les signaux d’erreur de tous les neurones :
ei = αe i , ∀i ∈ V ( (t )
(8.11)
(j) t = t + 1.
8.2 8. 2
Exemp xemple le
La figure 8.1 illustre la capacit e´ qu’` qu’a` le GNG GNG a` apprendre la topologie des donn´ donnees. e´ es. Pour cet exemple, les donn´ees ees d’apprentissage ont et´ e´ t´e g´en´ en´er´ er´ees ees a` partir de quatre distributions uniformes : la premi` premiere e` re dans un volume tridimensionnel en forme de prisme rectangulaire, la deuxi eme e` me sur une surface rectangulaire appos´ apposeee ´ e sur l’une des faces du prisme, la troisi troisi`eme e` me le long d’un segment de ` re le long d’un anneau au bout du segment de droite. La droite au bout de la surface et la derni` dernieere figure montre le graphe du r eseau e´ seau a` diff erents e´ rents instant durant l’apprentissage. Initialement (en haut a` gauche), on commence avec un r´ reseau e´ seau de deux neurones li´ lies e´ s par une seule connexion. Au fil des it´ iterations, e´ rations, des neurones sont ajout´ ajoutes e´ s dans le graphe aux endroits o u` l’erreur de mod´ modeelisation ´ lisation est ` maximum. A la fin, nous seulement seulement le r´ r eseau ` e´ seau `a appris ` appris `a mod´ modeliser e´ liser l’espace d’entr´ d’entree, e´ e, mais il a aussi reussi e´ ussi a` apprendre la topologie des diff erentes e´ rentes formes ´ formes ´echantillonn´ echantillonneees! ´ es!
92
´ CHAPIT CHA PITRE RE 8. RESEAU GNG
F IG . 8.1 – Exemple d’un GNG entraˆ en traˆın´ ıne´ sur des stimuli echantillonn´ ´ es dans un volume volume en forme de prisme rectangulaire, rectangulaire, sur une surface rectangulaire appos´ apposee ´ perpendiculairement ` a ` l’une des faces du prisme et a` une courbe en forme d’anneau d’anneau au bout d’une tige appos´ ee a` l’une des extr´ emit´ es de la surface.
Chapitre 9 Architectures ART Les architectures ART1 sont issues des travaux de Stephen Grossberg et Gail Carpenter. Elles sont bas´ basees e´ es sur une th´ theorie e´ orie d’inspirati d’inspiration on biolo biologique gique2 assez complexe sur laquelle nous n’insisterons pas. Elles se manifestent par diff ´ diff erentes e´ rentes implantations sp sp´eecifiques ´ cifiques dont celles nomm nomm´eees ´ es «
» «
» «
» «
» «
» «
»
ART1 , ART2 , ART3 , fuzzy ART , ARTmap , fuzzy ARTmap , etc. L’architecture ART13 poss poss`ede e` de la particularit´ particularite´ de n’accepter que des entr´ entrees e´ es binaires, alors que le ART24 accepte des entr´ entrees e´ es continues en incorporant aux m ecanismes e´ canismes du ART1 diff erentes e´ rentes op´ operations e´ rations complexes 5 de normalisation. Quant au ART3 , il d´ developpe e´ veloppe le ART2 davantage en lui ajoutant un nouveau mecanisme e´ canisme de r´ reinitialisation e´ initialisation biologiquement inspir´ inspire. e´ . Ces trois architectures utilisent toutes un processus d’apprentissage non supervis´ supervise. e´ . Dans ce chapitre, nous allons nous concentrer sur une quatri`eme eme architecture, egalement e´ galement non supervis´ee, ee, nomm´ee ee fuzzy ART6 , qui poss`ede ede la relative simplicit´e´ du ART1 tout en offrant la capacit e´ du ART2 simplicit ART2 a` traiter des entr´ entrees e´ es continues. Nous aborderons ensuite une des versions supervis´ superviseees ´ es des architectures ART : le fuzzy ARTmap qui permet non seulement un apprentissage supervis´ supervise, e´ , mais egalement e´ galement un apprentissage incr´emental incr e´ mental des connaissances, c’est-` c’est-a-dire a` -dire un apprentissage ou` tous les stimuli ne sont pas n ecese´ cessairement disponibles en tout temps. Ainsi, on peut par exemple apprendre avec un premier sous7
en ensem sembl blee de st stim imul uli, i, pu puis is mett mettre re ce de dern rnie ierr de co ot´ ˆ te´ et pour poursui suivr vree l’ap l’appr pren enti tissa ssage ge av avec ec un au autr tree soussousensemble sans que les connaissances acquises pr´ec´ ec´edemment edemment soient oubli´eees es par le r´eeseau. seau. Ceci n’est tout simplement pas possible avec d’autres architectures neuronales comme, par exemple, le 1
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
CHAPI CHAPITRE TRE 9. ARCHITECTU ARCHITECTURES RES ART ART
S x x2 2 R
W p Rx1
c
E
a1 2 Rx1
n1 x1 S x1 e t r e s
C
!
a2 x1 S x1
R 2 R
S
F IG . 9.1 – Architecture du r eseau ´ ´ fuzzy ART. perceptron multicouche qui, lors de la deuxi` deuxieme e` me phase d’entra d’entraˆˆınement, ınement, oubliera tr` tres e` s rapidement (en quelques p´ periodes) e´ riodes) tout ce qu’il a appris lors de la premi` premiere e` re phase. Pour permettre l’apprentissage incr´ incremental, e´ mental, le fuzzy ARTmap combine deux r´ r eseaux e´ seaux fuzzy ART gr grˆaace ` ˆ ce `a un carte associative («map» en anglais anglais ; d’o` d’ou` le nom «ARTmap»).
9.1 9. 1
Fuzz uzzy ART ART
Le fuzzy ART est un r´ reseau e´ seau comp´ competitif e´ titif a` deux couches de neurones tel qu’illustr e´ a` la fic ´ e E , sert a` coder les stimuli d’entr´ d’entree e´ e avec un encodage dit gure 9.1. La premi` premi ere e` re couche, not´ noteee «compl compl´ementaire e´ mentaire». La deuxi` deuxieme e` me couche est une couche comp´ competitive e´ titive semblable semblable a` celle du Kohonen. Cependant, tout comme les autres architectures ART, le fuzzy ART incorpore un m´ mecanisme e´ canisme de reetroaction ´ troaction permettant de stabiliser les prototypes appris dans les vecteurs de poids qui relient les deux couches. Ce m ecanisme e´ canisme dit de «resonance e´ sonance» est contrˆ control´ oˆ le´ par un param` parametre e` tre ρ qui permet de re-initialiser e´ -initialiser au besoin la couche comp´ competitive. e´ titive. Pour chaque stimulus d’entr d’entr´eee, ´ e, les sorties a 2 du r´eseau eseau sp´ecifient ecifient une cat´egorie egorie parmi S . Un peu comme le GNG, le fuzzy ART est un r eseau e´ seau constructif ou` de nouveaux neurones sont allou´ allouees e´ es au fil de l’apprentissage. G´ Gen´ e´ neeralement, ´ ralement, on fixe au d d´epart e´ part un nombre maximum de neurones S , ce qui fixe egalement e´ galement un nombre maximum de cat´ categories e´ gories de stimuli. Initialement, aucun neurone n’est actif, le premier stimulus d’apprentissage activera le neurone associ e´ a` la premi`ere ere cat´egorie. egorie. L’allocation subs´equente equente de nouvelles cat´egories egories d´ependra ependra a` la fois des stimuli et des param` parametres e` tres de l’algorithme. Les entr´ entrees e´ es d’un fuzzy ART doivent ˆ doivent ˆeetre tre des ensembles flous d d´efinis e´ finis sur un r´ ref e´ f erentiel e´ rentiel discret. Soit p la repr´ representation e´ sentation vectorielle d’un ensemble flou E defini e´ fini sur un r´ r ef e´ f erentiel e´ rentiel discre discrett R = {r1 , r2 , . . . , rR } :
E = {(r j , p j )|r j ∈ R et 0 ≤ p j ≤ 1}, j = 1, . . . , R
(9.1)
ou` 0 ≤ p j ≤ 1 repr repr´esente e´ sente le degr´ degre´ d’appartenance d’appartenance a` E de l’´ l’el´ e´ leement ´ ment r j du ref e´ f erentiel. e´ rentiel. Le vecteur T p = [ p eˆ tre interpr´et´ et´e comme un point dans un hypercube unitaire de R p1 p2 · · · pR ] peut ainsi etre dimensions, comme ` comme `a la figure 9.2 ou` R = R = 2. Pour pouvoir utiliser un fuzzy ART, il s’agit donc de transformer (normaliser) nos stimuli d’apprentissage de mani` maniere ` e` re `a les faire tous entrer entrer ` `a l’int´ l’interieur e´ rieur d’un hypercube unitaire, unitaire, pour en faire des ensembles flous.
9.1. FUZZY AR ART T
95
r2 1
E
p
0 0
1
r1
F IG . 9.2 – Repr esentation vectorielle d’un ensemble flou E d efini sur un r ef de deux ´´ ´ ´ ´ ´ erentiel ´ ´ el´ ´ ements. Le r´eseau eseau fuzzy ART d´eefinit finit trois param`etres etres α , η et ρ :
α > 0 0,, 0 < η ≤ 1, 0 < ρ
View more...
Comments