Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
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 sophistiqué et largement utilisé. d 'optimisation sophistiqué et largement utilisé, conçu pour mettre à jour les paramètres d'un réseau neuronal pendant le processus de formation. les paramètres d'un réseau neuronal au cours du processus d'apprentissage. En combinant les meilleures propriétés de deux autres populaires de descente stochastique de gradient (SGD), à savoir l'algorithme de gradient adaptatif (AdaGrad) et la propagation quadratique moyenne (RMSProp), Adam calcule des taux d'apprentissage adaptatifs pour chaque paramètre individuel. d'apprentissage adaptatifs pour chaque paramètre individuel. Cette capacité Cette capacité lui permet de traiter efficacement les gradients épars sur des problèmes bruyants, ce qui en fait un choix par défaut pour la formation d'architectures complexes d'apprentissage profond (DL). des architectures complexes d'apprentissage profond (DL), y compris les derniers modèlesYOLO11 .

Le fonctionnement d'Adam

Le mécanisme de base d'Adam consiste à calculer les premiers et seconds moments des gradients afin d'adapter le taux d'apprentissage pour chaque poids dans l'échantillon. d'apprentissage pour chaque poids du réseau réseau neuronal. Vous pouvez considérer le "premier moment" comme l'élan qui maintient l'optimisation dans la bonne direction, à l'instar d'une balle lourde qui descend une colline. qui dévale une colline. Le "deuxième moment" suit la variance non centrée, en échelonnant efficacement la taille de pas en fonction de l'ampleur historique des gradients.

Lors de la rétropropagation, l'algorithme calcule le gradient de la fonction de perte par rapport aux poids. poids. Adam met ensuite à jour les moyennes mobiles exponentielles du gradient (momentum) et du gradient au carré (variance). Ces moyennes mobiles sont utilisées pour mettre à l'échelle le gradient actuel, en veillant à ce que le modèle fasse des pas plus importants dans les directions dans les directions où les gradients sont cohérents et des pas plus petits dans les directions où la variance est élevée. Ce processus est décrit en détail dans le document de recherche original Adam par Kingma et Ba.

Distinguer Adam des autres optimiseurs

Pour savoir quand utiliser Adam , il faut le comparer à d'autres algorithmes couramment utilisés dans les cadres d'apprentissage automatique. dans les cadres d'apprentissage machine (ML).

  • Descente stochastique de gradient (SGD): La descente SGD stochastique met à jour les paramètres à l'aide d'un taux d'apprentissage fixe (ou d'un simple calendrier de décroissance). Bien que la SGD soit efficace sur le plan efficace sur le plan informatique et permet souvent une bonne généralisation, il peut être confronté à des "points de selle" dans le paysage des pertes et converge plus lentement qu'Adam. converge plus lentement qu'Adam. De nombreuses tâches de de vision par ordinateur utilisent SGD pour pour un réglage final afin d'obtenir une précision maximale.
  • RMSProp : Cet optimiseur s'attaque principalement à la diminution des taux d'apprentissage observée dans AdaGrad. Adam améliore RMSProp en en ajoutant le terme momentum, qui permet d'amortir les oscillations et d'accélérer la convergence vers le minimum.
  • AdamW: Une variante connue sous le nom de Adam avec décroissance pondérale découplée AdamW) est souvent préférée pour l'entraînement des transformateurs modernes et des grands modèles de vision par ordinateur. Transformers modernes et les grands modèles de vision par ordinateur. Il sépare la régularisation de la décroissance du poids de la mise à jour du gradient. Elle sépare la régularisation de la décroissance du poids de la mise à jour du gradient, ce qui se traduit souvent par une meilleure généralisation que l'Adam standard. que l'Adam standard.

Applications concrètes

En raison de sa robustesse et de son besoin minimal de réglage des hyperparamètres de réglage des hyperparamètres, Adam est utilisé dans divers domaines à fort impact.

  1. L'IA dans les soins de santé: Quand modèles d'entraînement pour l'analyse l'analyse d'images médicales, commela détection des anomalies dans les IRM, les données peuvent être éparses ou déséquilibrées. Les taux d'apprentissage adaptatifs d'Adam aident le modèle à converger rapidement, même lorsque des caractéristiques spécifiques apparaissent rarement dans les images. converge rapidement, même lorsque des caractéristiques spécifiques apparaissent dans les données d'apprentissage, ce qui accélère le déploiement outils de diagnostic.
  2. Traitement du langage naturel (NLP) : Les grands modèles de langage (LLM) tels que GPT-4 s'appuient fortement sur Adam (ou AdamW) pendant le pré-entraînement. L'algorithme gère efficacement le nombre massif de paramètres - souvent des milliards - et la nature éparse des enchâssements de mots, permettant à ces modèles d'apprendre des modèles linguistiques complexes à partir de vastes ensembles de données textuelles comme Wikipédia.

Utilisation dans Ultralytics YOLO

Lorsque vous utilisez l'APIPython d'Ultralytics , vous pouvez facilement sélectionner l'optimiseur Adam pour l'entraînement des modèles de détection d'objet, de segmentation ou d'estimation de la pose. Bien que SGD soit l'optimiseur par défaut pour de nombreuses configurations YOLO , Adam est une excellente alternative pour les petits ensembles de données ou lorsque la convergence rapide est prioritaire. convergence rapide.

L'exemple suivant montre comment former un YOLO11 à l'aide de l'optimiseur Adam :

from ultralytics import YOLO

# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")

Cette flexibilité permet aux chercheurs et aux ingénieurs d'expérimenter configurations de l'optimiseur afin de trouver la meilleure pour leurs ensembles de données spécifiques.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant