Glossaire

Descente en gradient

Découvre comment la descente de gradient optimise les modèles d'IA comme Ultralytics YOLO , permettant des prédictions précises dans des tâches allant des soins de santé aux voitures auto-conduites.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La descente de gradient est un algorithme d'optimisation fondamental largement utilisé dans l'apprentissage automatique (ML) et l'intelligence artificielle (IA). Il sert de méthode principale pour l'entraînement de nombreux modèles, y compris les architectures d'apprentissage profond complexes comme Ultralytics YOLO. L'objectif de la descente de gradient est d'ajuster de façon itérative les paramètres internes du modèle (souvent appelés poids et biais du modèle ) pour minimiser une fonction de perte, qui mesure la différence entre les prédictions du modèle et les valeurs cibles réelles. Imagine que tu essaies de trouver le point le plus bas d'une vallée alors que tu as les yeux bandés ; la descente graduelle te guide en évaluant la pente (gradient) à ta position actuelle et en faisant de petits pas dans la direction la plus abrupte vers le bas. Ce processus itératif permet aux modèles d'apprendre à partir des données et d'améliorer leur précision prédictive.

Pertinence de l'apprentissage automatique

La descente de gradient est particulièrement cruciale pour la formation de modèles sophistiqués tels que les réseaux neuronaux (NN) qui constituent la base de nombreuses applications modernes de l'IA. Ces modèles, y compris ceux utilisés pour la détection d'objets, la classification d'images et le traitement du langage naturel (NLP), ont souvent des millions, voire des milliards de paramètres à optimiser. La descente de gradient, ainsi que ses variantes, offre un moyen informatiquement réalisable de naviguer dans le paysage complexe des pertes (la surface à haute dimension représentant la valeur de la perte pour toutes les combinaisons de paramètres possibles) et de trouver les valeurs des paramètres qui donnent de bonnes performances. Sans une optimisation efficace grâce à la descente de gradient, l'entraînement de ces grands modèles à des niveaux de précision élevés serait irréalisable. Les principaux cadres de ML tels que PyTorch et TensorFlow s'appuient fortement sur diverses implémentations de la descente de gradient et sur des algorithmes connexes tels que la rétropropagation pour calculer les gradients nécessaires. Tu peux explorer les conseils de formation de modèles pour avoir des idées sur l'optimisation de ce processus.

Concepts clés et variantes

L'idée centrale de la descente de gradient consiste à calculer le gradient (la direction de l'ascension la plus raide) de la fonction de perte par rapport aux paramètres du modèle, puis à faire un pas dans la direction opposée (descente). La taille de cette étape est contrôlée par le taux d'apprentissage, un hyperparamètre critique qui détermine la vitesse d'apprentissage du modèle. Un taux d'apprentissage trop faible peut entraîner une convergence lente, tandis qu'un taux trop élevé peut amener le processus d'optimisation à dépasser le minimum ou même à diverger. Il existe plusieurs variantes de la descente de gradient, qui diffèrent principalement par la quantité de données utilisées pour calculer le gradient à chaque étape :

  • Descente de gradient par lots (BGD) : Calcule le gradient en utilisant l'ensemble des données d'apprentissage. Cela permet d'obtenir une estimation précise du gradient mais peut s'avérer très coûteux en termes de calcul et lent pour les grands ensembles de données.
  • Descente stochastique du gradient (SGD) : Met à jour les paramètres en utilisant le gradient calculé à partir d'un seul exemple d'apprentissage à chaque étape. Cette méthode est beaucoup plus rapide et permet d'échapper aux minima locaux peu profonds, mais les mises à jour sont bruyantes, ce qui entraîne une trajectoire de convergence moins stable.
  • Descente de gradient par mini-lots: Un compromis entre BGD et SGD. Elle calcule le gradient à l'aide d'un petit sous-ensemble aléatoire (mini-lot) des données d'apprentissage (contrôlé par l'hyperparamètre de la taille du lot ). Cela permet d'équilibrer la précision de la BGD avec l'efficacité de la SGD et c'est la variante la plus couramment utilisée dans l'apprentissage profond.
  • Optimiseurs adaptatifs: Des algorithmes comme Adam(lien papier), Adagrad et RMSprop ajustent automatiquement le taux d'apprentissage pour chaque paramètre pendant la formation, ce qui conduit souvent à une convergence plus rapide et à de meilleures performances par rapport au SGD de base ou au Mini-batch GD. Ces méthodes sont fréquemment utilisées dans des plateformes comme Ultralytics HUB pour la formation des modèles. Tu trouveras plus de détails sur les variantes sur la page Wikipédia de la descente de gradient.

Différences par rapport aux concepts apparentés

La descente de gradient est un type spécifique d'algorithme d'optimisation, axé sur la minimisation itérative d'une fonction de perte en ajustant les paramètres du modèle à l'aide de gradients. Il diffère d'autres concepts importants dans la formation des modèles :

Applications dans le monde réel

La descente de gradient est le moteur derrière les modèles de formation pour d'innombrables applications d'IA dans le monde réel, permettant aux modèles d'apprendre à partir de vastes quantités de données dans des scénarios d'apprentissage supervisé et au-delà :

  1. Analyse d'images médicales : Dans le domaine de l'IA en santé, la descente de gradient entraîne des réseaux neuronaux convolutifs (CNN) pour des tâches telles que l'analyse d'images médicales. Par exemple, il optimise les modèles pour détecter les tumeurs ou les anomalies dans les radiographies, les tomodensitogrammes ou les IRM en minimisant la différence entre la segmentation ou la classification prédite par le modèle et la vérité de terrain fournie par les radiologues(voir l'exemple d'article de blog). Des revues comme Radiology : Artificial Intelligence présentent de telles avancées.
  2. Systèmes de recommandation : Des entreprises comme Netflix et Amazon utilisent des algorithmes de recommandation formés avec la descente de gradient. Ces algorithmes apprennent les préférences des utilisateurs et les caractéristiques des articles en minimisant une fonction de perte qui prédit les évaluations des utilisateurs ou la probabilité d'interaction, ce qui leur permet de suggérer des films, des produits ou des contenus pertinents.
  3. Véhicules autonomes : Les modèles utilisés dans les véhicules autonomes pour les tâches de perception, telles que l'identification des piétons, des voitures et des voies de circulation à l'aide de boîtes de délimitation, sont formés à l'aide de la descente de gradient. Cette optimisation est essentielle pour la sécurité et la fiabilité de la technologie de conduite autonome, comme on le voit dans les systèmes développés par des entreprises comme Waymo. Cela est tout à fait pertinent pour l'IA dans l'automobile.
Tout lire