1 / 62

Les réseaux de neurones (artificiels = ANN)

Les réseaux de neurones (artificiels = ANN). J.Schwindling CEA Saclay. Introduction. Introduits dans notre domaine il y a juste 20 ans Pendant ~ 10 ans, souvent considérés avec méfiance (boîte noire) Mieux compris (et utilisés) depuis 10 ans

hanae-ross
Download Presentation

Les réseaux de neurones (artificiels = ANN)

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. Les réseaux de neurones(artificiels = ANN) J.Schwindling CEA Saclay

  2. Introduction • Introduits dans notre domaine il y a juste 20 ans • Pendant ~ 10 ans, souvent considérés avec méfiance (boîte noire) • Mieux compris (et utilisés) depuis 10 ans • De nombreuses applications des réseaux de neurones dans notre domaine • http://www.slac.stanford.edu/spires/find/hep/wwwcitesummary?rawcmd=FIND+T+NEURAL+NETWORK&FORMAT=www&SEQUENCE=ds%28d%29 • http://cdsweb.cern.ch/search?cc=Articles+%26+Preprints&ln=fr&jrec=11&p=neural+network

  3. IEEE Transactions on Neural Networks 1995 - 1998 Avertissement • Ce cours ne parlera que d’un type d’ANN: le perceptron multi-couches (MLP = Multi-Layer Perceptron) • Simple… mais permet de résoudre de nombreux problèmes • Le plus utilisé (je crois) • … le seul que je connaisse

  4. Les deux visions des MLP • La vision neurobiologique: • Historiquement à l’origine des ANN • Souvent la seule décrite dans les livres / articles • Parfois utile comme « image » du fonctionnement d’un ANN • La vision mathématique: • Assez simple • Beaucoup plus précise • Permet de répondre à un certain nombre de questions • Pour chacune de ces visions, je décrirai: • Ce qu’est un MLP • Ce qu’est l’ apprentissage • Conséquences / applications

  5. Vrai ou faux ? • Les MLP sont utilisés pour la classification de données • La sortie d’un MLP est binaire (0 / 1) • Pour certains problèmes, il est nécessaire d’utiliser 2 couches cachées • Un MLP est entraîné par la méthode de rétro-propagation des erreurs Incomplet Faux Faux Charabia

  6. Pour ceux qui veulent essayer… • … les exemples (simples) montrés dans ce cours sont disponibles dans /afs/cern.ch/user/s/schwind/public/sos2008/cours_mlp.tgz (12 Mo) • Définir le chemin vers root (cf source setup.csh dans cours/ ) • Dans chaque répertoire, compiler avec gmake • Ils utilisent MLPfit comme librairie MLP et root pour la partie graphique • On peut probablement utiliser aussi TMultiLayerPerceptron dans root directement • Les transparents du cours + les films sont dans cours.zip

  7. Lectures conseillées • Neural Networks for Pattern Recognition Christopher M. Bishop Clarendon Press Oxford (1995) • Practical Methods of Optimization R.Fletcher 2nd edition, Wiley (1987) • Sur le web: ftp://ftp.sas.com/pub/neural/FAQ.html

  8. La vision neurobiologique

  9. Si somme < 0: 0 Sinon : 1 x * +1 y * +1 x + y -2 1 * -2 entrées somme sortie poids Qu’est-ce qu’un réseau de neurones artificiel ? W.S. McCulloch & W. Pitts (1943). “A logical calculus of the ideas immanent in nervous activity”, Bulletin of Mathematical Biophysics, 5, 115-137. • Ensemble d’unités de calcul simples (les neurones) reliées de façon complexe (cerveau humain 1011 neurones, 104 connexions par neurone) • Imaginés dans les années 40 (Mac Culloch et Pitts, Turing, …) • Comprendre comment le cerveau peut réaliser certaines tâches qu’un ordinateur à du mal à réaliser • Un modèle simple de neurone peut réaliser des fonctions logiques de base (ET, OU, NON)

  10. j wij i k x1 wjk xn xk = w0k + Sjwjkyj yk = A(xk) Le perceptron multi-couches Couche d’entrée Couche de sortie Couche(s) cachée(s) • Neurones organisés en couches • 0, 1, 2… couches cachées • Réseau n1 – n2 – n3 • Information se propage dans un seul sens (« feed-forward ») • La fonction A(x) (fonction d’activation) est • linéaire ou non pour le (ou les) neurone(s) de la couche de sortie • non-linéaire pour les neurones cachés, de type 1/(1+e-x) (« sigmoïde ») • Les paramètres w s’appellent les poids (« weight ») • y = mlp(x, w)

  11. La détermination des poids w • Les paramètres w sont déterminés de façon itérative durant une phase d’apprentissage afin de résoudre un problème donné • Méthode: • Boucler sur les exemples d’un lot d’apprentissage (= 1 époque) • Comparer pour chaque exemple la sortie du réseau et la sortie désirée (« apprentissage supervisé ») • Modifier après chaque exemple les poids du réseau (cf transparent suivant) • Recommencer en 1 « plusieurs fois » • Après la phase d’apprentissage, le réseau doit être capable de généraliser (donner une réponse correcte sur un exemple nouveau)

  12. Modifier les poids du réseau • La méthode pour modifier les poids du réseau est (malheureusement) souvent appelée « méthode de la rétropropagation de l’erreur » • Sans doute dû à Learning representations by back-propagating errors, D.E.Rumelhart et al., Nature vol. 323 (1986), p. 533

  13. j k i wij wjk yk = A(xk) xk = Sjwjkyj dkwjk dj wij dk dj wij = wij – hdj yi La rétropropagation de l’erreur 1.Présenter un exemple au réseau, calculer la sortie yk, comparer à la réponse attendue dk dk = A’(xk)(yk – dk) Poids initiaux aléatoires petits autour de 0 (dans nos exemples uniformes entre -0.5 et 0.5) 2. Calculer dj = A’(xj) Skdk wjk « Rétropropagation de l’erreur » Paramètre d’apprentissage < 1, à optimiser selon le problème 3. Modifier les poids selon la formule: wijt+1 = wijt – hdj yi • P.Werbos, thèse de l’université de Harvard (1974), publiée dans • The Roots of Backpropagation, Wiley-IEEE (1994) • Learning representations by back-propagating errors • D.E.Rumelhart et al., Nature vol. 323 (1986), p. 533 • Learning processes in an assymetric threshold network • Y. le Cun, Disordered Systems and Biological Organization, • Springer Verlag, Les Houches, France (1986), p. 233

  14. 1 0 0 1 Le perceptron multi-couches ..sans couche cachée… 1 • F. Rosenblatt (1960) • La surface w0 + Siwijxi = 0 est un hyperplan dans l’espace des n variables d’entrée  le réseau réalise donc une séparation linéaire discrimante • Remarques: • Le vecteur w = (w1, …, wn) est orthogonal à l’hyperplan • La distance de l’hyperplan à l’origine est – w0 / ||w|| • Un réseau sans couche cachée ne peut donc pas résoudre des problèmes non linéairement séparables (ex: xor) w1 : x = w0 + Siwixi y = A(x) i wi : wn n Vecteur w = (w1, … wn) x2 Hyperplan w0 + Siwijxi = 0 x1 cours/linear

  15. Classification dans plusieurs catégories i • Dans le cas où l’on souhaite classer des événements dans plusieurs catégories K: • K neurones de sortie, dont la réponse est yk • On entraîne le réseau à répondre yk = 1 si l’exemple appartient à la catégorie k, 0 sinon • Après entraînement du réseau, on associe à un événement la classe du neurone qui donne la plus grande sortie • Dans le cas d’un réseau sans couche cachée, on peut montrer que le réseau divise l’espace en k régions convexes: yk(x) = a yk(xA) + (1-a) yk(xB) > yj(x) pout tout j ≠ k • Rq: en réalité K-1 neurones sont suffisants k wik Rj Rk xA xB x = a xA + (1-a) xB avec 0 ≤ a ≤ 1

  16. Classification de données (la vision traditionnelle) • Chaque neurone de la 1ere couche cachée sépare l’espace des variable par un hyperplan • Les neurones de la (ou des) couche(s) suivante(s) réalisent une fonction logique quelconque de ces ½ espaces • Exemple 1: reproduction de 2 coupures simples • Réseau 2-10-1, 2000 exemples • Mauvaise classification (coupure à 0.5) = 0.4% (dépend de la taille du réseau, du nombre d’exemples, de la durée de l’apprentissage) cours/classify_square

  17. Exemple du « xor » cours/xor 100 exemples, 2-3-1 100 exemples, 2-5-1 Courbe mlp(x, w) = 0.5 (« decision boundary ») Un très petit réseau réalise une assez bonne séparation du petit lot d’exemples Trop de paramètres, trop peu d’exemples  des zones où le réseau se trompe

  18. Exemple du xor (2) 1000 exemples, 2-5-1 1000 exemples, 2-10-1 …solution: augmenter le nombre d’exemples en peuplant au mieux l’espace des variables …puis augmenter la taille du réseau.

  19. Un autre exemple cours/classify_square • Avec un réseau 2-20-1, taux d’erreur = 2.5%

  20. Un danger: le sur-apprentissage • Apparaît lorsqu’il y a trop de paramètres • Attention: • Il peut ne pas y avoir sur-apprentissage même si le nombre de paramètres est > nombre d’exemples • il peut y avoir sur-apprentissage même si le nombre d’exemples est > nombre de paramètres • Solutions: • Augmenter le nombre d’exemples • Tester la performance du réseau sur un lot indépendant (lot de test) Modèle trop simple Modèle correct Sur-apprentissage Sp(mlp(xp,w) – dp)2 Lot de test Lot d’apprentissage

  21. Un exemple grandeur nature: un réseau qui apprend à lire • Reconnaissance de chiffres manuscrits • Base de données de 60000 + 10000 chiffres manuscrits (taille 28 x 28 pixels) disponible sur: http://yann.lecun.com/exdb/mnist/ • Entrées = 784 pixels, valeurs entre 0 et 255 (ramenées entre 0 et 1 en entrée du réseau) • Classification dans 10 catégories  10 neurones de sortie cours/digits

  22. Résultats Taux d’erreur (%) • Exemple: réseau 784 – 300 – 10  ~ 238000 paramètres ! • Taux d’erreur: • On attribue à chaque exemple de test la classe du neurone de sortie qui donne la plus grande valeur • Taux d’erreur ~ 3.6% après 50 époques (~ 2.5 heures) • Erreurs sur des cas difficiles, mais aussi sur des exemples faciles… 3.6 (%) Des exemples de chiffres mal classés

  23. Gradient-Based Learning Applied to Document Recognition Intelligent Signal Processing, 306-351, IEEE Press, 2001 Y. LeCun, L. Bottou, Y. Bengio and P. Haffner http://yann.lecun.com/exdb/publis/index.html Résultats (2) • Classification linéaire: taux d’erreur = 12% • MLP: 2.5 – 5% • Réseaux spécifiques (utilisent le caractère 2d du problème): 0.7 – 1% Remarque: ce genre de techniques est utilisé par les banques pour la lecture automatique des chèques, la poste pour la lecture des adresses, …

  24. En résumé • Un perceptron multi-couches peut être entraîné à « reconnaître » des formes (écriture manuscrite, signal / bruit de fond, …) • Il sélectionne un sous-espace de l’espace des variables par combinaison logique de demi-espaces • Les poids sont fixés de façon itérative pendant la phase d’apprentissage

  25. La vision mathématique

  26. j wij i x1 wjk k xn yk = A(xk) xk = w0 + Sjwjkyj Qu’est-ce qu’un perceptron multi-couches ? • Un MLP avec une couche cachée et un neurone de sortie linéaire est une combinaison linéaire de fonctions sigmoïdes • Théorème: toute fonction continue de Rn R peut être approximée, à une précision quelconque, par une combinaison linéaire de sigmoïdes • Remarques: • Généralisation à Rn  Rm immédiate • Vrai avec toute fonction croissante bornée (« squashing function »)  vous pouvez utiliser atan, tanh si vous préférez • Ne dit pas combien de neurones sont nécessaires • Une couche cachée suffisante • Justifie d’utiliser un neurone de sortie linéaire Multilayer Feedforward Networks are Universal Approximators K.Hornik et al., Neural Networks, Vol. 2, pp 359-366 (1989)

  27. Noir: f(x) = sin(x)/x Bleu: mlp(x) Rouge: 10 * (mlp(x) – f(x)) Exemple de sin(x)/x • Approximation de la fonction f(x) = sin(x)/x par un réseau 1-6-1 dans le domaine 0 – 20 • Lot d’apprentissage = 100 points équidistants, lot de test = 100 points décalés des précédents • On constate que: • L’ajustement commence par le plus haut pic (le réseau « apprend » d’abord le trait le plus caractéristique) • Il y a des paliers dans l’apprentissage (« ravins » dans la fonction d’erreur) cours/fun1d

  28. Application: mesure de la position des photons dans ATLAS • Mesure de la position des photons dans le calorimètre électromagnétique par barycentre de l’énergie déposée dans 3x3 cellules • Taille finie des cellules  la position reconstruite est biaisée vers le centre des cellules  forme en « S » (S-shapes) • La forme exacte des S-shapes dépend de la position dans le détecteur et de la profondeur de la gerbe  f(h*, h, p) h

  29. Mesure de la position des photons dans ATLAS: résultats • Réseau ~ 3-10-1 entraîné avec quelques milliers de photons simulés à différents h • La résolution en position obtenue est environ 10-15% meilleure que les corrections « manuelles »

  30. Et la classification de données ? • Préliminaire: • On a déjà vu (fit des s-shapes) qu’un réseau approxime la fonction f(x) = <yi>(x) • Démonstration: Si(mlp(xi) – yi)2 = Si(mlp(xi) - <yi> + <yi> - yi)2 = Si(mlp(xi) - <yi>)2 + Si(<yi> - yi) 2 + 2 Si(mlp(xi) - <yi>)(<yi> - yi) • Exemple: • Exemples = 200 points sin(x)/x + rand(-0.05, +0.05) • Variance = 0.159 • Test: 200 points sans smearing  le réseau apprend bien la fonction sous-jacente Lot d’apprentissage Lot de test variance tend vers 0 cours/fun1d_smear

  31. Rq: ajustement de mlp(x) sur des mesures avec erreurs • Si votre package MLP permet de pondérer les exemples: E = Spwp (mlp(xp,w)- dp)2 alors vous pouvez ajuster la fonction mlp(x, w) sur des mesures (xp, sp) en posant wp = 1 / sp2

  32. Oui mais… la classification de données ? • Entraîné avec dp(x) =1 quand l’exemple  S et dp(x) = 0 quand l’exemple  B, le fonction ajustée par le réseau est la probabilité p(S | x) de signal sachantx • En effet, <dp>(x) = 1 x p(S | x) + 0 x p(B | x) • Exemple à une variable: • Signal gaussien (1, 1) x 30% • Bdf gaussien (0, 1) x 70% • Réseau 1-2-1, 500 époques 70% Bruit de fond 30% Signal P(S | x) mlp(x) Sortie du réseau P(x | B) * P(B) cours/classify P(x | S) * P(S)

  33. Attention • La fonction mlp(x, w*) approxime la « vraie » (= dans les données) valeur de p(S|x) uniquement si les probabilités a priori P(S) et P(B) sont exactes (section efficaces). • En général (recherche d’un signal rare), ce n’est pas possible (besoin de couvrir tout l’espace des entrées avec un nombre suffisant d’événements) • Mais on peut recalculer la vraie valeur de p*(S|x) par la formule: p*(S|x) / (1-p*(S|x)) = P*(S) / P*(B) * P(B) / P(S) * p(S|x) / (1-p(S|x)) Vraies prob. a priori Prob. a priori utilisées pendant l’apprentissage

  34. Quelques conséquences • La sortie du réseau n’est pas binaire, ni nécessairement comprise strictement entre 0 et 1 (approximation de la probabilité) • Une sortie différente de 0 ou 1 n’indique pas que le réseau n’a pas convergé (zones de l’espace ou le signal et le bdf se superposent) • En particulier, une sortie toujours différente de 1 pour le signal (par exemple) est possible (pas de région ou il y a seulement du signal) • Insister sur les exemples mal classés après une première phase fait perdre la propriété d’approximation de p(S|x) • Classification dans K catégories: Skmlpk(x, w*) = 1

  35. Utilisation de la sortie du réseau • Minimiser le taux d ’erreur: • Si le réseau est entraîné avec les probabilité a priori attendues, une coupure à 0.5 (ou attribuer à l’exemple considéré la classe du neurone de sortie le plus grand) minimise le taux d’erreur • Minimiser le risque: • Prendre du signal pour du bruit de fond ou inversement n’a pas forcément les mêmes conséquences  on peut choisir une coupure différente • Seuil: • Dans certains cas, on n’attribue l’exemple à une certaine classe que si la valeur du neurone correspondant est > seuil. Si aucun neurone ne donne une sortie > seuil, traitement particulier.

  36. Estimation de l’erreur • La fonction mlp(x, w*) (w* = poids après apprentissage) est une estimation de la fonction ajustée par la réseau • L’erreur sur cette estimation peut: • Se calculer analytiquement(voir par exemple Confidence Interval Prediction for Neural Network Models, George Chryssoloiuris et al., IEEE Transaction on Neural Networks, Vol. 7, No. 1, January 1996) • Etre estimée expérimentalement, par exemple par une méthode de bootstrap: • Tirer N exemples au hasard parmi les N exemples d’apprentissage • Entraîner le réseau • Calculer la sortie du réseau sur les exemples de test • Retourner en 1, faire B expériences • Calculer la moyenne et la variance des B résultats cours/fun1d_bootstrap

  37. La vision mathématique de l’apprentissage • Trouver les poids w consiste à minimiser l’erreur E(w) sur le lot d’apprentissage • On pourrait essayer de minimiser E(w) avec Minuit mais: • Grand nombre de paramètres (réseau 2-3-1 = 13 paramètres, 784-300-10  238510 paramètres) • On peut calculer la dérivée de E par rapport aux wij (= le gradient ) P exemples ep = erreur sur l’exemple p

  38. dj wij = wij – hdj yi Le calcul du gradient • Pour la couche de sortie: • Pour la couche précédente: • La « rétropropagation des erreurs » n’est autre que le calcul du gradient • E minimum  gradient = 0

  39. La méthode de Robbins-Monro A Stochastic Approximation Method H.Robbins et S.Monro, Annals of Math. Stat. 22 (1951), p. 400 • But: trouver le 0 d’une fonction f inconnue à partir de mesures de f(x) entachées d’erreur • Solution: mesurer f en des points successifs xt+1 = xt - ht f(xt) • Méthode de minimisation appelée « minimisation stochastique »: remplacer: • Trouver le 0 d’une fonction f par 0 du gradient de E(w) • Estimation de f par f(xt) par

  40. Minimisation stochastique: conditions de convergence On Stochastic Approximation, A.Dvoretsky, Proc. 3rd Berkeley Sym. on Math. Stat. and Prob., J.Neyman (ed.) (Berkeley: University of California Press, 1956), p. 39 • mesures successives non corrélées -> mélanger les exemples • assurer la décroissance de l’erreur: • tout en laissant le temps aux erreurs de se moyenner: • donc ht = h0 / tk avec 1/2 < k < 1 convient • en pratique, ht souvent pris constant: pas de garantie de convergence

  41. Minimisation stochastique: vitesse de convergence • Méthode lente, connu depuis longtemps: • «This method does not converge as rapidly as methods which make use of second derivatives, but is much simpler and can be easily implemented by local computations in parallel hardware» D.E.Rumelhart et al., Nature • «L’erreur due au hasard a essentiellement pour effet de diminuer la vitesse à laquelle on peut conduire une recherche tout en gardant la certitude de trouver finalement l’optimum. En l’absence d’erreur expérimentale, il importe donc de ne pas utiliser les méthodes stochastiques, trop lentes, et de recourir aux techniques déterministes, plus rapides. C’est là un point qu’on n’a pas très bien compris dans le passé, et l’application de méthodes stochastiques à des problèmes déterministes à parfois donné des résultats décevants» D.J. Wilde: Méthodes de recherche d’un optimum, Dunod, 1966

  42. Exemple de l’ajustement d’une droite • But: trouver les paramètres a et b de la droite y = 2 x + 1 à partir de 10 points (xi, yi) sur [0, 1] • Fonction à minimiser: E(a, b) = S(a xi +b – yi)2 • Remarque: quadratique en a et b (problème linéaire) • Une époque = boucler sur tous les exemples = 10 pas dans l’animation • On calcule donc pour chaque exemple ide/db = axi + b – yi, de/da = xi * de/db, et on modifie a et b selon a a – hde/da b  b – hde/db ( h = 0.5 dans le film) cours/minim/fit_droite_stoch

  43. Un exemple non quadratique • Ajustement de la fonction • Sur 10 points (xi sur [-1,1], yi = f(xi; a =0.3, b=4) • Départ de a = 5, b = 2, h ajusté pour permettre une convergence pas trop lente

  44. Minimisation stochastique: des variantes • Terme de moment  ne pas défaire ce qui a été fait sur l ’exemple précédent • Ne modifier les poids qu’après avoir vu tous les exemples (« batch » ou « offline » backpropagation)  cumule tous les défauts: mauvaise direction et mauvaise longueur des pas • Adaptation de la longueur des pas (« adaptive step size method ») • Attribué à F.M. Silva, L.B. Almeida: Acceleration techniques for the backpropagation algorithm, Neural Networks, ed.: L.B.Almeida, C.J.Wellekens (1990) Springer. Speeding up backpropagation, Advanced Neural Computers, Ed: R.Eckmiller (1990) Elsevier • Idée plus ancienne: H.Kesten: Accelerated Stochastic Approximation, Annals of Math.Stat. 29 (1958), pp. 41-59

  45. Les méthodes de minimisation sans contrainte • Practical Methods of Optimization • R.Fletcher, 2nd edition, Wiley (1987) • Programmation Mathématique • M.Minoux, Dunod (1983) • Utilisent toutes le calcul du gradient de l’erreur totale, noté g(w) dans la suite • Méthodes itératives • calculer le gradient g(wt) • en déduire une direction dt • trouver l* qui minimise E(wt + ldt) • faire wt+1 = wt + l* dt • Sont construites et convergence démontrée pour des formes quadratiquesq(x) = xT A x + bT x + c • approximation locale de E(w) • peut nécessiter de réinitialiser la direction de temps en temps (> Nw) • la recherche le long de la direction garantit la décroissance Une époque • Choix de la direction: • plus grande pente • gradients conjugués • Méthode(s) quasi-Newton

  46. La méthode de la plus grande pente (steepest descent) Méthode générale pour la résolution des systèmes d’équations simultanées A.L. Cauchy, Comptes Rendus Acad. Sc. Paris, XXV, (1847), p.536 • dt = -g(wt) • Recherche du minimum le long de la direction dt • Les pas successifs sont donc perpendiculaires  oscillations Vallée étroite et presque horizontale

  47. Méthode des gradients conjugués Methods of conjugate gradients for solving linear systems M.R.Hestenes, E.Stiefel, J. Res. Nat. Bureau of Standards,49, (1952), p.409 • Définition: si A est une matrice définie positive, on dit que deux vecteurs u et v sont conjugués par rapport à A si uT A v = 0 • Pour une forme quadratique q(x) = xT A x + bT x + c avec A définie positive (minimum local), on peut montrer que: • Si on part d’un point w0 et que, à chaque étape t, on sait générer une direction dt conjuguée par rapport aux directions précédentes (d0 = -gradient, par exemple) • Si de plus les points wt successifs sont obtenus par minimisation le long de dt-1 • Alors, à chaque étape t, le gradient en tout point wt + ldt est perpendiculaire à l’espace engendré par les di , i<t • Conséquence: à n dimensions, on arrive au minimum en n étapes • Choix des directions conjuguées: • dt+1 = -gt + bt dt • équivalentes pour problème quadratique • non équivalente en général

  48. Méthode de Newton • Idée: approximer localement l’erreur par une forme quadratique q(x) = xT A x + bT x + c • Pour une forme quadratique dont le minimum est x*: • g(x) = A x + b • g(x*) = 0 = A x* + b • D’où x* = x – A-1 g • Si la matrice H des dérivées secondes (le Hessien) est connue, on peut utiliser la méthode de Newton dt = H-1 gt • Dans le cas des MLPs, le Hessien est en principe calculable, mais calcul de H-1 difficile (n3 opérations, stabilité numérique), d’où méthodes quasi-Newton

  49. BFGS = Broyden Fletcher Goldfarb Shanno The Convergence of a Class of Double-rank Minimization Algorithms Broyden, C. G. Journal of the Institute of Mathematics and Its Applications 1970, 6, 76-90 A New Approach to Variable Metric Algorithms Fletcher, R. Computer Journal 1970, 13, 317-322 A Family of Variable Metric Updates Derived by Variational Means Goldfarb, D., Mathematics of Computation 1970, 24, 23-26 Conditioning of Quasi-Newton Methods for Function Minimization Shanno, D. F. Mathematics of Computation 1970, 24, 647-656 • Idée: approximer H-1 itérativement par Gt en partant d’une matrice G0 définie positive(l’identité, par exemple) • Formule de Broyden, Fletcher, Goldfarb, Shanno:si dt = wt+1 - wt, gt = gt+1 - gt • Propriétés: • si les wt sont obtenus par recherche unidimensionnelle, alors Gt reste définie positive • pour une fonction quadratique avec A définie positive, Gt -> A-1 en n itérations

  50. Illustration de la convergence de ces méthodes • Gradients conjugués ou BFGS (pas de différence sur ces petits exemples) Potentiel quadratique à 2d  converge en 2 itérations

More Related