La dérivée partielle de C (qui peut dépendre de w et d autres variables), est. = lim C(w + δw) C(w)

Documents pareils
Coup de Projecteur sur les Réseaux de Neurones

Continuité et dérivabilité d une fonction

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Master IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1

Chp. 4. Minimisation d une fonction d une variable

CCP PSI Mathématiques 1 : un corrigé

Régression linéaire. Nicolas Turenne INRA

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

3 Approximation de solutions d équations

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Correction du Baccalauréat S Amérique du Nord mai 2007

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Projet Active Object

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Chapitre 1. L intérêt. 2. Concept d intérêt. 1. Mise en situation. Au terme de ce chapitre, vous serez en mesure de :

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Le modèle de Black et Scholes

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Raisonnement probabiliste

Fonctions de deux variables. Mai 2011

Limites finies en un point

Leçon N 4 : Statistiques à deux variables

Chapitre 5 : Flot maximal dans un graphe

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle

Fiche PanaMaths Calculs avec les fonctions sous Xcas

Cours Informatique Master STEP

Processus aléatoires avec application en finance

Happy birthday ZSet High performance computing dans ZSet

L exclusion mutuelle distribuée

FIMA, 7 juillet 2005

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Dérivation : cours. Dérivation dans R

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Pourquoi étudier l aérosol atmosphérique?

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Les structures de données. Rajae El Ouazzani

Travaux dirigés d introduction aux Probabilités

MODELES DE DUREE DE VIE

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

CHAPITRE 5. Stratégies Mixtes

OM 1 Outils mathématiques : fonction de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables

données en connaissance et en actions?

avec des nombres entiers

4 Distributions particulières de probabilités

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Vérifier la qualité de vos applications logicielle de manière continue

IFT1215 Introduction aux systèmes informatiques

Ordonnancement temps réel

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Algèbre binaire et Circuits logiques ( )

Introduction à MATLAB R

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Calcul différentiel sur R n Première partie

Table des matières. I Mise à niveau 11. Préface

Création intuitive des éléments d un paysage

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Quantification Scalaire et Prédictive

de calibration Master 2: Calibration de modèles: présentation et simulation d

Modélisation et simulation

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Module 7: Chaînes de Markov à temps continu

Modélisation aléatoire en fiabilité des logiciels

Circuits RL et RC. Chapitre Inductance

Probabilités III Introduction à l évaluation d options

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Évaluation et optimisation de requêtes

Peut-on imiter le hasard?

Arbres binaires de décision

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Chapitre 2 Le problème de l unicité des solutions

Fibonacci et les paquerettes

Unix/Linux I. 1 ere année DUT. Université marne la vallée

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Rappels sur les suites - Algorithme

Nombre dérivé et tangente

I. Polynômes de Tchebychev

Comparaison de fonctions Développements limités. Chapitre 10

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Analyse empirique et modélisation de la dynamique de la topologie de l Internet

Mario Geiger octobre 08 ÉVAPORATION SOUS VIDE

Continuité d une fonction de plusieurs variables

Quatrième partie IV. Test. Test 15 février / 71

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

L E Ç O N. Marches aléatoires. Niveau : Terminale S Prérequis : aucun

Traitement bas-niveau

Arbres binaires de recherche

Figure 3.1- Lancement du Gambit

Rétablissement d un réseau cellulaire après un désastre

Une application des algorithmes génétiques à l ordonnancement d atelier

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

1.6- Génération de nombres aléatoires

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Transcription:

Cours IFT6266, Optimisation à base de gradient 1 Petit rappel sur le gradient La dérivée partielle de C (qui peut dépendre de w et d autres variables), est (w) = lim C(w + δw) C(w) δw 0 δw donc cela nous dit comment un changement de w affecte C. Supposons que w soit un vecteur de paramètres et C une fonction de coût à minimiser. Si i < 0 cela signifie qu une augmentation (infinitésimale) du paramètre w i ferait baisser l erreur C. On voudrait donc changer w dans la direction du vecteur de gradient = (, 1, 2,..., m ). C est le principe de la descente de gradient: w t+1 w t η t (w t ) Si η t est suffisamment petit, cette procédure est garantie de réduire C à chaque fois. Si η t n est pas trop petit on aura convergeance vers un minimum de C, mais ça pourrait être un minimum local.

