Analyse

Le gradient

Une flèche attachée à chaque point d'un paysage, qui montre la direction de la montée la plus raide et mesure sa raideur. De la carte des randonneurs au champ électrique, de la bille qui roule à la chaleur qui s'écoule, jusqu'aux machines qui apprennent en descendant une pente.

Imaginez une carte de randonnée. Chaque point du terrain a une altitude : c'est une fonction de deux variables f(x, y), qui associe un nombre à chaque position. Les lignes de niveau relient les points de même altitude. Debout en un point, on peut partir dans n'importe quelle direction ; certaines montent, d'autres descendent, une seule monte le plus vite. Le gradient est la flèche qui indique cette direction-là, et sa longueur dit à quel point ça grimpe.

∇f(x, y) = ( ∂f/∂x , ∂f/∂y )   — on lit « nabla f » ou « gradient de f ».

Les deux nombres ∂f/∂x et ∂f/∂y sont les dérivées partielles : la pente que l'on mesure en avançant d'un tout petit pas vers l'est (on fait varier x seul), puis vers le nord (y seul). Il suffit de ces deux pentes pour connaître la pente dans toutes les autres directions. Ci-dessous, des billes posées au hasard suivent la flèche opposée, −∇f : elles descendent, coupent les lignes de niveau à angle droit et s'amassent au fond des cuvettes.

Paysage à trois creux et deux bosses. Les billes bleues suivent −∇f à une vitesse proportionnelle à la pente : rapides sur les flancs, lentes près des fonds, où le gradient s'annule.
DomaineLa fonction fCe que dit le gradientPlanche
Géométriealtitude, toute fonction de (x, y)direction de plus forte pente, perpendiculaire aux lignes de niveau1
Électricitépotentiel électrique Vle champ électrique vaut E = −∇V2
Mécaniqueénergie potentielle Ula force vaut F = −∇U3
Thermiquetempérature Tle flux de chaleur vaut q = −λ∇T (loi de Fourier)4
Optimisationcoût, erreur, énergie à minimiseron avance de −η∇f à chaque étape (descente de gradient)5

Le signe moins revient partout : la nature, comme l'algorithme, va du haut vers le bas — du potentiel élevé au potentiel bas, du chaud vers le froid, de l'erreur forte vers l'erreur faible.

1

Géométrie : de quel côté la pente est-elle la plus forte ?

Partir d'un point P dans la direction d'un vecteur unitaire u (de longueur 1), c'est parcourir une coupe du paysage. La pente de cette coupe en P s'appelle la dérivée directionnelle Duf. Elle se calcule avec le gradient par un simple produit scalaire :

Duf(P) = ∇f(P) · u = |∇f| cos α,   où α est l'angle entre u et ∇f.

Tout se lit sur cette formule : la pente est maximale quand α = 0 (on suit le gradient) et vaut alors |∇f| ; elle est nulle quand α = 90° (on longe la ligne de niveau) ; elle est la plus négative à α = 180°. Faites tourner u, déplacez P à la souris ou au doigt.

Lignes de niveau de f. En P : ∇f, la direction u, la projection de ∇f sur u (sa longueur signée est Duf) et, en pointillé gris, la tangente à la ligne de niveau de P (surlignée en bleu).
afficher le champ des gradients
Pente Duf en fonction de l'angle θ de u : une sinusoïde d'amplitude exactement |∇f| (pointillés verts). Le point rouge est la direction choisie.
∂f/∂x en P—
∂f/∂y en P—
|∇f| (longueur du gradient)—
Duf = ∇f · u—
pente mesurée sur la coupe (différence finie)—
écart entre les deux—
pente maximale cherchée en tournant u (section dorée)—
écart à |∇f|, et à l'angle de ∇f—
angle entre ∇f et la ligne de niveau, mesuré sur la courbe—
Ce qu'il faut retenir. Deux mesures faites sans utiliser la formule du gradient — la pente la plus forte trouvée en faisant tourner u, et la direction de la ligne de niveau trouvée en cherchant deux points de même altitude autour de P — retombent sur le gradient : sa longueur est la plus forte pente, et il est perpendiculaire à la ligne de niveau. C'est pour cela que le trajet « monter » coupe toujours les lignes de niveau à angle droit, et s'arrête là où le gradient s'annule : sommet, fond… ou col de la selle.
2

Physique : le champ électrique descend le potentiel

Une charge électrique crée autour d'elle un potentiel V, mesuré en volts : un nombre en chaque point, comme une altitude. Le champ électrique E, la force que subirait une charge de 1 coulomb posée là, n'est autre que l'opposé du gradient de ce potentiel.

