chapitre5 - 38 Chapitre 5 Perceptron multicouche ´ Le...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 38 Chapitre 5 Perceptron multicouche ´ Le premier r´ seau de neurones que nous allons etudier s’appelle le «perceptron multicouche1 » e ` (PMC). Ce type de r´ seau est dans la famille g´ n´ rale des r´ seaux a «propagation vers l’avant2 », e ee e c’est-` -dire qu’en mode normal d’utilisation, l’information se propage dans un sens unique, des a entr´ es vers les sorties sans aucune r´ troaction. Son apprentissage est de type supervis´ , par core e e rection des erreurs (chapitre 4). Dans ce cas uniquement, le signal d’erreur est «r´ tropropag´ » vers e e ` les entr´ es pour mettre a jour les poids des neurones. e Le perceptron multicouche est un des r´ seaux de neurones les plus utilis´ s pour des probl` mes e e e d’approximation, de classification et de pr´ diction. Il est habituellement constitu´ de deux ou trois e e ´ couches de neurones totalement connect´ s. Avant d’en etudier le fonctionnement global, nous ale ` lons nous attarder a divers cas particuliers plus simples. En particulier, nous allons aborder le cas ` du perceptron simple, c’est-` -dire le perceptron a une seule couche de neurones dont les fonctions a d’activation sont de type seuils (section 2.3). Nous allons ensuite consid´ rer diff´ rentes r` gles d’ape e e 3 prentissage pour la correction des erreurs. Nous traiterons le cas de la r` gle LMS , de l’algorithme e de r´ tropropagation (en anglais «backpropagation»), de la m´ thode de Newton et de la m´ thode e e e du gradient conjugu´ . e 5.1 Perceptron simple ´ Le perceptron simple est illustr´ a la figure 5.1. En suivant la notation sch´ matique etablie au e` e chapitre 2, il s’agit d’une seule couche de S neurones totalement connect´ e sur un vecteur p de R e T entr´ es. La matrice W = [1 w 2 w · · · S w] de dimension S × R repr´ sente l’ensemble des poids de e e la couche, avec les vecteur-rang´ es i w (dimension R × 1) repr´ sentant les R poids des connexions e e reliant le neurone i avec ses entr´ es. Le vecteur b (dimension S × 1) d´ signe l’ensemble des S biais e e de la couche. Les niveaux d’activation n = Wp − b = [n1 n2 · · · nS ]T des neurones de la couche ` servent d’argument a la fonction d’activation qui applique un seuil au niveau 0 (section 2.3) pour 1 2 En anglais «multilayer perceptron» ou MLP. En anglais «feedforward networks». 3 En anglais «Least Mean Square». 39 40 Entrée CHAPITRE 5. PERCEPTRON MULTICOUCHE Couche de S neurones p Rx1 W SxR + n Sx1 a Sx1 -1 R b Sx1 S a = hardlims(Wp−b) F IG . 5.1 – Perceptron a une seule couche avec fonction seuil. ` produire le vecteur des sorties a = [a1 a2 · · · aS ]T , o` : u ai = +1 si ni ≥ 0 −1 autrement (5.1) ` Consid´ rons maintenant le cas non-trivial le plus simple, a savoir lorsque R = 2 et S = 1, c’est-` e a dire lorsque la couche n’est form´ e que d’un seul neurone reli´ a deux entr´ es. Dans ce cas, nous e e` e aurons p = [p1 p2 ]T , W = [1 w]T = [w1,1 w1,2 ], b = [b1 ] et a = [a1 ], o` : u a1 = +1 si w1,1 p1 + w1,2 p2 ≥ b1 −1 autrement (5.2) Cette derni` re equation nous indique clairement que la sortie du r´ seau (neurone) peut prendre e´ e seulement deux valeurs distinctes selon le niveau d’activation du neurone : −1 lorsque ce dernier ` est strictement inf´ rieur a 0 ; +1 dans le cas contraire. Il existe donc dans l’espace des entr´ es e e une fronti` re d´ limitant deux r´ gions correspondantes. Cette fronti` re est d´ finie par la condition e e e e e ` w1,1 p1 + w1,2 p2 = b1 de l’´ quation 5.2 qui correspond a l’expression g´ n´ rale d’une droite, telle e ee ´ qu’illustr´ e a la figure 5.2. Etant donn´ un certain vecteur de poids w = [w1,1 w1,2 ]T , il est ais´ de e` e e ˆ ` montrer que ce vecteur doit etre perpendiculaire a cette droite. En effet, pour tous les points p de T ` la droite, nous avons la relation w p = b, o` b = b1 . Or le terme wT p correspond a un produit u scalaire (section 3.1.3) et l’on sait que <x, y> = ||x|| ||y|| cos θ (´ quation 3.12), o` θ repr´ sente e u e l’angle entre les vecteurs x et y. Nous avons donc : <w, p> = ||w|| ||p|| cos θ = b (5.3) ` pour tous les points p qui appartiennent a la droite, et le produit scalaire doit rester constant. Mais s’il reste constant alors que la norme de p change, c’est parce que l’angle entre les vecteurs doit aussi changer. Soit p⊥ , le point de la droite dont le vecteur correspondant poss` de la plus petite e ` ` norme. Ce vecteur est perpendiculaire a la droite et sa norme correspond a la distance perpendiculaire entre la droite et l’origine. Maintenant, si sa norme est minimale, c’est que cos θ est maximal 5.1. PERCEPTRON SIMPLE 41 p2 n>0 n=0 w p1 n<0 F IG . 5.2 – Fronti` re de d´ cision pour un perceptron simple a 1 neurone et deux entr´ es. e e e ` et, par cons´ quent, que l’angle θ entre p⊥ et w est nul. Ainsi, w pointe dans la mˆ me direction que e e p⊥ et : b (5.4) ||p⊥ || = ||w|| ´ ` Nous pouvons egalement d´ duire que l’origine appartiendra a la r´ gion gris´ e (n > 0) si, et seulee e e ` ` ment si, b < 0. Autrement, comme a la figure 5.2, l’origine appartiendra a la r´ gion n < 0. Si e b = 0, alors la fronti` re de d´ cision passera par l’origine. e e Si l’on consid` re maintenant le cas o` S > 1, alors chaque neurone i poss´ dera son propre e u e vecteur de poids i w et son propre biais bi , et nous nous retrouverons avec S fronti` res de d´ cision e e distinctes. Toutes ces fronti` res de d´ cision seront lin´ aires. Elles permettront chacune de d´ couper e e e e l’espace d’entr´ e en deux r´ gions infinies, de part et d’autre d’une droite. Chaque neurone d’un e e perceptron simple permet donc de r´ soudre parfaitement un probl` me de classification (voir sece e ` ` tion 4.8) a deux classes, a condition que celles-ci soient lin´ airement s´ parables. Il ne reste plus e e qu’` trouver une r` gle d’apprentissage pour pouvoir d´ terminer les poids et les biais du r´ seau a e e e permettant de classer au mieux Q couples d’apprentissage : {(p1 , d1 ), (p2 , d2 ), . . . , (pQ , dQ )} (5.5) ` Pour fixer les id´ es, consid´ rons le probl` me particulier, illustr´ a la figure 5.3, consistant a e e e e` discriminer entre le point noir (p1 ) et les points blancs (p2 et p3 ) d´ finis par : e p1 = 1 2 , 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 ` la figure 5.3a. Pour simplifier davantage, l’une ou l’autre des fronti` res de d´ cision illustr´ es a e e e 42 p2 CHAPITRE 5. PERCEPTRON MULTICOUCHE p2 p2 w w p1 p2 w(t+1) w p1 p1 w(t) p1 (a) (b) (c) (d) F IG . 5.3 – Exemple d’un probl` me a deux classes (points noirs vs points blancs). e` nous supposons pour cet exemple que b = 0, de sorte que les fronti` res de d´ cision induites par e e w passent toutes par l’origine. Le probl` me, bien sˆ r, est que nous ne connaissons pas a priori la e u bonne orientation pour w. Nous allons donc l’initialiser al´ atoirement, par exemple w = [1 −1]T e (voir figure 5.3b). Consid´ rons le point p1 (point noir). La sortie du r´ seau pour ce point est donn´ e par : e e e a = hardlims(wT p1 ) = hardlims [1 −1] 1 2 = hardlims(−1) = −1 (5.7) ` Or, la sortie d´ sir´ e pour ce point est +1 (les zones grises a la figure 5.3 produisent une sortie +1). ee Le r´ seau n’a donc pas le comportement d´ sir´ , il faudra modifier le vecteur w. On peut remarquer e ee que dans le cas particulier de ce probl` me simplifi´ , la norme de w ne compte pas car le biais est e e nul, seule son orientation importe. Comment pourrions-nous modifier w pour que le r´ seau puisse classifier ad´ quatement le e e ` fixer w = p1 , tel qu’illustr´ a la figure 5.3c. De cette mani` re, ` point p1 ? Une solution consisterait a e e le point p1 serait parfaitement classer. Mais le probl` me avec cette approche est que la fronti` re e e ` de d´ cision bondirait d’un stimulus a l’autre au fil de l’apprentissage ce qui pourrait engendrer des e ` oscillations et empˆ cher la convergence dans certains cas. La solution consiste donc a prendre une e position interm´ diaire en approchant la direction de w de celle de p1 : e w(t + 1) = w(t) + p1 (5.8) tel qu’illustr´ a la figure 5.3d. Cette r` gle fonctionne bien pour la cat´ gorie de stimulus o` l’on e` e e u ´ d´ sire obtenir une sortie +1. Dans la situation inverse, il faut au contraire eloigner w de p1 . e d−a u D´ finissons un signal d’erreur e = 2 o` e ∈ {−1, 0, +1}. Alors, nous avons l’ensemble suie vant de r` gles : e p si e = +1 ∆w = 0 si e = 0 (5.9) −p si e = −1 ` o` ∆w = w(t + 1) − w(t) et p est le stimulus que l’on cherche a apprendre. Dans le cas o` b = 0, u u ` on peut aussi mettre a jour le biais en observant simplement que celui-ci n’est rien d’autre qu’un poids comme les autres, mais dont l’entr´ e est fix´ e a -1. Ainsi : e e` ∆b = −e (5.10) 5.1. PERCEPTRON SIMPLE 43 (a) (b) (c) F IG . 5.4 – Exemples de probl` mes non lin´ airement s´ parables. e e e Et dans le cas g´ n´ ral o` l’on dispose de S neurones, on peut r´ ecrire l’´ quation 5.9 sous forme ee u e´ e matricielle de la facon suivante : ¸ ∆W = epT ∆b = −e (5.11) (5.12) o` e = [e1 e2 · · · eS ]T = d − a est le vecteur des erreurs que l’on observe en sortie pour le stimulus u p. Malgr´ sa relative simplicit´ , la r` gle du perceptron s’av` re tr` s puissante. Vous pouvez facie e e e e lement exp´ rimenter avec cette r` gle grˆ ce a la «Neural Network toolbox» de Matlab, programme e e a` de d´ monstration nnd4pr. e Nous ne d´ montrerons pas ici qu’elle converge toujours vers une solution en un nombre fini e d’it´ rations, mais sachez qu’une telle preuve existe. Il importe cependant de connaˆtre les hye ı ` poth` ses sous-jacentes a cette preuve : e ˆ 1. Le probl` me doit etre lin´ airement s´ parable ; e e e ` 2. Les poids ne sont mis a jour que lorsqu’un stimulus d’entr´ e est class´ incorrectement ; e e 3. Il existe une borne sup´ rieure sur la norme des vecteurs de poids. e La premi` re hypoth` se va de soit car s’il n’existe aucune solution lin´ aire au probl` me, on ne peut e e e e ` pas s’attendre a ce qu’un r´ seau qui ne peut produire que des solutions lin´ aires puisse converger ! e e La deuxi` me hypoth` se est implicite dans l’´ quation 5.11. Lorsque le signal d’erreur e est nul, e e e ´ le changement de poids ∆W est egalement nul. La troisi` me hypoth` se est plus subtile mais e e ||w|| non limitative. Si l’on s’arrange pour conserver le ratio b constant, sans changer l’orientation de w pour un neurone donn´ , on ne change aucunement la fronti` re de d´ cision que ce neurone e e e engendre. Sans perte de g´ n´ ralit´ , on peut donc r´ duire la norme des poids lorsque celle-ci devient ee e e trop grande. ` Mais qu’entend-on par un probl` me a deux classes «lin´ airement s´ parables» ? Et bien sime e e plement un probl` me de classification dont la fronti` re de d´ cision permettant de s´ parer les deux e e e e ` classes peut s’exprimer sous la forme d’un hyperplan (plan dans un espace a n dimensions). Par exemple, les probl` mes de la figure 5.4 ne sont pas s´ parables en deux dimensions (par de simples e e droites). Des fronti` res possibles sont dessin´ es en pointill´ s. Elles sont toutes non lin´ aires. e e e e 44 CHAPITRE 5. PERCEPTRON MULTICOUCHE Entrée Couche de S neurones p Rx1 W SxR + n Sx1 a Sx1 -1 R b Sx1 S a = purelin(Wp−b) F IG . 5.5 – R´ seau ADALINE. e 5.2 R` gle LMS e ` A la section pr´ c´ dente, nous avons trait´ le cas du perceptron simple o` les neurones utilisent ee e u une fonction de transfert de type «seuil». Nous allons maintenant consid´ rer la mˆ me architecture e e ` ` de r´ seau a une seule couche mais avec cette fois-ci une fonction de transfert lin´ aire comme a e e ` la figure 5.5. Ce r´ seau s’appelle «ADALINE» (en anglais «ADAptive LInear NEuron») a cause e de sa fonction de transfert lin´ aire. Il souffre des mˆ mes limitations que le perceptron simple : il e e ne peut r´ soudre que des probl` mes lin´ airement s´ parables. Cependant, son algorithme d’apprene e e e tissage, la r` gle du «Least Mean Square», est beaucoup plus puissante que la r` gle du perceptron e e original, car bien que cette derni` re soit assur´ e de converger vers une solution, si celle-ci existe, e e le r´ seau r´ sultant est parfois sensible au bruit puisque la fronti` re de d´ cision se retrouve soue e e e vent trop proche des patrons d’apprentissage (l’algorithme s’arrˆ te d` s que tous les patrons sont e e biens class´ s). En revanche, la r` gle LMS minimise l’erreur quadratique moyenne, de sorte que la e e ` fronti` re de d´ cision a tendance a se retrouver aussi loin que possible des prototypes. e e En pratique, la r` gle du LMS a d´ bouch´ vers de nombreuses applications dont une des plus e e e fameuses est l’annulation de l’´ cho pour les communications t´ l´ phoniques. Lorsque que vous e ee ` faites un appel inter-urbain ou outre-mer, vous vous trouvez peut-ˆ tre, sans le savoir, a utiliser un e r´ seau ADALINE ! e ` Comme a la section 4.1 o` nous avons d´ velopp´ le concept d’un apprentissage par correction u e e ` des erreurs, et comme son nom l’indique, la r` gle LMS consiste a tenter de minimiser un indice e de performance F bas´ sur l’erreur quadratique moyenne. Poss´ dant un ensemble d’apprentissage e e de Q associations stimulus/cible {(pq , dq )}, q = 1, . . . , Q, o` pq repr´ sente un vecteur stimulus u e ` (entr´ es) et dq un vecteur cible (sorties d´ sir´ es), a chaque instant t, on peut propager vers l’avant e ee ` un stimulus diff´ rent p(t) a travers le r´ seau de la figure 5.5 pour obtenir un vecteur de sorties a(t). e e Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ seau produit en sortie pour ce stimulus e et la cible d(t) qui lui est associ´ e : e e(t) = d(t) − a(t). (5.13) ` 5.2. REGLE LMS 45 Sachant que tous les neurones d’une mˆ me couche sont ind´ pendants les uns des autres, et e e ´ pour simplifier les equations, nous allons d´ velopper la r` gle LMS pour S = 1, c’est-` -dire le cas e e a d’un seul neurone. Ensuite, nous pourrons facilement l’´ tendre au cas g´ n´ ral de S neurones. Nous e ee allons aussi regrouper tous les param` tres libres du neurone en un seul vecteur x : e x= w b . (5.14) De mˆ me, nous allons regrouper en un vecteur y le stimulus p et l’entr´ e virtuelle −1 associ´ e au e e e biais du neurone : p y= . (5.15) −1 Ce qui nous permettra d’´ crire la sortie a du neurone sous une forme simplifi´ e : e e a = wT p − b = xT y. (5.16) Nous allons donc travailler avec le signal d’erreur scalaire e(t) = d(t) − a(t) et construire notre indice de performance F en fonction du vecteur x des param` tres libres du neurone : e F (x) = E e2 (t) , (5.17) ´ o` E [·] d´ signe l’esp´ rance math´ matique. Le probl` me avec cette equation est que l’on ne peut pas u e e e e facilement calculer cette esp´ rance math´ matique puisqu’on ne connaˆt pas les lois de probabilit´ e e ı e de x. On pourrait faire la moyenne des erreurs pour les Q associations d’apprentissage mais ce ` serait long. Une id´ e plus int´ ressante, et plus performante en pratique, consiste simplement a e e estimer l’erreur quadratique moyenne par l’erreur quadratique instantan´ e pour chaque association e d’apprentissage : ˆ F (x) = e2 (t). (5.18) ` Alors, a chaque it´ ration de l’algorithme, on peut calculer le vecteur gradient de cet estim´ : e e ˆ F (x) = e2 (t), (5.19) ´e o` les R premiers el´ ments de e2 (t) correspondent aux d´ riv´ s partielles par rapport aux R poids u ee ´e ` ` du neurone, et le dernier el´ ment correspond a la d´ riv´ partielle par rapport a son biais. Ainsi : ee e2 (t) et : j = ∂e(t) ∂e2 (t) = 2e(t) , j = 1, . . . , R, ∂w1,j ∂w1,j = (5.20) ∂e2 (t) ∂e(t) = 2e(t) . R+1 ∂b ∂b ` Il s’agit maintenant de calculer les deux d´ riv´ s partielles de e(t) par rapport a w1,j : ee e2 (t) ∂e(t) ∂ [d(t) − a(t)] ∂ = = d(t) − (1 wT p(t) − b1 ) ∂w1,j ∂w1,j ∂w1,j ∂ d(t) − ∂w1,j = −pj (t), = R (5.21) w1,k pk (t) − b1 k=1 (5.22) 46 et b : CHAPITRE 5. PERCEPTRON MULTICOUCHE ∂e(t) = 1. ∂b ´e ´ Notez bien que les termes pj (t) et −1 sont les el´ ments de y, de sorte qu’on peut ecrire : ˆ F (x) = e2 (t) = −2e(t)y(t). (5.23) (5.24) Ce r´ sultat nous permet aussi d’appr´ cier la simplicit´ qu’engendre l’id´ e d’utiliser l’erreur instane e e e tan´ e plutˆ t que l’erreur moyenne. Pour calculer le gradient estim´ de notre indice de performance, e o e il suffit de multiplier l’erreur instantan´ e par le stimulus d’entr´ e ! e e L’´ quation 5.24 va nous permettre d’appliquer la m´ thode de la descente du gradient d´ crite e e e par l’´ quation 4.7 (voir section 4.1, page 28) pour modifier les param` tres du neurone dans le sens e e d’une diminution de F : ∆x(t) = x(t + 1) − x(t) = −η F (x) En substituant F (x) par ˆ F (x), on obtient : ∆x(t) = 2ηe(t)y(t), ´ ` ce qui equivaut a : ∆w(t) = 2ηe(t)p(t), ∆b(t) = −2ηe(t). (5.27) (5.28) (5.26) x=x(t) . (5.25) ´ ´ Les equations 5.27 et 5.28 d´ finissent la r` gle LMS de base. On la nomme egalement r` gle de e e e Widrow-Hoff, du nom de ses auteurs. Dans le cas d’une couche de S neurones, nous pourrons ` ´e mettre a jour chaque rang´ e i de la matrice de poids ainsi que chaque el´ ment i du vecteur de biais e ` ´ a l’aide des equations suivantes : ∆i w(t) = 2ηei (t)p(t), ∆bi (t) = −2ηei (t). Ce qui nous permet de r´ ecrire le tout sous la forme matricielle : e´ ∆W(t) = 2η e(t)pT (t), ∆b(t) = −2η e(t). (5.31) (5.32) (5.29) (5.30) Mˆ me si nous ne d´ montrerons pas ici la convergence de l’algorithme LMS, il importe de retee e nir que pour les indices de performance quadratiques (comme dans le cas ADALINE), la m´ thode e ` 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´ ress´ s a fixer η le plus e e` grand possible pour converger le plus rapidement possible (par de grands pas). Mais il existe un ` ´ seuil a partir duquel un trop grand η peut faire diverger l’algorithme. Le gradient etant toujours perpendiculaire aux lignes de contour de F (x), un petit η permettra de suivre ces lignes de contour vers le bas jusqu’` ce qu’on rencontre le minimum global. En voulant aller trop vite, l’algorithme a ´ 5.3. RESEAU MULTICOUCHE 47 (a) (b) (c) F IG . 5.6 – Trajectoire de la descente du gradient pour diff´ rents taux d’apprentissage : (a) taux e faible ; (b) taux moyen ; (c) taux (trop) elev´ . ´e ` peut sauter par dessus un contour et se mettre a osciller. Dans le cas quadratique, les lignes de ` contour ont une forme elliptique comme a la figure 5.6. Lorsque le taux est faible, la trajectoire est ´e continue mais peut converger lentement vers l’optimum. Avec un taux plus elev´ (moyen), les pas ` sont plus grands mais peuvent avoir tendance a osciller. On atteint normalement l’optimum plus ´e rapidement. Lorsque le taux est trop elev´ , l’algorithme peut diverger. On peut montrer que pour garantir la convergence de l’algorithme LMS avec le r´ seau ADAe 1 u LINE, il faut que 0 < η < λmax o` λmax est la plus grande valeur propre de la matrice E y yT . `e Pour initialiser l’algorithme, il s’agit simplement de fixer tous les poids et biais du r´ seau a z´ ro. e Puis, pour r´ aliser l’apprentissage, il suffit de lui pr´ senter toutes les associations stimulus/cible e e ` ` ` ´ disponibles, a tour de rˆ le, et de mettre les poids a jour a chaque fois en utilisant les equations 5.31 o ` ´ et 5.32. Une p´ riode d’entraˆnement correspond a appliquer ces equations une fois pour chaque e ı ˆ couple (pi , di ), i = 1, . . . , Q. Notez qu’il peut etre avantageux de permuter l’ordre de pr´ sentation e ` a chaque p´ riode. L’algorithme it` re ainsi jusqu’` un nombre maximum (fix´ a priori) de p´ riodes e e a e e ` ou encore jusqu’` ce que la somme des erreurs quadratiques en sortie soit inf´ rieure a un certain a e seuil. 5.3 R´ seau multicouche e ` Jusqu’` pr´ sent, nous n’avons trait´ que des r´ seaux a une seule couche de neurones. Nous ae e e avons aussi vu que ces r´ seaux ne pouvaient r´ soudre que des probl` mes de classification lin´ aie e e e rement s´ parables. Les r´ seaux multicouches permettent de lever cette limitation. On peut mˆ me e e e d´ montrer qu’avec un r´ seau de trois couches (deux couches cach´ es + une couche de sortie), e e e comme celui de la figure 2.7 (voir page 14), on peut construire des fronti` res de d´ cision de come e ` plexit´ quelconque, ouvertes ou ferm´ es, concaves ou convexes, a condition d’employer une fonce e tion de transfert non lin´ aire et de disposer de suffisamment de neurones sur les couches cach´ es. e e Un r´ seau multicouche n’est rien d’autre qu’un assemblage de couches concat´ n´ es les unes e ee 48 Entrées Couche de décision n11 CHAPITRE 5. PERCEPTRON MULTICOUCHE Conjonction a11 1 p1 2 -1 2 -1 ∑ 1 -1 1 n2 1 ∑ 1.5 n21 2 a21 p2 ∑ -1.5 -1 a12 -1 F IG . 5.7 – R´ seau multicouche pour r´ soudre le probl` me du «ou exclusif». e e e aux autres, de la gauche vers la droite, en prenant les sorties d’une couche et en les injectant comme ` les entr´ es de la couche suivante. A la section suivante, nous allons d´ velopper l’algorithme dit de e e «r´ tropropagation des erreurs» qui permet d’entraˆner un r´ seau multicouche. Mais pour l’instant e ı e ` nous allons tenter d’illustrer a quoi servent les couches suppl´ mentaires. Une chose que l’on peut e ` d´ j` remarquer est qu’il ne sert a rien d’assembler plusieurs couches ADALINE car la combinaison ea ` ´ de plusieurs couches lin´ aires peut toujours se ramener a une seule couche lin´ aire equivalente. e e ˆ C’est pourquoi, pour etre utile, un r´ seau multicouche doit toujours poss´ der des neurones avec e e fonctions de transfert non-lin´ aires sur ses couches cach´ es. Sur sa couche de sortie, selon le type e e d’application, il pourra comporter des neurones lin´ aires ou non-lin´ aires. e e 5.3.1 Probl` me du «ou exclusif» e ` A la figure 5.4a, nous avons illustr´ un probl` me de classification non s´ parable lin´ airement. e e e e Il s’agit du probl` me classique du «ou exclusif» (xor) que l’on ne peut pas r´ soudre ni avec un e e ˆ perceptron simple, ni avec un r´ seau ADALINE, car les points noirs ne peuvent pas etre s´ par´ s e ee ` des blancs a l’aide d’une seule fronti` re de d´ cision lin´ aire. Dans ce probl` me, les points noirs e e e e ˆ repr´ sentent le vrai (valeur 1) et les points blancs le faux (valeur 0). Le «ou exclusif», pour etre e vrai, exige qu’une seule de ses entr´ es soit vraie, sinon il est faux. On peut r´ soudre facilement ce e e ` ` probl` me a l’aide du r´ seau multicouche illustr´ a la figure 5.7. Ce r´ seau a deux couches utilise e e e` e des fonctions de transfert seuil. Sur la premi` re couche, chaque neurone engendre les fronti` res e e de d´ cision illustr´ es aux figures 5.8a et 5.8b. Les zones gris´ es repr´ sentent la r´ gion de l’espace e e e e e d’entr´ e du r´ seau pour laquelle le neurone correspondant produit une r´ ponse vrai. Le rˆ le du e e e o ` neurone sur la couche de sortie, illustr´ a la figure 5.8c, consiste a effectuer la conjonction des e` deux r´ gions produites par les neurones de la premi` re couche. Notez bien que les entr´ es de e e e la deuxi` me couche sont les sorties de la premi` re couche. La figure 5.8 repr´ sente toutes les e e e fronti` res de d´ cision dans l’espace des entr´ es. La fronti` re de d´ cision engendr´ e par le neurone e e e e e e ´ 5.3. RESEAU MULTICOUCHE p2 1 49 p2 p2 w1 p1 2 p1 w1 p1 (a) (b) (c) F IG . 5.8 – Fronti` res de d´ cision engendr´ es par le r´ seau de la figure 5.7 : (a) neurone 1 de la e e e e couche 1 ; (b) neurone 2 de la couche 1 ; (c) neurone 1 de la couche 2. a12 1 w2 a11 F IG . 5.9 – Fronti` re de d´ cision engendr´ e par le neurone qui effectue une conjonction. e e e de la couche de sortie est aussi illustr´ e dans son propre espace d’entr´ e a la figure 5.9. Il importe e e` de remarquer que la sortie des fonctions seuils employ´ es etant limit´ e aux valeurs {0, 1} (que l’on e´ e ´ interpr` te comme etant respectivement faux et vrai), seuls les coins du carr´ illustr´ a la figure sont e e e` pertinents. Pour r´ aliser une conjonction (un «et logique»), le neurone effectue donc la somme de e ` ` ses deux entr´ es et fixe un seuil a 1.5. Si la somme est inf´ rieur a 1.5, alors il produit vrai en sortie, e e sinon il produit faux. Dans ce cas, seul le coin sup´ rieur droite du carr´ produit vrai en sortie. e e ` Mentionnons finalement que le r´ seau de la figure 5.7 n’est pas le seul a pouvoir r´ soudre e e ce probl` me du «ou exclusif». D’autres combinaisons de poids et de biais pourraient produire le e mˆ me r´ sultat (pouvez-vous en trouver d’autres ?). e e 5.3.2 Approximation de fonction Pour faire de l’approximation de fonction (section 4.8), on peut montrer qu’un r´ seau mule ticouche comme celui de la figure 5.10, avec une seule couche cach´ e de neurones sigmo¨des et e ı une couche de sortie avec des neurones lin´ aires permet d’approximer n’importe quelle fonction e ` condition de disposer de suffisamment de neurones sur la d’int´ rˆ t avec une pr´ cision arbitraire, a ee e 50 Entrée Couche sigmoïde CHAPITRE 5. PERCEPTRON MULTICOUCHE Couche linéaire p Rx1 W1 S1 x R a1 + n1 S1 x 1 S x1 1 W2 S2 x S1 a2 + n2 S2 x 1 S x1 2 -1 R b1 S1 x 1 S1 -1 b2 S2 x 1 S2 a1 = logsig(W1p − b1) a2 = purelin(W2a1 − b2) F IG . 5.10 – R´ seau multicouche permettant de faire de l’approximation de fonction. e (a) (b) (c) (d) F IG . 5.11 – Exemples de fronti` res de d´ cision : (a) convexe ouverte ; (b) convexe ferm´ e ; (c) e e e concave ouverte ; et (d) concave ferm´ e. e ` couche cach´ e. Intuitivement, un peu a la facon des s´ ries de Fourier qui utilisent des sinus et coe ¸ e sinus, cette preuve passe par la d´ monstration que l’on peut approximer n’importe quelle fonction e d’int´ rˆ t par une combinaison lin´ aire de sigmo¨des. ee e ı 5.3.3 Classification ` ` Pour faire de la classification, on utilisera des r´ seaux soit a deux, soit a trois couches de neue ` rones sigmo¨des. On peut montrer qu’une seule couche cach´ e suffit a engendrer des fronti` res de ı e e 4 d´ cision convexes, ouvertes ou ferm´ es, de complexit´ arbitraire, alors que deux couches cach´ es e e e e permettent de cr´ er des fronti` res de d´ cision concaves5 ou convexes, ouvertes ou ferm´ es, de e e e e complexit´ arbitraire. La figure 5.11 montre en deux dimensions diff´ rents types de fronti` res de e e e `e d´ cision. Intuitivement, on veut voir que la premi` re couche cach´ e d’un tel r´ seau sert a d´ couper e e e e l’espace d’entr´ e a l’aide de fronti` res de d´ cision lin´ aires, comme on l’a vu pour le perceptron e` e e e ` simple, la deuxi` me couche sert a assembler des fronti` res de d´ cision non-lin´ aires6 convexes en e e e e Notez bien qu’une fronti` re de d´ cision n’est pas n´ cessairement une fonction ! e e e Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure, alors qu’une courbe concave implique un point d’inflexion. 6 Les non-lin´ arit´ s proviennent des sigmo¨des ! ee ı 5 4 ´ 5.4. RETROPROPAGATION DES ERREURS Entrée Couche 1 Couche 2 Couche 3 51 p Rx1 W1 S xR 1 a1 + n1 S1 x 1 S1 x 1 W2 S xS 2 1 a2 ƒ1 -1 S1 + n2 S2 x 1 S2 x 1 W3 S xS 3 2 a3 ƒ2 -1 S2 + n3 S3 x 1 S3 x 1 ƒ3 S3 -1 R b1 S1 x 1 b2 S2 x 1 b3 S3 x 1 a1 = ƒ1(W1p − b1) a2 = ƒ2(W2a1 − b2) a3 = ƒ3(W3a2 − b3) F IG . 5.12 – Repr´ sentation matricielle d’un r´ seau de trois couches (reproduction de la figure 2.7). e e s´ lectionnant ou en retranchant des r´ gions engendr´ es par la couche pr´ c´ dente et, de mˆ me, la e e e ee e couche de sortie permet d’assembler des fronti` res de d´ cision concaves en s´ lectionnant ou en e e e retranchant des r´ gions convexes engendr´ es par la couche pr´ c´ dente. e e ee ` Avant de passer a l’algorithme de r´ tropropagation qui nous permettra d’entraˆner un r´ seau e ı e multicouche, que nous nommerons dor´ navant perceptron multicouche ou PMC, mentionnons que e ce n’est pas par hasard que nous avons remplac´ la fonction de transfert seuil par la fonction e ` sigmo¨de, mais bien pour pouvoir proc´ der a un apprentissage automatique. Par exemple, mˆ me si ı e e ` nous avons pu construire a la main, avec la fonction seuil, le r´ seau de la figure 5.7 pour r´ soudre le e e ` ee probl` me du «ou exclusif», nous ne saurions pas comment apprendre automatiquement a g´ n´ rer e les bons poids et les bons biais de ce r´ seau. Le probl` me avec la fonction seuil est que sa d´ riv´ e e e ee est toujours nulle sauf en un point ou elle n’est mˆ me pas d´ finie ! On ne peut donc pas l’utiliser e e avec la m´ thode de la descente du gradient qui nous a si bien servi pour le r´ seau ADALINE. e e 5.4 R´ tropropagation des erreurs e ´ Pour d´ velopper les equations de l’algorithme de r´ tropropagation des erreur (en anglais e e ` «backpropagation»), nous aurons besoin de toute la puissance des notations introduites a la section ` 2.1 (voir page 5) et illustr´ es a la figure 2.7 que nous reproduisons a la figure 5.12. e` L’´ quation qui d´ crit les sorties d’une couche k dans un perceptron multicouche est donn´ e e e e par : ak = f k Wk ak−1 − bk , pour k = 1, . . . , M, (5.33) o` M est le nombre total de couches et a0 = p d´ finit le cas de base de cette formule de u e ` r´ currence. Les sorties du r´ seau correspondent alors a aM . L’algorithme de r´ tropropagation e e e est une g´ n´ ralisation de la r` gle LMS. Tous deux utilisent comme indice de performance l’eree e reur quadratique moyenne, et tous deux permettent un apprentissage de type supervis´ avec un e ensemble d’association stimulus/cible {(pq , dq )}, q = 1, . . . , Q, o` pq repr´ sente un vecteur stiu e ` chaque instant t, on peut propager vers mulus (entr´ es) et dq un vecteur cible (sorties d´ sir´ es). A e ee 52 CHAPITRE 5. PERCEPTRON MULTICOUCHE ` l’avant un stimulus diff´ rent p(t) a travers le r´ seau de la figure 5.12 pour obtenir un vecteur de e e M sorties a (t). Ceci nous permet de calculer l’erreur e(t) entre ce que le r´ seau produit en sortie e pour ce stimulus et la cible d(t) qui lui est associ´ e : e e(t) = d(t) − aM (t). L’indice de performance F permet de minimiser l’erreur quadratique moyenne : F (x) = E eT (t)e(t) (5.35) (5.34) o` E [.] d´ signe l’esp´ rance math´ matique et le vecteur x regroupe l’ensemble des poids et des u e e e biais du r´ seau. Tout comme pour la r` gle LMS, nous allons approximer cet indice par l’erreur e e instantan´ e : e ˆ F (x) = eT (t)e(t) (5.36) et nous allons utiliser la m´ thode de la descente du gradient pour optimiser x : e k ∆wi,j (t) = −η ∆bk (t) = −η i o` η d´ signe le taux d’apprentissage. u e ˆ ∂F k ∂wi,j ˆ ∂F ∂bk i (5.37) (5.38) ` La proc´ dure d’optimisation est donc tr` s semblable a celle de la r` gle LMS. Cependant, e e e ` il faut faire face a deux difficult´ s suppl´ mentaires. Premi` rement, les fonctions de transfert des e e e neurones ne sont plus n´ cessairement lin´ aires. Leur d´ riv´ partielle ne sera donc plus constante. e e ee Deuxi` mement, nous ne poss´ dons les sorties d´ sir´ es (les cibles) que pour les neurones de la e e ee couche de sortie. C’est surtout cette deuxi` me observation qui va nous poser probl` me. e e ˆ ` Pour calculer la d´ riv´ partielle de F , il faudra faire appel a la r` gle de chaˆnage des d´ riv´ s : ee e ı ee df [n] dn(w) df [n(w)] = × . dw dn dw Par exemple, si f [n] = en et n = 2w, donc f [w] = e2w , alors : df [n(w)] = dw den dn × d2w dw = (en )(2) = 2e2w . (5.40) (5.39) ´ Nous allons nous servir de cette r` gle pour calculer les d´ riv´ s partielles des equations 5.37 et e ee 5.38 : ˆ ∂F k ∂wi,j ˆ ∂F ∂bk i ˆ ∂F ∂nk i × , k ∂nk ∂wi,j i ˆ ∂F ∂nk i = × k. ∂nk ∂bi i = (5.41) (5.42) ´ 5.4. RETROPROPAGATION DES ERREURS 53 ´ ` Le deuxi` me terme de ces equations est facile a calculer car les niveaux d’activation nk de la e i couche k d´ pendent directement des poids et des biais sur cette couche : e S k−1 nk i Par cons´ quent : e = l=1 k wi,l ak−1 − bk . i l (5.43) ∂nk i = ak − 1 , j k ∂wi,j ∂nk i = −1. k ∂bi (5.44) ˆ ` On remarque que cette partie de la d´ riv´ e partielle de F par rapport a un poids (ou un biais) est ee ´ ` toujours egale a l’entr´ e de la connexion correspondante. e ´ Maintenant, pour le premier terme des equations 5.41 et 5.42, d´ finissons la sensibilit´ sk de e ei ˆ aux changements dans le niveau d’activation nk du neurone i de la couche k : F i sk ≡ i ˆ ∂F . ∂nk i (5.45) ´ On peut alors r´ ecrire les equations 5.41 et 5.42 de la facon suivante : e´ ¸ ˆ ∂F k ∂wi,j ˆ ∂F ∂bk i = s k ak − 1 , ij = −sk , i (5.46) (5.47) ´ et les expressions des equations 5.37 et 5.38 de la facon suivante : ¸ k k ∆wi,j (t) = −ηsk (t)aj −1 (t), i (5.48) (5.49) ∆bk (t) i ce qui donne en notation matricielle : = ηsk (t), i ∆Wk (t) = −η sk (t)(ak−1 )T (t), ∆bk (t) = η sk (t), avec : ˆ ∂F = sk ≡ ∂ nk ˆ ∂F ∂nk 1 ˆ ∂F ∂nk 2 (5.50) (5.51) . . . . ˆ ∂F ∂nk k S (5.52) ` ´ Par rapport a la r` gle LMS, il est int´ ressant de noter la ressemblance des equations ci-dessus avec e e ´ quations 5.31 et 5.32. On remarque que le terme 2e(t) est simplement remplac´ par sM (t). les e e 54 CHAPITRE 5. PERCEPTRON MULTICOUCHE 5.4.1 Calcul des sensibilit´ s e ` Il reste maintenant a calculer les sensibilit´ s sk , ce qui requerra une nouvelle application de la e r` gle de chaˆnage des d´ riv´ s. Dans ce cas, nous obtiendrons une formule de r´ currence o` la sensie ı ee e u bilit´ des couches en amont (entr´ es) d´ pendra de la sensibilit´ des couches en aval (sorties). C’est e e e e de l` que provient l’expression «r´ tropropagation», car le sens de propagation de l’information est a e ` invers´ par rapport a celui de l’´ quation 5.33. e e Pour d´ river la formule de r´ currence des sensibilit´ s, nous allons commencer par calculer la e e e matrice suivante : ∂nk+1 ∂nk+1 ∂nk+1 1 1 · · · ∂n1k k k ∂n ∂n 1 2 Sk ∂ nk+1 ∂ nk = ∂nk+1 2 ∂nk 1 ∂nk+1 2 ∂nk 2 ··· .. . ∂nk+1 2 ∂nk k S . . . ∂nk+1 k+1 S . . . ∂nk+1 k+1 S . . . ∂nk+1 k+1 S ∂nk 1 ∂nk 2 ··· . (5.53) ∂nk k S ´ ` Cette matrice enum` re toutes les sensibilit´ s des niveaux d’activation d’une couche par rapport a e e ´e ceux de la couche pr´ c´ dente. Consid´ rons chaque el´ ment (i, j ) de cette matrice : ee e k ∂nk+1 ∂ S k+1 k i k+1 ∂aj = wi,l al − bk+1 = wi,j i ∂nk ∂nk l=1 ∂nk j j j k+1 = wi,j k ∂f k (nk ) j k+1 = wi,j f˙k (nk ), j ∂nk j (5.54) avec : k k ˙k (nk ) = ∂f (nj ) . fj ∂nk j Par cons´ quent, la matrice de l’´ quation 5.53 peut s’´ crire de la facon suivante : e e e ¸ (5.55) ∂ nk+1 ˙ = Wk+1 Fk (nk ), ∂ nk o` : u k k ˙ F (n ) = (5.56) 0 0 . . . . f˙k (nk ) 1 0 . . . 0 f˙k (nk ) 2 . . . ··· 0 ... (5.57) 0 0 · · · f˙k (nk k ) S Ceci nous permet maintenant d’´ crire la relation de r´ currence pour les sensibilit´ s : e e e s k ˆ ∂F = = ∂ nk ˙ = F k nk ∂ nk+1 ∂ nk Wk+1 T ˆ ∂F ˙ = F k nk ∂ nk+1 Wk+1 T ˆ ∂F ∂ nk+1 (5.58) T sk+1 . ´ 5.4. RETROPROPAGATION DES ERREURS 55 ´ ` Cette equation nous permet de calculer s1 a partir de s2 , qui lui-mˆ me est calcul´ a partir de s3 , e e` M etc., jusqu’` s . Ainsi les sensibilit´ s sont r´ tropropag´ es de la couche de sortie jusqu’` la couche a e e e a d’entr´ e : e sM → sM −1 → · · · s2 → s1 . (5.59) ` Il ne nous reste plus qu’` trouver le cas de base, sM , permettant de mettre fin a la r´ currence : a e sM i M ˆ ∂ d − aM d − aM ∂ S ∂F = = (dl − aM )2 = l ∂nM ∂ nM ∂nM l=1 i i i T = −2 di − aM i = −2 di − aM i ´ En notation matricielle, on ecrit : ∂ aM i ∂nM i ˙M nM . f i (5.60) ˙ sM = −2FM nM d − aM . (5.61) 5.4.2 Algorithme d’entraˆnement ı ` Voici donc un r´ sum´ de la d´ marche a suivre pour entraˆner un perceptron multicouche : e e e ı ` 1. Initialiser tous les poids du r´ seau a de petites valeurs al´ atoires. e e 2. Pour chaque association (pq , dq ) dans la base d’apprentissage : ` (a) Propager les entr´ es pq vers l’avant a travers les couches du r´ seau : e e a0 = pq , a k (5.62) Wa k k −1 =f k −b k , pour k = 1, . . . , M. (5.63) (b) R´ tropropager les sensibilit´ s vers l’arri` re a travers les couches du r´ seau : e e e` e ˙ sM = −2FM nM ˙ sk = Fk nk ` (c) Mettre a jour les poids et biais : ∆Wk = −η sk ak−1 T dq − aM , T (5.64) (5.65) Wk+1 sk+1 , pour k = M − 1, . . . , 1. , pour k = 1, . . . , M, (5.66) (5.67) ∆bk = η sk , pour k = 1, . . . , M. 3. Si le crit` re d’arrˆ t est atteint, alors stop. e e 4. Sinon, permuter l’ordre de pr´ sentation des associations de la base d’apprentissage. e `e 5. Recommencer a l’´ tape 2. 56 CHAPITRE 5. PERCEPTRON MULTICOUCHE 5.4.3 Crit` res d’arrˆ t e e ˆ Plusieurs crit` res d’arrˆ ts peuvent etre utilis´ s avec l’algorithme de r´ tropropagation des ere e e e ` reurs. Le plus commun consiste a fixer un nombre maximum de p´ riodes d’entraˆnement, ce qui e ı fixe effectivement une limite sup´ rieure sur la dur´ e de l’apprentissage. Ce crit` re est important car e e e ` la r´ tropropagation des erreurs n’offre aucune garantie quant a la convergence de l’algorithme. Il e peut arriver, par exemple, que le processus d’optimisation reste pris dans un minimum local. Sans un tel crit` re, l’algorithme pourrait ne jamais se terminer. e ` Un deuxi` me crit` re commun consiste a fixer une borne inf´ rieure sur l’erreur quadratique e e e 7 moyenne, ou encore sur la racine carr´ e de cette erreur. D´ pendant de l’application, il est parfois e e ` possible de fixer a priori un objectif a atteindre. Lorsque l’indice de performance choisi diminue en dessous de cet objectif, on consid` re simplement que le PMC a suffisamment bien appris ses e donn´ es et on arrˆ te l’apprentissage. e e Les deux crit` res pr´ c´ dents sont utiles mais ils comportent aussi des limitations. Le crit` re e ee e relatif au nombre maximum de p´ riodes d’entraˆnement n’est aucunement li´ a la performance du e ı e` ` ` r´ seau. Le crit` re relatif a l’erreur minimale obtenue mesure quant a lui un indice de performance e e mais ce dernier peut engendrer un ph´ nom` ne dit de sur-apprentissage qui n’est pas d´ sirable dans e e e la pratique, surtout si l’on ne poss` de pas une grande quantit´ de donn´ es d’apprentissage, ou si e e e ces derni` res ne sont pas de bonne qualit´ . e e Un processus d’apprentissage par correction des erreurs, comme celui de la r´ tropropagation, e `e vise a r´ duire autant que possible l’erreur que commet le r´ seau. Mais cette erreur est mesur´ e e e sur un ensemble de donn´ es d’apprentissage. Si les donn´ es sont bonnes, c’est-` -dire quelles e e a repr´ sentent bien le processus physique sous-jacent que l’on tente d’apprendre ou de mod´ liser, e e et que l’algorithme a converg´ sur un optimum global, alors il devrait bien performer sur d’autres e donn´ es issues du mˆ me processus physique. Cependant, si les donn´ es d’apprentissage sont pare e e ´ tiellement corrompues par du bruit ou par des erreurs de mesure, alors il n’est pas evident que la performance optimale du r´ seau sera atteinte en minimisant l’erreur, lorsqu’on la testera sur un jeu e ` ` de donn´ es diff´ rent de celui qui a servi a l’entraˆnement. On parle alors de la capacit´ du r´ seau a e e ı e e g´ n´ raliser, c’est-` -dire de bien performer avec des donn´ es qu’il n’a jamais vu auparavant. ee a e Par exemple, la figure 5.13 illustre le probl` me du sur-apprentissage dans le contexte d’une e tˆ che d’approximation de fonction (voir section 4.8). La droite en pointill´ s montre une fonction a e lin´ aire que l’on voudrait approximer en ne connaissant que les points noirs. La courbe en trait e plein montre ce qu’un r´ seau hypoth´ tique pourrait apprendre. On constate que la courbe passe e e ´ par tous les points d’entraˆnement et donc que l’erreur est nulle. De toute evidence, ce r´ seau ne ı e ´ g´ n´ ralisera pas bien si l’on echantillonne d’autres points sur la droite ! ee ` ` Une solution a ce probl` me consiste a utiliser un autre crit` re d’arrˆ t bas´ sur une technique e e e e ` dite de validation crois´ e (en anglais «cross-validation»). Cette technique consiste a utiliser deux e 8 ensembles ind´ pendants de donn´ es pour entraˆner notre r´ seau : un pour l’apprentissage (l’ajustee e ı e ment des poids) et l’autre pour la validation, c’est-` -dire le calcul d’un indice de performance (une a 7 8 On parle alors de la racine de l’erreur quadratique moyenne. En anglais, on dit «Root Mean Square» ou RMS. ` En pratique cela consiste a partitionner les donn´ es disponibles en deux ensembles distincts. e ´ 5.4. RETROPROPAGATION DES ERREURS 57 F IG . 5.13 – Illustration du ph´ nom` ne de sur-apprentissage pour le cas simple d’une approximae e tion de fonction. erreur validation arrêt sur-apprentissage entraînement temps F IG . 5.14 – Illustration de la validation crois´ e. e ` erreur, un taux de reconnaissance ou tout autre mesure pertinente a l’application). Le crit` re d’arrˆ t e e ` consiste alors a stopper l’apprentissage lorsque l’indice de performance calcul´ sur les donn´ es de e e validation cesse de s’am´ liorer pendant plusieurs p´ riodes d’entraˆnement. La figure 5.14 illustre e e ı ` le crit` re de la validation crois´ e dans le cas d’un indice de performance que l’on cherche a mie e nimiser. La courbe en pointill´ s de ce graphique repr´ sente l’indice de performance d’un r´ seau e e e hypoth´ tique9 calcul´ sur les donn´ es d’apprentissage, alors que la courbe en trait plein montre le e e e mˆ me indice mais calcul´ sur les donn´ es de validation. On voit qu’il peut exister un moment au e e e ` cours de l’apprentissage o` l’indice en validation se d´ t´ riore alors que le mˆ me indice continue a u ee e s’am´ liorer pour les donn´ es d’entraˆnement. C’est alors le d´ but du «sur-apprentissage». e e ı e 9 Des courbes semblables s’observent couramment dans la pratique. 58 100 CHAPITRE 5. PERCEPTRON MULTICOUCHE 0.3 ∑ 100 0.4 -0.5 -1 n a F IG . 5.15 – Exemple d’un neurone satur´ . e 5.4.4 Ph´ nom` ne de saturation e e Une autre consid´ ration pratique dont on doit tenir compte lorsqu’on entraˆne un PMC concerne e ı ` le ph´ nom` ne de saturation des neurones o` , sous certaines conditions, les neurones peuvent a toute e e u fin pratique cesser d’apprendre tellement leur convergence devient lente. Consid´ rons par exemple e ` le r´ seau de la figure 5.15, constitu´ d’un seul neurone a deux entr´ es avec p1 = p2 = 100. Si l’on e e e calcule son niveau d’activation n, on obtient : n = 100 × 0.3 + 100 × 0.4 + 0.5 = 70.5 (5.68) On peut d´ j` remarquer que l’effet du biais est n´ gligeable devant celui des deux poids d’entr´ e, ea e e ` malgr´ le fait qu’ils soient tous les trois du mˆ me ordre de grandeur, a cause de l’amplitude des e e entr´ es. Si l’on calcule la sortie du neurone, on obtient : e 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´ . Le probl` me avec un e e tel neurone est qu’il ne peut presque plus apprendre car la d´ riv´ e de sa fonction d’activation est ee pratiquement nulle : d (−1) dn (1 + exp(−n)) da d 1 exp(−n) a= ˙ = = = 2 dn dn 1 + exp(−n) (1 + exp(−n)) (1 + exp(−n))2 exp(−n) 1 + exp(−n) − 1 = a× =a× 1 + exp(−n) 1 + exp(−n) = a(1 − a) (5.70) Avec a ≈ 1, on obtient : a ≈ 1 × (1 − 1) = 0 ˙ (5.71) Or, comme les variations de poids dans l’algorithme de r´ tropropagation des erreurs, d´ finies aux e e ´ ´ equations 5.66 et 5.67, d´ pendent lin´ airement des sensibilit´ s (voir equations 5.64 et 5.65) qui e e e elles-mˆ mes d´ pendent de la d´ riv´ e de la fonction d’activation, on voit imm´ diatement qu’elles e e ee e tendent vers z´ ro lorsque le neurone est satur´ et que la convergence, mˆ me si elle est toujours e e e possible, requerra beaucoup de p´ riodes d’apprentissage. e ´ 5.4. RETROPROPAGATION DES ERREURS 59 ` Par cons´ quent, a cause de ce ph´ nom` ne de saturation, il importe de normaliser les donn´ es e e e e ` a l’entr´ e d’un PMC, c’est-` -dire de les transformer de mani` re a eviter tout risque de saturation. e a e `´ Une autre facon de proc´ der est d’initialiser les poids sur la premi` re couche en choisissant un ¸ e e intervalle de valeurs al´ atoires ajust´ aux stimuli d’apprentissage. Par exemple, pour l’entr´ e j e e e ` d’un r´ seau a R entr´ es, on pourrait choisir l’intervalle suivant : e e 1 1 , j = 1, . . . , R, q, − maxq |pj | maxq |pq | j o` {q } d´ signe l’ensemble des stimuli d’apprentissage. u e `e Une autre alternative serait de fixer tous les poids a z´ ro. Bien que ceci r´ glerait certes le e probl` me de la saturation des neurones, ce n’est malheureusement pas une alternative viable. En e ` effet, il se trouve que l’origine de l’espace des poids correspond souvent a un lieu d’instabilit´ de e la fonction d’erreur du r´ seau. Et ceci peut facilement entraˆner la divergence de l’algorithme de e ı r´ tropropagation. e (5.72) 5.4.5 Groupage ` Au lieu de mettre a jour les poids pour chaque donn´ e d’entraˆnement, une alternative consiste e ı ` ` a accumuler les variations de poids sur une p´ riode d’apprentissage compl` te et de mettre a jour e e les poids en une seule fois avec la moyenne de ces variations. On parle alors d’apprentissage «hors-ligne» ou par groupage (en anglais «batching»). L’id´ e est la suivante : l’estimation du e gradient qu’engendre chaque donn´ e d’entraˆnement est peu pr´ cise, la moyenne de ces estimations e ı e ˆ devrait etre plus pr` s du gradient r´ el. En fait, si les donn´ es d’entraˆnement couvrent ad´ quatement e e e ı e l’espace des entr´ es, alors la moyenne de ces estimations sera exacte. e Mais le groupage n’est pas une panac´ e car cela peut aussi ralentir consid´ rablement la convere e gence, puisque les poids changent moins souvent. Autrement dit, si l’estimation du gradient bas´ e e `ˆ sur une seule donn´ e d’entraˆnement a tendance a etre bonne, alors on pourrait converger jusqu’` e ı a Q fois plus lentement si l’on proc` de par groupage. Par contre, lorsque cette estimation est plutˆ t e o `´ mauvaise, le groupage sert a eviter de partir dans une mauvaise direction qui, autrement, augmenterait nos chances de rester pris dans un minimum local inad´ quat. e 5.4.6 Momentum Une facon d’am´ liorer l’algorithme de r´ tropropagation est de rajouter un terme d’inertie dont ¸ e e le rˆ le est de filtrer les oscillations dans la trajectoire de la descente du gradient : o Wk (t) = α∆Wk (t − 1) − (1 − α)η sk ak−1 T , pour k = 1, . . . , M, (5.73) (5.74) ∆bk (t) = α∆bk (t − 1) + (1 − α)η sk , pour k = 1, . . . , M. ´ ´ o` 0 ≤ α < 1 s’appelle le momentum. Lorsque α = 0, les equations 5.73 et 5.74 sont equivalentes u ´ quations 5.66 et 5.67, respectivement. Lorsque α = 1, les ∆Wk (t) et ∆bk (t) ne d´ pendent aux e e 60 CHAPITRE 5. PERCEPTRON MULTICOUCHE ´ plus des equations de r´ tropropagation des erreurs, mais uniquement des ∆Wk (t−1) et ∆bk (t−1), e `e c’est-` -dire des changements de poids a l’´ tape pr´ c´ dente. a ee Le terme du momentum produit deux effets distincts selon la situation. Premi` rement, lorsque e ` ` ` la trajectoire du gradient a tendance a osciller (comme a la figure 5.6c), il contribue a la stabiliser en ralentissant les changements de direction. Par exemple, avec α = 0.8, cela correspond d’embl´ e a e` ajouter 80% du changement pr´ c´ dent au changement courant. Deuxi` mement, lorsque le gradient ee e ` courant pointe dans la mˆ me direction que le gradient pr´ c´ dent, le terme d’inertie contribue a e ee ` augmenter l’ampleur du pas dans cette direction et donc a acc´ l´ rer la convergence. ee 5.4.7 Taux d’apprentissage variable Une autre facon d’am´ liorer la vitesse de convergence pour la r´ tropropagation des erreurs ¸ e e serait de modifier le taux d’apprentissage dynamiquement tout au long de l’entraˆnement. Plusieurs ı ˆ approches peuvent etre consid´ r´ es. Par exemple, on peut adopter la strat´ gie suivante : ee e 1. Si l’erreur quadratique totale, calcul´ e pour toutes les associations de la base d’apprentise ` l’autre par plus d’un certain pourcentage β (typiquement de sage, augmente d’une p´ riode a e ` ` ` ` ˆ 1 a 5%) a la suite d’une mise a jour des poids, alors cette mise a jour doit etre abandonn´ e e ˆ et le taux d’apprentissage doit etre multipli´ par un facteur 0 < ρ < 1, et le momentum doit e ˆ etre fix´ a z´ ro ; e` e ` ` 2. Si l’erreur quadratique totale diminue a la suite d’une mise a jour des poids, alors celle-ci est conserv´ e et le taux d’apprentissage est multipli´ par un facteur γ > 1 ; si le momentum e e ´e e` e avait pr´ c´ demment et´ fix´ a z´ ro, alors on lui redonne sa valeur originale ; ee ` 3. Si l’erreur quadratique totale augmente par moins de β , alors la mise a jour des poids est ´e accept´ e et le taux d’apprentissage reste inchang´ ; Si le momentum avait pr´ c´ demment et´ e e ee fix´ a z´ ro, alors on lui redonne sa valeur originale ; e` e Cette approche suppose que l’apprentissage fonctionne par groupage, c’est-` -dire que les mises a ` a jour des poids sont accumul´ es sur l’ensemble des associations de la base d’apprentissage et e ` appliqu´ es une fois a la fin de chaque p´ riode (section 5.4.5). Dans certains cas cela peut acc´ l´ rer e e ee ` 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` tres10 (β , ρ et γ ) qu’il faut fixer a e ˆ priori. Pour un probl` me donn´ , certaines combinaisons de param` tres peuvent etre b´ n´ fiques et e e e ee d’autres non. Parfois, l’emploi d’une telle m´ thode peut mˆ me entraˆner une divergence rapide l` e e ı a o` la r´ tropropagation des erreurs avec momentum produisait une convergence lente. u e 5.4.8 Autres consid´ rations pratiques e ´ Nous enum´ rons ci-dessous d’autres consid´ rations pratiques pour l’entraˆnement du PMC. e e ı Selon les circonstances, celles-ci peuvent aussi avoir un effet appr´ ciable sur la performance de e l’algorithme de r´ tropropagation des erreurs. e L’approche d´ crite ici, propos´ e par Vogl et al. en 1988, est relativement simple parmi l’ensemble des variantes e e ´e qui ont et´ explor´ es dans la litt´ rature pour faire varier dynamiquement le taux d’apprentissage. e e 10 ´ 5.4. RETROPROPAGATION DES ERREURS 61 1. Lorsqu’on utilise une couche de sortie non-lin´ aire, c’est-` -dire une couche dont les neue a rones poss` dent des fonctions d’activation non lin´ aires telles que la sigmo¨de ou la tangente e e ı ` hyperbolique (voir section 2.3), il importe de ne pas chercher a saturer les neurones en fixant des sorties d´ sir´ es qui tendent vers l’assymptote de la fonction. Dans le cas de la sigmo¨de, ee ı ` ` par exemple, au lieu de fixer des sorties d´ sir´ es a 0 ou a 1, on peut les fixer a 0.05 et ee` ` 0.95. Ainsi, la r´ tropropagation des erreurs ne cherchera pas a entraˆner les poids dans une e ı direction qui pourrait rendre le neurone incapable de s’adapter. `ˆ 2. Les sensibilit´ s des neurones sur les derni` res couches ont tendance a etre plus grandes que e e ˆ sur les premi` res couches ; le taux d’apprentissage sur ces derni` res devrait donc etre plus e e grand que sur ces premi` res si l’on veut que les diff´ rentes couches apprennent approximae e tivement au mˆ me rythme. e ` 3. A chaque p´ riode d’entraˆnement, il importe de permuter l’ordre de pr´ sentation des stimuli e ı e pour r´ duire la probabilit´ qu’une s´ quence de donn´ es pathologique nous garde prisone e e e nier d’un pi` tre minimum local. En effet, la performance de la m´ thode de la descente du e e gradient peut d´ pendre grandement de cet ordre de pr´ sentation qui engendre des trajece e toires diff´ rentes dans l’espace des param` tres, et des trajectoires diff´ rentes peuvent nous e e e ` amener a des minimums locaux diff´ rents. Mˆ me s’il existe des s´ quences pathologiques, e e e le fait de permuter les donn´ es a chaque p´ riode nous garantit que l’on ne tombera pas e` e syst´ matiquement sur les mˆ mes. e e ` 4. Dans le contexte d’un probl` me de classification a n classes, on associe g´ n´ ralement un e ee ` neurone de sortie distinct a chacune d’elles (S M = n). Ainsi, on interpr´ tera chaque neurone e ` sur la couche de sortie comme indiquant si oui ou non le stimulus d’entr´ e appartient a la e classe correspondante. On construira les vecteurs d de sorties d´ sir´ es avec deux valeurs ee possibles pour chaque composante : une valeur pour le «oui» et une valeur pour le «non». Si l’on choisit la fonction d’activation logistique, on pourra coder le «oui» avec une valeur proche de 1 et le «non» avec une valeur proche de 0 (voir item 1 ci-dessus). En mode de reconnaissance, on pourra classer un stimulus inconnu dans la cat´ gorie associ´ e au neurone e e ayant produit la sortie maximale. 5. Dans le contexte d’un probl` me d’approximation de fonction, on choisit g´ n´ ralement des e ee ` neurones lin´ aires pour la couche de sortie. Autrement, cela force le r´ seau a apprendre e e l’inverse de la fonction d’activation utilis´ e, en plus de la fonction que l’on veut vraiment e qu’il apprenne. ` 6. Effectuer l’apprentissage d’un r´ seau quelconque revient a estimer les bonnes valeurs pour e chacun de ses poids. Pour pouvoir estimer les param` tres d’un syst` me quelconque poss´ dant e e e un certain nombre de degr´ s de libert´ (param` tres ind´ pendants), il est n´ cessaire de poss´ der e e e e e e ´ au moins un nombre equivalent de donn´ es. Mais dans la pratique il en faut bien plus ! Une e r` gle heuristique nous indique que pour pouvoir esp´ rer estimer correctement les n poids e e d’un r´ seau de neurones, 10n donn´ es d’entraˆnement sont requises. e e ı 7. La performance d’un r´ seau lorsqu’´ valu´ e avec ses donn´ es d’entraˆnement est presque e e e e ı toujours sur-estim´ e. Il faut bien comprendre que le r´ seau ne comporte aucune intellie e ` gence r´ elle. Il ne fait qu’apprendre les associations qu’on lui fournit. A la limite, il peut e les apprendre «par c ?ur». Nous avons discut´ a la section 5.4.3 du ph´ nom` ne de «sure` e e apprentissage». Nous avons vu qu’une proc´ dure de validation-crois´ e peut augmenter la e e 62 CHAPITRE 5. PERCEPTRON MULTICOUCHE ´ capacit´ de g´ n´ ralisation d’un r´ seau. Si l’on veut evaluer correctement la performance e ee e d’un r´ seau, il faut le faire avec des donn´ es qui n’ont aucunement servi au processus d’ape e prentissage, ni pour la r´ tropropagation des erreurs, ni pour la validation crois´ e. En pratique, e e ceci implique de diviser les donn´ es d’entraˆnement en trois sous-ensembles distincts : les e ı donn´ es d’entraˆnement, de validation et de test. La proportion relative de ces ensembles peut e ı ´ evidemment varier selon l’application, mais une bonne proportion se situe aux alentours de 50-20-30%, respectivement. 5.5 M´ thode de Newton e La m´ thode de Newton est une autre proc´ dure d’optimisation, parfois plus efficace que la e e descente du gradient. Alors que cette derni` re est bas´ e sur une approximation par la s´ rie de e e e Taylor de premier ordre (qui n’utilise que la d´ riv´ premi` re), la m´ thode de Newton est bas´ e sur ee e e e la s´ rie de Taylor de deuxi` me ordre, o` l’on tient compte non seulement de la d´ riv´ premi` re, e e u ee e mais aussi de la d´ riv´ seconde : ee 1 ˆ (5.75) F (x ) = F (x + ∆x) ≈ F (x) + F (x)T ∆x + ∆xT 2 F (x)∆x = F (x), 2 o` x est un point dans le voisinage de x, ∆x = x − x, F (x) est le vecteur gradient de F (x) et u 2 ` F (x) est la matrice hessienne de F (x). L’id´ e consiste a rechercher un plateau dans l’expression e ˆ ˆ ` `e quadratique de F (x). En d´ rivant l’expression de F (x) par rapport a ∆x et en fixant le tout a z´ ro, e on obtient : F (x) + 2 F (x)∆x = 0. (5.76) et : ∆x = − 2 F (x) −1 F (x) (5.77) La m´ thode de Newton propose donc d’explorer l’espace des param` tres libres dans la direction e e ˆ ∆x qui pointe vers un plateau de F (x), c’est-` -dire soit un maximum, soit un minimum. a ´ Cette m´ thode converge en une seule etape lorsque F est une fonction quadratique, puisqu’on e ´ approxime alors une fonction quadratique par une autre fonction quadratique equivalente. Lorsque ` F n’est pas quadratique, cette m´ thode converge g´ n´ ralement tr` s rapidement a condition d’avoir e ee e un bon point de d´ part (x n’est pas trop loin de l’optimum), car la plupart des fonctions analytiques e ` s’approximent bien avec une fonction quadratique a l’int´ rieur d’un petit voisinage autour d’un ope timum. Cependant, mˆ me dans ce cas, on ne saura pas si cet optimum est minimum ou maximum. e On ne saura pas non plus si l’optimum est local ou global. De plus, lorsqu’on s’´ loigne de ce voie sinage, la m´ thode de Newton peut donner des r´ sultats impr´ visibles. Finalement, cette m´ thode e e e e comporte aussi le gros d´ savantage de n´ cessiter le calcul et le stockage de la matrice hessienne, e e d’une part, et de son inverse, d’autre part. Dans le cas d’un perceptron multicouche comportant plusieurs centaines ou mˆ me plusieurs milliers de poids, cela s’av` re totalement impossible en e e 11 pratique . Il faut se rappeler que si le vecteur gradient croˆt lin´ airement avec le nombre de param` tres libres de la fonction, ı e e la taille (en nombre d’´ l´ ments) de la matrice hessienne, elle, croˆt avec le carr´ de ce nombre. De plus, le meilleur alee ı e ` gorithme connu pour l’inversion d’une matrice n × n poss` de une complexit´ O(n2.376 ). Quant a la m´ thode classique e e e 3 d’´ limination de Gauss, elle requiert un temps O(n ). e 11 ´ ´ 5.6. METHODE DU GRADIENT CONJUGUE 63 Nous avons pr´ sent´ dans cette section la m´ thode de Newton non pas pour l’utiliser avec e e e le perceptron multicouche, mais bien pour mettre en relief les m´ rites de la r´ tropropagation, et e e aussi pour faire le tour des diff´ rentes alternatives disponibles. Ceci nous am` ne a discuter d’un e e` compromis o` il ne sera pas n´ cessaire de calculer ni d’inverser la matrice hessienne. u e 5.6 M´ thode du gradient conjugu´ e e La m´ thode du gradient poss` de la plupart des avantages de la m´ thode de Newton mais sans e e e ` ` l’inconv´ nient d’avoir a calculer et a inverser la matrice hessienne. Elle est bas´ e sur le concept e e des vecteurs conjugu´ s, d’une part, ainsi que sur la recherche d’un minimum le long d’une droite, e d’autre part. ` Les vecteurs d’un ensemble {pk } sont mutuellement conjugu´ s par rapport a une matrice A e positive d´ finie (dont les valeurs propres sont toutes strictement positives) si, et seulement si, e pT Apj = 0, k = j. k (5.78) Comme pour les vecteurs orthogonaux, il existe une infinit´ d’ensembles de vecteurs conjugu´ s e e qui couvrent un espace vectoriel de dimension m. Un de ceux-l` est form´ des vecteurs propres a e de A, {z1 , z2 , . . . , zm }, associ´ s aux valeurs propres {λ1 , λ2 , . . . , λm }. Pour le montrer, il suffit de e remplacer les pk par des zk dans l’´ quation pr´ c´ dente : e ee zT Azj = zT λj zj = λj zT zj = 0, k = j, k k k (5.79) o` la derni` re egalit´ d´ coule du fait que les vecteurs propres d’une matrice positive d´ finie sont u e´ ee e ` toujours orthogonaux. Par cons´ quent, les vecteurs propres d’une telle matrice sont a la fois orthoe gonaux et conjugu´ s. Cependant, cette observation ne nous aide pas beaucoup si la matrice A en e ` ´ question correspond a la matrice hessienne 2 F que l’on veut eviter de calculer dans la m´ thode e ´ de Newton, notre objectif etant de trouver un algorithme efficace utilisant la d´ riv´ e seconde mais ee ˆ sans etre oblig´ de la calculer explicitement. e Pour une fonction F quadratique poss´ dant m param` tres libres, on peut montrer qu’il est e e toujours possible d’atteindre son minimum en effectuant tout au plus m recherches lin´ aires le long e de droites orient´ es dans des directions conjugu´ es {p1 , p2 , . . . , pm }. La question qui demeure est e e ` comment construire ces directions conjugu´ es sans faire r´ f´ rence a la matrice hessienne de F ? e ee L’expression g´ n´ rale d’une fonction quadratique est donn´ e par : ee e 1 F (x) = xT Ax + dT x + c 2 o` le gradient u F est donn´ par : e F (x) = Ax + d (5.81) (5.80) et la matrice hessienne par 2 F (x) = A. En posant gt ≡ F (x)|x=xt et en combinant ces ´ `e equations, on peut trouver le changement de gradient ∆gt a l’it´ ration t : ∆gt = gt+1 − gt = (Axt+1 + d) − (Axt + d) = A∆xt (5.82) 64 CHAPITRE 5. PERCEPTRON MULTICOUCHE o` la variation des param` tres libres ∆xt au temps t est donn´ e par : u e e ∆xt = xt+1 − xt = αt pt avec un αt choisi de mani` re a minimiser F (xt ) dans la direction de pt . e` On peut maintenant r´ ecrire la condition des vecteurs conjugu´ s de l’´ quation 5.78 de la e´ e e mani` re suivante : e T αt pT Apj = ∆xT Apj = ∆gt pj = 0, t = j. (5.84) t t ` On remarque imm´ diatement qu’en consid´ rant le changement de gradient a chaque it´ ration t e e e de l’algorithme, on peut faire disparaˆtre la matrice hessienne de l’´ quation qui d´ finit la condiı e e tion des vecteurs conjugu´ s. La direction de recherche pj sera alors conjugu´ e a condition d’ˆ tre e e` e ` orthogonale a la variation du gradient ! ` A chaque it´ ration t de l’algorithme des gradients conjugu´ s, il s’agit donc de construire une e e ` direction de recherche pt qui est orthogonale a {∆g0 , ∆g1 , . . . , ∆gt−1 } en utilisant une proc´ dure e ` ` semblable a la m´ thode de Gram-Schmidt (section 3.1.5, page 21), qui peut se simplifier a l’exe pression suivante : pt = −gt + βt pt−1 (5.85) o` les scalaires βt peuvent se calculer de trois mani` res equivalentes : u e´ βt = T ∆gT gt ∆gt−1 gt gT gt , βt = T t , βt = T t−1 T ∆gt−1 pt−1 gt−1 gt−1 gt−1 gt−1 (5.83) (5.86) 5.6.1 Algorithme du gradient conjugu´ e Pour entraˆner un r´ seau perceptron multicouche avec la m´ thode du gradient conjugu´ , il imı e e e ` porte tout d’abord de proc´ der par groupage. En effet, puisqu’on cherche a exploiter l’information e contenue dans la variation du gradient (une forme de d´ riv´ e seconde), il est primordial de calculer ee ` ` celle-ci a partir de gradients estim´ s avec un maximum de pr´ cision. Sinon, on se retrouverait a e e ` surtout exploiter du bruit qui entraˆnerait a coup sˆ r la divergence de l’algorithme. Ensuite, il s’agit ı u de remarquer que l’indice de performance d’un perceptron multicouche n’est pas une fonction qua` dratique, de sorte qu’on ne doit pas s’attendre a converger en m it´ rations comme ce serait le cas e ` pour une fonction quadratique. Ceci implique qu’il faudra r´ -initialiser la m´ thode a toutes les m e e ` ` it´ rations, a chaque fois que nous passerons a travers m directions12 conjugu´ es successives. Pour e e ce faire, nous pourrons simplement employer la m´ thode de descente du gradient. Voici donc les e ´ principales etapes de l’algorithme : 1. t = 0 ; 2. Choisir la prochaine direction conjugu´ e de recherche : e pt = 12 −gt + βt pt−1 si t mod m = 0 −gt si t mod m = 0 (5.87) Il y a aura autant de directions conjugu´ es qu’il y a de poids dans le r´ seau. e e ´ ´ 5.6. METHODE DU GRADIENT CONJUGUE -g1 x0 p1 p0 x1 65 F IG . 5.16 – Illustration de la m´ thode du gradient conjugu´ . e e avec gt ≡ `e F (x)|x=xt et βt est calcul´ comme a l’´ quation 5.86 : e βt = T ∆gT gt ∆gt−1 gt gT gt , βt = T t , βt = T t−1 T ∆gt−1 pt−1 gt−1 gt−1 gt−1 gt−1 (5.88) `e 3. Faire un pas comme a l’´ quation 5.83, en choisissant αt de mani` re a minimiser la fonction e` F dans la direction de recherche pt : xt+1 = xt + αt pt ; 4. t = t + 1 ; `e 5. Si le crit` re d’arrˆ t n’est pas atteint, alors recommencer a l’´ tape 2. e e ` Cet algorithme est illustr´ a la figure 5.16 dans le cas d’une fonction F quadratique a deux e` variables. Dans ce cas, on converge en deux it´ rations. La direction initiale p0 est choisie dans le e sens inverse du gradient. En faisant une recherche du minimum dans cette direction, on obtient un point x1 sur une autre courbe de niveau. Au lieu de recommencer dans la direction inverse du ` gradient, perpendiculaire a la courbe de niveau, on choisit plutˆ t une direction conjugu´ e p1 qui o e pointe alors dans la direction du minimum global, puisque F est quadratique et ne poss` de que e deux param` tres libres. e (5.89) 5.6.2 Recherche du minimum le long d’une droite Pour compl´ ter la description de la m´ thode du gradient conjugu´ , il ne nous reste plus qu’` e e e a r´ soudre le probl` me de la recherche du minimum d’une fonction le long d’une droite. Soit F (x0 ) e e ` la valeur initiale de la fonction a minimiser et p la direction dans laquelle on veut faire cette minimisation. Alors, on commence par calculer : Fi = F (x0 + 2i εp), i = 0, 1, . . . , I (5.90) ´e jusqu’` ce qu’on trouve un FI > FI −1 , avec ε repr´ sentant une distance el´ mentaire pour notre a e recherche d’un intervalle initial contenant le minimum. Ce dernier doit donc se trouver quelque 66 CHAPITRE 5. PERCEPTRON MULTICOUCHE 8e 4e 2e F0 F1 e F2 F3 x0 x1 x2 x3 x4 F4 ´ F IG . 5.17 – Etape de localisation d’un intervalle initial de recherche. ` part entre FI −2 et FI et l’intervalle de recherche est maintenant r´ duit a a1 = x0 + 2I −2 εp et b1 = e I x0 + 2 εp (voir figure 5.17). Pour r´ duire davantage cet intervalle, on peut appliquer l’algorithme e suivant appel´ «Golden Section search» : e 1. α = 0.618 ; 2. Calculer : c1 d1 Fc Fd = = = = a1 + (1 − α)(b1 − a1 ) b1 − (1 − α)(b1 − a1 ) F (c1 ) F (d1 ) 3. k = 1 ; 4. Si Fc < Fd , alors calculer (voir figure 5.18a) : ak+1 bk+1 ck+1 dk+1 Fd Fc = = = = = = ak dk ak+1 + (1 − α)(bk+1 − ak+1 ) ck Fc F (ck+1 ) Autrement calculer (voir figure 5.18b) : ak+1 bk+1 ck+1 dk+1 Fc Fd = = = = = = ck bk dk bk+1 − (1 − α)(bk+1 − ak+1 ) Fd F (dk+1 ) ´ ´ 5.6. METHODE DU GRADIENT CONJUGUE 67 intervalle intervalle a c d b a c d b (a) (b) ´ F IG . 5.18 – Etape de r´ duction de l’intervalle de recherche : (a) cas o` Fc < Fd ; (b) cas o` e u u Fd < Fc . 5. k = k + 1 ; `e 6. Si ||bk − ak || > τ , alors recommencer a l’´ tape 4. o` τ est un param` tre de tol´ rance sp´ cifiant la pr´ cision d´ sir´ e pour la recherche du minimum. u e e e e ee Notez bien que cet algorithme suppose qu’il n’existe qu’un seul minimum dans l’intervalle initial de recherche. ...
View Full Document

This note was uploaded on 10/10/2010 for the course GIF 7005 taught by Professor Gagne during the Spring '09 term at Université Laval.

Page1 / 29

chapitre5 - 38 Chapitre 5 Perceptron multicouche ´ Le...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online