2 Calcul du gradient et graphe de flot On applique les règles de dérivation, et en particulier la règle de dérivation en chaîne est la plus utile: (u 1 (w), u 2 (w),..., u n (w)) n u i = u i La puissance de cette règle de dérivation en chaîne devient apparente quand on l applique récursivement. Supposons que l on peut décompose C(w) en une série d opérations différentiables, telles que le calcul peut se représenter par une séquence de ces opérations, où les intrants de chaque opération s obtiennent à partir des résultats des opérations précédentes (ou bien à partir de w ou à partir de quantités externes ou constantes). Notons v i le résultat de la i-ème opération, obtenu en appliquant la fonction f i à un sous-ensemble de {v 1,..., v i 1 }. Pour simplifier la notation on va prendre v 1 = w, et on s intéresse donc à obtenir v 1. On va le faire en calculant les résultats intermédiaires. Le temps total du calcul de C est donc la somme des temps de calcul de chacun des v i = f i (v 1,..., v i 1 ). On peut montrer que l on peut obtenir le gradient dans le même ordre de temps de calcul, en appliquant la règle de dérivation en chaîne récursivement. De même qu on visite et calcule les v i séquentiellement pour calculer C, on va faire la même chose pour le gradient, mais en sens inverse (en commençant par le dernier v i, qui est C lui-même). Pour chacun on va calculer où f j = j>i v j f j vaut 0 si v i ne rentre pas comme argument direct de la fonction f j. On initialise la récursion avec = 1 et on continue en rétro-propageant le gradient dans le graphe de flot, dans le sens inverse du calcul de C. Pour chaque noeud du graphe on a donc v i, calculé dans la passe avant du calcul de C en fonction de w, et, calculé dans la passe arrière de rétro-propagation du gradient, dans l ordre inverse. Des implantations génériques de cette procédure récursive existent et utilisent justement une structure de données en graphe, avec pour chaque noeud les champs v i et. Notons que les v i peuvent être scalaires, vecteurs, matrices, etc... Quel est l avantage de cette approche récursive? c est qu elle peut nous permettre d obtenir le gradient en un temps exponentiellement plus petit qu une approche naïve qui n exploite pas le fait que l expansion de C(w) contient des termes i=1

