Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Descente de gradient

Découvrez comment la descente en 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.

La descente de gradient est un algorithme itératif fondamental utilisé pour minimiser une fonction en se déplaçant dans la direction de la descente la plus raide. descente la plus raide. Dans le contexte de l 'apprentissage automatique (ML) et l 'apprentissage profond (DL), il agit comme le mécanisme mécanisme de guidage qui entraîne les modèles à faire des prédictions précises. L'objectif principal est de trouver l'ensemble optimal de poids du modèle qui minimise la fonction de perte la fonction de perte, qui représente la différence entre les prédictions du modèle et les valeurs cibles réelles. Vous pouvez visualiser ce processus comme un randonneur essayant de trouver le fond d'une vallée dans un environnement dense. de trouver le fond d'une vallée dans un brouillard épais ; en faisant des pas répétés dans la direction de la pente descendante la plus raide, le randonneur finit par atteindre le point le plus bas. Ce concept de base est approfondi dans le Google Machine Learning Crash Course.

Comment fonctionne la descente de gradient

La mécanique de base de la descente de gradient consiste à calculer le gradient - un vecteur de dérivées partielles - de la fonction de perte par rapport à chaque paramètre. par rapport à chaque paramètre. Ce calcul est géré efficacement par l'algorithme de l'algorithme de rétropropagation. Une fois le gradient déterminé déterminé, le modèle met à jour ses paramètres en faisant un pas dans la direction opposée au gradient. La taille de L'ampleur de ce pas est contrôlée par un paramètre crucial appelé taux d'apprentissage. taux d'apprentissage. Si le taux d'apprentissage est trop élevé, l'algorithme Si le taux d'apprentissage est trop élevé, l'algorithme risque de dépasser le minimum ; s'il est trop faible, l'apprentissage peut durer trop longtemps. Ce cycle se répète au cours de nombreux passages dans l'ensemble de données, appelés époques, jusqu'à ce que la perte se stabilise. Pour une perspective mathématique, Khan Academy propose une leçon sur la descente de gradient qui détaille les calculs à effectuer.

Variantes de la descente de gradient

Il existe différentes variantes de l'algorithme pour équilibrer l'efficacité du calcul et la vitesse de convergence :

  • Descente de gradient par lots: Calcule le gradient en utilisant l'ensemble des données d'apprentissage pour chaque mise à jour. données d'apprentissage pour chaque mise à jour. Elle offre des mises à jour stables, mais peut être extrêmement lente et gourmande en mémoire pour les grands ensembles de données. mais peut être extrêmement lente et gourmande en mémoire pour les grands ensembles de données.
  • Descente stochastique de gradientSGD): Actualise les poids en utilisant un seul échantillon aléatoire à la fois. Cela introduit du bruit qui peut aider à échapper à des minima locaux mais se traduit par une courbe de perte fluctuante. La documentation de documentation Scikit-Learn sur SGD fournit des détails détails techniques sur cette approche.
  • Descente de gradient par mini-lots: Traite de petits sous-ensembles de données, ou lots, ce qui permet d'équilibrer la stabilité de la descente de gradient par la stabilité de la descente de gradient par lots et la vitesse de la descente de gradient SGD lots. Il s'agit de l'approche standard dans les frameworks modernes tels que PyTorch et TensorFlow.

Voici un exemple concis de la configuration d'un optimiseur pour la formation d'un Ultralytics YOLO11 d'Ultralytics :

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the SGD optimizer with a specific learning rate
# The 'optimizer' argument allows you to select the gradient descent variant
results = model.train(data="coco8.yaml", epochs=50, optimizer="SGD", lr0=0.01)

Applications concrètes

La descente de gradient est le moteur de nombreuses applications transformatrices de l'IA dans les domaines de la santé et de l'industrie. de l 'IA dans les domaines de la santé et de l'industrie.

  • Analyse d'images médicales: Dans des tâches telles que la détection de tumeurs, La descente de gradient ajuste itérativement les poids d'un réseau neuronal convolutif (CNN) pour minimiser l'erreur entre les masques de segmentation prédits et la vérité de terrain du radiologue. entre les masques de segmentation prédits et la vérité de terrain du radiologue. Cela garantit une grande précision dans l'analyse l'analyse d'images médicales.
  • Conduite autonome: Les voitures auto-conduites s'appuient sur modèles de détection d'objets pour identifier les piétons, les véhicules et les feux de signalisation. Pendant la formation, l'optimiseur minimise la perte de régression pour les coordonnées de la boîte englobante, ce qui permet au véhicule d'identifier les piétons et les véhicules. pour les coordonnées de la boîte englobante, ce qui permet au véhicule de localiser les objets avec une précision centimétrique. de localiser des objets avec une précision de l'ordre du centimètre. Les leaders de l'industrie comme Waymo s'appuient s'appuient sur ces techniques d'optimisation avancées pour assurer la sécurité des passagers.

Descente de gradient vs. Concepts connexes

Pour bien comprendre la descente de gradient, il faut la distinguer des termes apparentés. Alors que la rétropropagation calcule les gradients (déterminant la "direction"), la descente de gradient est la algorithme d'optimisation qui qui met à jour les paramètres (en faisant le "pas"). En outre, alors que la descente de gradient standard utilise généralement un taux d'apprentissage fixe, les algorithmes adaptatifs tels que le optimiseur d'Adam ajustent le taux d'apprentissage dynamiquement le taux d'apprentissage pour chaque paramètre, ce qui conduit souvent à une convergence plus rapide, comme le décrit l'article de recherche original d'Adam. Adam . Des difficultés telles que le problème du gradient problème du gradient qui s'évanouit peut entraver la méthode standard de descente de gradient dans les réseaux très profonds. descente de gradient standard dans les réseaux très profonds, ce qui nécessite des solutions architecturales telles que la normalisation par lots ou les connexions résiduelles. la normalisation par lots ou les connexions résiduelles. Des aperçus complets de ces défis d'optimisation peuvent être trouvés sur le blog de le blog de Sebastian Ruder.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant