Glossaire

Descente stochastique de gradient (SGD)

Découvrez comment la descente stochastique de gradient optimise les modèles d'apprentissage automatique, permettant une formation efficace pour les grands ensembles de données et les tâches d'apprentissage profond.

La descente de gradient stochastique, communément appelée SGD, est un algorithme d'optimisation populaire et efficace largement utilisé dans l'apprentissage automatique (Machine Learning, ML) et en particulier l'apprentissage profond (Deep Learning, DL). Il s'agit d'une variante de l'algorithme standard de descente de gradient, mais il est spécialement conçu pour être rapide et efficace lorsqu'il s'agit de traiter de très grands ensembles de données. Au lieu de calculer le gradient (la direction de la descente la plus raide pour la fonction de perte) en utilisant l'ensemble des données à chaque étape, SGD approxime le gradient sur la base d'un seul échantillon de données sélectionné de manière aléatoire ou d'un petit sous-ensemble appelé mini-lot. Cette approche réduit considérablement les coûts de calcul et les besoins en mémoire, ce qui permet d'entraîner des modèles complexes sur des quantités massives de données dans des domaines tels que la vision par ordinateur.

Pertinence de l'apprentissage automatique

La SGD est la pierre angulaire de la formation des modèles d'apprentissage automatique à grande échelle, en particulier les réseaux neuronaux (NN) complexes qui alimentent de nombreuses applications modernes d'intelligence artificielle. Son efficacité le rend indispensable lorsque l'on travaille avec des ensembles de données qui sont trop volumineux pour être stockés en mémoire ou qui prendraient trop de temps à traiter en utilisant la descente de gradient par lots traditionnelle. Des modèles comme Ultralytics YOLO utilisent souvent le SGD ou ses variantes au cours du processus d'apprentissage pour apprendre des modèles pour des tâches telles que la détection d'objets, la classification d'images et la segmentation d'images. Les principaux cadres d'apprentissage profond tels que PyTorch et TensorFlow fournissent des implémentations robustes de SGD, soulignant son rôle fondamental dans l'écosystème de l'IA.

Concepts clés

La compréhension des SGD repose sur quelques idées fondamentales :

  • Fonction de perte: Mesure de la correspondance entre les prédictions du modèle et les valeurs cibles réelles. SGD vise à minimiser cette fonction.
  • Taux d'apprentissage: Un hyperparamètre qui contrôle la taille du pas effectué lors de chaque mise à jour des paramètres. La recherche d'un bon taux d'apprentissage est cruciale pour une formation efficace. Les programmes de taux d'apprentissage sont souvent utilisés pour l'ajuster pendant la formation.
  • Taille du lot: Le nombre d'échantillons d'apprentissage utilisés dans une itération pour estimer le gradient. Dans la méthode SGD pure, la taille du lot est de 1. Lorsque l'on utilise de petits sous-ensembles, on parle souvent de descente de gradient par mini-lots.
  • Données de formation: Ensemble de données utilisé pour former le modèle. SGD traite ces données échantillon par échantillon ou par mini-lots. Il est essentiel de disposer de données de haute qualité, ce qui nécessite souvent une collecte et une annotation minutieuses des données.
  • Gradient : Un vecteur indiquant la direction de l'augmentation la plus forte de la fonction de perte. SGD déplace les paramètres dans la direction opposée au gradient calculé à partir d'un échantillon ou d'un mini-lot.
  • Époque : Un passage complet à travers l'ensemble des données d'apprentissage. La formation comporte généralement plusieurs époques.

Différences par rapport aux concepts apparentés

SGD est un algorithme d'optimisation parmi d'autres, et il est important de le distinguer des autres :

Applications dans le monde réel

L'efficacité du SGD lui permet d'être utilisé dans de nombreuses applications d'intelligence artificielle à grande échelle :

Exemple 1 : Formation de grands modèles linguistiques (LLM)

La formation de modèles tels que ceux utilisés dans le traitement du langage naturel (NLP) implique souvent des ensembles de données textuelles massives (des milliards de mots). SGD et ses variantes (comme Adam) sont essentiels pour itérer efficacement à travers ces données, permettant aux modèles tels que GPT-4 ou ceux trouvés sur Hugging Face d' apprendre la grammaire, le contexte et la sémantique. La nature stochastique permet d'éviter les minima locaux dans le paysage complexe des pertes.

Exemple 2 : Formation à la détection d'objets en temps réel

Pour des modèles comme Ultralytics YOLO conçus pour l'inférence en temps réel, l'entraînement doit être efficace. SGD permet aux développeurs d'entraîner ces modèles sur de grands ensembles de données d'images comme COCO ou sur des ensembles de données personnalisés gérés par des plateformes comme Ultralytics HUB. Les mises à jour rapides permettent une convergence plus rapide que la méthode Batch GD, ce qui est essentiel pour itérer rapidement pendant le développement du modèle et le réglage des hyperparamètres. Cette efficacité favorise les applications dans des domaines tels que les véhicules autonomes et la robotique.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers