FichesCarte › Partie 03 · Critère et descente › chaîne 02

Le gradient et le pas

Pourquoi −∇L et pas une autre direction ? Pourquoi un pas trop grand fait diverger ? Quand résout-on d'un coup, quand itère-t-on ? Un optimiseur ne voit de L que sa valeur et sa pente au point où il est : la direction, la longueur du pas et le nombre d'itérations se déduisent tous les trois de la courbure. Deux exemples fil rouge : la parabole L(θ) = (θ − 1)², et le bol allongé du ridge colinéaire de p02-02.

Ce que cette chaîne suppose acquis
  • Produit scalaire et Cauchy-Schwarz (p04-01) : |⟨g, u⟩| ≤ ‖g‖·‖u‖, avec égalité si et seulement si u est colinéaire à g. C'est tout l'argument du pas 2.
  • Gradient comme application linéaire locale (p08-01) : L(θ + δ) = L(θ) + ⟨∇L(θ), δ⟩ + o(‖δ‖). Le gradient est la meilleure approximation affine, rien de plus : il ne dit rien à distance.
  • Valeurs propres d'une matrice symétrique (p04-02) : base orthonormée de vecteurs propres, Avi = λivi. Dans cette base un système couplé devient p équations indépendantes — le pas 6 ne fait que ça.
  • Le bol du ridge (p02-02) : jeu colinéaire, XX = [[14, 28], [28, 56]] de valeurs propres 0 et 70 ; + λI avec λ = 1 donne [[15, 28], [28, 57]], valeurs propres 1 et 71. Ici on ne le rejustifie pas : on s'en sert comme bol à descendre.
  • Un critère n'informe que par sa pente (p03-01, la chaîne sœur) : là où la dérivée est nulle, rien ne bouge. Cette chaîne-ci suppose la pente non nulle et s'occupe de ce qu'on en fait.
Hypothèses posées
H1L est dérivable, et on ne la voit que localement : à chaque itération l'optimiseur reçoit L(θ) et ∇L(θ), jamais la fonction entière. H2Le pas η est fixe : aucune recherche linéaire, aucune mémoire de direction. Ce qui relâche cette hypothèse est nommé au pas 7 et appartient à la Phase 2. H3Pour toute convergence chiffrée, L est quadratique : L(θ) = ½ θbθ, avec A symétrique définie positive. Sans cette hypothèse les régimes restent vrais localement, les nombres ne le sont plus.

La chaîne

Le décor

Un optimiseur est aveugle. Il est posé en θ, on lui donne deux nombres — la valeur et la pente — et il doit produire le point suivant. Deux décisions, donc : une direction (un vecteur unitaire u) et une longueur (η). Une troisième question suit : combien de fois.

θk+1 = θk + η·uk

« Un optimiseur ne connaît de la loss que sa valeur et sa pente au point courant, donc il doit en tirer une direction et une longueur, donc chacune des règles qui suivent répond à l'une de ces deux questions. »

Application — les deux bols fil rouge

1D. L(θ) = (θ − 1)², minimum en 1, courbure a = L″ = 2. Au point de départ θ0 = 3,5 : L = 6,25 et ∇L = 2(3,5 − 1) = 5.

2D. Le ridge colinéaire de p02-02 à λ = 1 :

A = XX + I = [[15, 28], [28, 57]]  ·  b = Xy = (14, 28)  ·  ∇L = b

En θ = (0 ; 0) : L = 0 et ∇L = (−14 ; −28). L'optimiseur ne sait pas encore que la solution est (0,197 ; 0,394), ni qu'elle est atteignable d'un coup.

Pourquoi −∇L tronc

La direction se lit dans le développement au premier ordre. À longueur fixée ε, le gain d'un pas dans la direction unitaire u est le produit scalaire du gradient avec u :

L(θ + εu) − L(θ) = ε⟨∇L, u⟩ + o(ε)

Cauchy-Schwarz borne ce produit par ‖∇L‖ en valeur absolue, avec égalité seulement si u est colinéaire à ∇L. La baisse la plus forte est donc en u = −∇L/‖∇L‖, et une direction orthogonale au gradient ne change rien au premier ordre : c'est la ligne de niveau.

« Plus forte pente » est relatif à la norme euclidienne. Changer de norme change la direction — c'est le préconditionnement du pas 6.

« La variation au premier ordre est le produit scalaire du gradient avec la direction, donc Cauchy-Schwarz la rend extrémale quand la direction est colinéaire au gradient, donc la plus forte baisse par pas unitaire est en moins gradient. »

Application — quatre directions au même point

Gradient ∇L = (3 ; 4), de norme 5. Pour chaque direction unitaire, la variation au premier ordre par pas de longueur 1 :

direction u⟨∇L, ulecture
(1 ; 0)+3ça monte, mal
(0 ; 1)+4ça monte, plus
(0,6 ; 0,8)+5montée maximale = ‖∇L
(0,8 ; −0,6)0ligne de niveau : rien ne bouge
(−0,6 ; −0,8)−5baisse maximale = −‖∇L

Sur le bol 2D en (0 ; 0) : ∇L = (−14 ; −28), donc −∇L = 14·(1 ; 2), de norme 31,3. La descente part exactement dans la direction (1 ; 2) — celle où vit tout le signal Xy.

Le pas η : trois régimes

La direction est fixée ; reste la longueur. Sur une parabole de courbure a, L(θ) = ½a(θm)², le gradient vaut a(θm) et le pas s'écrit entièrement sur l'écart au minimum :

θ+m = (1 − ηa)(θm)  ⇒  convergence ⟺ |1 − ηa| < 1 ⟺ 0 < η < 2/a

Le même facteur à chaque pas : l'écart décroît géométriquement. Son signe donne le régime — positif, la descente arrive par en dessous sans dépasser ; négatif, elle saute de l'autre côté à chaque pas ; de module supérieur à 1, elle saute de plus en plus loin.

« L'écart au minimum est multiplié par un moins êta fois la courbure à chaque pas, donc il tend vers zéro si et seulement si ce facteur est de module inférieur à un, donc le pas doit rester sous deux sur la courbure. »

Application — a = 2, départ en θ0 = 3,5 (écart 2,5)
η1 − ηarégimeθ après 8 pas
0,25+0,5monotone1,0098
0,50un seul pas suffit (η = 1/a)1
0,9−0,8oscille, converge1,419
1−1cycle : 3,5 ↔ −1,5, jamais3,5
1,1−1,2diverge11,75

Le seuil est 2/a = 1, et il ne dépend ni du point de départ ni du nombre de pas : c'est une propriété de la courbure seule. À η = 1,1, huit pas suffisent à quadrupler l'écart initial, et trente le portent à 6·104.

Un learning rate n'a pas d'unité universelle : il se lit toujours relativement à la courbure. Doubler l'échelle des features quadruple a et divise par quatre le pas admissible.
Figure 1 — les trois régimes du pas

Descente sur L(θ) = (θ − 1)², départ en 3,5. Monte η lentement : jusqu'à 0,5 les points arrivent par un seul côté ; entre 0,5 et 1 ils sautent d'un bord à l'autre en se rapprochant ; au-delà de 1 = 2/a ils s'écartent et quittent le cadre — le readout dit à quel pas. Le facteur affiché, 1 − ηa, est le seul nombre qui décide.

Convexité : arriver au bon endroit tronc

Convexe ⇒ tout minimum local est global ; strictement convexe ⇒ il n'y en a qu'un. La descente ne peut plus se tromper d'endroit.

Celle de la log-loss en β tient à deux étages, à écrire séparément. Avec z = βx et p = σ(z) :

