1 / 46

Chapitre 4

Chapitre 4. Perceptron multicouche. Plan. 4- Perceptron multicouche Intro: labo 2 Erreur et gradient d’erreur Rétro-propagation du gradient d’erreur Algorithme Choix des paramètres Exemples. Découverte.

anneke
Download Presentation

Chapitre 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapitre 4 Perceptron multicouche

  2. Plan 4- Perceptron multicouche • Intro: labo 2 • Erreur et gradient d’erreur • Rétro-propagation du gradient d’erreur • Algorithme • Choix des paramètres • Exemples

  3. Découverte • L.P.J. Veelenturf, Analysis and applications of Neural Networks, Prentice Hall, 1995. • Couvre à fond le perceptron, le perceptron multicouche et SOM • Traitement complet, mais plutôt math (théorèmes, axiomes) • K. Swingler, Applying Neural Networks, Academic Press, 1996. • 1 seul modèle: perceptron multicouche • Guide pratique • Plusieurs exemples

  4. Extraction des primitives Laboratoire 2: Primitives d’une image

  5. Sortie (arête) 1- Construction du réseau Réseau à rétro-propagation NI = 3x3 Nh = 6 No = 1 Couche cachée Entrée

  6. Extraction des primitives Sous-image pour l’apprentissage Construction d’une base d’apprentissage

  7. 2- Choix d’une base d’apprentissage 586 vecteurs 3x3 d’apprentissage sont sélectionnés (distance euclidienne plus grande que 0,17)

  8. 3- Apprentissage 4- Généralisation

  9. x1 x2 xn xN Couche d’entrée Couche cachée 1 Couche cachée 2 Couche de sortie 4- Réseaux multicouches Algorithme de BP X S

  10. 1 b1 1 X1 b3 Z1 w11 v1 w21 Y Z2 w12 v2 X2 w22 b2 1 Réseaux Madaline x2 x1 Plans de classification convexes

  11. Réseaux mono et multicouches

  12. Théorème de Kolmogorov (1963) « Un perceptron à 3 couches comprenant N(2N+1) neurones utilisant des fonctions non-linéaires continûment croissantes peut approximer toute fonction continue de N variables »

  13. Dimensions pour répondre à un problème de reconnaissance de formes ? x1 s1 x2 sm xn xN sM  M N

  14. Comment associer une sortie à chaque classe ? X Cm sm=1, etsm’=0 si mm’ Classe « m » : Quelle est la nature des sorties ? Neurone de McCulloch&Pitts • sorties bipolaires +1 et -1 • sorties binaires +1 et 0 Comment réaliser l’apprentissage des poids synaptiques ? fonctions «dérivables»  Algorithme du gradient

  15. Problèmes avec l’approche de Rosenblatt - L’apprentissage avec un algorithme de descente de gradient et une fonction de Heaviside = un Dirac et des zéros presque partout  Mais on doit tout de même utiliser une fonction non-linéaire pour l’activation sinon le perceptron multicouche se comporterait comme un perceptron linéaire !

  16. « Légère » modification du modèle proposé par McCulloch & Pitts Fonction seuil la fonction sigmoïde

  17. Nouveau paramètre à régler : la pente de la fonction sigmoïde L’algorithme de la rétropropagation du gradient Base d’apprentissage étiquetée B= {( Xk, Dk), k=1, 2, …, K} Xk=(x1(k), .., xn(k), .., xN(k)), k=1, 2, .., K une forme d’entrée • Dk=(d1(k), .., d m(k), .., d M(k)) {0, 1}M • vecteur de sortie désirée correspondant • àXk

  18. Cas d’une couche cachée x1(k) s1(k) x2(k) Xk vj,n wm,j Sk sm(k) xn(k) yj(k) xN(k) sM(k) Vecteur d’entrée Couche cachée comportant J neurones Vecteur de sortie obtenu

  19. Algorithme de descente du gradient classique : Fonction du coût à minimiser : Coût(p) Coût(p) P(n+1)= P(n) + h p P(n) P (n+1) Fonction du coût à minimiser : Coût(p1, p2 ,…., pL ) Pl(n+1)= Pl(n) + h

  20. Fonction du coût : Erreur quadratique instantanée pour les poids synaptiqueswm,j Wm,j Erreur liée à sm

  21. Notion de gradient

  22. pour les poids synaptiquesvj,i ? vj,n

  23. Le déroulement de l'algorithme de la rétropropagation du gradient La propagation directe 1. La forme Xkest présentée à l'entrée du réseau 2. Calcul des hj(k), j= 1, 2, .., J, et ym(k), m= 1, 2, .., M 3. Calcul des dm(k), m= 1, 2, .., M La rétropropagation 1. Rétropropagation et calcul de j, j=1,2, … ,J 2. Actualisation des poids wm,j 3. Actualisation des poids vj,n

  24. Réf. : Zurada (1992)

  25. Réf. : Zurada (1992)

  26. Interprétation du réseau multicouches Point de vue probabiliste : Théorème de Ruck Sm(X)  fCm/X : densité de probabilité a posteriori

  27. Point de vue extraction de primitives 0 Extraction des primitives Discrimination linéaire . * . . . * * . . . 0 . 0 0 . 0 0 0 0 0 0 0 0 * 0 * * * * * *

  28. 1 1 Z1 X1 Y1 X2 X Y Zj Ym Xn wm,j vj,n ZJ YM XN Couche cachée J neurones Vecteur de sortie M neurones Vecteur d’entrée N neurones MLP à une couche cachée

  29. La propagation directe Calcul des Zj Calcul des Ym

  30. La rétropropagation Adaptation des poids synaptiqueswjk wj,k Erreur liée à Yk

  31. La rétropropagation Adaptation des poids synaptiques vij ? vj,n Erreur liée à Zj Comment calculer ?

  32. La rétropropagation Adaptation des poids synaptiques vij

  33. ALGORITHME: RÉSUMÉ • 1 debut initialisation des poids du MLP • faire propagation directe: pour chaque vecteur de donnée • - Affecter Xk= xn (n=1,..,N); envoyer les signaux aux neurones cachés • 4 - Chaque neurone caché calcule son entrée • - Appliquer sa fonction d’activation pour calculer sa sortie • - Chaque neurone de sortie calcule son entrée • 7 - Appliquer sa fonction d’activation pour calculer sa sortie • 8 rétropropagation:chaque neurone de sortie reçoit son étiquette tm • 9 - calculer les gradient • 10 - calculer les incréments* • 11 - rétropropager les gradients vers la couche cachée qui précède

  34. 12 - chaque neurone cachée calcule son correspondant selon • - chaque neurone caché calcule son gradient • - calculer les incréments * • - mise à jour des poids et biais* selon • jusqu’àcritère d’arrêt satisfait • 10 retournerles poids du MLP • 11 fin

  35. Résumé: propagation directe

  36. Résumé: rétro-propagation du gradient

  37. Exercice

  38. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1) (réf. Fausett, Prentice Hall, 1994) 1. Net de la couche cachée Propagation avant z_in1 = 0.4 + (0.0) (0.7) + (1.0) (-0.2) = 0.2 z_in2 = 0.6 + (0.0) (-0.4) + (1.0) (0.3) = 0.9 Y -0.3 0.5 0.1 1 Z2 Z1 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 X1 X2

  39. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. Propagation avant Y 2. Out de la couche cachée -0.3 z1 = 1 / (1+ exp (- z_in1)) = 0.550 0.5 0.1 1 z2 = 1 / (1+ exp (- z_in2)) = 0.711 Z2 Z1 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 X1 X2

  40. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. Propagation avant Y -0.3 0.5 0.1 1 Z2 Z1 3. Net de la couche de sortie 0.4 0.6 y_in = -0.3 + (z1) (0.5) + (z2) (0.1) = 0.046 0.7 0.3 -0.2 -0.4 1 1 X1 X2

  41. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. 1. Net de la couche cachée Propagation avant z_in1 = 0.4 + (0.0) (0.7) + (1.0) (-0.2) = 0.2 z_in2 = 0.6 + (0.0) (-0.4) + (1.0) (0.3) = 0.9 Y 2. Out de la couche cachée -0.3 z1 = 1 / (1+ exp (- z_in1)) = 0.550 0.5 0.1 1 z2 = 1 / (1+ exp (- z_in2)) = 0.711 Z2 Z1 3. Net de la couche de sortie 0.4 0.6 y_in = -0.3 + (z1) (0.5) + (z2) (0.1) = 0.046 0.7 0.3 -0.2 -0.4 1 1 4. Out de la couche de sortie X1 X2 y = 1 / (1+ exp (- y_in)) = 0.511

  42. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. 5. Erreur Rétro-propagation t - y = 1 – 0.511 = 0.489 d k t 6. dk b D a dk = (t – y) (y) (1 - y) = 0.122 Y -0.3 1 0.5 0.1 Z2 Z1 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 X1 X2

  43. dk Y -0.2695 0.5168 d j1 d j2 (-0.3) 0.1217 1 (0.5) (0.1) Z2 Z1 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 X1 X2 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. Rétro-propagation Dans le cas général : Dérivée de f (z_inj) 8. d j1 d j1 = (d k) (w1) (z1) (1 - z1)= 0.015 9. d j2 d j2 = (d k) (w2) (z2) (1 - z2)= 0.0025

  44. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. Rétro-propagation dk Y D wjk -0.2695 7. D wjk 0.5168 1 0.1217 D w01 = (h) (dk) = 0.0305 Z2 Z1 D w11 = (h) (dk) (z1) = 0.0168 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 D w21 = (h) (dk) (z2) = 0.0217 X1 X2

  45. 6.1 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (0,1). D=1 et =0,25. Rétro-propagation Y d j1 d j2 0.0305 (-0.3) 0.0168 0.0217 D vn1 D vn2 1 10. D vnp Z2 Z1 D v01 = (h) (d j1) = 0.038 D v11 = (h) (d j1) (x1) = 0.0 0.438 0.6006 D v21 = (h) (d j1) (x2) = 0.038 0.7 0.3006 D v02 = (h) (d j2) = 0.0006 1 1 -0.1962 -0.4 D v12 = (h) (d j2) (x1) = 0.0 X1 X2 D v22 = (h) (d j2) (x2) = 0.0006

  46. Exercice à faire: 6.2 : Trouver les nouveaux poids du réseau de la figure ci-dessous si on présente le vecteur d’apprentissage (-1,1) et on utilise une sigmoïde bipolaire comme fonction d’activation Seuls changent la dérivée de la fonction d’activation bipolaire et la mise à jour des poids entre l’entrée et la couche cachée. Pour le détail voir 6.1 Y -0.3 0.5 0.1 1 Z2 Z1 0.4 0.6 0.7 0.3 -0.2 -0.4 1 1 X1 X2

More Related