réutilisés à beaucoup d endroits. C est en fait une application du principe général de programmation dynamique en informatique. 3 Gradient stochastique Dans le contexte de l apprentissage, la fonction de coût est souvent exprimée comme une somme de termes indépendents associés à chaque exemple: C(w) = i Q(f(x i, w), y i ) = i C i (w) La descente de gradient ordinaire (appelée batch en anglais) utilise simplement pour calculer chaque modification de w. La descente de gradient stochastique utilise i et les paramètres sont modifiés après chaque exemple: w t+1 w t η i(w t ). Si on a un ensemble d apprentissage fini (qui ne grossit pas plus vite que le temps que ça nous prend pour faire ces mise à jour), on va recycler les exemples déjà vus (i.e., itérer plusieurs fois sur l ensemble d apprentissage). Avec cette méthode, l apprentissage se fait généralement de manière beaucoup plus rapide (à cause de la redondance présente dans les exemples), et de manière plus robuste au problème des minima locaux. L apprentissage par descente de gradient stochastique est un cas particulier de ce qu on appelle l apprentissage on-line, ou exemple par exemple. Considérez un ensemble d entraînement qui est l union de deux copies d un même sous-ensemble d exemples. Dans ce cas il est clair que la descente de gradient batch va faire deux fois le calcul des gradients, pour rien, alors que la descente de gradient stochastique ira aussi vite que si on avait pas fait de copie des données. L application de cette idée donne lieu au fait que la descente de gradient stochastique devient proportionnellement de plus en plus efficace par rapport aux méthodes batch au fur et à mesure que le nombre d exemples augmente. On voit aussi clairement que quand ce nombre d exemples tend vers l infini, on ne peut pas utiliser les méthodes batch (puisque celles-ci requièrent plusieurs itérations sur l ensemble d apprentissage, et qu on a seulement le temps d en faire UNE), mais on peut utiliser une méthode on-line comme la descente de gradient stochastique, et obtenir la convergence de l apprentissage. Dans le cas où nous avons non pas un ensemble fixe d exemples mais une SOURCE d exemples (par exemple les données arrivent en temps réel

de la télé), à un taux comparable ou plus élevé que le temps requis pour traiter (et faire une mise à jour des paramètres) chaque exemple, alors nous n avons pas le choix d utiliser une méthode on-line. Au mieux nous pouvons stocker une quantité limitée d exemples à la fois et faire des mini-batch, mais nous ne pouvons engoufrer tout l ensemble d exemples et faire plusieurs itérations dessus. Cela élimine la grande majorité des méthodes d optimisation numérique classiques, qui supposent que l on peut calculer C(w) un grand nombre de fois pour différentes valeurs de w. Pour ce qui est des minima locaux et aussi pour mieux comprendre la nature du gradient stochastique, il faut voir i(w t) comme un estimateur sans biais de (wt). Cela est clairement vrai puisque la moyenne des i(w t) multiplicative près) à (wt). Donc i (w t ) = (w t) + bruit est égal (à une constante où le bruit est de moyenne nulle. Un autre facteur intéressant est que sous l hypothèse i.i.d. des données, les i(w t) sont i.i.d. entre eux. Donc la moyenne d un petit nombre d entre eux (une mini-batch ) devient rapidement un bon estimateur de leur espérance, et ce à un coût de calcul considérablement moindre (et le bruit diminue en 1 sur la racine carrée de la taille de la mini-batch ). Avec le gradient stochastique, on devrait penser non pas en terme d une valeur unique pour w t mais plutôt en fonction d un nuage de valeurs, car w t va s agiter de manière aléatoire à cause du bruit, et c est le nuage dans son ensemble qui se déplace au fur et à mesure que l on descend vers des valeurs plus faibles de C. La taille de ce nuage est proportionnelle au bruit et au pas de gradient η. Le nuage ne pourra pas rentrer dans un trou, ou un bol, qui est plus mince que le nuage lui-même. On va donc éviter les minima locaux pointus, qui sont ceux que l on veut justement éviter le plus (ils donnent généralement lieu à une mauvaise généralisation car ils correspondent à des solutions qui requièrent une grande précision en w, donc une classe de fonctions plus grande, et correspondent généralement à des solutions peu stables par rapport au tirage particulier des exemples d apprentissage). Avec cette vision des choses, on voit aussi pourquoi il sera important de graduellement réduire η si on veut descendre au fond du bol de notre minimum final. On peut évidemment utiliser le même truc du calcul efficace du gradient par rétropropagation dans un graphe de flot, mais avec C i comme noeud terminal du graphe.

4 Convergence de la descente de gradient Dans le cas de la descente de gradient ordinaire comme celui de la descente de gradient stochastique, on peut garantir asymptotiquement la convergence vers un minimum (qui peut être local) si les pas de gradients η sont positifs et sont graduellement réduits: η t = et t=1 ηt 2 < t=1 Voir la thèse de Léon Bottou sur le site du cours pour des preuves de la convergence. En pratique on peut prendre un pas de la forme η t = η 1 1 + t/c et on se retrouve avec deux hyper-paramètres η 1 (le pas de gradient initial) et c (la vitesse de décroissance), qu il faudra estimer en essayant différentes valeurs. On peut commencer avec c =, donc un pas constant, pour choisir η 1, en se basant sur la vitesse de convergence initiale. Ensuite, on choisira c en se basant sur la convergence finale. Ce que l on peut espérer c est qu une fois ce choix fait, il sera relativement stable par rapport à des variations mineures de nos données et de notre classe de fonctions.