La descente de gradient est un algorithme qui permet de minimiser une fonction différentiable en effectuant des pas répétés dans la direction qui la fait décroître le plus localement. Si vous cherchez « qu’est-ce que la descente de gradient ? », l’idée de base est simple : calculer la pente, descendre un peu, puis recommencer.
Elle est largement utilisée en optimisation fondée sur le calcul différentiel et en apprentissage automatique. La méthode fonctionne particulièrement bien lorsque l’on peut calculer une dérivée ou un gradient et choisir un taux d’apprentissage assez petit pour rester stable, mais assez grand pour progresser.
En une variable, la règle de mise à jour est
et en plusieurs variables, elle devient
où est le taux d’apprentissage. Le taux d’apprentissage contrôle l’amplitude de chaque pas, donc il influence directement la convergence, le blocage ou le dépassement du minimum par l’algorithme.
Intuition de la descente de gradient
Le gradient pointe vers la montée. Si votre objectif est de minimiser, le mouvement local naturel consiste à aller dans l’autre sens.
Cette règle locale ne garantit pas la meilleure réponse possible dans tous les problèmes. Sur une fonction convexe, la descente de gradient peut mener au minimum global. Sur une fonction non convexe, elle peut se stabiliser sur un minimum local, une région plate ou un autre point stationnaire.
Comment fonctionne l’algorithme de descente de gradient
À chaque itération, on utilise l’information de pente au point courant, on met à jour le point, puis on vérifie s’il faut continuer.
- Commencez avec une estimation initiale ou .
- Calculez la dérivée ou le gradient au point courant.
- Mettez à jour en soustrayant fois cette dérivée ou ce gradient.
- Arrêtez lorsque le gradient est petit, que les mises à jour deviennent minuscules ou qu’une limite d’itérations prédéfinie est atteinte.
La règle de mise à jour standard suppose que l’objectif est différentiable aux points où on l’applique. Certaines méthodes d’optimisation utilisent des sous-gradients pour les problèmes non lisses, mais il s’agit d’un cadre différent.
Pourquoi le taux d’apprentissage est important en descente de gradient
Le taux d’apprentissage est la taille du pas.
Si est trop petit, la descente de gradient avance généralement dans la bonne direction, mais peut être extrêmement lente. Si est trop grand, les mises à jour peuvent dépasser le minimum, osciller d’un côté à l’autre, voire diverger.
On voit clairement ce compromis sur une fonction quadratique, où la pente devient plus forte à mesure que l’on s’éloigne du minimum. Une taille de pas qui semble sûre à un endroit peut être trop agressive à un autre.
Exemple détaillé : descente de gradient sur une fonction quadratique
Considérons
Cette fonction atteint son minimum en . Sa dérivée est
Appliquons la descente de gradient avec un taux d’apprentissage et un point de départ .
La règle de mise à jour est alors
En partant de :
Puis
et
À chaque étape, on se rapproche de , et la valeur de la fonction diminue à chaque fois. C’est le schéma principal à retenir : la descente de gradient ne saute pas directement à la réponse. Elle améliore l’estimation par corrections locales répétées.
Variantes courantes de la descente de gradient
Descente de gradient batch
La descente de gradient batch utilise l’ensemble complet des données pour calculer chaque mise à jour. Pour un objectif fixé, cela donne un pas déterministe, mais cela peut coûter cher lorsque le jeu de données est volumineux.
Descente de gradient stochastique
La descente de gradient stochastique met à jour les paramètres à partir d’un seul échantillon à la fois. Chaque pas est moins coûteux et plus bruité. Ce bruit peut aider la méthode à continuer d’avancer, mais il rend aussi la trajectoire moins régulière.
Descente de gradient mini-batch
La descente de gradient mini-batch utilise un petit groupe d’échantillons à chaque pas. C’est souvent un compromis pratique, car elle réduit le bruit par rapport aux mises à jour purement stochastiques tout en restant bien moins coûteuse que les mises à jour en batch complet.
Ces variantes comptent surtout en apprentissage automatique, où l’objectif est souvent une perte moyenne calculée sur de nombreux exemples d’entraînement.
Erreurs fréquentes avec la descente de gradient
Considérer le taux d’apprentissage comme un simple détail
Changer modifie le comportement même de l’algorithme. Une méthode qui converge pour un taux d’apprentissage peut échouer pour un autre.
Supposer que la descente de gradient trouve toujours le minimum global
Cette conclusion demande des conditions. Par exemple, la convexité donne des garanties bien plus fortes qu’un paysage non convexe général.
Ignorer l’échelle des variables dans les problèmes appliqués
Dans les problèmes d’optimisation où les variables sont mal mises à l’échelle, une direction peut varier beaucoup plus vite qu’une autre. La descente de gradient peut alors zigzaguer et converger lentement, sauf si le problème est reformulé ou mieux mis à l’échelle.
S’arrêter seulement parce que le gradient n’est pas exactement nul
Les algorithmes numériques n’attendent presque jamais un zéro parfait. En pratique, les critères d’arrêt vérifient généralement si la norme du gradient, la variation des paramètres ou la variation de l’objectif est suffisamment petite.
Quand utilise-t-on la descente de gradient ?
La descente de gradient est utilisée en optimisation numérique, en statistique et en apprentissage automatique. Elle est particulièrement courante lorsqu’une solution exacte sous forme fermée n’est pas disponible ou coûte trop cher à calculer directement.
Pour les petits problèmes avec des formules simples, le calcul différentiel peut donner le minimum exactement. La descente de gradient devient plus utile lorsque l’espace des paramètres est grand, que l’objectif comporte de nombreuses variables ou que la perte provient de grands jeux de données.
Essayez un problème similaire
Essayez votre propre version avec et le point de départ . Faites un cas avec et un autre avec . Voir une exécution stable et une exécution instable rend le rôle du taux d’apprentissage bien plus clair que la formule seule.
Besoin d'aide pour un problème ?
Envoyez votre question et obtenez une solution vérifiée, étape par étape, en quelques secondes.
Ouvrir GPAI Solver →