Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Optimiseur Adam

Découvrez comment l'optimiseur Adam permet un entraînement efficace des réseaux neuronaux grâce à des taux d'apprentissage adaptatifs, un momentum et des applications concrètes dans l'IA.

Adam (Adaptive Moment Estimation) est un algorithme d'optimisation populaire et puissant utilisé dans l'apprentissage automatique (AA) et l'apprentissage profond (AP). Il est conçu pour trouver efficacement les valeurs optimales pour les paramètres d'un modèle (ses poids et biais) en les mettant à jour de manière itérative en fonction des données d'entraînement. Adam est très apprécié pour sa vitesse de convergence rapide et son efficacité dans un large éventail de problèmes, ce qui en fait un choix par défaut courant pour de nombreux praticiens lors de l'entraînement de modèles personnalisés. Son développement a constitué une étape importante pour rendre l'entraînement de modèles vastes et complexes plus pratique.

Comment fonctionne Adam

L'innovation clé d'Adam est sa capacité à adapter le taux d'apprentissage pour chaque paramètre individuel. Au lieu d'utiliser un taux d'apprentissage unique et fixe pour tous les poids du réseau, Adam calcule un taux d'apprentissage individuel qui s'ajuste au fur et à mesure de la progression de l'entraînement. Il y parvient en combinant les avantages de deux autres méthodes d'optimisation : RMSProp et Momentum. Adam suit deux composantes principales : le premier moment (la moyenne des gradients, similaire au momentum) et le second moment (la variance non centrée des gradients). Cette combinaison lui permet d'effectuer des mises à jour plus éclairées, en effectuant des pas plus importants pour les paramètres avec des gradients cohérents et des pas plus petits pour ceux avec des gradients bruyants ou épars. La méthode est détaillée dans l'article de recherche original d'Adam par Kingma et Ba.

Adam contre d'autres optimiseurs

Il est utile de comparer Adam avec d'autres optimiseurs courants pour comprendre ses forces.

  • Adam vs. Descente de gradient stochastique (SGD) : Bien que SGD soit un algorithme d'optimisation fondamental, il utilise un taux d'apprentissage constant qui s'applique à toutes les mises à jour des paramètres. Cela peut le rendre lent à converger ou à se coincer dans des "vallées" sous-optimales de la fonction de perte. Adam, avec ses taux d'apprentissage adaptatifs, navigue souvent plus efficacement dans le paysage de la perte et converge beaucoup plus rapidement. Cependant, certaines recherches suggèrent que les modèles entraînés avec SGD peuvent se généraliser légèrement mieux et éviter plus efficacement le surapprentissage dans certains scénarios. Le choix nécessite souvent des tests empiriques, comme expliqué dans les guides sur les conseils d'entraînement de modèles.
  • AdamW : Une variante populaire et efficace est AdamW (Adam avec désintégration de poids découplée). Elle modifie la façon dont la désintégration de poids—une technique de régularisation—est appliquée, en la séparant de l'étape de mise à jour du gradient. Cela conduit souvent à une amélioration des performances du modèle et à une meilleure généralisation. Des implémentations sont disponibles dans les principaux frameworks comme PyTorch et TensorFlow.

Applications concrètes

L'efficacité et la robustesse d'Adam le rendent adapté à un large éventail d'applications.

  1. Entraînement des grands modèles de langage (LLM) : Adam et ses variantes sont essentiels pour l'entraînement de modèles massifs en traitement du langage naturel (NLP). Pour les modèles comme GPT-4 ou ceux de Hugging Face, l'efficacité d'Adam permet de traiter d'énormes ensembles de données textuelles provenant de sources comme Wikipedia et d'apprendre des schémas linguistiques complexes. Sa capacité à naviguer dans des paysages de perte complexes est essentielle au succès.
  2. Classification d'images et détection d'objets : En vision par ordinateur (CV), Adam est largement utilisé pour entraîner des réseaux neuronaux convolutifs (CNN) profonds sur de grands ensembles de données d'images comme ImageNet ou COCO. Il aide les modèles de classification d'images et de détection d'objets à converger rapidement, ce qui accélère le développement et les cycles de réglage des hyperparamètres.

Utilisation dans Ultralytics YOLO

Au sein de l'écosystème Ultralytics, Adam et sa variante AdamW sont des optimiseurs disponibles pour l'entraînement des modèles Ultralytics YOLO. L'utilisation des taux d'apprentissage adaptatifs d'Adam peut accélérer la convergence pendant l'entraînement de la détection d'objets, de la segmentation d'instances ou des modèles d'estimation de pose comme YOLO11 ou YOLOv10. Bien que SGD soit souvent l'optimiseur par défaut et recommandé pour certains modèles YOLO en raison d'une meilleure généralisation finale potentielle, Adam offre une alternative robuste, particulièrement utile lors de l'expérimentation initiale. Vous pouvez facilement configurer l'optimiseur et d'autres paramètres d'entraînement. Des outils comme Ultralytics HUB simplifient le processus, permettant aux utilisateurs d'entraîner des modèles en utilisant divers optimiseurs, y compris Adam, localement ou via l'entraînement dans le cloud. Les frameworks comme PyTorch et TensorFlow fournissent des implémentations standard d'Adam, qui sont utilisées dans le framework Ultralytics.

Rejoignez la communauté Ultralytics

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

Rejoindre maintenant
Lien copié dans le presse-papiers