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 largement adopté et utilisé dans l'apprentissage profond (DL) et l'apprentissage automatique (ML). Il est conçu pour mettre à jour efficacement les poids du réseau pendant le processus de formation en adaptant le taux d'apprentissage pour chaque paramètre individuellement. Présenté dans l'article"Adam : A Method for Stochastic Optimization" par Diederik P. Kingma et Jimmy Ba, Adam combine les avantages de deux autres techniques d'optimisation populaires : AdaGrad (Adaptive Gradient Algorithm) et RMSprop(Root Mean Square Propagation). Cette combinaison le rend particulièrement efficace pour la formation de grands réseaux neuronaux avec de nombreux paramètres et des ensembles de données complexes.

Le fonctionnement d'Adam

Adam calcule des taux d'apprentissage adaptatifs pour chaque paramètre sur la base d'estimations des premiers et seconds moments des gradients. Essentiellement, il garde la trace d'une moyenne des gradients passés en décroissance exponentielle (similaire à l'élan) et d'une moyenne des gradients passés au carré en décroissance exponentielle (similaire à AdaGrad/RMSprop).

  • L'élan : Il permet d'accélérer la descente du gradient dans la direction voulue et d'amortir les oscillations, ce qui accélère la convergence.
  • Taux d'apprentissage adaptatif : Il ajuste le taux d'apprentissage pour chaque poids en fonction de la fréquence et de l'importance des mises à jour historiques. Les paramètres recevant des mises à jour importantes ou fréquentes ont des taux d'apprentissage plus faibles, tandis que ceux recevant des mises à jour faibles ou peu fréquentes ont des taux d'apprentissage plus élevés. Ceci est particulièrement utile pour les problèmes avec des gradients épars ou des données bruyantes.
  • Correction du biais : Adam comprend un mécanisme permettant de contrecarrer le biais initial vers zéro dans les estimations du moment, en particulier au début de la formation, lorsque les moyennes de décroissance sont encore en train de s'initialiser.

Par rapport à des algorithmes plus simples comme la descente stochastique de gradient (SGD), qui utilise un taux d'apprentissage unique et fixe (ou un taux qui décroît selon un calendrier), l'adaptation par paramètre d'Adam permet souvent de progresser plus rapidement dans la recherche d'une bonne solution, en particulier avec des paysages de pertes complexes.

Avantages d'Adam

Adam est populaire pour plusieurs raisons :

  • Efficacité informatique : Il nécessite relativement peu de mémoire et est efficace sur le plan informatique.
  • Bonne performance par défaut : Les hyperparamètres par défaut fonctionnent souvent bien pour un large éventail de problèmes, ce qui réduit la nécessité d'un réglage approfondi des hyperparamètres.
  • Adaptation aux problèmes de grande envergure : Il donne de bons résultats pour les problèmes liés à de grands ensembles de données et à des espaces paramétriques de haute dimension, courants dans les domaines de la vision artificielle (CV) et du traitement du langage naturel (NLP).
  • Traite les objectifs non stationnaires : Elle est bien adaptée aux problèmes dans lesquels la fonction objectif évolue dans le temps.
  • Efficace avec les gradients épars : Les taux d'apprentissage adaptatifs permettent de répondre aux scénarios dans lesquels les gradients sont peu nombreux.

Exemples concrets

Adam est un optimiseur de référence pour de nombreux modèles de pointe :

Exemple 1 : Vision par ordinateur

Dans le domaine de la vision par ordinateur, Adam est fréquemment utilisé pour entraîner des réseaux neuronaux convolutionnels (CNN) profonds pour des tâches telles que la classification d'images, la détection d'objets et la segmentation d'images. Par exemple, l'entraînement d'un modèle Ultralytics YOLO pour la détection d'objets dans des images(comme celles de l'ensemble de données COCO) ou la segmentation d'instances peut tirer parti d'Adam pour une convergence efficace pendant la phase d'entraînement. Adam est également utilisé dans l'analyse d'images médicales pour des tâches telles que la détection de tumeurs.

Exemple 2 : Traitement du langage naturel

Adam est un optimiseur standard pour la formation de grands modèles de langage (LLM ) tels que les variantes BERT et GPT. Lors de l'apprentissage de modèles pour des tâches telles que la traduction automatique, le résumé de texte ou l'analyse de sentiments, Adam aide à naviguer efficacement dans le paysage complexe des fonctions de perte associées à ces grands modèles(basés sur des transformateurs).

Utilisation dans Ultralytics YOLO

Dans l'écosystème Ultralytics, Adam et sa variante AdamW (Adam with decoupled weight decay) 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(évitant le surajustement), Adam fournit une alternative robuste, particulièrement utile dans certains scénarios ou lors de l'expérimentation initiale et de l'évaluation du modèle. 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. Pour améliorer encore les performances, il convient d'envisager des techniques telles que la distillation des connaissances ou l'exploration de différentes architectures de modèles.

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