Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Descente stochastique de gradientSGD

Découvrez comment la descente de gradient stochastique optimise les modèles d'apprentissage automatique, permettant un entraînement efficace pour les grands ensembles de données et les tâches de deep learning.

La descente stochastique du gradient (SGD) est un algorithme d'optimisation fondamental largement utilisé dans l'apprentissage automatique et l' apprentissage profond pour entraîner des modèles. Il s'agit d'une variante de la méthode standard de descente du gradient, conçue pour traiter efficacement de grands ensembles de données. Alors que la descente du gradient traditionnelle calcule l'erreur et met à jour les paramètres du modèle en utilisant l' ensemble des données à la fois, SGD les paramètres en utilisant un seul exemple d'entraînement sélectionné au hasard à la fois. Cette approche stochastique, ou aléatoire, réduit considérablement la charge de calcul et permet des itérations plus rapides, ce qui en fait le choix privilégié pour l'entraînement de réseaux neuronaux complexes sur des ensembles de données massifs où le traitement simultané de toutes les données serait impossible en raison des contraintes de mémoire.

Fonctionnement de la descente de gradient stochastique

Le mécanisme central du SGD à minimiser de manière itérative une fonction de perte, qui mesure la différence entre les prédictions du modèle et les valeurs cibles réelles. Dans une boucle d'apprentissage typique, l'algorithme effectue un passage en avant pour faire une prédiction sur un seul point de données. Il calcule ensuite le gradient, c'est-à-dire la direction de l'augmentation la plus forte de l'erreur, à l'aide de la rétropropagation. Enfin, il met à jour les poids du modèle dans la direction opposée au gradient afin de réduire l'erreur.

Comme SGD qu'un seul échantillon par étape, le chemin vers l'erreur minimale n'est pas une ligne droite, mais plutôt une trajectoire en zigzag ou bruyante. Ce bruit est souvent bénéfique ; il aide le modèle à échapper aux minima locaux (solutions sous-optimales où une descente de gradient standard pourrait se bloquer), lui permettant ainsi de trouver potentiellement une meilleure solution globale. La vitesse et la taille de ces mises à jour sont contrôlées par un hyperparamètre appelé taux d'apprentissage. Trouver le taux d'apprentissage optimal est un élément clé du réglage des hyperparamètres, car un taux trop élevé peut amener le modèle à dépasser le minimum, tandis qu'un taux trop faible entraîne une convergence très lente .

SGD par rapport à d'autres algorithmes d'optimisation

Il est important de distinguer SGD autres stratégies d'optimisation afin de choisir l'outil adapté à votre tâche spécifique d'apprentissage automatique.

  • Descente de gradient par lots: Cette approche calcule le gradient en utilisant l'ensemble des données pour chaque mise à jour. Bien qu'elle fournisse un gradient d'erreur stable et un chemin direct vers le minimum, elle est coûteuse en termes de calcul et lente pour les grands ensembles de données.
  • Descente de gradient par mini-lots: dans la pratique, la plupart des implémentations modernes de «SGD » dans des frameworks tels que PyTorch font en réalité référence à la descente de gradient par mini-lots. Cette méthode met à jour les paramètres à l'aide d'un petit groupe d'échantillons (un lot) plutôt que d'un seul. Elle équilibre l' efficacité de SGD la stabilité de la descente de gradient par lots.
  • Adam : L'algorithme Adam est une extension du SGD utilise des taux d'apprentissage adaptatifs pour chaque paramètre. Bien que Adam plus rapidement, SGD pur SGD momentum est parfois préféré pour l'entraînement de modèles de vision par ordinateur de pointe afin d'obtenir une meilleure généralisation.

Applications concrètes

SGD le moteur derrière bon nombre des applications d'IA avec lesquelles nous interagissons quotidiennement.

  1. Classification d'images à grande échelle : formation de modèles massifs sur des ensembles de données tels que ImageNet nécessite une optimisation efficace. SGD SGD permet aux réseaux neuronaux convolutifs (CNN) de traiter des millions d'images afin d'apprendre des caractéristiques complexes. Cette capacité est à la base des technologies utilisées dans l' analyse d'images médicales pour detect à partir de radiographies et d'IRM avec une grande précision.
  2. Traitement du langage naturel (NLP) : dans le domaine du texte, SGD utilisé pour entraîner les grands modèles linguistiques (LLM) sur de vastes corpus de données textuelles. Qu'il s'agisse d' analyse des sentiments ou d'alimentation d'un assistant virtuel, SGD ces modèles d' apprendre progressivement la grammaire, le contexte et le sens sans avoir besoin de stocker simultanément des milliards de mots en mémoire .

Mise en œuvre de SGD avec Ultralytics

Le ultralytics La bibliothèque simplifie le processus de sélection d'un optimiseur. Alors que les modèles plus récents comme YOLO26 SGD ont hautement optimisés, vous pouvez choisir explicitement SGD pour l'entraînement si votre cas d'utilisation ou votre recherche spécifique l'exige. L'exemple ci-dessous montre comment entraîner un YOLO11 modèle de classification utilisant SGD.

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Train the model on the MNIST dataset using the SGD optimizer
# The 'optimizer' argument specifies the algorithm
results = model.train(data="mnist", epochs=5, optimizer="SGD", lr0=0.01)

Cet extrait initialise un modèle et lance le entraînement du modèle processus sur le MNIST ensemble de données. En définissant optimizer="SGD", le framework gère automatiquement les calculs complexes de rétropropagation et de mise à jour des paramètres . Pour des configurations plus avancées, telles que l'ajustement de l'inertie ou de la décroissance des poids, reportez-vous au guide de configuration de la formation. La compréhension de ces mécanismes sous-jacents est cruciale pour le débogage et l'amélioration. indicateurs de performance du modèle.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant