Glossaire

Adam Optimizer

Découvrez comment l'optimiseur Adam permet une formation efficace des réseaux neuronaux avec des taux d'apprentissage adaptatifs, une dynamique et des applications réelles dans le domaine de l'IA.

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

Le fonctionnement d'Adam

La principale innovation d'Adam réside dans sa capacité à adapter le taux d'apprentissage à 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 l'apprentissage. Il y parvient en combinant les avantages de deux autres méthodes d'optimisation : RMSProp et Momentum. Adam tient compte de 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 prenant des pas plus importants pour les paramètres dont les gradients sont cohérents et des pas plus petits pour ceux dont les gradients sont bruyants ou épars. La méthode est décrite en détail dans l'article de recherche original d 'Adam, rédigé par Kingma et Ba.

Adam contre d'autres optimiseurs

Il est utile de comparer Adam à d'autres optimiseurs courants pour comprendre ses points forts.

  • Adam contre la descente stochastique de gradient (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. Il peut donc être lent à converger ou rester bloqué 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 des pertes et converge beaucoup plus rapidement. Cependant, certaines recherches suggèrent que les modèles formés avec SGD peuvent se généraliser légèrement mieux et éviter l'overfitting plus efficacement dans certains scénarios. Le choix nécessite souvent des tests empiriques, comme l'expliquent les guides sur les astuces de formation des modèles.
  • AdamW : AdamW (Adam with Decoupled Weight Decay) est une variante populaire et efficace. Elle modifie la façon dont la décroissance du poids - une technique de régularisation - est appliquée, en la séparant de l'étape de mise à jour du gradient. Cela permet souvent d'améliorer les performances du modèle et la généralisation. Des implémentations sont disponibles dans les principaux frameworks tels que PyTorch et TensorFlow.

Applications dans le monde réel

L'efficacité et la robustesse d'Adam lui permettent de s'adapter à un large éventail d'applications.

  1. Formation de grands modèles de langage (LLM) : Adam et ses variantes sont essentiels pour la formation de modèles massifs dans le traitement du langage naturel (NLP). Pour des modèles tels que GPT-4 ou ceux de Hugging Face, l'efficacité d'Adam permet de traiter d'énormes ensembles de données textuelles provenant de sources telles que Wikipedia et d'apprendre des modèles linguistiques complexes. Sa capacité à naviguer dans des paysages de pertes complexes est essentielle pour réussir.
  2. Classification d'images et détection d'objets : Dans le domaine de la vision par ordinateur, Adam est largement utilisé pour entraîner des réseaux neuronaux convolutionnels profonds (CNN) 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 les cycles de développement et de réglage des hyperparamètres.

Utilisation dans Ultralytics YOLO

Dans l'écosystème Ultralytics, Adam et sa variante AdamW sont des optimiseurs disponibles pour l'apprentissage des modèles YOLO d'Ultralytics. L'utilisation des taux d'apprentissage adaptatifs d'Adam peut accélérer la convergence pendant l'entraînement des modèles de détection d'objet, de segmentation d'instance ou d'estimation de pose comme YOLO11 ou YOLOv10. Alors que SGD est souvent l'optimiseur par défaut et recommandé pour certains modèles YOLO en raison d'une généralisation finale potentiellement meilleure, Adam fournit 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 rationalisent le processus, permettant aux utilisateurs de former des modèles à l'aide de divers optimiseurs, y compris Adam, soit localement, soit par le biais de la formation en nuage. Des frameworks comme PyTorch et TensorFlow fournissent des implémentations standard d'Adam, qui sont utilisées dans le framework Ultralytics.

Rejoindre la communauté Ultralytics

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

S'inscrire
Lien copié dans le presse-papiers