Gradient
En apprentissage automatique, le gradient est un vecteur qui indique à la fois la direction et l’intensité de la variation de la fonction de perte par rapport aux paramètres du modèle. En d’autres termes, il renseigne sur la manière dont chaque paramètre doit être ajusté pour réduire l’erreur.
Rôle dans l’apprentissage
Le gradient est au cœur de l’algorithme de descente de gradient et de la rétropropagation (backpropagation). Lors de l’entraînement d’un réseau neuronal, les gradients sont calculés couche par couche afin d’ajuster les poids et biais. Par exemple :
- Si le gradient est grand, une mise à jour importante est effectuée.
- Si le gradient est proche de zéro, l’ajustement est minime (ce qui peut causer le problème des gradients nuls ou vanishing gradients).
Applications pratiques
- Réseaux convolutifs (CNN) : détection de motifs visuels en ajustant des millions de paramètres.
- Transformers : ajustement des poids d’attention pour comprendre le contexte linguistique.
- Optimisation en RL : apprentissage des politiques par gradients de récompenses.
Avantages et limites
- ✅ Permet un apprentissage progressif et précis.
- ✅ Base de la majorité des techniques modernes de deep learning.
- ❌ Sensible à la taille du taux d’apprentissage.
- ❌ Peut poser problème avec des réseaux très profonds (gradients explosifs ou nuls).
On peut voir le gradient comme une indication de direction : il montre comment modifier chaque paramètre pour diminuer l’erreur du modèle. Plus le gradient est fort, plus la correction doit être importante. Cette logique, répétée des millions de fois, permet d’entraîner des réseaux profonds de vision, de langage ou de recommandation.
Cependant, le calcul des gradients n’est pas toujours simple. Dans les réseaux profonds, le problème du gradient qui disparaît ou qui explose est fréquent. Les chercheurs ont inventé des solutions comme les fonctions d’activation adaptées (ReLU), les connexions résiduelles (ResNet) ou encore le gradient clipping, qui limite la valeur maximale d’un gradient pour stabiliser l’apprentissage.
Le gradient est également central dans des approches plus avancées, comme l’optimisation de politiques en apprentissage par renforcement ou l’optimisation de modèles différentiables qui intègrent des contraintes physiques ou statistiques. C’est cet outil qui rend possible l’entraînement de modèles d’IA à grande échelle.
📚 Références
- Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning.