Learning Rate
Apprends comment le taux d'apprentissage influence l'entraînement des modèles. Découvre comment optimiser la taille des pas pour Ultralytics YOLO26 afin d'atteindre des performances SOTA en détection d'objets et bien plus.
Le taux d'apprentissage est une configuration critique de hyperparameter tuning qui détermine la taille du pas qu'un modèle effectue pendant le processus d'optimisation. Dans le contexte de l'entraînement d'un réseau de neurones, il contrôle l'ampleur de la mise à jour des poids internes du modèle en réponse à l'erreur estimée chaque fois que le modèle traite un lot de données. Pense-y comme à une personne qui descend une montagne vers une vallée (le point d'erreur le plus bas) ; le taux d'apprentissage dicte la longueur de son pas. Si le pas est trop grand, elle risque de sauter complètement par-dessus la vallée et de rater le fond. Si le pas est trop petit, atteindre la destination peut prendre un temps anormalement long.
Le dilemme de « Boucle d'or » dans l'optimisation#
Trouver le taux d'apprentissage optimal est souvent décrit comme un exercice d'équilibrage dans les flux de travail de machine learning. L'objectif est de minimiser la loss function, qui mesure la différence entre les prédictions du modèle et la réalité du terrain. Ce processus repose fortement sur un optimization algorithm tel que le stochastic gradient descent (SGD) ou l'Adam optimizer pour naviguer dans le paysage des pertes.
- Taux d'apprentissage trop élevé : Si la valeur est définie trop haut, les mises à jour des poids du modèle seront drastiques. Cela peut mener au phénomène de "dépassement", où le modèle ne parvient pas à converger vers une solution et oscille de manière erratique ou diverge. Cette instabilité peut parfois déclencher un problème d'exploding gradient, rendant le processus d'entraînement inutile.
- Taux d'apprentissage trop bas : Inversement, une taille de pas extrêmement petite garantit que le modèle se déplace prudemment vers le minimum, mais cela peut entraîner un underfitting car le processus d'entraînement devient désespérément lent. Le modèle peut effectivement rester bloqué dans un minimum local ou nécessiter des milliers d'epochs supplémentaires pour apprendre des motifs simples, gaspillant des ressources en calcul. Les chercheurs consultent souvent la PyTorch documentation on optimization pour comprendre comment différents algorithmes interagissent avec ces valeurs.
Applications concrètes#
L'impact des ajustements du taux d'apprentissage est évident dans diverses industries à fort enjeu où des computer vision tasks sont déployées.
-
Autonomous Driving Systems: In the development of autonomous vehicles, engineers utilize vast datasets to train models for object detection to identify pedestrians and traffic signs. When applying transfer learning to a pre-trained model like YOLO26, developers typically use a much smaller learning rate than they would during initial training. This "fine-tuning" ensures that the model learns the nuances of specific driving environments (e.g., snowy roads vs. desert highways) without erasing the general feature extraction capabilities it already possesses.
-
Imagerie diagnostique médicale : Dans l'medical image analysis, telle que la détection de tumeurs dans des examens IRM, la précision est primordiale. Un taux d'apprentissage élevé crée ici un risque que le modèle passe à côté des différences de texture subtiles qui distinguent le tissu malin du tissu bénin. Les praticiens emploient souvent une technique appelée "échauffement du taux d'apprentissage", augmentant progressivement le taux de zéro à une valeur cible pour stabiliser les premières étapes de l'entraînement, garantissant que les poids du neural network s'installent dans une configuration stable avant qu'un apprentissage agressif ne commence. Tu peux en lire plus sur ces stratégies dans le Google Machine Learning Crash Course.
Différencier les termes associés#
Il est important de distinguer le taux d'apprentissage des autres paramètres d'entraînement, car ils sont souvent configurés dans les mêmes fichiers de configuration mais servent des objectifs différents :
- Taux d'apprentissage vs. Taille du lot : Alors que le taux d'apprentissage contrôle la magnitude de la mise à jour, le batch size détermine le nombre d'échantillons d'entraînement traités avant qu'une mise à jour ne se produise. Il y a une forte relation entre les deux ; souvent, lors de l'augmentation de la taille du lot, il faut également mettre à l'échelle le taux d'apprentissage pour maintenir l'efficacité de l'entraînement, un concept exploré dans des documents sur le large-batch training.
- Taux d'apprentissage vs. Décroissance : La décroissance fait référence à une stratégie où le taux d'apprentissage est systématiquement réduit au fil du temps. Un planificateur peut réduire le taux d'un facteur 10 tous les 30 epochs. Cela aide le modèle à faire de grands sauts conceptuels au début, puis à affiner sa précision avec des pas plus petits vers la fin de l'entraînement. C'est une fonctionnalité standard dans le Ultralytics Python package.
Définir le taux d'apprentissage dans Ultralytics YOLO#
Lors de l'utilisation de frameworks modernes, tu peux facilement ajuster le taux d'apprentissage initial (lr0) et la fraction du taux d'apprentissage final (lrf). Ci-dessous un exemple de la façon de configurer cela en utilisant le client compatible Ultralytics Platform pour un cycle d'entraînement personnalisé.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)Pour les utilisateurs avancés, des techniques comme le LR Finder (popularisé par fast.ai) peuvent essentiellement automatiser la découverte de la meilleure valeur de départ en exécutant un court epoch d'essai où le taux est augmenté de manière exponentielle jusqu'à ce que la perte diverge. Maîtriser cet hyperparamètre est souvent la clé pour débloquer des performances SOTA (State-of-the-Art) dans tes projets d'IA.






