5 - chap5-slides

5 - chap5-slides - Chapitre 5 Perceptron multicouche Marc...

Info iconThis preview shows page 1. Sign up to view the full content.

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

Unformatted text preview: Chapitre 5 Perceptron multicouche Marc Parizeau GIF-21410/64326 Réseaux de neurones Plan • Perceptron simple • Règle LMS / réseau ADALINE • Réseau multicouche • Rétropropagation des erreurs • Méthode de Newton • Méthode du gradient conjugué 2 GIF-21410/64326 Réseaux de neurones -1 R b Sx1 S – Fonctions de=transfert Wp!bf (n). a hardlims( a = ) Perceptron simple ` t le cas non-trivial le plus simple, a savoir lorsque R = 2 et S a = n neurone relie a deux entrees. Dansp ´ ´` ´ n’est formee que d’un seul G 3 ` = [1 w]T = [w1,1 w1,2 ], b = [b1 ] et a = IF-21410/64326: Réseaux de neurones [ a 1 ] , ou ´ de neurones Ico seuil. ˆ Relationad’entree/sortie fonctionne Nom 5.1 – P•ceptron ` une seule couche avec er 1 seule couche a = 0 si n < 0 Fonction d’activation de type seuil: • h T ` sorties a = [a1 a1· · · aS ] no≥ 0 a = 2 si , u : a = −1 +1 si n<≥00 si n i ai = h a = 1 −1 autrement si n ≥ 0 ´ on nous indique clairement que la sortie du reseau (ne Couch de S neu o ation rs distinctes Entrée le niveaue d’actirvnes du neurone : − selon ` ur a 0 ; +1 dans le cas contraire. Il existe donc dans p ´ ` ´ nt deux regions correspondantes. Cette frontiere est defi W Rx1 ´ ´´ xR n` a 1 de l’equation 5.2 quiS correspond a l’expression genera + Sx1 Sx1 ´ ´ 5.2. Etant donne un certain vecteur de poids w = [w1,1 -1 b ˆ ` r doit etre perpendiculaire a cette droite. En effet, pour 1 T T Rp = b, S x` b = b . Or S la relation w ou le terme w p corr 1 ´ ) et l’on sait que <x, y> h=rd||ms(Wpyb) cos θ (equation 3 x|| || ! || a = a li urs x et y. Nous avons donc : F I G . 5.1 – Perceptron a une seule couche avec fonction seuil. ` 1 2 S <w,ap> = · ||w]||, oup|| cos θ = b || : T ` uire le vecteur des sorties = [a a · · a 4 GIF-21410/64326 Réseaux de neurones + ` i = −1 si et le qui appartiennent a ala droite, ni ≥ 0 produit scalaire doit r 1 autrement rs que la norme de p change, c’est parce que l’angle en 5.1. PERCEPTRON SIMPLE Frontière de décision p2 n>0 n=0 41 w p1 n<0 F I G . 5.2 – Frontiere de decision pour un perceptron simple a 1 neurone et deux entrees. ` ´ ` ´ ´ 5 GIF-21410/64326 Réseaux de neurones ˆ ´ Le re en approchant la direction de modifier le vecteu termediaireseau n’a donc pas le comportement desire, il faudraw de celle d ´ ´´ Algorithme: 2 ` ´ que dans le cas particulier de ce probleme simplifie, la norme de w ne com nul, seule son orientation importe. w(t + 1) − w(t) et p est le stimulus que l’on cherche ssi mettre ∆wjourt le1)biais et p est le stimulus quesimplement qu `` ` ou a = w( + − w(t) en observant l’on cherche a apprendr Consid le peut (point noir). ` jour le biais ´ ´` e les´eronson point p mais dont l’entrene estpointsimplement que celui-ci n autres,aussi mettre aLa sortie du re´seau pour ce ant est e ae´e-1.: Ainsi : e observ fixe donn par 1 ´` ` tre a la figure 5.3d. Cette regle fonctionne bien pou nir une sortie +1. Dans la situation inverse, il fau ` ou e ∈ {−1, 0, +1}. A s un signal d’erreur e = p p p p w les : w(t) w(t + 1) = w(t) + p1 ´` ` p tel qu’illustre a la figure 5.3d. Cette regle fonctionnesi e pour +1 ego bien = la cat ´ ´ (a) desire obtenir une sortie +1. Dans la situation inverse, il faut au contra (b) (c) e= ∆w== au e 0 {−1,si, +1}. (d)0 nous d− ´ o` ∈ 0 Alors, Definissons un signal d’erreur e 2 F I G . 5.3 – Exemple d’un probleme a deux classes (points noirs vs points blancs). ` ` ` vant de regles : si e = −1 −p 1 ´ Comment pourrions-nous modifier PERCEPTRON le reTICOUCHE cla CHAPITRE 5. w pour que MULseau puisse ` ´` point p1 ? Une solution consisterait a fixer w = p1 , tel qu’illustre a la figure ` le point p1 serait parfaitement classer.pMais le probleme avec cette appro p2 p2 2 p2 ´ ` de decision bondirait d’un stimulus a l’autre w fil de l’apprentissage ce qu au ˆ oscillations et empecher la conv−gence dans certains cas. La solution cons d er a w(t+1) w ´ position intermediaire en approchant la direction de w de celle de p1 : 2 1 1 1 w(t + 1) = w(t) + p1 p si e = +1 ` ´ ous supposons pour cet exemple que b = 0, de sorte que les frontieres de decision induites par si e = 0 h toutes par l’origine. Le p ` ˆ passent ypothèse: b = 0robleme, bien sur, est ∆wnous ne connaissons pas a priori la que = 0 −p xemple w = ´ onne orientation pour w. Nous allons donc l’initialiser aleatoirement, par esi e = −1 [1 −1]T voir figure 5.3b). 6 GIF-21410/64326 Réseaux de neurones ´´ pose de S neurones, on peut reec Notation matricielle ∆W = ep ∆b = −e 7 T le vecteur des erreurs que l’on obs GIF-21410/64326 Réseaux de neurones RCEPTRON SIMPLE Limitations ? (a) (b) (c) F I G . 5.4 – Exemples de problemes non lineairement separables. ` ´ ´ ´´ ` ´´ ´ le cas general ou l’on dispose de S neurones, on peut reecrire l’equation 5.9 sous GIF-21410/64326 Réseaux de neurones 8 lle de la facon suivante : ¸ Réseau ADALINE • Perceptron simple (1 seule couche) • Fonction d’activation linéaire • Règle « Least Mean Square » (LMS) • Méthode du gradient (chap. 4) 9 GIF-21410/64326 Réseaux de neurones Entrée Couche de S neurones p Rx1 W SxR + n Sx1 a Sx1 -1 R b Sx1 S a = purelin(Wp!b) F I G . 5.5 – Reseau ADALINE. ´ ` egle LMS 10 GIF-21410/64326 Réseaux de neurones stimulus/cible {(pq , dqpourronsbf,acilementu ptendreeau cas u ´ eurone. Ensuite, nous )}, q = 1 . . . , Q, o `l’e q repr ´ sente g ´ ´` a ` ecteur cible (sorties desire etres chaque instant t, en un seul si regrouper tous les parames), wlibres du neuroneon peut pro ´ ons regrouper en un´ vecteur y figure 5.5 pour l’entre un vect x= . ` nt p(t) a travers le reseau de la le stimulus p etobtenire virtuel b ˆ ´w urones d’une meme couche sont independants les uns de e calculer l’erreur e(t) entre ce que le reseau. produit en sorti xLMS´pour S = 1, c’est-a `p ` ,lui est associede:velopper la regle = b nous allons´ e´ y= . ´ ns regrouper en un vecteur y le stimulus p et l’entree virtue ´ −1 ´´ ous pourrons facilement l’etendre au cas general de S neur nous allons regrouper )neurone enaun)seul vecteur xet l’ent un vecteur t ` la sortie dudu neurone (y une forme p : ´ es parametres libres e(ten= d(tp −sous .le stimulussimplifiee ) ´ ttra d’ecrire a urone : y= . −1 w T p − b = xT yp . y= . x =a = w . b ´ ´ ra d’ecrire la sortie a du neurone sous −1 forme simplifiee une travailler avec le signal d’erreur scalaire e(t) = d(t) − a(t) e ´ s permettra ecteur = wT p a du xTl’entrsous une forme a uper F en fonction ay laecteur− b =neuronetres virtuelle −1 s en un v d’ecrire lesortie x des parame ee libres du neur nce du v stimulus p et y. ` ´ a = wT p − b = xT y. availler avec le signal px) = E scalaire e(t) = d(t) − a(t) F (d’erreur e2 (t) , y = vecteur x des parametres libres du neu . ` ce F en fonction av −1 ns donc travailler duec le signal d’erreur scalaire e(t) = d(t espérance mathématique ´ ´ ` ´ sperance mathematique. Le probleme avec cette equation est qu erformanceaF en fonction du une forme simplifiee : ´ re la sortierance math(x) sous vpuisqu’on ne paramˆetres libre du neurone = E ecteur Gx des connaı`t de neurones ´ ´ r cette espe F ematique e2 (t) ,IF-21410/64326 Réseaux pas les 11 Cas d’un seul neurone p ´ soudre parfaitement = Eproblteme de c et donc de = un e2 ( ` , y re . F (x) ) −1 ` ´ ´ , a condition que celles-ci soient lineairement sepa sortie a du neurone sous une forme simplifi ´ ´ ` les igne l’esperance pour ´ matique. Le probleme a : poids ´ d’apprentissage mathepouvoir determiner ee vec cet ´ calculer couples´ d’apprentissage : mieux Qcette esperance mathematique puisqu’on ne T T Données d’apprentissage a = w p − b = x y. pourrait faire la moyenne des erreurs pour les Q ass {´d’erreurinteressante, . .=plus, dQa(t) et cons (p plus (p2 , d e t ´ . Une idee 1 , d1 ),scalaire2 ),(. )et, (p(t) performante en Q − )} le signal d rreur quadratique mo parametres libres quadratique ` tion du vecteur x des yenne par l’erreur du neurone :in ssage : erons le probleme particulier, illustre a la ` ´` , consid ´ 2 Fp x)et les points ,blancsF p )et p 2) t)efinis pa ( ) = E e (t) ---> ˆ (x = e ( d ´ . t noir ( ( 1 2 3 ´ ´aque iteration de l’algorithme, on quation est que l’on ` ´ matique. Le probleme avec cette e peut calculer le vec −1 0 , d = F (1 ) ı= p3 les , = ce+1 ,ematique puisqu’on2ne connaˆt pase2 (t)lois de math ´ p2 = ˆ −x , 2 −2 ne des erreurs pour les Q associations d’apprentissa 2 12 GIF-21410/64326 Réseaux de neurones age : ˆ F (x) = e2 (t), ˆ ´ ur quadratique moyenne par l’erreur quadratique instantanee pour chaque F (x) = e2 (t). ´´ emiers elements de e2 (t) correspondent aux derives partielles par rapport au ge : ´ ´ ´ que iteration de l’algorithme, on peut calculer le vecteur gradient de cet esti ˆ` ´´ ´) ` , et le dernier element correspondx)la de2 (te .partielle par rapport a son biais. F ( a = eriv ´ ˆ e2 (t), le vecteur gradient de cet es 2 F (x) = ∂ e(t) ∂ e on ´ ue iteration de l’algorithme,(t) peut calculer 2 = 2e(t) , j = 1, . . . , R, e (t) = j2 ´´ miers elements de e (t) ∂ w1,j (x) = ∂ w(tderives partielles par rapport au correspondent aux,j), ´ 21 ´ ˆF e ´´ ` ´´ ` et le dernier element correspond a la derive partielle par rapport a son biais. 2 e ∂ e2 (t) aux derivestpartielles par rapport ´´ ´t) ∂ ´ ( ) . iers elements de e e(t() )e2 (t) = 2 correspondent =) t ∂ e(t2e( ∂ R+1 2 b´ ∂ =` la(t e ´ , j =b , . . , R, e ´ ´ (t) = ` t le dernier elementj correspond a2e∂d) rive partielle1par .rapport a son bia ∂ w ,j´ ´ ∂ w1,j ` intenant de calculer les deux1derives partielles de e(t) par rapport a w1,j : 2 ∂ e(t) ∂ e (t) 2 = 2e ∂ j1 =− ∂ e(t) e (t) ∂j[d(t)∂ wa(t)] ∂ e2(t) ∂ w , ∂ e= )T, . . . , R, t 2 1,j 1( ) = = (t) = d,jt(t− (1(w . p(t) − b1 ) e (tw ∂ w1,j ∂ ) 1R+1 = ∂ b 1,j 2e ) ∂ b ∂w ,j ∂ ´ ´s e ` intenant de calculer les deux derive∂R2 (t) partielles de e(t) (t) rapport a w1,j : ∂ e par = w1,k= k2e) t) b1 . p (t ( − e2 (t) d(t) − = ∂ w1,j R+1 ∂∂ ∂ bT ∂ e(t) ∂ [d(t) − a(t)] k=1b = les deux ´ e partielles ) −e(t) par t) − b1 ) a w : d(t de (1 w p( rapport ` = (w ´ tenant∂ w calculer −pj∂t), deriv=s ∂ w de 1,j Descente du gradient 1,j 1,j 1,j ∂ e(t) ∂(t) − a(t)] R ∂ ∂ [d = d(t) − = 13 w1,k pd(t)G− b11 wT p(tRéseaux 1 ) neurones k (t) IF-21410/64326 ) − b de = −( ´ ´ ermettre d’appliquer la methode de la descente du gradient decrite ` 4.1, page 28) pour modifier les parametres ´du neurone dans le sens 24 va nous permettre d’appliquer la methode de la descente du ` (voir section 4.1, page 28) pour modifier les parametres du neu de F (t + 1) − x(t) = −η F (x) x=x(t) . ) = x: ˆ (5.25) ∆x(t) = x(t + 1) − x(t) = −η F (x) F (x), on obtient : x=x(t) . ) par ∆x(t) := x(t + 1) − x(t) = −η F (x) (x), on obtient ∆x(t) = 2η e(t)y(t), ∆x(t) = 2η e(t)y(t), x=x(t) . (5.26) ∆ ˆ t) x , on )y(t), (x) par x(F (= )2η e(tobtient : m de ses auteurs. Dans le cas d’une couche de S neur ´´ e la matrice de poids ainsi que chaque element i du vecteur de biais ´ ´´ ´ ´ ` 7: et 5.28 de la matrice de poids de base. chaque element srangee i definissent la regle LMSainsi que On la nomme eg 14 GIF-21410/64326 Réseaux de neurones ∆w(t) = 2η e(t)p(t), ´ finissent d ´ egle LMS la regle LMS de base. On r ` nomme r` ` et 5.28 la efinissent de base. On la nomme egalementlaegle de auteurs. Dans le cas ∆b(t) couche deηS(neurones, nous pourrons d’une = −2 e t). ∆w(t() ), = 2η e(t)p(t), ∆w(t) = 2η e(t)p t ∆b t)) ∆b(t) = −2η e((t. = −2η e(t). (5.27) (5.28) le tout sous la forme matricielle : ∆W(t) = 2η e(t)p (t), ∆b(t) = −2η e(t). Converge toujours pour les F(x) quadratiques ! 15 Forme matricielle T ∆bi (t) = −2η ei (t). rons pas ici la convergence de l’algori ormance quadratiques (comme dans l GIF-21410/64326 Réseaux de neurones F I G . 5.6 – Trajectoire de la descente du gradient po faible ; (b) taux moyen ; (c) taux (trop) eleve. ´´ ´ 5.3. RESEAU MULTICOUCHE Taux d’apprentissage 47 ` peut sauter par dessus un contour et se mettre a os ` contour ont une forme elliptique comme a la figure 5 continue mais peut converger lentement vers l’optim ` sont plus grands mais peuvent avoir tendance a osci (a) (b) ´ (c) ´ rapidement. Lorsque le taux est trop eleve, l’algorith F I G . 5.6 – Trajectoire de la descente du gradient pour differents taux d’apprentissage : (a) taux ´ faible ; (b) taux moyen ; (c) taux (trop) eleve. ´´ On peut montrer que pour garantir la convergenc ` peut sauter par dessus un contour et se mettre a osciller. Dans le cas quadratique, les lignes de 1 contour il f forme que 0 < figure 5.6. est LINE, ont uneaut elliptique comme a` laη < Lorsquexle tauxu λmax est est plus o ` faible, la trajectoire la ´´ continue mais peut converger lentement vers l’optimum.λma taux plus eleve (moyen), les pas Avec un sont initialiser l’algorithme,On atteint normalement l’optimum plus voir Pour plus grands maislepeuvent atrop e´tendance a` osciller.peutil vs’agit simplement de ´ rapidement. Lorsque taux est leve, l’algorithme di erger. Puis, On peut montrer´que pour garantir la convergence de l’algorithme LMS avec le re´fit ADA- lui pr pour realiser l’apprentissage, il suf seau de 16 GIF-21410/64326 Réseaux de neurones T 1 48 Entrées Couche de décision 1 CHAPITRE 5. PERCEPTRON MULTICOUCHE Conjonction 1 p1 2 -1 2 -1 ! 1 -1 n1 a1 1 1 n12 a12 ! 1.5 n1 2 2 a1 2 p2 ! -1.5 -1 -1 F I G . 5.7 – Reseau multicouche pour resoudre le probleme du «ou exclusif». ´ ´ ` aux autres, de la gauche vers la droite, en prenant les sorties d’une couche et en les injectant comme ` ´ ´ les entrees de la couche suivante. A la section suivante, nous allons developper l’algorithme dit de ´ ´ «retropropagation des erreurs» qui permet d’entraˆner un reseau multicouche. Mais pour l’instant ı 17 ` ´ GIF-21410/64326 Réseaux de neurones nous allons tenter d’illustrer a quoi servent les couches supplementaires. Une chose que l’on peut p2 1 p2 w1 p2 p1 2 p1 w1 p1 (a) (b) (c) F I G . 5.8 – Frontieres de decision engendrees par le reseau de la figure 5.7 : (a) neurone 1 de la ` ´ ´ ´ couche 1 ; (b) neurone 2 de la couche 1 ; (c) neurone 1 de la couche 2. a12 1 w2 a11 F I G . 5.9 – Frontiere de decision engendree par le neurone qui effectue une conjonction. ` ´ ´ ´ ´` de la couche de sortie est aussi illustree dans son propre espace d’entree a la figure 5.9. Il importe GIF-21410/64326 Réseaux de neurones 18 ´´ ´ de remarquer que la sortie des fonctions seuils employees etant limitee aux valeurs {0, 1} (que l’on Approximation de fonction Entrée Couche sigmoïde Couche linéaire CHAPITRE 5. PERCEPTRON MULTICOUCH p Rx1 W1 S xR 1 a1 + n1 S1 x 1 S x1 1 W2 S2 x S1 a2 + n2 S2 x 1 S2 x 1 -1 R b1 S1 x 1 S1 -1 b2 S2 x 1 S2 a1 = logsig(W1p ! b1) a2 = purelin(W2a1 ! b2) F I G . 5.10 – Reseau multicouche permettant de faire de l’approximation de fonction. ´ 19 GIF-21410/64326 Réseaux de neurones 50 Entrée ´ 5.4. RETROPROPAGATION DES ERREURS Couche sigmoïde Entrée Classement Couche linéaire CHAPITRE 5. PERCEPTRON MULTICOUCHE 51 p Rx1 1 Couche 1 W a1 p Rx1 S1 x R W 1 1 + ƒ1 S1 n1 S x1 S1 x 1 1 a1 S1 x 1 Couche 2 2 W S2 x S1 S xR -1 R +1 S b1 n1 1 W 2 2 1 -1 + ƒ2 n2 a S x1 S2 x 1 2 2 S2 x 1 Couche 3 a2 S xS S x 1x 1 S 1 + b2 n2 S2 x 1 S2 x 1 W 3 3 2 a3 S xS -1 R b 1 S1 x 1 -1 1 = logsig(W1p ! b1) a b 2 -1 S b S 3 2 + n3 S3 x 1 S3 x 1 ƒ3 S3 S2 x 1 a2 = pur2 lin(W2a1 ! 3 2) e b S x1 1 F I G . 5.10 – ReseauW1p ! b1) he permettant ƒ2(W2a1 ! b2) l’approximation 3(W3a2 ! b3) a´ = ƒ1( multicouc a2 = de faire de a3 = ƒ de fonction. F I G . 5.12 – Representation matricielle d’un reseau de trois couches (reproduction de la figure 2.7). ´ ´ ´ ´ ´ ´´ ˆ selectionnant ou en retranchant des regions engendrees par la couche precedente et, de meme, la ` ´ ´ couche de sortie permet d’assembler des frontieres de decision concaves en selectionnant ou en ´ ´ ´´ retranchant des regions convexes engendrees par la couche precedente. ` ´ ´ Avant de passer a l’algorithme de retropropagation qui nous permettra d’entraˆner un reseau ı ´ multicouche, que nous nommerons dorenavant perceptron multicouche ou PMC, mentionnons que ´ ce n’est pas par hasard que nous avons remplace la fonction de transfert seuil par la fonction ´ ˆ sigmo¨de, mais bien pour pouvoir proceder a un apprentissage automatique. Par exemple, meme si ı (a) (b) ` (c) (d) ` ´ ´ nous avons pu construire a la main, avec la fonction seuil, le reseau de la figure 5.7 pour resoudre le F I G . proble– Exemples de fr», nouses de decision comment apprendre automatiquement xegfermee ; (c) 5.11 ` me du «ou exclusif ontier ne saurions pas : (a) convexe ouverte ; (b) conve a enerer ` ´ ` ´´´ ´ ` ´´ les ouverte ; (d) concave de ce´ e concave bons poids et les bons biais fermere.seau. Le probleme avec la fonction seuil est que sa derivee ˆ ´ est toujours nulle sauf en un point ou elle n’est meme pas definie ! On ne peut donc pas l’utiliser ´ ´ avec la methode de la descente du gradient qui nous a si bien servi pour le reseau ADALINE. ´ ` ´ couche cachee. Intuitivement, un peu a la facon des series de Fourier qui utilisent des sinus et co¸ G n’importe quelle fonction ´ sinus, cette preuve passe par la demonstration que 20 peut approximer IF-21410/64326 Réseaux de neurones l’on ´ ` ´ l’avant un stimulus different p(t) a travers le reseau de la figure 5.1 per les equations de l’algorithme de retropropagation desqu sorties ´ M (t). Ceci nous permet de calculer´ l’erreur e(t) entre ce e a CHAPITREt) qui lui est associee :notations intro 5. la puissanceON MULTICOUCH PERCEPTR des »), nous aurons besoin de toute ´ pour ce stimulus et la cible d( M ´ met’indice de p(tl’erreur erst)permet ce de lale reseau produit en sort calculer ) a trav e( ` ´ lus different performance F leentre de minimiser l’erreur pour obten reseau que figure 5.12 quadratique L de ´ (t) nous k ´ eci qui lui est associee : k−1 l’erreur e(t) entre ce que le reseau p permet de ´ k calculer k k a df W − b ´ F (x) = E e ) , M et la cible =(t) qui luiaest associee,: pour k = 1,T.(.t. e(t) , e(t)de d(t) − aM (t). = (5.3 plusieurs couches breu total dde couches(t) = 0d(= e− ade(t)et le vecteur x base de fonctions non-linéaires ´ ´ o ` E [.] esigne l’esperance math ´ matique . le cas de regroupe e et a t) p M´ finit orties de minimiserout comme pour alorsgle LMS, L’algorithme de r´´ seau correspondent la re a aM . : ermet du reseau. T l’erreur quadratique moyenne nous allons appro `` biais du e instantan e` tion de laepermet de minimiser l’erreur quadratique moyennede rmance F ´re:gle LMS. Tous deux utilisent comme indice : ˆ F (x)tous deuxt)e(t) ---> F (x) = eT (t)e(t) de type = E eT ( permettent un apprentissage (5.3 oyenne, et ` iation stimulus/cibleFla x)e,= q )}de la )e1t). . . ,du ,gradient represen {( pq´ thode , T (t descente Q ou pq pour ´opt et nous allons utiliser m dE e q = ( , ´ mathematique et le vecteur x degroupe l’ensemble des poids on d ` ´´ dq un vecteur cible (sorties re sirees). A chaque instant t, et p ` pour la regle LMS, nous et le approximer cet indiceFpar l’erre ´ ´ l’esperance mathematique allons vecteurk x regroupe l’ensemble d ∂ˆ ∆w (t) = −η k 21 nous i,jGIF-21410/64326 Réseaux de neurones ` Tout comme pour la regle LMS, allons approximer cet ind ∂ wi,j Rétropropagation figure 5.1 CHAPITRE 5. PERCEPTRON M ´` ` t illustrees a la figure 2.7 que nous reproduisons a la e(t) = d(t) − a (t). des figure 5.12 pour ` ´ p(tecrit les sorties d’une laerreursobtenir un vecteur ) a travers le reseau de couche k dans un perceptron multic i d´ Plan • Perceptron simple • Règle LMS / réseau ADALINE • Réseau multicouche • Rétropropagation des erreurs • Méthode de Newton • Méthode du gradient conjugué 22 GIF-21410/64326 Réseaux de neurones dfaudra faireregroupe l’ensemb` érivéesx appel a la re ˆ ´ rance mathematique et le vecteur ´F , il pe ` rtielle de nce ´ F permet sorties desire quadratique moyenne ´´ edons les de minimiser l’erreur es (les cibles) Chaînage) ation ` cette deuxiF (me observedesqui va nou e x) = E eT (t (t) ` t comme pour la regle LMS, nous allons approximer cet df [n(w)]ˆ (x) =fT[n)]e(t) dn(w) de (t F = × . dw dn dw ´ r la methode de la descente du gradient pour optimiser x : = 2w, )] 2w F ∂ ,ˆ alors : k doncwf [(w] = −η k ∆ i,j t) = e ∂ wi,j ˆ ∂F n ∆bk (t) = −η de i d ∂ bIF-21410/64326 n de neurones Gk Réseaux 23 2w OPROPAGATION DES ERREURS GATION DES ERREURS ` ´´ r de cette regle pour calculer les derives partielles ˆ ˆ ∂F ∂F ∂calculer car les nive nk ´ e ces ´ quations est f= determeede ces equations estafacile a k , les niveaux d’ acile ` k × ` car calculer i k pendent directement des poidsni des ∂ wi,jsur cette couche : biais ∂ wi,j et des biais sur cette couche : ∂ et directement des poids poids sur la couche k ˆ k ∂ F k−1 ∂ Sˆ−1 ∂ nk F i Sk k k−. = =k kk−w a k 1 − bk . ni ∂ n × i,l blk k 1∂ i ∂ k i= b ni wi,llal − bii . i =1 l=1 ent : ∂ nk ∂ nk i i −k k = akn1 , = −1. ∂i ∂ ni j k1 k w− =∂aki,j , = ∂ b1. −i j k k ∂ wi,j ∂ bi ˆ ´´ ` e que cette partie de la derivee partielle de F par rapport a ˆ par rapport ` ´ tte a l’entrde de laeconnexion 24 de F IF-21410/64326 Réseauxa un po partie ee la d ´ rivee partielle ´ ale ` correspondante. G de neurones derla crire les equations 5.41 et 5.42 de ∆Wk (t) vante :η sk (t)(ak−1 )T (t ´´ ´ rs ee connexion correspondante. la facon sui = ¸ ˆ par rapport a un− ´´ ` rtie de la derivee partielle de F poids (ou un bia ∆bk (t)efinissons(la,sensibilite = η sk t) ´ ´ e la connexion des equations 5.41 etk5.42, d ´ premier terme correspondante. ˆ ∂F k −1 = si i k le niveau d’activation nk∂du neuroneaj de, la couche k : i wi,j ´ ´ remier ec : des equations 5.41 et 5.42, definissonsla sensibilite terme av ˆ ˆ ∂F ∂ e niveau d’activation nk∂ FFneuronesi ,de la couche k : ∂ nk du = − k ˆ i 1 i k bi. si ≡ ∂k k ( ˆ ∂F ∂ ni ∂ nk ˆ ˆ ∂F 2 ∂ F de la facon suivante : k k ´ sions des equations s ≡et 5.38 5.37 ¸ s≡ = . . . i . k facon suivante : ∂ nk ´ equations 5.41 et 5.42 deni ¸ ∂ la . Calcul des sensibilités k ∆wi,j (t) = −η sk (t)ak−1 (t), i j ∆bk (t)k =−1η sk (t), k i i quations 5.41 etF 5.42 de la facon suivante : ¸ ∂ˆ S = s i aj , ( k ∂ a la ` ` ´ Par rapportwi,j regle LMS, il est interessant de noter la ressembl ˆ e en notation matricielle : ∂F ˆ k ´ les equationsF =et sk ak −1 , remarque que le terme 2e(t) est si ∂ 5.31 5.32. On i k ( ∂ wi,jk = −sij , k k k −1 T ∆ ∂ bi W (t) = −η s (t)(a ) (t), ˆ ∂ F ∆bk (t) = η sk (t), = f−¸ on suivante : sk , ations 5.37 et 5.38 de la ac i ∂ bk i k k 25 k −1 ˆ ∂F ∂ nk k ˆ ∂F IF-21410/64326 G Réseaux de neurones ´ ´ pour le premier terme des equations 5.41 et 5.42, definissons la nts dans le niveau d’activation nk du neurone i de la couche k : i ˆ ∂F sk ≡ . i k ∂ ni 51 Couche 2 Couche 3 ´ 5.4. RETROPROPAGATION DES ERREURS Entrée Couche 1 ´ crire les equations 5.41 et 5.42 de la facon suivante : ¸ p Rx1 W 1 S1 x R + n 1 1 S x1 -1 R b1 S1 x 1 a1 = ƒ1(W1p ! b1) ˆ a ∂aF W2 k k −1 = sin aj , k + ƒ2 ƒ1 ∂ wi,j 2 -1 ˆ b -1 ∂F = −sk , i ∂ bk i 2 1 2 S1 x 1 S2 x S1 2 S2 x 1 W 3 a3 S3 x S2 S x1 2 + n 3 3 S3 x 1 S x1 ƒ3 S3 b3 S3 x 1 S1 S2 x 1 S2 a2 = ƒ (W2a1 ! b2) a3 = ƒ3(W3a2 ! b3) ´ des5.12 – Representation matricielle d’un rede la trois¸couches (reproduction:de la figure 2.7). F I G . equations 5.37 et 5.38 ´ seau de facon suivante ´ ´ ´ ˆ selectionnant ou en retranchant k regions engendrees par la couche precedente et, de meme, la des ´ k k−1´ ´ ` ´i ´ couche de sortie permet d’assembler des frontieres de decision concaves en selectionnant ou en i,j j ´ ´ ´ ´ GIF-21410/64326 Réseaux de neurones retranchant des regions convexes engendrees par la 26 couche precedente. ∆w (t) = −η s (t)a k k (t), ´ celui de l’equation 5.33. ´ ´ formule de recurrence des sensibilites, nous allons comme = ∂ nk+1 1 ∂ nk 1 ∂ nk+1 2 ∂ nk 1 ∂ nk+1 1 ∂ nk 2 ∂ nk+1 2 ∂ nk 2 ··· ··· .. . ∂ nk+1 1 ∂ nk k S ∂ nk+1 2 ∂ nk k S ∂n ∂ nk k+1 . . . ∂ nk+1 k+1 ∂ nk 1 S . . . ∂ nk+1 k+1 ∂ nk 2 S . . . ∂ nk+1 k+1 ∂ nk k S S ` re toutes les sensibilites des niveaux d’activation d’une c ´ ´´ ´ ´´ ecedente. Considerons chaque element (i, j ) de cette matr k 27 GIF-21410/64326 Réseaux de neurones ··· . ` ´ ere toutes les sensibilites des niveaux d’activation d’une cou ´´ ´ enum´edente. Considerons es des niveaux d’activation d’une matric ´ ´´ prece` re toutes les sensibilitchaque element (i, j ) de cette couche ´´ ´ ´´ che precedente. Considerons chaque element (i,) de cette matrice : j k+1 S kk ∂ ak ∂ S k+1 k ∂ ni k+1 k∂ ∂ wi,l+1 ak − bk+1 = k+1 +1 k j ∂ ni = wi,j aj k k +1 k = ∂ nk k wi,l all − bki = wi,j i ∂ nj nk k ∂ ∂ j l=1 n ∂ n∂ nj j j l=1 j ∂ n 1 +1 Sk ∂ nk 1 ∂n S k+1 ∂ nk 2 2 ··· ∂n S S k+1 ∂ nk k S k ∂∂ fkk((nk ) f njk ) k+1 j kk +1˙k k (k k ), +1 k+1 = wi,j n = = wwi,j = wi,j ff˙(nj )j, i,j k k ∂∂ njj n k nk ) ∂ f k ((nk ) jj ˙k k k (nk ) = ∂ f f˙f (njj) = ∂ nkk . . j ∂ nj ´ ´ t, la matrice de l’equation 5.53 peut s’ecrire de la facon suivante : ¸ k+1 ∂ n+1 ˙ k = Wk+1 Fk (nk ), ∂ n∂ nk k+1 ˙ k k = W F (n ), ´ ´ matrice de l’equation 5.53 peut s’ecrire de la facon suivante : ¸ ∂ nk f˙k (nk ) 1 28 0 · · GIF-21410/64326 · 0 Réseaux de neurones ´ uent, la matrice de l’´equation 5.53 peut +1 k k ¸ ∂ nk 5.53 quent,la matrice de l’e´quation+1 peutks’ecrire de la facon suivante :: ˙ k+1 ∂ nk+1 ∂n ∂ =W F (n ), ··· ´ ´ ´ permet maintenant d’ecrire la relation de recurrence pour les sensibilites : k+1 TT ˆ ˆˆ ∂∂ nkk+1 T ∂ F nn +1 ∂ ∂ F Fˆ ˆ ˆˆ ˆ k+1T kk ∂ ∂F = Fkk nk W+1 T T ∂ F F F ∂F ∂ ∂= ˙ k nk Wk +1 k k k ˙ s ss = = k = = =F = kk k+1 ∂ n nkk ∂∂ nk nn ∂ n k+1 ∂k+1 +1 ∂n ∂ ∂n k+1 n ∂ nknk+1 ∂ ∂ k +1 T kk+1 ˙ k˙˙kk nkk Wkkk+1 TT ssk+1 .. = = FF n n W +1 s +1. =F W 29 ˙k (nk k ) 0 0 ··· f S 0 0 · · · f˙k (nk k ) 0 0 S ´´ ´ met maintenant d’d’ecrire la relation de recurrence pour les sensibilites es : ´ ´: permet maintenant ecrire la relation de recurrence pour les sensibilit ´ ˙˙k k f k(n1 ) 0 ··· f (nk ) 0 1 0 f˙k (nk ) 0 2 k ˙˙k (nk ) 0 0 fk f (2 ˙ k (nk ) = 0 2 F k k . ˙˙ nk = . ... F Fk ((n )) = . . . .. . . .. . .. . .. . ∂ nk ∂ nk = Wk+1 Fk (nk ), = Wk+1 ˙ k f˙k (nk ) 1 0 0 0 0 0 . . . .. . . . GIF-21410/64326 Réseaux de neurones 5.4. rétropropagation des ´ sensibilités RETROPROPAGATION DES ERREURS Couche 1 Couche 2 Couche 3 51 Entrée TION DES ERREURS p Rx1 W 1 a1 S1 x R + n 1 1 S1 x 1 W 2 a2 S x1 ƒ 1 -1 S2 x S1 + n 2 2 S2 x 1 W 3 a3 S x1 ƒ2 -1 S2 S3 x S2 + n 3 3 S3 x 1 S x1 ƒ3 S3 ` ˆ met de calculer s a partir de s , qui lui-meme es ƒ ƒ ´ ´ƒ ´ es sensibilites sont retropropagees de la couche de s R S1 x 1 S1 -1 b1 b2 b3 1 S2 x 1 2 S3 x 1 a1 = 1(W1p ! b1) a2 = 2(W2a1 ! b2) a3 = 3(W3a2 ! b3) F I G . 5.12 – Representation matricielle d’un reseau de trois couches (reproduction de la figure 2.7). ´ ´ ` a trouver le cas de base, s , permettant de mettre fi M ` ´ ´ Avant de passer a l’algorithme de retropropagation qui nous permettra d’entraˆner un reseau ı ´ multicouche, que nous nommerons dorenavant perceptron multicouche ou PMC, mentionnons que ´ ce n’est pas par hasard que nous avons remplace la fonction de transfert seuil par la fonction GIF-21410/64326 Réseaux si 30 ´ ` ˆ sigmo¨de, mais bien pour pouvoir proceder a un apprentissage automatique. Par exemple, memede neurones ı T M 2 ´´ 1 ´ ´ M engendrees par la couche precedente et, de meme, la ´ ˆ selectionnant ou en retranchant des regions−1 ` ´ ´ couche de sortie permet d’assembler des frontieres de decision concaves en selectionnant ou en ´ ´ ´´ retranchant des regions convexes engendrees par la couche precedente. s →s → ···s → s . ` s` qu’a trouver le cass de base, s , ees de la couche demettre fin a` permettant de sortie jusqu’ ` a ´ ´ a sM . Ainsi les sensibilite sont retropropag ´ SM ˆ ∂ d−a dM a − ∂ ∂F ` `d´ a reste plus qu’= a trouver le cas de base, s , permettant de mettre fin a(la lrecurr = − = M M M ∂ ni ∂ ni ∂ ni l=1 Couche de sortie 2 T sM → sM −1 → · · · sM s1 . → M M T M = sM i ∂ nMM ∂iai = −2 di M aM ˙M MM −i = −2 di − ai f ∂ nni . i ´ elle, on ecrit : = −2 di − aM f˙M nM . i i M ˆ ∂ d −M a d−a ∂F ∂ ai M = = MM ∂ ni −2 d∂ ni ai i− ∂ = (dl − aM )2 l ∂ nM l=1 i SM ´ n matricielle, on ecrit : M ˙FM nM ˙M n s s= = −2 −2F M d− . d−a a M M . lgorithme d’entraˆnement ı me d’entraˆnement ı 31 GIF-21410/64326 Réseaux de neurones ´ ` ´ 1. Initialiser tous les poids du reseau a de petites valeurs aleatoires. 2. Pour chaque association (pq , dq ) dans la base d’apprentissage : ´ ` ´ (a) Propager les entrees pq vers l’avant a travers les couches du reseau : a0 = pq , ak = f k Wk ak−1 − bk , pour k = 1, . . . , M . ´ ´ `` ´ (b) Retropropager les sensibilites vers l’arriere a travers les couches du reseau : sM ˙ = −2FM nM dq − aM , T (5.62) (5.63) (5.64) (5.65) ˙ sk = Fk nk ` (c) Mettre a jour les poids et biais : ∆W k Wk+1 sk+1 , pour k = M − 1, . . . , 1. ∆bk = η sk , pour k = 1, . . . , M . ` ˆ 3. Si le critere d’arret est atteint, alors stop. ´ 4. Sinon, permuter l’ordre de presentation des associations de la base d’apprentissage. `´ 5. Recommencer a l’etape 2. 32 = −η s k a k −1 T , pour k = 1, . . . , M , (5.66) (5.67) GIF-21410/64326 Réseaux de neurones Critères d’arrêt • Nombre maximum de périodes d’apprentissage • Borne supérieure sur la racine de l’erreur quadratique moyenne • Validation croisée 33 GIF-21410/64326 Réseaux de neurones ROPAGATION DES ERREURS Sur-apprentissage lustration du phenomene de sur-apprentissage IF-21410/64326 Réseaux de neurones a G pour le cas simple d’une ´ ` 34 G. 5.13 – Illustration du phenomene de sur-apprentissage pour le cas simple d’une approxima ´ ` n de fonction. Validation croisée erreur validation arrêt sur-apprentissage entraînement temps F I G . 5.14 – Illustration de la validation croisee. ´ 35 GIF-21410/64326 Réseaux de neurones Phénomène de saturationPERCEPTRON MUL CHAPITRE 5. 100 0.3 ! 100 0.4 -0.5 -1 n a F I G . 5.15 – Exemple d’un neurone sature. ´ 36 GIF-21410/64326 Réseaux de neurones ´ (20pts) Soit un reseau perceptron multicouche utilisant des fonctions d’activation sigmo¨des pour ı ´ ´ ´ les neurones de la couche cachee et une fonction lineaire pure pour la couche de sortie. Ce reseau ´ est decrit par les matrices suivantes : 1 1 −1 1 1 , W2 = 1 1 , b2 = -2 , b= W= 0 −1 2 1 1 ´ (a) Dessinez la topologie du reseau correspondant ; ´ (b) Pour la sigmo¨de f (n) = 1/(1 + e−n ), demontrez que ı df (n) = f (n) × [1 − f (n)]; dn ´ ´ (c) Calculez la sortie a2 etant donne le stimulus : -1 p= 2 3 ´ ´ ´ (d) En utilisant l’algorithme de retropropagation des erreurs, calculer ∆W1 etant donne la sortie ´´ ´` desiree d = [1], associee a p, et un taux d’apprentissage η = 0.5. (15pts) Soit les stimuli suivants : -1 3 37 0 GIF-21410/64326 Réseaux de neurones 1 Groupage • Faire une seule mise à jour des poids par période d’apprentissage • Moins sensible au bruit 38 GIF-21410/64326 Réseaux de neurones `´ le groupage sert a eviter de partir dans une mauvaise direction qui, autremen ´ chances de rester pris dans un minimum local inadequat. omentum Momentum k k ´ ´ acon d’ameliorer l’algorithme de retropropagation est de rajouter un terme d’i ¸ de filtrer les oscillations dans la trajectoire de la descente du gradient : ∆W (t) = α∆W (t − 1) − (1 − α)η s k a k −1 T , pour k = 1, . . . , M , ∆bk (t) = α∆bk (t − 1) + (1 − α)η sk , pour k = 1, . . . , M . ´ ´ < 1 s’appelle le momentum. Lorsque α = 0, les equations 5.73 et 5.74 sont eq ions 5.66 et 5.67, respectivement. Lorsque α = 1, les ∆Wk (t) et ∆bk (t) ne 39 GIF-21410/64326 Réseaux de neurones Taux d’apprentissage variable • Si l’erreur augmente trop, ne pas mettre à jour les poids et réduire le taux d’apprentissage; mettre à zéro le momentum • Si l’erreur diminue, augmenter le taux d’apprentissage; réactiver le momentum le momentum • Si l’erreur augmente un peu, mettre à zéro 40 GIF-21410/64326 Réseaux de neurones Autres recommendations 1. Éviter de saturer les neurones de sortie 2. Les sensibilités augmentent avec l’indice de couche; varier les taux d’apprentissage dans le sens inverse pour équilibrer la convergence des couches 41 GIF-21410/64326 Réseaux de neurones 3. Permuter l’ordre de présentation des stimuli d’apprentissage 4. Pour un problème de classification à n classes, utiliser n neurones sur la couche de sortie 5. Pour un problème d’approximation de fonction, utiliser des fonctions linéaires sur la couche de sortie 6. Pour estimer n paramètres, il faut posséder 10n+ données d’apprentissage 42 GIF-21410/64326 Réseaux de neurones 7. Pour estimer correctement la performance d’un réseau, il faut utiliser trois ensembles disjoints de données: (i) apprentissage (50%) (ii) validation croisée (20%) (iii) tests (30%) 43 GIF-21410/64326 Réseaux de neurones Plan • Perceptron simple • Règle LMS / réseau ADALINE • Réseau multicouche • Rétropropagation des erreurs • Méthode de Newton • Méthode du gradient conjugué 44 GIF-21410/64326 Réseaux de neurones ´´ ` ´ premier ordre (qui n’utilise que la derive premiere), la methode de Newton est ` ` ´ e Taylor de deuxieme ordre, u l’on tient compte non seulement de plus´ effic ´ ´ a methode de Newton est uneoautre procedure d’optimisation, parfois la derive ´´ si de la gradient. Alors que cette derniere est basee sur une approximation par ` ´ nte du derive seconde : 1`T 2 ´ ´´ r de premier ordre (qui n’utilise que la derive premiere), la methode de Newton es T ˆ (x ) = F (x + ∆x) ≈ F (x) + F (x) ∆x + ∆x F (x)∆x = F (x), ` ` ´´ ie de Taylor de deuxieme ordre, ou l’on tient compte non seulement de la derive 2 ´´ ussi de la deri le seconde : un point dans ve voisinage de x, ∆x = x − x, F (x) est le vecteur gradient d est lax ) = F (hessienne ≈ F ((x)+L’ide(xconsiste a1rechercher(un∆x = Fdans l’e matrice x + ∆x) de F x) . F´ e )T ∆x + ` ∆xT 2 F x) plateau (x), ˆ F( ˆ ˆ 2 ´ ` ue de F (x). En derivant l’expression de F (x) par rapport a ∆x et en fixant le to t: est un point dans le voisinage de x, ∆x = x − x, F (x) est le vecteur gradient ` x) est la matrice hessienne deF ((x). L’id2ee (x)∆x = rechercher un plateau dans l’ F x) + ´F consiste a 0. ˆ ˆ ´ ` atique de F (x). En derivant l’expression de F (x) par rapport a ∆x et en fixant le −1 2 tient : F (x) ∆x = − F (2x) F (x) + F (x)∆x = 0. ` de de Newton propose donc d’explorer l’espace des parametres libres dans la ˆ `2 ointe vers un plateau de F (x), c’est-a-dire soit−1 maximum, soit un minimum un F (x) ∆x = − F (x) ´ ´ ethode de Newvonge en unedonc d’explorer l’espace des parametresquadratique, l ´ methode con t er propose seule etape lorsque F est une fonction libres dans ` ´ e alors vers un plateau de F (x) c’est-a-dire soit un maximum, soit equivalente ˆ ` ui pointeune fonction quadratique, par une autre fonction quadratiqueun minimum ´ ´´ ` ` as quadratique, cette methode converge generalement tres rapidement a conditio ´ 45 ette deethode conn’est pas une seule de l’optimum), GIF-21410/64326 Réseaux de neuronesan est une fonction fonctions ´ int m ´depart (x verge en trop loin etape lorsque Fcar la plupart desquadratique, 2 Taylor Matrice Hessienne = ∂ 2 F (x) ∂ x1 ∂ x1 ∂ 2 F (x) ∂ x2 ∂ x1 ∂ 2 F (x) ∂ x1 ∂ x2 ∂ 2 F (x) ∂ x2 ∂ x2 ··· ··· .. . ∂ 2 F (x) ∂ x1 ∂ xm ∂ 2 F (x) ∂ x2 ∂ xm 2 F (x) . . . ∂ 2 F (x) ∂ xm ∂ x1 . . . ∂ 2 F (x) ∂ xm ∂ x2 . . . ∂ 2 F (x) ∂ xm ∂ xm ··· 46 GIF-21410/64326 Réseaux de neurones ˆ ˆ ´ ` que de F (x). En derivant l’expression de F (x) par rapport a ∆x et en fixant le tout nt : F (x) + 2 F (x)∆x = 0. Observations ∆x = − 2 F (x) −1 F (x) seule étape pour les fonctions ´ ´ te methode converge en une seule etape lorsque F est une fonction quadratique, pu ´ me alors une quadratiques ! une autre fonction quadratique equivalente. L fonction quadratique par ´ ´´ ` ` pas quadratique, cette methode converge generalement tres rapidement a condition ´ Converge rapidement dans plupart des fonctions anal oint de depart (x n’est pas trop loin de l’optimum), car la les autres ` ´ iment bien acec une fonction quadratique a l’interieur d’un petit voisinage autour d v as, à condition d’avoir un bon point ˆ Cependant, mee départ on ne saura pas si cet optimum est minimum ou max dme dans ce cas, ´ aura pas non plus si l’optimum est local ou global. De plus, lorsqu’on s’eloigne de ´ ´ ´ la methode de Newton peut donner des resultats imprevisibles. Finalement, cette m Nécessite le calcul et de stockage de ´ ´ te aussi le gros dmatricede necessiter le calcul de son inverse la esavantage hessienne et et le stockage de la matrice hes art, et de son inverse, d’autre part. Dans le cas d’un perceptron multicouche com ˆ ` s centaines ou meme plusieurs milliers de poids, cela s’avere totalement imposs 11 . GIF-21410/64326 Réseaux de neurones 47 ` ode de Newton propose donc d’explorer l’espace des parametres libres dans la di ˆ La méthode de a-dire soit un maximum, soit un 1 ` pointe vers un plateau de F (x), c’est-newton converge en minimum. • • • njugues, d’une propres sont toutesrecherche d’unpositives)le long t les ´ aleurs part, ainsi que sur la strictement minimum si, et v pTsont j = 0, k = conjugues par rapport a u ´ ` rs d’un ensemble {pk }k Ap mutuellement j. ´ cteurs orthogonaux, il existe une infinite d’ensembles de v pT Apj = 0. Un= j. ceux-la est forme de k ` ´ ace vectoriel de dimension m, k de ´ m v associes aux valeurs xiste une{λ 2 es },ecteurs orthogonaux, il epropressont1 , λe ,d’ensemblesPourecte infinit ´ . . . , λm }. de v le m Par exemple, les vecteurs propres ´ r espace dans l’conjugués: ´ ´ . Un : ` ´ n des zk vectoriel quation precedentede ceux-la est forme des ve mutuellement e de dimension m (dont les valeurs propres sont toutes strictement positives) si, et seul Gradients conjugués ´ . . , zm }, associes aux valeurs propres {λ1 , λ2 , . . . , λm }. Pour le mont T T T k = j, ´ ´λ zk dans = zk λj z prec ´ j zk zj k par des zk Azj l’equation j = edente : = 0, zT Azj = zT les jv= λj zT zjpropres d’une matrice po ´´ te decoule du fait quek λj z ecteurs = 0, k = j, k k ´ ´´ egalite decoule du fait que les vecteurs propres d’une matrice positiv s. Cependant, equent,observationpropres d’une telle matrice sont a cette les vecteurs ne nous aide pas beaucoup ` onaux. Par cons ´ `´ ´ a la matrice hessienne 2ation ne l’on veut pas beaucoup si la ugues. Cependant, cette observ F que nous aide eviter de calcule GIF-21410/64326 Réseaux de neurones 2 48 ´ pond a etant de trouver un algorithme efficace utilisant la der la ´ jectif` ´ matrice hessienne F que l’on veut eviter de calculer da ´ x. Par consequent, les vecteurs propres d’une telle matrice s • Pour une fonction quadratique possédant m paramètres libres, on peut montrer qu’il est toujours possible d’atteindre son minimum tout au plus en m recherches linéaires le long de droites orientées dans des directions conjugués directions conjuguées sans faire référence à la matrice hessienne ! • Le problème est de déterminer ces 49 GIF-21410/64326 Réseaux de neurones ˆ sans explicitement. etre oblige calculer fonction F´ de la calculer explicitement. etres libres, on p ´´ Pour une une fonctionquadratique posspossedant m parametres libres, ` Pour F quadratique edant m param ` Pour d’atteindre son quadratique poss ´ tout tout au m ` ours possible d’atteindre son minimum en effectuantdant au parametres recher toujours possibleune fonction F minimum en tres elibres, pluspeut m rl effectuant m on plus mo ´ ` n F quadratique possedant m parame ´´ ´ roites toujours possible d’atteindre conjuguees {e enp2 , , p.2,,p. }.pm }q La orientees ees des des directions conjugu ´ 1 p1 . . . m , La . pl p de droites orientdansdans directions son minimumes, {effectuant.tout auue tteindre son minimum en effectuantes sans faire rem rencep2 , . .matr ´ directions conjugu ´ au plus efe rp e a la ` p de droites ces directions des directions conjugu ´´es recherches li . ´ tout ´´ ` ment construire orientees dans conjugue ees sans faire {ef1´,rence a ,la comment construire ces directions d’une fonction ans des directions conjuguees {p1 , p2 , . est ,donn}. Lafaire reion q comment ne conjuguées:´ quadratique . . ees sans ´ quest ´ ´ g´ ´ pression generale rale d’une fonction quadratique pm donnee: par ´ ferenc L’expression ´ e construire ces directions conjugu ´ ee par est ´ : ` ces directions conjuguees sansfonction eference a la matricepar ´´ ´ ´ L’expression generale d’une faire r ´ ´ quadratique est donnee he 1 T1 e d’une fonction quadratique xF= ) x ee T+ 1:T+ dT c + c ) donn ´ x Ax fonction quadratique: F ( est(x = Axpard x + x 2 ´ 1´ e u le gradient est donne par :par : gradient F F est donne T T o` F (x) = x Ax + d x + c ` ´ F : F (x) = Ax ogradient: u le gradient F est donne par (x) = Ax + d + d 2 F (x) Ax F d matrice par : hessienne par 2 F (x) = A. En posant gt=≡ + (x)|x=xt ´ t la matrice hessienne par 2 F (x)2 = A. En posant gt ≡ F (x)| et donne ` ´ ations,et la matrice er le changement de (x) = A. gt a l’iteration t≡ on peut trouv hessienne par F gradient ∆ En g a l’itgt : matrice hessienne:le changement de gradient ∆posant eration t ´ ´ equations, on peut trouvF (x) = Ax + d er t` ´ ` ´ equations, on peut trouver le changement de gradient ∆gt a l’itera ∆g = A En = (Axt+1 ≡ −FAxt + d = en = +1 − g d (x ne par 2 F (x) t∆ggt=. gt+1 tposant (gt ++1 )+ d)(− )|Axx)t+etA∆x − gt = Axt ( x= t d) = A t ∆gt = gt+1 − gt = (Axt+1 + d) − (Axt + F (2 ) = xT Ax + dT x + c x 2 ` ´ uver le changement de gradient ∆gt a l’iteration t : g =g − g = (Ax G + 50 ) − (AxIF-21410/64326 Réseauxx neurones d + d) = A∆ de ∆xt = xt+1 − xt = αt pt −) = gt ∆g(Axtres + dgt− xAxttemps t=)A∆xteet pard) = A∆xt = t =egt+1libres ∆ ( (Axt+1d) d − (Ax + : + + est donn ´ (5.82) es param ` t+1 au t `` de maniere a minimiser F (xt ) dans la direction de pt . : de maniere a minimiser F (x ) dans la direction de p . ` T` i t t T T αt pt Apj = ∆xt Apj = ∆gt pj = 0, t = j. essienne par F (x) = A. En posant gt ≡ F (x)|x=xt et en ienne AerEn2 F (x)∆x A. temps x)∆gdonneeen combinant ces posant ` ≡ F eut = par le libres = t de EnF ( t | g et´ e par : x trouv` s)parame.tres changementau gradient est=txat l’it ´ ration(t :)|x=xt et posant gt ≡ xt CHAPITREa l’iteration t : ON MU trouver le changementade gradient t∆gt `5. PERCEPTR ´ ment de gradient ∆g= `(Axeration) − (Ax +´d) = A∆x ∆gt = gt+1 − gt t l’itt+1 + d : t t F (dT x + 2x Ax + d x + c x) = c (5.80) (x) = x Ax + 2 2 ´ F est donne par : ´ est donne par : F (x) CHAPITRE 5. PERCEPTRON M = Ax + d F (x) = Ax + d 2 F (x) = Ax + d (5.81) T ∆xt = xt+1 des tv= αt pt conjugues de l’equ − x ecteurs ´´ ´ ´ ntenant reecrire la condition ´´ ´ ´ intenant reecrire la condition des vecteurs conjugues de l’equat ´ ´ ` :ediatement qu’en considerant le changement de gradient a c ´j. n peut faireTdisparaˆtre T Apj = ∆gT pj = 0, de = equation qui la αt pt Apj =ı∆xt matrice hessienne t l’Réseaux de neurones GIF-21410/64326 t 51 nvariation du!gradient ! laduariation du gradient ! v gradient ´deration de l’algorithme des gradients conjugues, il s’agit donc de co teration t tde l’algorithme des conjugues, conjugues, il de construirede ´ ´ ´ donc s’agit donc u ite l’algorithme des gradients gradients il s’agit ´ ` herche pptqui est orthogonale a {,∆g0 , ∆g,1.,}..en, utilisant uneutilisan ` qui est t qui est orthogonale `g { . . 0 gt−t } en utilisant´un tcherche orthogonale a {∆g0 , ∆a 1 ∆g. , ∆g1−1 .. ,.∆∆g1−1 } en proced t ´´ mmethode de Gram-Schmidt (section 3.1.5,qui 21), qui peut se se l’ e Gram-Schmidt (section 3.1.5, page 21), page 21), simplifier a si ` ade thode de Gram-Schmidt (section 3.1.5, pagepeut se qui peut simp nte te : : pt = −gt pt βt p−gt+ ββppt−1 + = −gt + t t t−1 (5.8 = t−1 s t calculer calculer de trois mani ` res ´ : ` nt sepeuvent secalculer de trois ´ quive` e equivalentes alentes βtβpeuvent sede trois manieres emanieres´ quivalentes : : T T T T T T gt gT ∆gT−1g t gt gt g gt T g ∆gt−1 gt ∆∆−1 gt g gt ∆gt−1 gt ∆g t t t− , β= g βt= , Tβt 1= , βt =, Tβtt= t ,T, βtβ== T t−1 t = T t ∆gt p 1 T ∆gβt1 pt−1 gT −1p t−gt−1 gtt−1 gt−1 gg−1 t−1 gt−1 gtg1 gt−1 T tg −T g t− ∆ g t = (5.8 t−1 t−1 t−1 t−1 t−1 t−1 ´ orithme du gradient conjugue ´ du gradient conjugue ´ (traincgf) (traincgp) ithme du gradient conjugue ´ aˆner perceptronperceptron multicouche ethode duethode duconjugue,con ı ´ seau un reseau multicouche avec la m ´avec la m ´gradient gradient il i ´´ nerder par groupage. groupage.puisqu’onpuisqu’on eexploiter l’informat ` ordun rproceder par En effet, En effet, avec la m ´ thode duegradientl de eseau perceptron multicouche cherche a cherche a xploiter ´ ` ce ´ rdduariation dergradient (unederive52de deriveeIF-21410/64326 il est a de calcu ´ ´ G il est cherche ` neurones la v proce du par groupage. En effet, puisqu’onprimordialdeexploit ´´ n degradient (une forme de formee seconde), seconde), Réseauxprimordia ´ x0 ´ ` pour une fonction quadratique. Ceci implique qu’il faudra re-initialiser la methode a toutes les m x1 12 -g1 ´ ` ´ iterations, a chaque fois que nous passerons a travers m directions conjuguees successives. Pour p1 ` x ´ ce faire, nous pourrons simplement employer la methode 1de descente du gradient. Voici doncx0les p x ´ principales etapes de l’algorithme : 1 p0 p1 1. t = 0 ; p0 p Algorithme t 1 ´ 2. Choisir la prochaine direction conjuguee de recherche : 0 12 ´ ´ Il y a aura autant de directions conjuguees qu’il y a de poids dans le reseau. avec gt ≡ avec gt ≡ −g + βt pt si t mod Fm. 5.160 Illustration de la methode du gradient conj =– IG pt = ationt de la m−1 (5.87) F I G . 5.16 – Illustr −g ethodet du gradient conjugue. ´ ´ si mod m = 0 ´ F I G . 5.16 – Illustration det la methode du gradient conjugue. ´ ´ ´ `´ avec g ≡ F (x)| et β est calcule comme a l’equation 5.86 : x=xt t 3. Faire un pas comme a a equation 5.83, en choisissant = tt+ 1αt de maniere a minimiser la fonction 4. t α de ` l’ l’ ´ ` ` minimiser la fonction 3. Faire un pas comme ` ´ equation 5.83, en choisissant ; maniere a ` ` ` ˆ `´ 5. Si le critere d’arret n’est pas atteint, alors recommencer a l’etape 2. F dans la direction de recherche pt pt : F dans la direction de recherche : T T ∆gt gt gt ´ `´ F (x)|x=xt et βt est calcule comme a l’equation 5.86 : ∆gtT−1pt−1 , βt = gtT−1gt−1 , βt = gtT−1 T T T ∆gt−1 gt gt g `´ ` T ∆gt−1 5.83, T T 3. Fairetun pas comme a l’equation gt en choisissant αt de maniere gT βt = ∆gt−1 gt , βt = t gt F dans la,direction=t−1 gt pt : β∆g recherche (5.88 T T βt = ∆gt−1 pt, 1 βt = T gt−1 gt−βt = t T de gt−1 gt−1 ,1 (5.88) − T ∆gt−1 pt−1 gt−1 gt−1 gt−1 gt−1 xt+1 = xt + αt pt ; ´ `´ F (x)|x=xt et βt est calcule comme a l’equation 5.86 ∆gtT−1gt : βt = 4. 4. t = t + 1 ;; t+1 ˆ `` 5. Si le crit`` d’arr ˆ t n’est pas atteint, alors recommencer´ a l’ ´ tape re 5. Si le criteered’arreten’est pas atteint, alors recommencer a l’etapee2. 2. ´` Cet algorithme est illustre a la figure 5.16 dans le cas d’une fonctio ´ La direction initia x +1 = variables.;Dans ce cas, on converge en deux iterations. minimum dans ce x αtin t t du xt+1 t= xt + t +versept ;gradient. En faisant une recherche du (5.89) (5.89 pα sens un point x1 sur une autre courbe de niveau. Au lieu de recommencer dan ` ˆ gradient, perpendiculaire a la courbe de niveau, on choisit plutot une dir pointe alors dans la direction du minimum global, puisque F est quadra ` deux parametres libres. ´´` ` ` Cet algorithme est illustr a a figure 5.16 dans le le d’une fonction F quadratique a Cet algorithme est illustre e la la figure 5.16 danscas cas d’une fonction F long d’unedeuxa deux 5.6.2 Recherche du minimum le quadratique ` droite ´ ´ rations. La direction initiale choisie de neurones variables. Dans ce cas, on convergege en deux rations. La direction initiale p0 estpRéseauxdans ledans le en deux ite ite53 GIF-21410/64326 0 est choisie variables. Dans ce cas, on conver ´ ´ Pour compl ´ dans cette de la methode du obtient sens inverse du gradient. En faisant une recherche du minimumeter la descriptiondirection, on gradient conjugue, i ´ ´ ´ pleter la description de la methode du gradient conjugue, il ne nous res ` robleme de la recherche du minimum d’une fonction le long d’une droite. ` iale de la fonction a minimiser et p la direction dans laquelle on veu . Alors, on commence par calculer : Fi = F (x0 + 2i εp), i = 0, 1, . . . , I Minimum le long d’une droite 2! CHAPITRE 5. PERCEPTRON MULTICOUCH ´´ ’on trouve un FI > FI −1 , avec ε representant une distance elementaire 8! ´ 4 n intervalle initial contenant! le minimum. Ce dernier doit donc se trou F0 F1 ! F2 F3 x0 x1 x2 x3 x4 F4 ´ F I G . 5.17 – Etape de localisation54 d’un intervalle initial de recherche. de neurones GIF-21410/64326 Réseaux ´ ´ .6. METHODE DU GRADIENT CONJUGUE 67 intervalle intervalle a c d b a c d b (a) IG. d (b) ´ 5.18 – Etape de reduction de l’intervalle de recherche : (a) cas ou Fc < Fd ; (b) cas ou ´ ` ` < Fc . 55 GIF-21410/64326 Réseaux de neurones 5. k = k + 1 ; ...
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.

Ask a homework question - tutors are online