V(M) = Σ k qi / ri   ⟹   E = −∇V = Σ k qi ri / ri³   (loi de Coulomb),  k = 8,988·10⁹ N·m²/C².

Les lignes de niveau de V s'appellent les équipotentielles. Le champ leur est perpendiculaire et dirigé vers les potentiels décroissants ; il est d'autant plus intense que les équipotentielles sont serrées. La page calcule le champ de deux façons indépendantes : par la loi de Coulomb (somme de forces), et en dérivant numériquement le potentiel.

Charges déplaçables (+ et −), point d'essai M déplaçable. Équipotentielles en gris (±25, 50, 100, 200, 400, 800, 1600 V), lignes de champ en bleu. En M : E par Coulomb, −∇V mesuré (pointillé), tangente à l'équipotentielle en gris.
potentiel V(M)—
distance de M à A, à B—
|E| par la loi de Coulomb—
|−∇V| par dérivation numérique—
écart relatif entre les deux vecteurs—
angle entre E et l'équipotentielle de M—
force sur un électron posé en M—
Ce qu'il faut retenir. La loi de Coulomb additionne des forces (des vecteurs) ; le potentiel additionne des nombres. Les deux calculs donnent le même champ à un milliardième près : on peut donc tout décrire avec un seul nombre par point, puis en tirer les forces par le gradient. Là où les équipotentielles se resserrent, près des charges, le champ devient intense.
3

Mécanique : une bille roule toujours vers −∇U

Une force est dite conservative lorsqu'elle dérive d'une énergie potentielle U : F = −∇U. Pesanteur, ressort, gravitation, force électrique sont de ce type. Une bille posée sur le paysage U est poussée vers le bas, perpendiculairement aux lignes de niveau ; elle prend de la vitesse, dépasse le fond, remonte de l'autre côté.

Cuvette : U = (kx x² + ky y²)/2 ; double puits : U = (x² − 1)² + 0,8 y².
m a = −∇U   ⟹   ½m v² + U = constante   et   travail de F de A à B = U(A) − U(B), quel que soit le chemin.

Le second résultat est le théorème du gradient : intégrer un gradient le long d'un chemin ne dépend que des extrémités. La page additionne pas à pas le travail F·dr le long de la trajectoire, aussi tortueuse soit-elle, et le compare à la simple différence d'énergie potentielle. Les points d'équilibre sont ceux où ∇U = 0 : un fond (stable, en vert) ou un col (instable, en orange).

Vue de dessus du paysage U (masse 1 kg, mètres, joules). Glissez la bille pour choisir le départ. Sur la bille : ∇U et F = −∇U.
énergie cinétique ½mv²énergie potentielle Usomme
temps écoulé—
énergie totale, dérive relative—
travail de F additionné le long du trajet—
U(départ) − U(bille)—
écart (théorème du gradient)—
longueur du chemin parcouru—
écart à la solution exacte (cuvette)—
Ce qu'il faut retenir. La bille parcourt des mètres de chemin en lacets, et pourtant le travail de la force retombe à chaque instant sur la seule différence U(départ) − U(bille) : c'est la signature d'une force qui est un gradient. L'énergie échangée entre vitesse et altitude se conserve. Dans la cuvette, le mouvement est exactement connu (deux oscillations indépendantes, une figure de Lissajous) et sert de contrôle ; dans le double puits, posez la bille près du col (0 ; 0) : le moindre écart la fait basculer d'un côté.
4

Thermodynamique : la chaleur coule à contre-gradient

Dans une plaque de métal, la température T(x, y) varie d'un point à l'autre. Joseph Fourier a énoncé en 1822 que la chaleur s'écoule du chaud vers le froid, d'autant plus fort que la température varie vite : c'est l'opposé du gradient de température, multiplié par la conductivité thermique λ du matériau.

q = −λ ∇T   (loi de Fourier)   ⟹   ∂T/∂t = D ΔT   (équation de la chaleur, D = λ/ρc)

Le vecteur q, le flux de chaleur, dit combien de chaleur traverse chaque unité de longueur par seconde, et dans quel sens. Les isothermes (lignes de même température) jouent le rôle des lignes de niveau ; le flux leur est perpendiculaire. Ici ρc = 1, donc λ = D (unités réduites).

Plaque de 12 × 12 unités, maillage de 121 × 121 points, bords isolés. Isothermes en gris, flux q = −λ∇T en flèches, carré de contrôle en pointillé vert. Le point M déplaçable porte ∇T.
temps t—
T au centre, calculée pas à pas—
T au centre, formule exacte—
écart maximal (carré central 8 × 8)—
chaleur sortant du carré, ∮ q·n (flux)—
même débit, formule exacte—
écart relatif sur le flux—
chaleur totale, dérive—
en M : |∇T| et T—

La solution exacte est connue : la tache reste une cloche de Gauss qui s'élargit, T = 100 (σ₀²/σ²) exp(−r²/2σ²) avec σ² = σ₀² + 2D t et σ₀ = 1. Le débit de chaleur qui sort du carré de contrôle s'obtient en additionnant −λ∇T·n le long de ses quatre côtés (n est la normale sortante, ∇T est lu sur la grille calculée, par une différence finie d'ordre 4, et la somme se fait par la méthode de Simpson) ; il doit égaler la perte de chaleur de l'intérieur, que la formule exacte donne à l'aide de la fonction d'erreur erf. Les bords de la plaque étant isolés, la chaleur finit par s'y accumuler : on compare donc la grille à la formule dans le carré central.

Une pièce vue de dessus : radiateur à 60 °C, fenêtre à 0 °C, murs isolés, air au départ à 10 °C. Isothermes tous les 5 °C, flux q = −λ∇T.
temps (pas de calcul)—
puissance émise par le radiateur—
puissance perdue par la fenêtre—
rapport sortie / entrée—
évolution maximale par pas—
température moyenne de la pièce—

Au début, le radiateur chauffe l'air et presque rien n'atteint la fenêtre. Peu à peu s'installe le régime permanent : la température ne bouge plus, et tout ce qui entre par le radiateur sort par la fenêtre — le rapport tend vers 1. Le flux suit les lignes de plus forte pente du « paysage de température ».

Ce qu'il faut retenir. La loi de Fourier transforme un gradient en écoulement. Le calcul pas à pas, qui ignore tout de la formule exacte, retrouve la cloche qui s'étale à mieux qu'un millième, et le débit à travers le carré — un gradient lu sur la grille puis additionné — colle au débit exact au millième près. La chaleur totale, elle, ne bouge pas : elle ne fait que se répartir. Dans la pièce, une fois le régime permanent installé, la puissance qui entre par le radiateur et celle qui sort par la fenêtre s'égalent à 10⁻⁹ près.
5

Optimisation : trouver le fond en descendant la pente

Chercher le minimum d'une fonction, c'est chercher le fond d'une vallée dans un brouillard épais : on ne voit que la pente sous ses pieds. La descente de gradient, proposée par Cauchy en 1847, consiste à faire un pas dans la direction −∇f, puis à recommencer. Le réglage décisif est la longueur du pas η (« êta »).

xk+1 = xk − η ∇f(xk)

Sur la vallée f = (x² + κy²)/2, la courbure vaut 1 dans un sens et κ dans l'autre ; κ s'appelle le conditionnement. Chaque pas multiplie l'écart au fond par un facteur ρ = max(|1 − η|, |1 − ηκ|) : si ρ < 1 on converge, si ρ > 1 on diverge, ce qui arrive dès que η > 2/κ. Le meilleur pas η* = 2/(1 + κ) donne ρ* = (κ − 1)/(κ + 1) : plus la vallée est étroite, plus la descente est lente.

Trajet de la descente (point de départ déplaçable). Chaque segment est un pas, perpendiculaire à la ligne de niveau d'où il part.
log₁₀ f(xk) en fonction du nombre de pas k : une droite, de pente 2 log₁₀ ρ (pointillé vert : la théorie).
pas η—
facteur ρ prévu—
facteur ρ mesuré sur les itérations—
écart—
pas nécessaires pour f < 10⁻¹⁰—
au pas optimal : η*, ρ*—

La fonction de Rosenbrock f = (1 − x)² + 100 (y − x²)² cache son minimum (1 ; 1) au fond d'une vallée courbe en forme de banane, très étroite. Trois marcheurs partent du même point : la descente de gradient à pas fixe, qui tombe vite au fond de la vallée puis y rampe à pas minuscules, car la pente y est presque nulle ; la méthode du moment (« boule pesante » de Polyak, 1964), qui garde une part β de sa vitesse précédente, v ← βv − η∇f, prend de l'élan et oscille, mais arrive bien plus tôt ; et la méthode de Newton, qui utilise aussi la courbure (les dérivées secondes) pour sauter directement vers le fond d'une parabole locale.

Lignes de niveau de Rosenbrock (espacées géométriquement), minimum exact ★. Déplacez le point de départ.
gradient : pas effectués—
moment : pas effectués—
Newton : pas effectués—
distance finale au minimum exact (1 ; 1)—

Arrêt quand la distance au minimum exact passe sous 10⁻⁶ (au plus 60 000 pas). Les compteurs défilent au rythme de l'animation ; le total est calculé d'avance.

Voici comment « apprennent » les programmes d'intelligence artificielle. Quarante élèves : heures de révision x, note obtenue y. On cherche la droite y = a x + b qui passe au mieux, celle qui rend minimale l'erreur quadratique moyenne E(a, b) = moyenne de (a xi + b − yi)². La machine ne connaît pas la formule des moindres carrés : elle descend le gradient de E dans le plan des paramètres (a, b). La formule exacte sert de contrôle.

Les données, la droite en cours d'apprentissage et la droite des moindres carrés (pointillé).
Le paysage de l'erreur dans le plan des paramètres, et le trajet de la descente depuis (0 ; 0).
centrer les heures (remplacer x par x − x̄)
pas effectués—
droite apprise : a, b—
moindres carrés exacts : a, b—
écart entre les deux—
conditionnement κ du paysage—
ρ prévu / ρ mesuré—
Ce qu'il faut retenir. Descendre le gradient est la méthode la plus simple qui soit, et la plus utilisée au monde : les réseaux de neurones s'entraînent ainsi sur des milliards de paramètres. Sa vitesse est gouvernée par un seul nombre, le conditionnement : la mesure retrouve le facteur ρ prévu à chaque réglage. Une vallée étroite fait zigzaguer ; on y remédie en gardant de l'élan (moment), en utilisant la courbure (Newton) ou en changeant de variables — centrer les données fait passer κ de plus de cent à moins de dix.

Repères historiques

1773Lagrange décrit l'attraction des corps par une seule fonction dont les dérivées donnent la force : l'idée de potentiel est née.
1822Fourier, Théorie analytique de la chaleur : le flux est proportionnel à la variation de température, et l'équation de la chaleur en découle.
1828George Green baptise « fonction potentielle » la fonction dont le gradient donne la force électrique.
1837–1853William Rowan Hamilton introduit un opérateur différentiel noté par un triangle couché ; Tait le redresse en ∇, que l'on surnommera « nabla », du nom d'une harpe antique.
1847Augustin Cauchy propose de résoudre des équations en descendant pas à pas la pente d'une fonction : la méthode de descente de gradient.
1873Maxwell, Traité d'électricité et de magnétisme, installe l'opérateur de Hamilton au cœur de la physique ; le mot « gradient », venu de la météorologie, s'impose ensuite pour désigner cette pente.
1951Robbins et Monro : descendre un gradient connu seulement de manière bruitée converge quand même. C'est l'ancêtre du gradient stochastique.
1986Rumelhart, Hinton et Williams popularisent la rétropropagation, qui calcule le gradient d'un réseau de neurones entier : l'apprentissage profond devient possible.

En résumé

Une direction

Le gradient pointe vers la montée la plus raide et coupe les lignes de niveau à angle droit. Sa longueur est la pente maximale ; dans toute autre direction, la pente vaut ∇f · u.

Une loi de la nature

Champ électrique, force conservative, flux de chaleur : la physique « descend » des potentiels. E = −∇V, F = −∇U, q = −λ∇T. Un seul nombre par point suffit à tout décrire.

Un outil de calcul

Là où le gradient s'annule se trouvent les minimums, les maximums et les cols. Le suivre pas à pas permet de les trouver ; le conditionnement règle la vitesse de la descente.
Pour aller plus loin

En dimension quelconque. Pour une fonction de n variables, ∇f a n composantes ; tout ce qui précède reste vrai, les lignes de niveau devenant des surfaces (en dimension 3) puis des hypersurfaces. Un réseau de neurones est une fonction de plusieurs milliards de variables.

Dans d'autres coordonnées. En coordonnées polaires, ∇f = (∂f/∂r) er + (1/r)(∂f/∂θ) eθ : le facteur 1/r rappelle qu'un même écart d'angle représente une distance plus grande loin du centre. Sur une surface courbe, le gradient dépend de la façon de mesurer les longueurs (le tenseur métrique).

Les cousins du gradient. La divergence ∇·v mesure ce qui sort d'un champ de vecteurs, le rotationnel ∇×v ce qui y tourne. Le rotationnel d'un gradient est toujours nul : c'est pourquoi le travail d'une force conservative ne dépend pas du chemin. La divergence du gradient est le laplacien Δf, qui apparaît dans l'équation de la chaleur.

Au-delà de la descente simple. Gradient conjugué (Hestenes et Stiefel, 1952), méthodes de quasi-Newton (BFGS), gradient stochastique et ses variantes adaptatives (Adam, 2014) : toutes cherchent à descendre plus vite qu'en suivant aveuglément la pente locale.