Trang 2
Table des mati`eres 1 Introduction 1 1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Mod`ele de neurone et r´eseau 5 2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Mod`ele d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Architecture de r´eseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Alg`ebre lin´eaire 17 3.1 D´efinition d’un espace vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 D´ependance lin´eaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.2 Bases et dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.3 Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.4 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.5 Orthogonalit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Transformations lin´eaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Repr´esentations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.2 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3 Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4 Processus d’apprentissage 27 4.1 Par correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Par la r`egle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Comp´etitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Probl`eme de l’affectation du cr´edit . . . . . . . . . . . . . . . . . . . . . . . . . . 33 i
Trang 3
ii TABLE DES MATI `ERES 4.5 Supervis´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.6 Par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.7 Non-supervis´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.8 Tˆaches d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5 Perceptron multicouche 39 5.1 Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.2 R`egle LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3 R´eseau multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.1 Probl`eme du «ou exclusif» . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.3.2 Approximation de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.3.3 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.4 R´etropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.4.1 Calcul des sensibilit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.4.2 Algorithme d’entraˆınement . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.4.3 Crit`eres d’arrˆet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.4.4 Ph´enom`ene de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.4.5 Groupage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.4.6 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.4.7 Taux d’apprentissage variable . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.8 Autres consid´erations pratiques . . . . . . . . . . . . . . . . . . . . . . . 60 5.5 M´ethode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.6 M´ethode du gradient conjugu´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.6.1 Algorithme du gradient conjugu´e . . . . . . . . . . . . . . . . . . . . . . 64 5.6.2 Recherche du minimum le long d’une droite . . . . . . . . . . . . . . . . . 65 6 Nu´ees dynamiques 69 6.1 K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.2 Fuzzy K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Possibilistic K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7 R´eseau de Kohonen 79 7.1 Algorithme de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.2 Propri´et´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 7.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.4 R´eseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Trang 4
TABLE DES MATI `ERES iii 8 R´eseau GNG 89 8.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 9 Architectures ART 93 9.1 Fuzzy ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2 Fuzzy ARTmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 10 ACP et apprentissage hebbien 103 10.1 R`egle de Hebb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.2 R`egle de Oja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.3 R`egle de Sanger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 10.4 Apprentissage de Hebb supervis´e . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.4.1 R`egle de la matrice pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . 109 10.4.2 Exemple d’auto-association . . . . . . . . . . . . . . . . . . . . . . . . . 110 11 R´eseau RBF 113 11.1 Entraˆınement d’un r´eseau RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Trang 6
Table des figures 2.1 Mod`ele d’un neurone artificiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Sch´ema d’un neurone biologique. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Repr´esentation matricielle du mod`ele d’un neurone artificiel. . . . . . . . . . . . . 10 2.4 Fonction de transfert : (a) du neurone «seuil»; (b) du neurone «lin´eaire», et (c) du neurone «sigmo¨ıde». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Couche de S neurones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Repr´esentation matricielle d’une couche de S neurones. . . . . . . . . . . . . . . 14 2.7 Repr´esentation matricielle d’un r´eseau de trois couches. . . . . . . . . . . . . . . 14 2.8 El´´ ement de retard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Diff´erents sous-ensembles de <2 : (a) r´egion rectangulaire ; (b) droite ; (c) plan. . . 18 3.2 Illustration de la m´ethode de transformation orthogonale Gram-Schmidt. . . . . . 22 3.3 Transformation de rotation : (a) rotation du vecteur x; (b) rotation des vecteurs de base v1 et v2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.1 Trajectoire de la descente du gradient. . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Repr´esentation graphique de la r`egle «instar» lors d’une activit´e post-synaptique positive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 Sch´ema bloc de l’apprentissage supervis´e. . . . . . . . . . . . . . . . . . . . . . . 34 5.1 Perceptron `a une seule couche avec fonction seuil. . . . . . . . . . . . . . . . . . . 40 5.2 Fronti`ere de d´ecision pour un perceptron simple `a 1 neurone et deux entr´ees. . . . 41 5.3 Exemple d’un probl`eme `a deux classes (points noirs vs points blancs). . . . . . . . 42 5.4 Exemples de probl`emes non lin´eairement s´eparables. . . . . . . . . . . . . . . . . 43 5.5 R´eseau ADALINE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.6 Trajectoire de la descente du gradient pour diff´erents taux d’apprentissage : (a) taux faible ; (b) taux moyen ; (c) taux (trop) ´elev´e. . . . . . . . . . . . . . . . . . . 47 5.7 R´eseau multicouche pour r´esoudre le probl`eme du «ou exclusif». . . . . . . . . . . 48 v
Trang 7
vi TABLE DES FIGURES 5.8 Fronti`eres de d´ecision engendr´ees par le r´eseau de la figure 5.7 : (a) neurone 1 de la couche 1 ; (b) neurone 2 de la couche 1 ; (c) neurone 1 de la couche 2. . . . . . . 49 5.9 Fronti`ere de d´ecision engendr´ee par le neurone qui effectue une conjonction. . . . 49 5.10 R´eseau multicouche permettant de faire de l’approximation de fonction. . . . . . . 50 5.11 Exemples de fronti`eres de d´ecision : (a) convexe ouverte ; (b) convexe ferm´ee ; (c) concave ouverte ; et (d) concave ferm´ee. . . . . . . . . . . . . . . . . . . . . . . . 50 5.12 Repr´esentation matricielle d’un r´eseau de trois couches (reproduction de la figure 2.7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.13 Illustration du ph´enom`ene de sur-apprentissage pour le cas simple d’une approxi- mation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.14 Illustration de la validation crois´ee. . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.15 Exemple d’un neurone satur´e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.16 Illustration de la m´ethode du gradient conjugu´e. . . . . . . . . . . . . . . . . . . . 65 5.17 Etape de localisation d’un intervalle initial de recherche.´ . . . . . . . . . . . . . . 66 5.18 Etape de r´´ eduction de l’intervalle de recherche : (a) cas o`u F < F ; (b) cas o`u c d Fd < Fc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.1 Couche comp´etitive de S = K neurones. . . . . . . . . . . . . . . . . . . . . . . . 70 6.2 Algorithme du «k-means». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3 Example d’une partition rigide en deux classes : (a) cas sans bruit ; (b) cas avec bruit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.4 Algorithme du «fuzzy k-means». . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.5 Exemple d’une partition floue `a deux classes. . . . . . . . . . . . . . . . . . . . . 74 6.6 Algorithme du «possibilistic k-means». . . . . . . . . . . . . . . . . . . . . . . . 77 7.1 R´eseau de Kohonen avec carte rectangulaire de S = 6 × 7 = 42 neurones. . . . . 80 7.2 Topologie de voisinage (quatre voisins) pour une carte `a deux dimensions : (a) Λ18 = 2; (b) Λ18 = 1; et (c) Λ18 = 0. . . . . . . . . . . . . . . . . . . . . . . . . 80 7.3 Exemple de d´ecroissance (a) du taux d’apprentissage et (b) de la fenˆetre de voisi- nage en fonction du temps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.4 Algorithme de Kohonen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 7.5 Fonction de voisinage gaussienne. . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7.6 Illustration de la relation entre la carte auto-organis´ee Φ et le vecteur gw du neurone gagnant pour le stimulus p. . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.7 Exemple d’une carte auto-organis´ee `a une dimension. Les stimuli d’apprentissage sont distribu´ees uniform´ement `a l’int´erieur d’un triangle. . . . . . . . . . . . . . . 85 7.8 Exemple d’une carte auto-organis´ee `a deux dimensions. Les stimuli d’apprentis- sage sont distribu´ees uniform´ement `a l’int´erieur d’un carr´e. . . . . . . . . . . . . 85
Trang 8
TABLE DES FIGURES vii 7.9 Exemple d’une carte auto-organis´ee `a deux dimensions (droite). Les stimuli d’ap- prentissage sont distribu´ees uniform´ement `a l’int´erieur d’un volume tridimension- nel en forme de cactus (gauche). . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 7.10 R´eseau LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.1 Exemple d’un GNG entraˆın´e sur des stimuli ´echantillonn´es dans un volume en forme de prisme rectangulaire, sur une surface rectangulaire appos´ee perpendicu- lairement `a l’une des faces du prisme et `a une courbe en forme d’anneau au bout d’une tige appos´ee `a l’une des extr´emit´es de la surface. . . . . . . . . . . . . . . . 92 9.1 Architecture du r´eseau fuzzy ART. . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2 Repr´esentation vectorielle d’un ensemble flou E d´efini sur un r´ef´erentiel de deux el´´ ements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.3 R´egions associ´ees `a w = [x yc]T (en trait plein) et `a a1 ∩ w (en trait pointill´e). . 97 i i 9.4 Architecture du r´eseau fuzzy ARTmap. . . . . . . . . . . . . . . . . . . . . . . . . 99 10.1 Illustration des composantes principales pour un nuage de points en deux dimen- sions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 10.2 R´eseau permettant d’effectuer une analyse en S composantes principales. . . . . . 107 10.3 R´eseau auto-associatif pour la reconnaissance de chiffres. . . . . . . . . . . . . . 110 10.4 Prototypes pour l’apprentissage auto-associatif des chiffres «0», «1» et «2». . . . 111 10.5 Exemples de r´eponses du r´eseau auto-associatif de la figure 10.3 pour des stimuli d´egrad´es ou bruit´es : (a) chiffres 0 ; (b) chiffres 1 ; et (c) chiffres 2. . . . . . . . . . 111 11.1 R´eseau RBF avec fonctions radiales gaussiennes. . . . . . . . . . . . . . . . . . . 114
Trang 10
Liste des tableaux 2.1 Fonctions de transfert a = f(n). . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1 Valeurs sugg´er´ees pour les param`etres du fuzzy ARTmap dans un contexte de clas- sement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.2 Valeurs sugg´er´ees pour les param`etres du fuzzy ARTmap dans un contexte d’ap- proximation de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 ix
Trang 11
Chapitre 1 Introduction Les r´eseaux de neurones, fabriqu´es de structures cellulaires artificielles, constituent une ap- proche permettant d’aborder sous des angles nouveaux les probl`emes de perception, de m´emoire, d’apprentissage et de raisonnement. Ils s’av`erent aussi des alternatives tr`es prometteuses pour contourner certaines des limitations des ordinateurs classiques. Grˆace `a leur traitement parall`ele de l’information et `a leurs m´ecanismes inspir´es des cellules nerveuses (neurones), ils inf`erent des propri´et´es ´emergentes permettant de solutionner des probl`emes jadis qualifi´es de complexes. Nous aborderons dans ce cours les principales architectures de r´eseaux de neurones que l’on retrouve dans la litt´erature. Il ne s’agit pas de les ´etudier toutes, car elles sont trop nombreuses, mais plutˆot d’en comprendre les m´ecanismes internes fondamentaux et de savoir comment et quand les utiliser. En ce sens, nous mettrons autant l’emphase sur l’analyse math´ematique de ces r´eseaux que sur la fac¸on de les utiliser dans la pratique pour r´esoudre des probl`emes concrets. Nous aborderons ´egalement certaines notions relatives aux ensembles flous et `a la logique dans la mesure o`u ces derniers sont incorpor´es dans certaines des architectures de r´eseaux de neurones que nous ´etudierons. Le reste de ce chapitre ´elabore davantage sur les objectifs poursuivis par ce cours, puis pr´esente un bref historique du domaine des r´eseaux de neurones avant de terminer par un survol de leurs diff´erentes applications. Le chapitre 2 introduit ensuite le mod`ele math´ematique du neurone arti- ficiel et ´etablit une notation coh´erente qui sera suivie tout au long des chapitres subs´equents. Le chapitre 3 effectue un certain nombre de rappels en alg`ebre lin´eaire, rappels qui seront forts utiles tout au long de cet ouvrage lorsque nous ´etudierons diff´erentes architectures de r´eseaux de neu- rones. Le chapitre 4 pr´esente quant `a lui la probl´ematique g´en´erale de l’apprentissage en d´ecrivant les principales r`egles pouvant ˆetre utilis´ees ainsi que les diff´erents types d’approche. Ainsi, nous aborderons les notions de correction d’erreur, d’apprentissage hebbien, comp´etitif, supervis´e, non- supervis´e et, finalement, d’apprentissage par renforcement. Par la suite, nous ´etudierons en d´etails diff´erentes architectures de r´eseau de neurones dont le perceptron multicouche, le r´eseau de Koho- nen, le «Growing Neural Gas» (GNG), certains membres de la famille des r´eseaux ART («Adap- tive Resonance Theory»), le «Radial Basis Function» (RBF) et le «Support Vector Machine» (SVM). Nous traiterons aussi de l’algorithme du «K-means» qui s’apparente au r´eseau de Koho- 1
Trang 12
2 CHAPITRE 1. INTRODUCTION nen, ainsi que de l’analyse en composantes principales (ACP) via un apprentissage hebbien. Ces notes de cours sont d´eriv´ees d’un certain nombre d’ouvrages dont les principaux sont enum´´ er´es en annexe. 1.1 Objectifs Le cerveau humain contient environ 100 milliards de neurones. Ces neurones vous permettent, entre autre, de lire ce texte tout en maintenant une respiration r´eguli`ere permettant d’oxyg´ener votre sang, en actionnant votre c ?ur qui assure une circulation efficace de ce sang pour nourrir vos cellules, etc. Ils vous permettent mˆeme, je l’esp`ere, de comprendre les id´ees que je tente de vous transmettre ! Chacun de ces neurones est par ailleurs fort complexe. Essentiellement, il s’agit de tissu vi- vant et de chimie. Les sp´ecialistes des neurones biologiques (ceux qui ?uvrent en neurophysiologie) commencent `a peine `a comprendre quelques uns de leurs m´ecanismes internes. On croit en g´en´eral que leurs diff´erentes fonctions neuronales, y compris celle de la m´emoire, sont stock´ees au niveau des connexions (synapses) entre les neurones. C’est ce genre de th´eorie1 qui a inspir´e la plupart des architectures de r´eseaux de neurones artificiels2 que nous aborderons dans ce cours. L’appren- tissage consiste alors soit `a ´etablir de nouvelles connexions, soit `a en modifier des existantes. Ceci nous am`ene `a poser une question fondamentale : en ce basant sur nos connaissances actuelles, peut-on construire des mod`eles approximatifs de neurones et les entraˆıner pour, ´eventuel- lement, r´ealiser des tˆaches utiles ? Eh bien, la r´eponse courte est «oui», mˆeme si les r´eseaux que nous allons d´evelopper ne poss`edent qu’une infime fraction de la puissance du cerveau humain, et c’est l’objectif du cours de vous montrer comment on peut y arriver sans salir son linge ! Pour ce qui est de la r´eponse longue (plus d´etaill´ee), elle suit dans les chapitres subs´equents. Mais avant d’y arriver, faisons un peu d’histoire... 1.2 Histoire De nombreux ouvrages ont permis de documenter l’histoire des recherches en r´eseaux de neurones. En particulier, le livre intitul´e «Neurocomputing : Foundations of Research» edit´´ e par John Anderson et Edward Rosenfeld est une compilation de 43 articles qui ont marqu´e le domaine sur le plan historique. Chacun d’entre eux est d’ailleurs pr´ec´ed´e d’une introduction qui permet de situer l’article dans son contexte. 1Des th´eories r´ecentes sugg`erent au contraire que l’information pourrait ˆetre stock´ee au niveau de la morphologie des connexions (des dendrites) ; mais ceci est totalement en dehors du cadre de ce cours (ainsi que du domaine de comp´etence du professeur !). 2Ce cours traitant exclusivement des r´eseaux de neurones artificiels (par opposition `a biologique), nous omettrons parfois d’ajouter le mot «artificiel» a la suite de` «neurone» et de «r´eseau de neurones», sachant qu’il est toujours sous-entendu, sauf lorsque mention explicite du contraire.
Trang 13
1.2. HISTOIRE 3 Deux ingr´edients sont `a la base de tout avancement des connaissances. Premi`erement, il im- porte de poss´eder un nouveau concept, ou un nouveau point de vue `a propos d’un sujet, qui vient jeter une lumi`ere l`a o`u il n’y avait qu’obscurit´e. Par exemple, consid´erons le c ?ur humain. `A diff´erentes ´epoques on le consid´erait comme le centre de l’ˆame ou encore comme une source de chaleur. Quelque part au 17e si`ecle, les m´edecins ont commenc´e `a le consid´erer comme une pompe et ont donc conc¸u des exp´eriences pour tenter de comprendre son fonctionnement, ce qui a ´eventuellement permis une compr´ehension du syst`eme sanguin, etc. Sans le concept de pompe, une compr´ehension du c ?ur et du syst`eme sanguin en g´en´eral ´etait simplement hors d’atteinte. Deuxi`emement, il importe aussi de poss´eder des outils technologiques permettant de construire des syst`emes concrets. Par exemple, on connaissait les th´eories physiques permettant d’envisager la conception d’une bombe atomique bien avant d’ˆetre capable de r´ealiser une telle bombe. On sa- vait aussi math´ematiquement reconstruire des images de radiographie en coupe (tomographie) bien avant de poss´eder les ordinateurs et les algorithmes capables d’effectuer efficacement les calculs requis dans un temps raisonnable. L’histoire des r´eseaux de neurones est donc tiss´ee `a travers des d´ecouvertes conceptuelles et des d´eveloppements technologiques survenus `a diverses ´epoques. Bri`evement, les premi`eres recherches remontent `a la fin du 19e et au d´ebut du 20e si`ecle. Ils consistent en de travaux multidisciplinaires en physique, en psychologie et en neurophysiologie par des scientifiques tels Hermann von Helmholtz, Ernst Mach et Ivan Pavlov. `A cette ´epoque, il s’agissait de th´eories plutˆot g´en´erales sans mod`ele math´ematique pr´ecis d’un neurone. On s’entend pour dire que la naissance du domaine des r´eseaux de neurones artificiels remonte aux ann´ees 1940 avec les travaux de Warren McCulloch et Walter Pitts qui ont montr´e qu’avec de tels r´eseaux, on pouvait, en principe, calculer n’importe quelle fonction arithm´etique ou logique. Vers la fin des ann´ees 1940, Donald Hebb3 a ensuite propos´e une th´eorie fondamentale pour l’apprentissage. Nous y reviendrons d’ailleurs `a plusieurs reprises dans les chapitres suivants. La premi`ere application concr`ete des r´eseaux de neurones artificiels est survenue vers la fin des ann´ees 1950 avec l’invention du r´eseau dit «perceptron» par un d´enomm´e Frank Rosenblatt. Rosenblatt et ses coll`egues ont construit un r´eseau et d´emontr´e ses habilit´es `a reconnaˆıtre des formes. Malheureusement, il a ´et´e d´emontr´e par la suite que ce perceptron simple ne pouvait r´esoudre qu’une classe limit´ee de probl`eme. Environ au mˆeme moment, Bernard Widrow et Ted Hoff ont propos´e un nouvel algorithme d’apprentissage pour entraˆıner un r´eseau adaptatif de neu- rones lin´eaires, dont la structure et les capacit´es sont similaires au perceptron. Nous les ´etudierons tous les deux au chapitre 5. Vers la fin des ann´ees 1960, un livre publi´e par Marvin Minsky et Seymour Papert est venu jeter beaucoup d’ombre sur le domaine des r´eseaux de neurones. Entre autres choses, ces deux auteurs ont d´emontr´e les limitations des r´eseaux d´evelopp´es par Rosenblatt et Widrow-Hoff. Beaucoup de gens ont ´et´e influenc´es par cette d´emonstration qu’ils ont g´en´eralement mal interpr´et´ee. Ils ont conclu `a tort que le domaine des r´eseaux de neurones ´etait un cul de sac et qu’il fallait cesser de s’y int´eresser (et de financer la recherche dans ce domaine), d’autant plus qu’on ne disposait pas `a l’´epoque d’ordinateurs suffisamment puissants pour effectuer des calculs complexes. 3Un canadien qui a pass´e la majorit´e de sa carri`ere acad´emique `a l’Universit´e McGill.
Trang 14
4 CHAPITRE 1. INTRODUCTION Heureusement, certains chercheurs ont pers´ev´er´e en d´eveloppant de nouvelles architectures et de nouveaux algorithmes plus puissants. En 1972, Teuvo Kohonen et James Anderson ont d´evelopp´e ind´ependamment et simultan´ement de nouveaux r´eseaux pouvant servir de m´emoires associatives (chapitre 7). ´Egalement, Stephen Grossberg a investigu´e ce qu’on appelle les r´eseaux auto-organis´es (chapitre 9). Dans les ann´ees 1980, une pierre d’achoppement a ´et´e lev´ee par l’invention de l’algorithme de r´etropropagation des erreurs (section 5.4). Cette algorithme est la r´eponse aux critiques de Minsky et Papert formul´ees `a la fin des ann´ees 1960. C’est ce nouveau d´eveloppement, g´en´eralement at- tribu´e `a David Rumelhart et James McClelland, mais aussi d´ecouvert plus ou moins en mˆeme temps par Paul Werbos et par Yann LeCun, qui a litt´eralement ressuscit´e le domaine des r´eseaux de neurones. Depuis ce temps, c’est un domaine o`u bouillonne constamment de nouvelles th´eories, de nouvelles structures et de nouveaux algorithmes. Dans ce cours, nous allons tenter d’en survoler les principaux. 1.3 Applications Les r´eseaux de neurones servent aujourd’hui `a toutes sortes d’applications dans divers do- maines. Par exemple, on a d´evelopp´e un auto-pilote pour avion, ou encore un syst`eme de gui- dage pour automobile, on a conc¸u des syst`emes de lecture automatique de ch`eques bancaires et d’adresses postales, on produit des syst`emes de traitement du signal pour diff´erentes applications militaires, un syst`eme pour la synth`ese de la parole, des r´eseaux sont aussi utilis´es pour bˆatir des syst`emes de vision par ordinateur, pour faire des pr´evisions sur les march´es mon´etaires, pour evaluer le risque financier ou en assurance, pour diff´´ erents processus manufacturiers, pour le diag- nostic m´edical, pour l’exploration p´etroli`ere ou gazi`ere, en robotique, en t´el´ecommunication, et j’en passe ! Bref, les r´eseaux de neurones ont aujourd’hui un impact consid´erable et, il y a fort `a parier, que leur importance ira grandissant dans le futur.
Trang 15
Chapitre 2 Mod`ele de neurone et r´eseau Dans ce chapitre, nous pr´esentons le mod`ele math´ematique que nous emploierons dans les cha- pitres suivants pour d´ecrire, d’une part, un neurone artificiel et, d’autre part, un r´eseau de neurones complet, c’est-`a-dire un ensemble de neurones reli´es en r´eseau. Le mod`ele que nous pr´esentons dans ce chapitre est celui de base, commun `a beaucoup d’architectures. Il n’est cependant pas uni- versel, nous pr´esenterons dans les chapitres subs´equents les diff´erentes variantes au fur et `a mesure qu’il sera n´ecessaire de le faire. 2.1 Notations Tout au long de cet ouvrage, nous tenterons d’adopter une notation math´ematique coh´erente. Les principales notations que nous adopterons sont ´enum´er´ees ci-dessous. Il n’est pas n´ecessaire de tout m´emoriser d’un seul coup, on pourra au besoin s’y rapporter plus tard. Concepts de base – Les scalaires seront d´esign´es par des lettres minuscules italiques : p. ex. a, b, c . . . – Un «vecteur» d´esigne une colonne de nombres. – Les vecteurs seront repr´esent´es par des minuscules grasses («bold») non italiques : p. ex. a, b, c. . . – Une «matrice» d´esigne un tableau de nombres ayant un certain nombre de lignes et de colonnes. – Les matrices seront d´enot´ees par des majuscules grasses («bold») non italiques : p. ex. A, B, C. . . – Un «vecteur-rang´ee» est une rang´ee d’une matrice utilis´ee comme un vecteur (donc une rang´ee transpos´ee). 5
Trang 16
6 CHAPITRE 2. MOD `ELE DE NEURONE ET R ´ESEAU Poids d’une couche de neurones – Wk(t) d´esigne la matrice des poids pour la couche k d’un r´eseau au temps t. – wk(t) d´esigne le vecteur correspondant `a la colonne j de Wk(t). j – wk(t) d´esigne le vecteur-rang´ee correspondant `a la ligne i de Wk(t). i – wk (t) d´esigne l’´el´ement (i, j) de Wk(t) (i d´esigne toujours une ligne et j une colonne). i,j Biais d’une couche de neurones – bk(t) d´esigne le vecteur des biais pour la couche k d’un r´eseau au temps t. – bk(t) d´esigne l’´el´ement i de bk(t). i Stimulus d’un r´eseau – p(t) d´esigne un vecteur stimulus pr´esent´e `a l’entr´ee d’un r´eseau au temps t. – pi(t) d´esigne l’´el´ement i de p(t). Niveaux d’activation d’une couche de neurones – nk(t) d´esigne le vecteur des niveaux d’activation pour la couche k d’un r´eseau au temps t. – nk(t) d´esigne l’´el´ement i de nk(t). i Sorties d’une couche de neurones – ak(t) d´esigne un vecteur des sorties pour la couche k d’un r´eseau au temps t. – ak(t) d´esigne l’´el´ement i de ak(t). i Cibles d’un r´eseau – d(t) d´esigne un vecteur cible pour les sorties d´esir´ees d’un r´eseau au temps t. – di(t) d´esigne l’´el´ement i de d(t). Base d’apprentissage – {(p1,d1),(p2,d2), . . . ,(pQ,dQ)} d´esigne un ensemble de Q associations stimulus/cible pour l’apprentissage supervis´e. Signaux d’erreur – e(t) = d(t) − a(t) d´esigne un vecteur mesurant l’erreur entre les sorties d´esir´ees (cible) et les sorties calcul´ees d’un r´eseau au temps t.
Trang 17
2.1. NOTATIONS 7 – ei(t) d´esigne l’´el´ement i de e(t). Dimensions – M d´esigne le nombre de couches d’un r´eseau. – Sk d´esigne le nombre de neurones sur la couche k d’un r´eseau. – Q d´esigne le nombre d’associations pour l’apprentissage. – R d´esigne la dimension des stimulus d’entr´ee. Fonctions de transfert d’une couche de neurones – fk(nk) = ak d´esigne le vecteur des sorties de la couche k, telles que calcul´ees par la fonction de transfert f appliqu´ee sur chacun des nk, i = 1, . . . , Sk. i – fk(nk) = ak d´esigne l’´el´ement i de fk(nk). i i – f˙(n) = ∂ f(n) d´esigne la d´eriv´ee partielle de f par rapport `a n. ∂n ˙ f(n1) 0 · · · 0 ˙ 0 f(n2) 0 0 – F˙ (n) = . .. .. . . .. . . . . 0 0 · · · f˙(n ) S Notations diverses – ||x|| d´esigne la norme du vecteur x. – F(x) d´esigne un indice de performance (une fonction) appliqu´e sur le vecteur x. – F̂ (x) d´esigne une approximation de F(x). [ ]T – ∇F(x) = ∂F ∂F · · · ∂F d´esigne le vecteur gradient de F(x). ∂x1 ∂x2 ∂xn ∂2 F ∂2 F · · · ∂2 F ∂x1∂x1 ∂x1∂x2 ∂x1∂xn ∂2 F ∂2 F · · · ∂2 F ∂x2∂x1 ∂x2∂x2 ∂x2∂xn – ∇2F(x) = d´esigne la matrice «hessienne» de F(x). .. .. . . . .. . . . ∂2 F ∂2 F · · · ∂2 F ∂xn∂x1 ∂xn∂x2 ∂xn∂xn – λi d´esigne une valeur propre d’une matrice. – zi d´esigne un vecteur propre.
Trang 18
8 CHAPITRE 2. MOD `ELE DE NEURONE ET R ´ESEAU R entrées Modèle du neurone p1 w1,1 p2 p ∑ n ƒ a 3 … … w1,R b pR -1 a = ƒ(wTp − b) FIG. 2.1 – Mod`ele d’un neurone artificiel. 2.2 Mod`ele d’un neurone Le mod`ele math´ematique d’un neurone artificiel est illustr´e `a la figure 2.1. Un neurone est es- sentiellement constitu´e d’un int´egrateur qui effectue la somme pond´er´ee de ses entr´ees. Le r´esultat n de cette somme est ensuite transform´ee par une fonction de transfert f qui produit la sortie a du neurone. En suivant les notations pr´esent´ees `a la section pr´ec´edente, les R entr´ees du neurones cor- respondent au vecteur p = [p p · · ·p ]T , alors que w = [w w · · ·w ]T repr´esente le vecteur 1 2 R 1,1 1,2 1,R des poids du neurone. La sortie n de l’int´egrateur est donn´ee par l’´equation suivante : ∑R n = w1,j pj − b (2.1) j=1 = w1,1 p1 + w1,2 p2 + · · · + w1,R pR − b, que l’on peut aussi ´ecrire sous forme matricielle : n = wT p − b. (2.2) Cette sortie correspond `a une somme pond´er´ee des poids et des entr´ees moins ce qu’on nomme le biais b du neurone. Le r´esultat n de la somme pond´er´ee s’appelle le niveau d’activation du neurone. Le biais b s’appelle aussi le seuil d’activation du neurone. Lorsque le niveau d’activation atteint ou d´epasse le seuil b, alors l’argument de f devient positif (ou nul). Sinon, il est n´egatif. On peut faire un parall`ele entre ce mod`ele math´ematique et certaines informations que l’on connait (ou que l’on croit connaˆıtre) `a propos du neurone biologique. Ce dernier poss`ede trois principales composantes : les dendrites, le corps cellulaire et l’axone (voir figure 2.2). Les den- drites forment un maillage de r´ecepteurs nerveux qui permettent d’acheminer vers le corps du neurone des signaux ´electriques en provenance d’autres neurones. Celui-ci agit comme un esp`ece d’int´egrateur en accumulant des charges ´electriques. Lorsque le neurone devient suffisamment ex- cit´e (lorsque la charge accumul´ee d´epasse un certain seuil), par un processus ´electrochimique,
Trang 19
2.2. MOD `ELE D’UN NEURONE 9 FIG. 2.2 – Sch´ema d’un neurone biologique. il engendre un potentiel ´electrique qui se propage `a travers son axone1 pour ´eventuellement ve- nir exciter d’autres neurones. Le point de contact entre l’axone d’un neurone et le dendrite d’un autre neurone s’appelle le synapse. Il semble que c’est l’arrangement spatial des neurones et de leur axone, ainsi que la qualit´e des connexions synaptiques individuelles qui d´etermine la fonc- tion2 pr´ecise d’un r´eseau de neurones biologique. C’est en se basant sur ces connaissances que le mod`ele math´ematique d´ecrit ci-dessus a ´et´e d´efini. Un poids d’un neurone artificiel repr´esente donc l’efficacit´e d’une connexion synaptique. Un poids n´egatif vient inhiber une entr´ee, alors qu’un poids positif vient l’accentuer. Il importe de retenir que ceci est une grossi`ere approximation d’un v´eritable synapse qui r´esulte en fait d’un pro- cessus chimique tr`es complexe et d´ependant de nombreux facteurs ext´erieurs encore mal connus. Il faut bien comprendre que notre neurone artificiel est un mod`ele pragmatique qui, comme nous le verrons plus loin, nous permettra d’accomplir des tˆaches int´eressantes. La vraisemblance bio- logique de ce mod`ele ne nous importe peu. Ce qui compte est le r´esultat que ce mod`ele nous permettra d’atteindre. Un autre facteur limitatif dans le mod`ele que nous nous sommes donn´es concerne son caract`ere discret. En effet, pour pouvoir simuler un r´eseau de neurones, nous allons rendre le temps discret dans nos ´equations. Autrement dit, nous allons supposer que tous les neurones sont synchrones, c’est-`a-dire qu’`a chaque temps t, ils vont simultan´ement calculer leur somme pond´er´ee et produire une sortie a(t) = f(n(t)). Dans les r´eseaux biologiques, tous les neurones sont en fait asynchrones. Revenons donc `a notre mod`ele tel que formul´e par l’´equation 2.2 et ajoutons la fonction d’ac- 1Un axone peut ˆetre plus ou moins long selon le type de neurone. 2Notez bien, cependant, que des th´eories r´ecentes remettent en cause cette hypoth`ese. Mais ceci sort du cadre du cours !
Trang 20
10 CHAPITRE 2. MOD `ELE DE NEURONE ET R ´ESEAU Entrée Modèle du neurone p W R x 1 1 x R + n ƒ a 1 x 1 1 x 1 -1 b R 1 x 1 1 a=ƒ(Wp-b) FIG. 2.3 – Repr´esentation matricielle du mod`ele d’un neurone artificiel. tivation f pour obtenir la sortie du neurone : a = f(n) = f(wT p − b). (2.3) En remplac¸ant wT par une matrice W = wT d’une seule ligne, on obtient une forme g´en´erale que nous adopterons tout au long de cet ouvrage : a = f(Wp − b). (2.4) L’´equation 2.4 nous am`ene `a introduire un sch´ema de notre mod`ele plus compact que celui de la figure 2.1. La figure 2.3 illustre celui-ci. On y repr´esente les R entr´ees comme un rectangle noir (le nombre d’entr´ees est indiqu´e sous le rectangle). De ce rectangle sort le vecteur p dont la dimension matricielle est R×1. Ce vecteur est multipli´e par une matrice W qui contient les poids (synaptiques) du neurones. Dans le cas d’un neurone simple, cette matrice poss`ede la dimension 1×R. Le r´esultat de la multiplication correspond au niveau d’activation qui est ensuite compar´e au seuil b (un scalaire) par soustraction. Finalement, la sortie du neurone est calcul´ee par la fonction d’activation f. La sortie d’un neurone est toujours un scalaire. 2.3 Fonctions de transfert Jusqu’`a pr´esent, nous n’avons pas sp´ecifi´e la nature de la fonction d’activation de notre mod`ele. Il se trouve que plusieurs possibilit´es existent. Diff´erentes fonctions de transfert pouvant ˆetre uti- lis´ees comme fonction d’activation du neurone sont ´enum´er´ees au tableau 2.1. Les trois les plus utilis´ees sont les fonctions «seuil» (en anglais «hard limit»), «lin´eaire» et «sigmo¨ıde». Comme son nom l’indique, la fonction seuil applique un seuil sur son entr´ee. Plus pr´ecis´ement, une entr´ee n´egative ne passe pas le seuil, la fonction retourne alors la valeur 0 (on peut interpr´eter ce 0 comme signifiant faux), alors qu’une entr´ee positive ou nulle d´epasse le seuil, et la fonction
Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!