Imaginez un randonneur perdu dans le brouillard sur une montagne, cherchant à rejoindre la vallée. Sans voir l'horizon, il tâte le sol sous ses pieds et fait un pas dans la direction qui descend le plus fort. La descente de gradient fonctionne exactement ainsi : c'est l'algorithme d'optimisation qui permet à un modèle d'IA d'apprendre en réduisant progressivement son erreur.
Le principe
Un modèle est défini par des paramètres (les poids du réseau). Une fonction de coût $J(\theta)$ mesure à quel point ses prédictions sont fausses. L'objectif est de trouver les paramètres qui minimisent ce coût. Le gradient $\nabla J(\theta)$ indique la direction de plus forte pente montante ; on se déplace donc dans la direction opposée :
$$\theta \leftarrow \theta - \eta \, \nabla J(\theta)$$
Le taux d'apprentissage $\eta$ contrôle la taille du pas : trop grand, on rebondit sans converger ; trop petit, l'apprentissage devient interminable.
Trois variantes
| Variante | Données par pas | Caractéristique |
|---|---|---|
| Batch | Tout le jeu | Stable mais lente |
| Stochastique (SGD) | 1 exemple | Rapide, bruitée |
| Mini-batch | Petit lot | Compromis dominant |
En pratique
La descente de gradient est le moteur de l'apprentissage profond. Combinée à la rétropropagation (qui calcule efficacement le gradient couche par couche), elle entraîne aujourd'hui les plus grands modèles. Des optimiseurs comme Adam ou RMSProp l'améliorent en adaptant automatiquement le pas pour chaque paramètre.
Apprendre, pour une machine, c'est simplement descendre la pente de ses erreurs jusqu'à toucher le fond de la vallée.