La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Réseaux de neurones artificiels « la rétropropagation du gradient » S. Canu, laboratoire.

Présentations similaires


Présentation au sujet: "Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Réseaux de neurones artificiels « la rétropropagation du gradient » S. Canu, laboratoire."— Transcription de la présentation:

1 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Réseaux de neurones artificiels « la rétropropagation du gradient » S. Canu, laboratoire PSI, INSA de Rouen équipe « systèmes dinformation pour lenvironnement » asi.insa-rouen.fr/~scanu

2 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Histoire … 1940 : La machine de Turing 1943 : Le neurone formel (McCulloch & Pitts) 1948 : Les réseaux d'automates (Von Neuman) 1949: Première règle dapprentissage (Hebb) : Le perceptron (Rosenblatt) 1960 : L'adaline (Widrow & Hoff) 1969 : Perceptrons (Minsky & Papert) les limites du Perceptron besoin d'architectures + complexes, Comment effectuer l'apprentissage ? On ne sait pas ! 1974: Rétropropagation (Werbos) pas de succès !?!?

3 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Histoire … (suite) 1986: Rétropropagation (Rumelhart & McClelland) nouvelles architectures de Réseaux de Neurones applications : - reconnaissance de lécriture - reconnaissance/synthèse de la parole - vision (traitement dimages) 1990: « Société de lInformation » nouvelles applications - recherche/filtrage dinformation dans le Web - extraction dinformation / veille technologique - multimedia (indexation, …) - data mining besoin de combiner différents modèles

4 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Plan Rappels : –Moindres carrés stochastiques –Algorithmes de gradient –Perceptron Multicouches Principe de la rétropropagation Algorithmes de rétropropagation

5 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 impossible ( ! ) méthode itérative : w init Répéter w new = w old - Tant qu il reste des mals classés ou que le coût névolue plus Algorithme itératif de gradient Moindres carrés « stochastiques » ADALINE (Widrow Hoff 1960)

6 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Le gradient est orthogonal aux lignes diso-coût : argument à la « Taylor » Algorithme de gradient + Minimum du coût Lignes diso-coût : J(W) = constante Direction du gradient J(W) w1w1 w2w2 Illustration dans le plan (w 1,w 2 )

7 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Algorithme de gradient Illustration dans le plan (J(w),w) : la « descente » de gradient w J(w) Minimum du coût Direction du gradient J(W)

8 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Le gradient : Approximation linéaire (Adaline) Perceptron : =1 Neurone formel : on remplace par une fonction dérivable ex : (x)=th(x) fonction sigmoïde 3 solutions

9 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Perceptron Multi-Couches Réseau feedforward (1986) Fonction de transfert tanh(.) (sauf couche de sortie linéaire) Méthode dapprentissage (supervisé) usuelle : –rétropropagation du gradient x1x1 xixi xn0xn0 y

10 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Notations Biais : – avec x 0 =1 –idem pour toutes les couches(ex : PMC à une couche cachée) –W 1 =[w ji ] –W 2 =[w kj ] j=1:n 1 k=1:n 2 i=1:n 0 xixi x 0 = 1 (1) x 0 =1 ykyk w ji w kj

11 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Propagation Calcul des sorties du réseau en propageant les valeurs de x de couche en couche : w ji w kj xixi xjxj (1) ykyk j=1:n 1 k=1:n 2 i=1:n 0

12 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Algorithme de propagation Function y = propag(x,w1,w2) a1 = [x ones(n,1)]*W1; x1 = tanh(a1); a2 = [x1 ones(n,1)]*W2; y = a2; Parallélisé sur les exemples (si x est une matrice, ça marche !)

13 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Calcul de l erreur Fonction de coût : –on présente un exemple x=[x 1... x n 0 ] (avec y des sortie désirée) –on calcule la sortie correspondante y =[y 1... y n 2 ] –erreur : –coût associé à l exemple : –coût global :

14 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Calcul du gradient Mise à jour de w ji et w kj selon une règle delta: Problème = calcul de et

15 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Couche de sortie Calcul de pour un exemple fixé posons w kj xjxj (1) ykyk j=1:n 1 k=1:n 2

16 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Couche cachée Calcul de pour un exemple fixé w ji xixi j=1:n 1 i=1:n 0

17 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Algorithme de rétropropagation Function grad = retropropag(x,yd,w1,w2)... a1 = [x ones(n,1)]*W1; x1 = tanh(a1); a2 = [x1 ones(n,1)]*W2; y = a2; ERRk = -(yd-y).*(1-y.*y); GradW2 = [x1 ones(n,1)]'* ERRk ; ERRj = (w2(1:n2-1,:)*ERRk')'.*(1-x1.*x1); GradW1 = [x ones(n,1)]'* ERRj ; w1 = w1 - pas1.* GradW1; w2 = w2 - pas2.* GradW2;

