La descente de gradient
Ce que ce chapitre apporte 6 points
- Dire pourquoi une formule fermée n'existe pas en général.
- Écrire l'itération de la descente de gradient, et reconnaître les quatre régimes que produit le pas : ramper, converger, rebondir, diverger.
- Calculer à la main le gradient d'une erreur quadratique et le vérifier numériquement.
- Expliquer pourquoi la mise à l'échelle change le nombre d'itérations d'un facteur cent.
- Distinguer minimum local et minimum global, et dire quand cela compte.
- Comparer descente par lots, par mini-lots et stochastique.
Pourquoi il faut chercher
La formule fermée est l'exception, pas la règle. Elle existait au chapitre précédent parce que l'erreur y était une fonction quadratique des paramètres : annuler ses dérivées donnait un système linéaire, et un système linéaire se résout.
Il suffit de très peu pour perdre cela. Une fonction de sortie qui n'est pas l'identité, une pénalité qui n'est pas quadratique, deux couches de calcul l'une après l'autre : dans chacun de ces cas, annuler les dérivées donne un système qu'aucune méthode ne résout exactement.
Or l'objectif reste le même : trouver les paramètres qui rendent l'erreur minimale. Puisqu'on ne sait plus résoudre, on va chercher, et la seule information disponible en un point est la pente de l'erreur.
Partir d'une valeur quelconque des paramètres, puis répéter :
où est le gradient de l'erreur, c'est-à-dire le vecteur de ses dérivées partielles, et le pas d'apprentissage.
Les dérivées partielles et le gradient sont définis dans le chapitre de mathématiques sur les fonctions de plusieurs variables, et le fait qui justifie toute la méthode y est démontré : le gradient pointe dans la direction de plus forte croissance, donc son opposé dans celle de plus forte décroissance.
Le gradient pointe dans la direction où l'erreur monte le plus vite. On avance donc dans la direction opposée.
La distance est le produit du pas par la pente. Elle est donc grande là où c'est raide et petite là où c'est plat. La descente ralentit d'elle-même en approchant, ce qui est une propriété heureuse et non un réglage.
L'arrêt vient tout seul : au minimum, la pente est nulle, donc le déplacement aussi. L'algorithme se fige sans qu'on ait à lui dire de s'arrêter.
La figure ci-dessous déroule cela sur une parabole, l'erreur d'un seul paramètre, que son axe note . Le curseur du pas est le sujet du chapitre : il faut le pousser dans tous les sens.
La pente est nulle : plus aucun saut ne déplace quoi que ce soit. La descente est arrivée.
Pas bien réglé (0,25) : la descente arrive en quelques sauts, chacun plus court que le précédent.
Pas trop grand (0,9) : chaque saut dépasse le minimum et atterrit de l'autre côté, mais plus près. La descente rebondit et finit par arriver.
Pas au-delà de la limite (1,25) : chaque saut dépasse le minimum plus loin que le précédent. La position s'échappe et l'erreur part à l'infini.
Le cas exactement critique mérite d'être vu : à 0,5 la descente arrive en un seul saut, et à 1,0 elle saute éternellement entre 8 et sans jamais s'approcher.
Où se trouve la limite. Sur une erreur de la forme , dont le minimum est en , la pente vaut . Un pas change donc l'écart au minimum en .
Chaque saut multiplie ainsi la distance au minimum par , la valeur absolue de ce facteur ; un facteur négatif fait en plus changer de côté. Cette valeur absolue reste sous 1, donc la descente converge, tant que . Le facteur vaut exactement 0 pour , ce qui explique l'arrivée en un seul saut, et pour , ce qui explique le rebond éternel. Sur la parabole de la figure, , donc : un seul saut au pas 0,5, le rebond éternel au pas 1.
En dimension quelconque, est remplacé par la plus grande courbure de la surface d'erreur. La limite du pas est donc fixée par la direction la plus raide, alors que la vitesse d'arrivée est fixée par la direction la plus plate. C'est le problème du conditionnement, traité plus bas.
1.Pourquoi la droite du chapitre 5 se passait-elle de descente de gradient ?
2.En , la pente de l'erreur vaut 4, et le pas vaut 0,1. Où la descente place-t-elle le point suivant ?
3.Sur l'erreur , dont le minimum est en 2, la descente part de 8 avec un pas de 1,25. Où est-elle après un saut ?
Le gradient, calculé puis vérifié
L'erreur vaut . Ici est la ligne des attributs du relevé , et se lit « la prédiction du relevé » : chaque attribut multiplié par son coefficient, puis la somme.
Sa dérivée par rapport à la composante de vaut , où est l'attribut du relevé .
En notation matricielle, cela s'écrit , ce qui est exactement la ligne de code. Le code y nomme b le vecteur , et X @ b calcule d'un coup les prédictions de tous les relevés.
Le facteur vient du carré, et la division par rend l'erreur indépendante du nombre d'exemples, ce qui permet de garder le même pas quand la taille du jeu change.
Un gradient faux ne provoque pas d'erreur : il produit un apprentissage qui converge mal, ou vers autre chose, et l'on cherche alors le problème partout ailleurs. Quelques lignes de vérification épargnent des heures.
Utiliser la forme centrée, avec et : son erreur est en alors que la forme simple est en . Avec les deux gradients doivent coïncider sur cinq ou six décimales, ce que fait le bloc ci-dessus.
Le pas, en figure
Les deux courbes ne disent pas la même chose.
En haut, l'erreur. Elle décroît de façon lisse dans les trois cas qui convergent, et l'on n'y voit rien du rebond : à 0,95 la descente saute de part et d'autre du but, mais son erreur baisse quand même à chaque saut. Une courbe d'erreur qui descend n'est donc pas la preuve que le pas est bien réglé.
En bas, l'écart du coefficient au but. C'est là que tout se voit : le pas 0,005 rampe en ligne droite sans arriver, le pas 0,20 arrive en huit tours, le pas 0,95 zigzague de part et d'autre en s'approchant lentement, et le pas 1,05 zigzague en s'éloignant.
Le tableau confirme les valeurs : à 0,005 l'erreur reste à 339 alors que le plancher est à 2,16, et à 0,95 elle vaut 2,36, c'est-à-dire qu'après quarante tours elle n'est toujours pas arrivée.
Avec un pas de 0,95, l'erreur baisse à chaque tour et vaut 2,36 après quarante tours, pour un plancher de 2,16. Que peut-on en conclure ?
Le conditionnement, ou pourquoi la mise à l'échelle est indispensable
La figure explique pourquoi. À gauche, les lignes de niveau sont des ellipses très allongées : la surface est un ravin étroit, raide dans une direction et presque plate dans l'autre. Le gradient pointe vers la paroi du ravin, pas vers le fond, et la descente monte la paroi puis s'arrête, sans jamais parcourir la longueur.
À droite, les lignes de niveau sont des cercles. Le gradient pointe exactement sur le but, et la descente y va en ligne droite.
La raison en une phrase : la limite du pas est fixée par la direction la plus raide, tandis que la vitesse d'arrivée est fixée par la direction la plus plate. Plus l'écart entre les deux est grand, plus le pas admissible est petit par rapport à la distance à parcourir.
Les deux figures ci-dessous laissent poser le départ où l'on veut, en cliquant dans le cadre : c'est ce geste qui manque à une figure fixe.
Après 60 pas, l'erreur vaut encore 0,108. Le gradient est perpendiculaire à la ligne de niveau, donc il vise la paroi du ravin et non son fond.
La descente est arrivée au fond. Sur des lignes de niveau presque circulaires, le gradient pointe droit sur le but.
Le gradient est perpendiculaire à la ligne de niveau qui passe par le point courant. Sur des cercles, la perpendiculaire passe par le centre, et la direction du gradient est celle du but. Sur des ellipses allongées, elle ne l'est pas du tout : elle vise la paroi la plus proche.
Sur la première figure, quelques départs suffisent à changer entièrement le trajet, et il existe deux directions privilégiées, l'une où la descente arrive presque immédiatement, l'autre où elle rampe. Sur la seconde, tous les départs se valent.
Le curseur du pas complète la démonstration : dans le ravin, la limite est fixée par la courbure la plus forte, si bien que le pas admissible reste minuscule au regard de la longueur à parcourir.
Une conséquence à retenir au-delà de ce chapitre. La mise à l'échelle n'était, au chapitre 3, qu'une commodité pour rendre les attributs comparables. Ici elle devient une condition de fonctionnement : sans elle, la descente n'arrive pas, quel que soit le temps qu'on lui laisse.
Tout ce qui apprend par descente de gradient est concerné, ce qui veut dire à peu près tout ce que ce module verra ensuite. C'est pourquoi la standardisation est une étape systématique et non un raffinement.
Pourquoi standardiser avant une descente de gradient ?
Le minimum trouvé n'est pas forcément le bon
La pente est nulle : plus aucun saut ne déplace quoi que ce soit. La descente est arrivée.
La pente est nulle : plus aucun saut ne déplace quoi que ce soit. La descente est arrivée.
Un minimum local est un point dont aucun voisin immédiat n'a une erreur plus faible.
Un minimum global est le point de plus faible erreur de tout l'espace.
La descente de gradient ne sait aller que vers un minimum local, puisque son unique information est la pente immédiate.
Ce qui compte n'est pas d'atteindre le minimum global. Le réflexe est de vouloir corriger le problème. C'est rarement le bon.
En petite dimension, on peut relancer depuis plusieurs départs et garder le meilleur, comme pour les k moyennes du chapitre 4. C'est exactement le même remède au même problème.
En grande dimension, la question change de nature. Avec des millions de paramètres, les vrais minima locaux sont rares : ce que l'on rencontre sont surtout des points-selles, descendants dans certaines directions et montants dans d'autres, dont le bruit des mini-lots suffit à sortir.
Et surtout, l'objectif n'est pas de minimiser l'erreur sur les données d'apprentissage : c'est de bien se comporter sur des données nouvelles. Un minimum local un peu moins profond fait souvent tout aussi bien, parfois mieux. Le chapitre suivant est entièrement consacré à cette distinction.
Lots, mini-lots, stochastique
Par lots entiers : le gradient est calculé sur toutes les données. Une mise à jour par passage, exacte et coûteuse.
Stochastique : le gradient est calculé sur un seul exemple. Autant de mises à jour que d'exemples, chacune très bruitée.
Par mini-lots : le gradient est calculé sur un petit paquet, typiquement 32 à 256 exemples. C'est le compromis employé partout.
À gauche, le stochastique et les mini-lots atteignent le plancher dès le premier passage sur les données, là où les lots entiers en demandent quatre. Pour le même coût en lectures, on a fait 2000 pas au lieu d'un seul.
À droite, en zoomant sur le plancher, le tableau s'inverse. Les lots entiers s'y posent exactement et n'en bougent plus. Les mini-lots restent juste au-dessus. Le stochastique rebondit sans cesse entre 0,99 et 1,06, sans jamais se poser.
C'est le compromis complet, en une figure : plus de mises à jour donne une descente plus rapide et une arrivée moins précise. Le bruit est le prix de la vitesse.
Pourquoi le bruit est parfois un avantage. Un gradient calculé sur 32 exemples n'est pas le vrai gradient : c'est une estimation, qui pointe à peu près dans la bonne direction. Cette imprécision a trois effets utiles.
Elle permet de sortir des points-selles et des minima peu profonds, là où un gradient exact resterait bloqué.
Elle rend le coût d'une mise à jour indépendant de la taille du jeu, ce qui est la seule façon d'apprendre sur des données qui ne tiennent pas en mémoire.
Elle agit comme une régularisation légère, en empêchant de se poser exactement au fond du minimum d'apprentissage, ce qui se révèle souvent bénéfique sur des données nouvelles.
La contrepartie s'annule en diminuant le pas au fil des passages : on garde le bruit tant qu'il aide à explorer, puis on le réduit pour se poser.
Ce que font les optimiseurs réels. La ligne est le point de départ, jamais le point d'arrivée. Trois idées s'y ajoutent, toujours les mêmes.
Le moment : accumuler les gradients successifs, comme une bille qui garde son élan. Cela traverse les ravins étroits sans osciller d'une paroi à l'autre.
Un pas par paramètre : diviser le pas de chaque coordonnée par l'ampleur récente de son gradient. Les directions plates avancent alors autant que les raides, ce qui corrige en partie le problème de conditionnement vu plus haut. C'est l'idée d'Adam, l'optimiseur employé par défaut aujourd'hui.
Un pas qui décroît : grand au début pour explorer, petit à la fin pour se poser.
Aucune de ces idées ne change la nature de la méthode. Elles règlent le pas mieux qu'à la main, et c'est tout.
1.Pour l'erreur , un gradient codé à la main renvoie 2,0 en , et la différence finie centrée donne 6,0. Que conclure ?
2.Sur 200 relevés, combien de mises à jour des paramètres une descente par mini-lots de 20 relevés fait-elle à chaque passage sur les données ?
3.Par rapport aux lots entiers, la descente stochastique…
Mettre en pratique
Les quatre régimes du pas se distinguent par un seul calcul, itération par itération.
Suivre une descente pas à pas
- 1.
La fonction d'erreur vaut , dont le gradient vaut . En partant de 4 avec un pas de 0,1, quelle valeur l'itération suivante donne-t-elle ?
- 2.
Quelle valeur la deuxième itération donne-t-elle ?
- 3.
Quelle valeur la dixième itération donne-t-elle ?
- 4.
À partir de quelle valeur du pas la descente cesse-t-elle de converger sur cette fonction ?
Les quatre régimes, et le seul nombre qui les sépare. Ce nombre est le facteur . Proche de 1, la descente rampe. Entre 0 et 1, elle converge. Entre et 0, elle rebondit en changeant de côté à chaque pas tout en se rapprochant. En dessous de , elle diverge.
Le pas ne se règle donc pas au hasard : sa borne se calcule à partir de la courbure de la fonction, et un pas deux fois trop grand ne ralentit pas la convergence, il la détruit.
La coopérative retrouve par descente la pente de sa droite de rendement. Lequel des trois pas essayés retenir ?
Sur les relevés standardisés de la coopérative, l'erreur moyenne de la droite vaut , où est la pente cherchée. La descente part de . Le service de données a essayé trois pas : 0,1, 0,45 et 0,6. Pour chacun, dire ce que fait la descente, puis lequel retenir, d'après l'écart à 0,6 après cinq pas.
Par où commencer ? Écrire le gradient, puis ce que devient l'écart à 0,6 après un pas : c'est un seul nombre, par lequel chaque pas multiplie l'écart.
Pourquoi ramener chaque pas à un facteur qui multiplie l'écart ?
Le corrigé
- Écrire le gradient. . Le premier pas mène donc à avec le pas 0,1, à 1,08 avec 0,45 et à 1,44 avec 0,6.
- Écrire l'écart après un pas. devient : chaque pas multiplie l'écart par 0,6 pour , par pour 0,45 et par pour 0,6.
- Nommer les régimes. Un facteur de 0,6 converge sans changer de côté. Un facteur de rebondit de part et d'autre de 0,6 en s'en rapprochant. Un facteur de s'en éloigne à chaque saut : la descente diverge, dès que le pas dépasse 0,5.
- Comparer après cinq pas. L'écart de départ, 0,6, devient , puis et . Retenir le pas 0,1.
- Vérifier la borne. Le pas qui annule le facteur, 0,25, arriverait en un seul saut ; au-delà, la descente rebondit, et le pas 0,45, plus grand que 0,1, est pourtant quatre fois plus loin du but après cinq pas. Un pas plus long n'est pas un pas plus rapide.
La coopérative a lancé sa descente d'un seul départ. Faut-il craindre un minimum local ?
Un modèle de la coopérative n'a qu'un paramètre, et son erreur vaut . Sa dérivée, , s'annule en trois points : , et . Lancée depuis avec un pas de 0,02, la descente s'arrête en 1,35. Dire, erreurs à 0,01 près, si ce point est le meilleur, quel départ aurait trouvé mieux, et si le même remède suffirait à un modèle d'un million de paramètres.
Par où commencer ? Calculer l'erreur aux trois points où la pente s'annule : ils ne sont pas tous des vallées.
Le corrigé
- Trier les points où la pente s'annule. , et . Le point du milieu est plus haut que ses deux voisins : c'est une bosse, qui sépare deux vallées.
- Comparer les deux vallées. La descente s'est arrêtée dans celle de droite, à 3,38 : un minimum local. Le minimum global est à gauche, en , six fois plus bas.
- Relancer depuis d'autres départs. Tout départ à gauche de la bosse, en 0,13, descend dans la vallée de gauche : depuis 0 ou depuis , la même descente s'arrête en . Relancer depuis plusieurs départs et garder le meilleur est le remède en petite dimension, comme pour les k moyennes.
- Changer d'échelle. Avec un million de paramètres, un vrai minimum local exige que l'erreur remonte dans toutes les directions à la fois, ce qui devient très improbable : on rencontre plutôt des points-selles, dont le bruit des mini-lots suffit à sortir. Et le but reste de bien prédire sur des données nouvelles : le minimum global des données d'apprentissage n'est pas forcément le meilleur choix.
- Vérifier que 1,35 est bien une vallée. La pente change de signe autour de lui : , puis . L'erreur descend puis remonte, ce qui encadre un minimum.
Un torréfacteur ajuste par descente le paramètre de son modèle de perte de masse. Lequel des trois pas essayés retenir ?
Sur ses mesures standardisées, l'erreur du modèle vaut . La descente part de , et trois pas ont été essayés : 0,05, 0,25 et 0,4. Pour chacun, dire ce que fait la descente, puis lequel retenir, d'après l'écart à 1,5 après cinq pas.
Par où commencer ? Écrire le gradient, puis le facteur par lequel chaque pas multiplie l'écart à 1,5.
Le corrigé
- Écrire le gradient. . Le premier pas mène à avec le pas 0,05, à 2,25 avec 0,25 et à 3,6 avec 0,4.
- Écrire l'écart après un pas. devient : facteur 0,7 pour , pour 0,25 et pour 0,4.
- Nommer les régimes. 0,7 converge sans changer de côté, lentement ; rebondit en se rapprochant vite ; diverge, dès que le pas dépasse .
- Comparer après cinq pas. L'écart de départ, 1,5, devient , puis et . Retenir le pas 0,25.
- Vérifier en comparant au cas précédent. Ici, le pas qui rebondit l'emporte, parce que son facteur, , est plus petit en valeur absolue que 0,7. Ce n'est ni la taille du pas ni le fait de rebondir qui décide, c'est la valeur absolue du facteur, et elle se calcule.
Chapitre révisé en novembre 2026 · Une erreur dans ce chapitre ?
Dans la bibliothèque d'exercices
Le pas, son taux, et le signe qui décide de monter ou de descendre.
- Un pas de descente, à la mainNiveau 1
- Faire descendre plusieurs pasNiveau 2
- Débogage : une descente qui monteNiveau 2
- Des sauts qui raccourcissent d'eux-mêmesNiveau 1
- La descente qui s'emballeNiveau 2
- L'hôtel et ses deux échellesNiveau 3