/∂βj = (d/dz)·(∂z/∂βj) = (pyxj
∂²/∂βjβk = (d²/dz²)·xjxk + (d/dz∂²z/∂βjβk = p(1 − pxjxk

Le second terme s'annule, et il faut l'écrire pour le voir : z est affine, sa dérivée seconde est nulle. Reste H = Σi pi(1 − pi)xixi ⪰ 0.

« La dérivée seconde de la log-loss en z vaut p fois un moins p, donc en composant avec z affine le second étage disparaît et la hessienne en bêta vaut la somme des p(1 − p) x x transposé, donc elle est semi-définie positive et tout minimum trouvé est global. »

Application — convexe, et son contre-exemple

Log-loss en z : ″ = p(1 − p), maximale en z = 0 (0,25), jamais nulle, écrasée aux extrêmes.

Erreur quadratique sur la probabilité (y = 1), g(z) = (1 − p)², la loss du contre-exemple de D4 : deux étages encore, g′ = −2p(1 − p)² puis g″ = −2p(1 − p)²(1 − 3p).

zp = σ(z)″ (log-loss)g″ (quadratique)
−20,119+0,105−0,119
−0,6931/3+0,2220
00,5+0,250+0,125
+20,881+0,105+0,041

g″ change de signe en p = 1/3, soit z = −ln 2 ≈ −0,693 : la loss quadratique sur la probabilité est non convexe là où le point est mal classé. La log-loss ne l'est jamais. La descente arrive donc au bon endroit ; à quelle vitesse est l'affaire du pas 6.

Figure 2 — une loss convexe et une qui ne l'est pas

Les deux pertes d'un point de classe y = 1, en fonction du score z. Déplace z : la log-loss a une dérivée seconde toujours strictement positive — le bol est partout un bol. La quadratique sur la probabilité (pointillé) passe en concave à gauche du trait vertical, en z = −ln 2 : là, la descente longe une bosse au lieu de descendre un bol.

Solution en forme fermée, ou itération

Minimiser, c'est annuler le gradient : ∇L(θ) = 0 est un système de p équations à p inconnues. Tout tient à la nature de ce système.

linéaire en θ : (XX + λI)θ = Xy  ⇒  solution en forme fermée
non linéaire : Σi (σ(xiβ) − yi)xi = 0  ⇒  on itère

σ emballe β dans une exponentielle : aucune factorisation ne l'en sort. On descend alors le gradient — ou on résout le système linéarisé à chaque itération, c'est Newton, et il faut la hessienne.

« Annuler le gradient donne un système d'équations, donc s'il est linéaire en thêta une factorisation le résout d'un coup, donc sinon on itère, et la convexité du pas précédent garantit que cette itération vise le bon point. »

Application — une résolution contre trente itérations

Ridge, λ = 1 : le système est [[15, 28], [28, 57]]θ = (14 ; 28), de déterminant 855 − 784 = 71.

θ1 = (57·14 − 28·28)/71 = 14/71 = 0,197  ·  θ2 = (15·28 − 28·14)/71 = 28/71 = 0,394

Une résolution, zéro itération, zéro learning rate à régler. La logistique sur les mêmes données n'offre pas cette sortie : β ne s'écrit pas, il se calcule.

OLS / ridgelogistique
L = 0linéairenon linéaire (σ)
solutionen forme ferméeitérative
coûtO(p³) une foisO(np) par pas
à réglerrienη, nombre de pas

« En forme fermée » qualifie la solution, pas le système : le système, lui, est linéaire. Et l'existence d'une forme fermée ne rend pas l'itération inutile — voir la dernière limite.

Conditionnement : le pas d'un seul pour des courbures différentes tronc

Quadratique : ∇L = b, et sur l'erreur e = θA−1b le pas s'écrit e+ = (IηA)e. Dans la base propre de A les coordonnées se séparent, et chacune retrouve le pas 3 avec sa propre courbure :

ei+ = (1 − ηλi)ei  ·  η < 2/λmax  ⇒  1 − ηλmin > 1 − 2/κ,   κ = λmax/λmin

Un seul η pour toutes les directions : il est borné par la plus raide, et c'est la plus plate qui paie. Sa contraction ne descend pas sous 1 − 2/κ, donc le nombre de pas croît comme κ. Le zigzag est la même chose vue de face : le gradient pointe vers le mur, pas vers le fond de la vallée.

« Le pas admissible est borné par la direction la plus raide, donc la direction la plus plate se contracte d'au mieux un moins deux sur kappa, donc le nombre d'itérations croît comme le conditionnement. »

Application — le bol du ridge, conditionnement 71

A = [[15, 28], [28, 57]] : valeurs propres 71 (vecteur (1 ; 2)/√5, le mur) et 1 (vecteur (−2 ; 1)/√5, la vallée — la direction de colinéarité que λI a relevée de 0 à 1 en p02-02).

η1 − ηλmax1 − ηλminpas pour ÷ epas pour ÷ 100
1/71 = 0,014100,985971325
2/72 = 0,0278−0,9720,972236163
2/71 = 0,0282−1 (cycle)0,971835161
0,03 > 2/71−1,130,970diverge sur le mur

Le meilleur pas fixe est 2/(λmin + λmax), et sa contraction vaut (κ − 1)/(κ + 1) = 70/72 : on ne descend pas sous ~κ/2 pas par facteur e. Face à la résolution unique du pas 5, ce bol à deux inconnues demande déjà 163 itérations pour deux décimales.

Standardiser les features, c'est changer A pour rapprocher ses valeurs propres. C'est du préconditionnement : la même descente sur un bol plus rond.
Figure 3 — le zigzag, et la vallée qu'on remonte à peine

Bol A = diag(1, κ), lignes de niveau en ellipses, départ en (3 ; 3), pas η = 1,8/κ (soit 90 % du maximum admissible) et 40 itérations tracées. À κ = 1 le bol est rond et tout est fini en 20 pas. Monte κ : la coordonnée raide continue de s'écraser du même facteur −0,8 — d'où le zigzag vertical — pendant que la coordonnée plate se contracte de 1 − 1,8/κ, de plus en plus près de 1. À κ = 71, après 40 pas, il reste encore un bon tiers du chemin.

Ce qui vient ensuite, et à quoi ça répond

Trois objets de la Phase 2 sont à lire comme des réponses au pas 6 et à H2, pas comme des recettes. Ils sont nommés ici pour qu'ils arrivent déjà classés.

« Le zigzag vient d'un pas unique imposé à des courbures différentes, donc amortir la direction ou donner un pas par coordonnée l'atténue, donc SGD, momentum et Adam sont des réponses au conditionnement et au coût, et rien d'autre. »

Trois noms, trois réponses
objetce qu'il relâcheà quel pas il répond
SGDle gradient exact : il est estimé sur un minibatchcoût du pas 5 ; le prix est le bruit (limite 2)
momentuml'absence de mémoire (H2)le zigzag du pas 6
Adamle pas unique (H2)le κ du pas 6, coordonnée par coordonnée

Ce qui se sentira empiriquement en Phase 2 — une courbe de loss qui explose, un balayage de learning rate — est ce que les pas 3 et 6 viennent de dire par le calcul. Le seuil 2/courbure et le facteur κ sont les deux nombres à reconnaître derrière ces courbes.

Où ça casse casse

La descente n'a besoin ni de convexité ni d'un gradient exact pour tourner. Ce qui disparaît hors des hypothèses, ce sont les garanties et les nombres, pas l'algorithme.

« Ni la convexité ni l'exactitude du gradient ne sont nécessaires pour que l'algorithme tourne, donc il tourne aussi là où plus rien n'est garanti, donc ce qu'on surveille change : la courbe de loss remplace la preuve. »

Quatre limites
  • Non convexe. Un réseau a des minima locaux, des plateaux et surtout des points-selles, où le gradient est nul sans qu'il s'agisse d'un minimum. Le pas 4 ne s'applique plus : on n'a plus de garantie sur le point d'arrivée, seulement sur le fait qu'on descend localement. Phase 2.
  • Gradient bruité. Estimé sur un minibatch, il ne s'annule pas au minimum : l'erreur ne tend plus vers zéro mais vers un plancher fixé par la variance et par η. Le pas doit décroître, ou la direction être moyennée.
  • Échelles hétérogènes. Multiplier une colonne de X par 10³ multiplie sa courbure dans XX par 10⁶ : κ explose et le pas admissible s'effondre, sans qu'aucun modèle n'ait changé. Standardiser n'est pas un rite, c'est un préconditionnement.
  • Forme fermée coûteuse. (XX + λI)−1 coûte O(p³) et demande de stocker p² coefficients : à p = 10⁴, c'est 10¹² opérations et 10⁸ nombres. On itère alors même là où le pas 5 autorise à résoudre.

Résumé

À retenir
  1. −∇L est la direction de plus forte descente : la variation au premier ordre est ⟨∇L, u⟩, extrémale par Cauchy-Schwarz.
  2. Pas η : l'écart est multiplié par (1 − ηa) à chaque itération ; convergence si et seulement si η < 2/courbure, sans oscillation sous 1/courbure.
  3. Convexe ⇒ le minimum atteint est global ; strictement convexe ⇒ unique. La log-loss l'est en β : z affine, hessienne Σ p(1 − p)xx.
  4. L = 0 linéaire en θ ⇒ solution en forme fermée (OLS, ridge) ; σ non linéaire ⇒ on itère (logistique).
  5. κ = λmax/λmin : le pas est bridé par la direction raide, la plate n'avance que de 1 − 2/κ par pas ⇒ zigzag, et ~κ itérations.
  6. SGD, momentum, Adam : les réponses de la Phase 2 au point 5 et au coût du point 4.
« Je descends dans la direction opposée au gradient, celle où la variation au premier ordre est la plus négative. Le pas est borné par la courbure la plus forte, deux sur lambda max ; la direction la moins courbée avance alors très lentement, et le nombre d'itérations croît avec le conditionnement. Quand annuler le gradient donne un système linéaire, je résous d'un coup ; sinon j'itère, et la convexité me garantit que j'arrive au minimum global. »

Chaîne verbalisée — une prise, à voix haute

5 maillons · clique pour révéler après avoir dit
  1. Pourquoi −∇L et pas une autre direction ?
    La variation au premier ordre vaut ⟨∇L, u⟩ ; par Cauchy-Schwarz elle est minimale en u = −∇L/‖∇L‖, et nulle le long d'une ligne de niveau.
  2. À quelle condition le pas converge sur une parabole de courbure a ?
    L'écart est multiplié par (1 − ηa) : il faut η < 2/a. Monotone sous 1/a, oscillant et convergent entre 1/a et 2/a.
  3. Quand a-t-on une solution en forme fermée ?
    Quand ∇L = 0 est linéaire en θ : OLS, ridge — (XᵀX + λI)θ = Xᵀy. La logistique non : σ est non linéaire, on itère.
  4. Que garantit la convexité, et d'où vient celle de la log-loss ?
    Minimum local = global, unique si stricte. d²ℓ/dz² = p(1 − p) > 0, et z affine en β annule le second étage de la chain rule : H = Σ p(1 − p) xxᵀ ⪰ 0.
  5. Pourquoi un bol allongé est-il lent ?
    η est bridé par λ_max ; la direction λ_min se contracte au mieux de 1 − 2/κ, d'où le zigzag et ~κ itérations. Sur le ridge λ = 1 : κ = 71, 163 pas pour diviser l'erreur par 100.