🎛️ Lâche la bille et règle le pas η
Choisis où la bille part et la taille du pas, puis clique « Lancer » : elle suit la pente vers le bas.
Pas n
0
Pente f′(x)
—
Hauteur f(x)
—
La bille part de x₀ = -5.0. À chaque pas, elle applique x ← x − η·f′(x) : elle glisse à l'opposé de la pente. Clique « Lancer ».
⛰️ Tu es dans le brouillard sur une montagne
Imagine que tu es perdu sur le flanc d'une montagne, dans un brouillard total. Tu veux rejoindre le fond de la vallée, mais tu ne vois pas plus loin que tes pieds. Que fais-tu ? Tu tâtes le sol autour de toi, tu repères dans quel sens ça descend le plus fort, et tu fais un pas dans cette direction. Puis tu recommences. Et encore.
Cette stratégie a un nom mathématique : la descente de gradient. C'est littéralement l'algorithme qui fait « apprendre » la quasi-totalité des IA modernes, de la reconnaissance d'images à ChatGPT. Et le plus beau, c'est qu'il repose sur une seule idée d'analyse de lycée : la dérivée, c'est la pente.
L'intuition en une phrase : la dérivée f′(x) te dit dans quel sens la courbe monte. Donc pour descendre, tu vas dans le sens opposé : tu retranches un petit bout de la pente à ta position. C'est tout. Le reste n'est que de la répétition.
📉 La règle magique : x ← x − η·f′(x)
Voici la formule complète de la descente de gradient à une variable. À chaque pas, on met à jour la position x ainsi :
x←x−η·f′(x)
Décortiquons chaque morceau :
- f′(x) est la pente au point où tu te trouves. Si elle est positive, la courbe monte vers la droite → il faut aller à gauche. Si elle est négative, la courbe descend vers la droite → il faut aller à droite. Le signe « − » devant gère ça automatiquement.
- η (la lettre grecque « êta ») est le pas, qu'on appelle aussi taux d'apprentissage (learning rate en anglais). C'est la taille de la foulée que tu fais à chaque étape.
- Plus la pente est forte, plus le pas est grand (car on multiplie η par f′(x)). Plus tu approches du fond plat, plus la pente s'aplatit, plus tes pas raccourcissent. La bille ralentit toute seule en arrivant au minimum.
Et c'est ici qu'on retrouve un théorème du programme : au minimum d'une fonction dérivable, la dérivée s'annule (f′(x) = 0). Quand f′(x) = 0, la règle ne bouge plus : x ← x − η·0 = x. La bille est arrivée. Le point d'arrêt de l'algorithme est exactement le point où la dérivée vaut zéro — la définition même d'un extremum vue en classe.
⚖️ Tout se joue sur le pas η
Le choix de η est l'art central de la descente de gradient. Joue avec le slider de la visualisation pour voir les trois régimes :
- η trop petit (par ex. 0.005) : la bille avance par micro-pas. Elle finit par atteindre le fond, mais il lui faut des centaines d'étapes. C'est lent et coûteux.
- η bien réglé (par ex. 0.08) : la bille descend franchement, ralentit en approchant du creux, et se pose au fond en quelques pas. C'est le régime idéal.
- η trop grand (par ex. 0.3) : à chaque pas la bille saute par-dessus le minimum. Elle oscille de part et d'autre, et peut même diverger en s'éloignant de plus en plus. Trop d'ambition tue la convergence.
L'image juste : avec un pas η trop grand, c'est comme dévaler une pente en courant à toute vitesse — tu rates le point bas et tu remontes de l'autre côté. Avec un pas minuscule, tu avances à pas de fourmi : tu finis par y arriver, mais la journée est passée.
🕳️ Le piège des minima locaux
Voici la vraie difficulté. Notre fonction de démonstration possède plusieurs creux : un creux profond (le minimum global, la vraie meilleure solution) et des creux moins profonds (les minima locaux, des pièges). La descente de gradient ne voit que la pente locale sous ses pieds. Elle ne connaît pas le paysage entier.
Conséquence : selon la position de départ x₀, la bille peut tomber dans un creux local et y rester coincée, alors qu'une vallée bien plus profonde l'attendait juste à côté. Quand la pente s'annule, l'algorithme s'arrête — il croit avoir gagné, mais il a seulement trouvé un minimum, pas le minimum. Déplace le slider de départ dans la visualisation : tu verras la bille finir dans des creux différents selon son point de lâcher.
🤖 Le lien direct avec l'IA et le deep learning
Maintenant, le saut vertigineux. Un réseau de neurones, c'est une énorme fonction qui dépend de ses paramètres (les « poids »). Quand on l'entraîne, on définit une fonction de perte (loss) : un nombre qui mesure à quel point le réseau se trompe. Plus la perte est petite, mieux le réseau prédit.
Entraîner une IA, c'est exactement chercher le minimum de cette fonction de perte. Et l'outil utilisé est... la descente de gradient. La seule différence avec notre bille, c'est le nombre de dimensions :
- Ici, on minimise f(x) avec 1 variable → une courbe dans un plan.
- Un grand modèle de langage minimise une perte avec des milliards de variables → une « surface » dans un espace à des milliards de dimensions, impossible à dessiner.
Mais la règle reste littéralement la même : pour chaque paramètre, on calcule la pente de la perte (le gradient), et on retranche η fois cette pente. Des milliards de fois, sur des milliards de paramètres, pendant des semaines de calcul sur des fermes de GPU. Le « gradient », c'est simplement la généralisation de la dérivée quand il y a plusieurs variables : un vecteur qui pointe vers la plus forte montée. On va à l'opposé, et on descend.
📐 Le lien avec ton programme
Tout ce qui rend la descente de gradient possible est déjà dans le cours d'analyse :
- La dérivée = la pente. f′(x) mesure la vitesse de variation, donc l'inclinaison de la tangente. C'est le cœur de l'algorithme.
- « La dérivée s'annule au minimum. » Le critère f′(x) = 0 pour un extremum, vu en étude de fonctions, est le critère d'arrêt de la descente.
- Le signe de la dérivée donne le sens de variation. Tableau de signes, croissance/décroissance : c'est ce signe qui dit à la bille d'aller à gauche ou à droite.
- Optimisation. Trouver le minimum ou le maximum d'une fonction (coût, distance, aire) est un classique d'exercice. La descente de gradient est la version numérique, itérative, de ce que tu fais à la main.
Autrement dit : la prochaine fois que tu dresses un tableau de variations et que tu écris « f′(x) = 0 donc x est un minimum », souviens-toi que tu manipules le moteur mathématique de l'intelligence artificielle. Même idée, juste répétée des milliards de fois par une machine.