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.
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.
Il existe différentes variantes de l'algorithme pour équilibrer l'efficacité du calcul et la vitesse de convergence :
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)
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.
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.