18 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Exemple 1/4 x = [0.5 1] y des = [0.5 1] W 1 =[ ; ](pas de biais) W 2 =[1 1 ; 1 1] x 1 = 0.5 x2x2 (1) y 1 = n 1 =2n 2 =2n 0 =2 x 2 = 1 x1x1 (1) y 2 = a (1) =[ ] x (1) =[ ] a (2) =[ ] y = [ ]

19 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Exemple 2/4 x 1 = 0.5 x2x2 (1) err 1 = n 1 =2n 2 =2n 0 =2 x 2 = 1 x1x1 (1) err 2 = ERRk = [ ] GradW2 = [ ; ] ERRj = [ ] GradW1 =[ ; ]

20 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Exemple 3/4 MAJ de W1 et W2 Nouvelle propagation, etc... x 1 = 0.5 x2x2 (1) y 1 = n 1 =2n 2 =2n 0 =2 x 2 = 1 x1x1 (1) y 2 = w1 =[ ; ] w2 =[ ; ] y = [ ]

21 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Exemple 4/4 Evolution de y 1 et y y1y1 y2y2

22 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Gradient batch / séquentiel 2 façons d appliquer lalgorithme de rétropropagation : –« batch » : mise à jour des poids après la présentation de tous les exemples calculs et stockage plus lourds si trop d exemples –séquentiel : (on-line, stochastique) mise à jour des poids après chaque exemple besoin de tirer l exemple au hasard problèmes de convergence

23 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin façons d appliquer lalgorithme de rétropropagation : –« batch » : mise à jour des poids après la présentation de tous les exemples calculs et stockage plus lourds si trop d exemples –séquentiel : (on-line, stochastique) mise à jour des poids après chaque exemple besoin de tirer l exemple au hasard problèmes de convergence Gradient batch / séquentiel Moins de 5000 exemples, Matlab plus de 5000 exemples SNNS, SN, du C

24 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Pas dapprentissage Pas dapprentissage : –trop petit = convergence « lente » vers la solution –trop grand = risque doscillations… èheuristiques courantes : –diminuer le pas dapprentissage au fur et a mesure « à la main » en fonction de la forme de la surface d erreur è approximations : premier ordre èRétropropagation avec un moment dinertie èDelta-Bar-Delta, Rprop,... second ordre èQuickprop èLevenberg Marquard

25 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Moment dinertie (Rumelhart et al. 1986) avec | |<1 Delta-Bar-Delta (Jacobs 1988) –calcul d un « gradient moyen » –modification du pas dapprentissage selon la direction du gradient par rapport au gradient moyen Premier ordre 1/2 on accélère on freine

26 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Premier ordre 2/2 Rprop (Riedmiller and Braun 1993) –modification du pas dapprentissage selon la direction du gradient par rapport au gradient précédent –on borne le pas d apprentissage –un poids nest modifié que s il va « dans le bon sens » on accélère on freine

27 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Second ordre 1/2 Développement de Taylor de la fonction de coût : –H = matrice Hessienne, « le Hessien » de du coût –Calcul du gradient : –on cherche h / le gradient soit nul Problème = calcul de H -1

28 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Second ordre 2/2 Approximation du Hessien : –hessien = matrice diagonale –Quickprop (Fahlman 1988) on évite de calculer H –Il existe dautres méthodes qui calculent (partiellement) les informations du 2nd ordre è méthodes de gradient conjugué

29 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Conclusion –La rétropropagation est une méthode de gradient –on a un problème doptimisation à résoudre,….. …. Et tous les coups sont bon ! –On a un problème doptimisation non linéaire convexe si la fonction coût est quadratique –Soft : matlab (petits problèmes) - SN (gros problèmes)

30 Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Bibliographie Neural Networks : a comprehensive foundation - S. Haykin (Prenctice Hall) Neural Networks : a systematic introduction R. Rojas (Springer) The Handbook of Brain Theory and Neural Networks - M.A. Arbib (MIT Press) Self-Organizing Maps - T. Kohonen (Springer) Réseaux Neuronaux et Traitement du Signal - J. Hérault & C. Jutten (Hermès) Backpropagator s review : –des informations sur la rétropropagation –un petit tutoriel :


Télécharger ppt "Les réseaux de neurones pour lapprentissage ESSEC, le 28 Juin 2002 Réseaux de neurones artificiels « la rétropropagation du gradient » S. Canu, laboratoire."

Présentations similaires


Annonces Google