Apprends comment l'optimiseur Adam permet une formation efficace des réseaux neuronaux avec des taux d'apprentissage adaptatifs, un élan et des applications réelles dans l'IA.
L'optimiseur Adam est un algorithme d'optimisation populaire et efficace très utilisé dans l'apprentissage profond (DL) et l'apprentissage automatique (ML). Désignant l'estimation adaptative du moment, Adam combine les avantages de deux autres extensions de la descente de gradient stochastique (SGD): AdaGrad et RMSProp. Sa principale force réside dans sa capacité à calculer des taux d'apprentissage adaptatifs pour chaque paramètre, ce qui le rend bien adapté aux problèmes avec de grands ensembles de données, des espaces de paramètres à haute dimension ou des gradients bruyants, courants dans des domaines tels que la vision par ordinateur (VA) et le traitement du langage naturel (NLP).
Bien qu'Adam soit un choix par défaut puissant, il est utile de comprendre sa relation avec d'autres optimiseurs :
L'optimiseur Adam est utilisé pour former un grand nombre de modèles d'intelligence artificielle :
Dans le domaine de la vision par ordinateur, Adam est fréquemment utilisé pour former des réseaux neuronaux convolutifs (CNN). Par exemple, l'entraînement de modèles pour la classification d'images sur de grands ensembles de données comme ImageNet ou le développement de systèmes complexes de détection d'objets bénéficie de l'efficacité d'Adam pour gérer des millions de paramètres et atteindre une grande précision.
Adam est un optimiseur standard pour la formation de grands modèles de langage (LLM) tels que les variantes BERT et GPT. Lors de la formation de modèles pour des tâches telles que la traduction automatique, le résumé de texte ou l'analyse des sentiments, Adam aide à naviguer efficacement dans le paysage complexe des pertes associées à ces modèles.
Dans l'écosystème Ultralytics , Adam et sa variante AdamW sont des optimiseurs disponibles pour l'entraînement des modèlesYOLO 'Ultralytics . L'exploitation des taux d'apprentissage adaptatifs d'Adam peut accélérer la convergence pendant l'entraînement des modèles de détection d'objets, de segmentation d'instances ou d'estimation de la pose. Bien que SGD soit souvent l'optimiseur par défaut et recommandé pour les modèles YOLO en raison d'une généralisation finale potentiellement meilleure, Adam offre une alternative robuste, particulièrement utile dans certains scénarios ou lors de l'expérimentation initiale. Tu peux configurer l'optimiseur et d'autres paramètres d'entraînement facilement. Des outils comme Ultralytics HUB rationalisent le processus, en permettant aux utilisateurs de former des modèles à l'aide de divers optimiseurs, dont Adam, soit localement, soit via la formation dans le cloud. Pour optimiser les performances, considère des techniques comme le réglage des hyperparamètres. Des outils comme PyTorch et TensorFlow fournissent des implémentations d'Adam.
Comment fonctionne Adam
Adam met à jour les paramètres du modèle de façon itérative pendant l'apprentissage en utilisant les informations des gradients passés. Il maintient deux moyennes mobiles pour chaque paramètre : une estimation du premier moment (la moyenne des gradients) et une estimation du deuxième moment (la variance non centrée des gradients). Ces moments permettent d'adapter le taux d'apprentissage individuellement pour chaque paramètre. Les paramètres qui reçoivent des mises à jour de gradient importantes ou fréquentes ont des taux d'apprentissage plus faibles, tandis que ceux qui reçoivent des mises à jour petites ou peu fréquentes ont des taux d'apprentissage plus importants. Cette nature adaptative conduit souvent à une convergence plus rapide par rapport à l'algorithme SGD standard. L'algorithme intègre également le momentum en utilisant la moyenne mobile du gradient, ce qui permet d'accélérer la progression le long des directions pertinentes et d'amortir les oscillations. Tu trouveras plus de détails dans l'article original d'Adam.