Descente de gradient : comment un modèle apprend
Le taux d’apprentissage, le zigzag dans les vallées étroites, le momentum, Adam, la descente stochastique par mini-lots et les minima locaux — avec des animations de trajectoires réelles.
Série Bases de l’IA Partie 11 sur 52
- Carte de l’intelligence artificielle : qu’est-ce qui est quoi et comment tout s’emboîte
- Brève histoire de l’intelligence artificielle : de Turing aux modèles de langage
- Données, modèle, entraînement, inférence : les notions de base sur un seul exemple
- Lire la notation mathématique : symboles, indices, sommes et quantificateurs
- Ensembles et relations : les briques dont sont faites les définitions en IA
- Fonctions et applications : pourquoi tout modèle d’IA est une fonction
- Logique et démonstrations : les règles selon lesquelles on raisonne en IA
- Graphes et arbres : la structure sur laquelle reposent la recherche et les réseaux de neurones
- Algèbre linéaire pour l’apprentissage automatique : vecteurs, matrices et pourquoi l’IA multiplie surtout
- Dérivées, gradient et règle de dérivation en chaîne : comment un modèle sait dans quelle direction apprendre
- Descente de gradient : comment un modèle apprend
- Qu’est-ce que la probabilité : du lancer de dé aux axiomes de Kolmogorov
- Probabilité conditionnelle et théorème de Bayes : comment réviser une estimation quand on apprend du nouveau
- Variable aléatoire et fonction de répartition : une seule fonction qui dit tout de la loi
- Fonction de densité et fonction de masse : pourquoi une variable continue a une probabilité nulle en chaque point
- Espérance, variance et covariance : où se situe une loi, quelle est sa largeur et ce qui varie avec quoi
- Panorama des lois de probabilité : Bernoulli, binomiale, Poisson, uniforme, normale et exponentielle
- Loi des grands nombres et théorème central limite : pourquoi les moyennes sont si prévisibles
- Statistique et estimation de paramètres : maximum de vraisemblance, MAP et intervalles de confiance
- Théorie de l’information : entropie, entropie croisée et divergence KL — d’où viennent les fonctions de perte
- Recherche dans l’espace d’états : BFS, DFS, UCS et A* en animations
- Jeux et adversaires : minimax, élagage alpha-bêta et Monte Carlo tree search
- Satisfaction de contraintes : backtracking, propagation de contraintes et AC-3 sur un sudoku et une carte des régions tchèques
- Logique et systèmes à base de connaissances : chaînage avant et arrière, résolution et systèmes experts
- Planification : STRIPS, monde des blocs, heuristiques par relaxation et planification dans les agents IA
- Recherche locale et recuit simulé : un voyageur de commerce à travers les chefs-lieux de région tchèques
- Algorithmes génétiques : population, croisement, mutation et sélection sur un sac à dos de randonnée
- Stratégies d’évolution et programmation génétique : de la règle du cinquième à la loi de Kepler
- Optimisation par colonies de fourmis : comment une piste de phéromone trouve un chemin court
- Optimisation par essaim de particules : inertie, expérience propre et expérience de l’essaim
- Neuroévolution : faire évoluer les poids et la forme des réseaux de neurones, et l’algorithme NEAT
- Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud »
- Logique floue et probabilité : pourquoi « un peu chaud » ne veut pas dire « probablement chaud »
- Logique floue : t-normes, implications et règles SI–ALORS
- Commande floue : Mamdani et Sugeno, du ventilateur au pendule inversé sur un chariot
- Clustering flou : l’algorithme fuzzy c-means et les points entre les clusters
- Systèmes neuro-flous (ANFIS) : des règles floues qui apprennent à partir des données
- Chaînes de Markov : matrice de transition, distribution stationnaire et PageRank
- Modèles de Markov cachés : l’algorithme de Viterbi et le casino malhonnête
- Réseaux bayésiens : pourquoi l’herbe est mouillée et ce que cela implique pour l’arroseur
- Le filtre de Kalman : comment estimer, à partir de mesures imprécises, où se trouve une voiture et à quelle vitesse elle roule
- Types d’apprentissage automatique : supervisé, non supervisé, semi-supervisé et plus
- Prompts, contexte et RAG : comment donner au modèle les bonnes informations
- Autoencodeurs variationnels (VAE) : de nouvelles images à partir d’un espace latent continu
- Réseaux antagonistes génératifs (GAN) : le faussaire contre le détective
- Modèles de diffusion : comment une image naît du bruit pur
- Processus de décision markoviens : états, actions, récompenses et équations de Bellman
- Q-learning et DQN : apprendre la valeur des actions, du tableau au réseau de neurones
- Policy gradient et PPO : apprendre directement la politique
- Comment fonctionne un agent IA : un modèle de langage en boucle avec des outils
- Programmer avec des agents IA : consigne, tests et vérification
- Évaluation et sécurité des systèmes d’IA : comment mesurer et comment surveiller
Programme complet de la série 52 sur 83 sujets publiés
- Comment fonctionne la descente de gradient et pourquoi le taux d’apprentissage compte plus que tout.
- Pourquoi la descente ordinaire zigzague dans une vallée étroite et comment le momentum et Adam y remédient.
- Pourquoi les réseaux apprennent par petits mini-lots aléatoires et ce que sont les minima locaux et les points selles.
Utile à connaître avant : Dérivées, gradient et règle de dérivation en chaîne : comment un modèle sait dans quelle direction apprendre
Dans les parties précédentes, nous avons préparé tout le nécessaire : un modèle est une fonction à paramètres, la fonction de perte est un paysage au-dessus de l’espace des paramètres, et le gradient indique la direction de plus forte montée. Réunissons maintenant tout cela dans l’algorithme grâce auquel apprend presque chaque réseau de neurones au monde : la descente de gradient. Son idée tient en une phrase, et ses détails décident si le modèle apprendra en une heure, en une semaine, ou jamais.
1. L’idée : descendre la colline dans le brouillard
Définition — descente de gradient
Pour une fonction de perte J(θ), on choisit des paramètres initiaux θ0 et un taux d’apprentissage η > 0, puis on répète
θt+1 = θt − η ∇J(θt),
tant que la perte s’améliore de façon notable.
Vous êtes sur une colline, dans un épais brouillard, et vous voulez descendre dans la vallée. Vous ne voyez rien, vous sentez seulement la pente sous vos pieds. Vous faites un pas là où ça descend le plus, puis vous tâtez de nouveau le terrain. Le gradient, c’est cette pente ; le taux d’apprentissage, c’est la longueur du pas. Il n’y a rien de plus.
2. Le taux d’apprentissage : quelle longueur de pas
La longueur du pas est le choix le plus important de tout l’algorithme. Montrons-le sur le paysage le plus simple, la parabole J(x) = x2, avec un départ en x = 4. La dérivée vaut 2x, donc chaque pas fait x ← x − η · 2x = (1 − 2η)x. Douze pas pour quatre taux d’apprentissage différents :
- η = 0,1 — chaque pas ne réduit la distance au minimum que d’un cinquième. Après douze pas, la bille n’est encore qu’en x ≈ 0,27.
- η = 0,4 — chaque pas la divise par cinq ; en quelques pas, la bille est pratiquement au fond.
- η = 0,9 — le pas est si long que la bille saute de l’autre côté. Elle se rapproche pourtant, car elle saute par des arcs de plus en plus courts.
- η = 1,05 — elle saute chaque fois plus loin qu’elle n’était : au lieu de descendre, elle s’envole vers l’extérieur et, après douze pas, se retrouve en x ≈ 12,55. L’apprentissage diverge.
Théorème — quand la descente sur la parabole converge
Pour J(x) = x2, on a xt = (1 − 2η)t x0, donc la descente converge si et seulement si |1 − 2η| < 1, c’est-à-dire 0 < η < 1. Elle est la plus rapide pour η = 0,5 : elle atteint alors le minimum en un seul pas.
Un petit pas est sûr, mais lent. Un grand pas est rapide, tant qu’il ne dépasse pas la cible. Un pas trop grand casse l’apprentissage : au lieu de diminuer, l’erreur augmente jusqu’à devenir infinie.
3. Vallées étroites et zigzag
Les vrais paysages ne sont pas des bols ronds. Ce sont souvent de longues vallées étroites, raides dans une direction et presque plates dans l’autre. Prenons J(x, y) = x2/2 + 10y2, vingt fois plus raide dans la direction y. La descente ordinaire a ici un problème : le taux d’apprentissage doit être petit à cause de la direction raide (sinon elle divergerait en y), et avec un pas aussi petit, elle bouge à peine dans la direction plate x. En plus, dans la direction y, elle saute sans cesse d’un bord à l’autre :
Chaque méthode a son meilleur taux d’apprentissage, trouvé par essais. Malgré cela, la descente ordinaire a besoin de 36 pas et zigzague, alors que le momentum et Adam sont au fond en 9. Pourquoi ? Les deux sections suivantes le montrent.
4. Le momentum : une boule avec de l’inertie
Définition — descente avec momentum
vt+1 = β vt − η ∇J(θt), θt+1 = θt + vt+1,
où v est la « vitesse » et β ∈ [0, 1) indique quelle part en reste pour le pas suivant (typiquement 0,9 ; dans notre vallée, le mieux est 0,6).
Au lieu d’un marcheur prudent, une boule lourde. Là où le gradient pointe toujours dans le même sens (le long de la vallée), la boule prend de la vitesse. Là où la direction alterne (en travers de la vallée), les allers-retours s’annulent mutuellement. Le zigzag s’amortit et la boule s’élance vers le bas.
5. Adam : un pas propre à chaque paramètre
Définition — Adam (Kingma et Ba, 2014)
m ← β1m + (1 − β1)g, s ← β2s + (1 − β2)g2, θ ← θ − η m̂ / (√ŝ + ε),
où g = ∇J(θ), toutes les opérations se font composante par composante, et m̂, ŝ sont m, s avec correction du biais initial (divisés par 1 − βt). Valeurs usuelles : β1 = 0,9, β2 = 0,999.
Adam, c’est un momentum qui retient en plus, pour chaque paramètre, la taille habituelle de ses gradients, et divise le pas par celle-ci. Dans la direction raide, il fait ainsi des pas plus courts, dans la direction plate des pas plus longs — comme si la vallée s’étirait en un bol rond. C’est pourquoi il va vers le but presque en ligne droite (sur la figure, il ne le dépasse qu’un peu à la fin, parce qu’il garde de l’inertie) et c’est pourquoi il est aujourd’hui le choix par défaut pour entraîner les réseaux de neurones.
6. Descente stochastique : apprendre par mini-lots
Définition — descente de gradient stochastique (SGD)
Si la perte est une moyenne sur les données, J(θ) = (1/n) ∑i Li(θ), la SGD remplace le gradient complet par une moyenne sur un mini-lot aléatoire B ⊂ {1, …, n} : g = (1/|B|) ∑i ∈ B ∇Li(θ). Un passage sur toutes les données s’appelle une époque.
Calculer le gradient sur un milliard d’exemples coûte cher. Il suffit d’en regarder quelques-uns au hasard et de prendre leur moyenne : l’estimation de la pente est un peu bruitée, mais elle coûte une fraction du travail. Pour le prix d’un pas exact, vous en faites des centaines d’approximatifs.
Sur une régression linéaire à 40 points, comparons la descente complète (gradient sur les 40 points) et la SGD par mini-lots de 4 points :
Après 60 pas, la descente complète a une perte de 0,0017 et la SGD de 0,0027 — la courbe de la SGD est cahoteuse, mais presque aussi basse. Or chaque pas de la SGD n’a parcouru que 4 points au lieu de 40, soit dix fois moins de travail. Sur des données réelles comptant des millions d’exemples, cette différence est décisive. Et le bruit a même un avantage : il aide à sortir des creux peu profonds.
7. Minima locaux et points selles
La descente de gradient trouve le fond de la vallée dans laquelle elle a commencé. Pour une fonction convexe, il n’y a qu’un seul fond ; pour une fonction non convexe, tout dépend du départ. La fonction x4 − 3x2 + x de la partie sur les fonctions a deux minima :
La bille qui part de x = 2 finit dans le minimum local vers x ≈ 1,13 avec la valeur ≈ −1,07. La bille partie de x = −2 trouve le minimum global vers x ≈ −1,30 avec la valeur ≈ −3,51. Dans les grandes dimensions des réseaux de neurones, il s’avère que les mauvais minima locaux sont plus rares qu’on ne le croirait — le plus gros problème, ce sont souvent les points selles, des endroits où le gradient est nul, mais où le paysage monte dans une direction et descend dans une autre. Le bruit de la SGD et le momentum aident à en glisser.
8. Comment on fait en pratique
- Adam ou SGD avec momentum — les deux choix les plus courants. Adam fonctionne bien d’emblée ; la SGD avec momentum, après un réglage minutieux, est souvent un peu meilleure.
- Planification du taux d’apprentissage — au début, une montée en régime lente (warmup), puis une diminution progressive. Les grands pas conviennent loin du but, les petits près de lui.
- Taille du mini-lot — typiquement de 32 à des milliers d’exemples ; elle est limitée par la mémoire de la carte graphique.
- Époques et arrêt précoce — on parcourt les données à plusieurs reprises et on arrête l’entraînement quand l’erreur sur des données que le modèle n’a pas vues cesse de s’améliorer.
- Normalisation des données — quand les entrées ont des plages similaires, le paysage est plus rond et la descente plus facile.
9. Résumé
- La descente de gradient répète θ ← θ − η∇J(θ) : un pas à l’opposé du gradient.
- Le taux d’apprentissage est décisif : petit, il est lent ; grand, il oscille ; trop grand, il diverge.
- Dans les vallées étroites, la descente ordinaire zigzague ; le momentum ajoute de l’inertie, Adam un pas propre à chaque paramètre.
- La SGD calcule le gradient sur de petits mini-lots — elle est bruitée, mais chaque pas coûte bien moins cher.
- La descente trouve le fond de la vallée où elle a commencé ; dans les paysages non convexes, tout dépend du départ.
Avec cette partie, les mathématiques dont vous avez besoin pour comprendre l’apprentissage sont complètes. Les modules suivants de la série — probabilités, apprentissage automatique et réseaux de neurones — s’appuient dessus.
Vous voyez les choses autrement ? Écrivez à support@coden-app.com.