Glossaire

Algorithme d'optimisation

Découvrez comment les algorithmes d'optimisation améliorent les performances de l'IA et de la ML, depuis l'entraînement des réseaux neuronaux jusqu'aux applications réelles dans les domaines de la santé et de l'agriculture.

Un algorithme d'optimisation est le moteur du processus d'apprentissage dans l'apprentissage automatique (ML) et l'apprentissage profond. Son rôle principal est d'ajuster de manière itérative les paramètres internes d'un modèle, tels que les poids et les biais, afin de minimiser une fonction de perte. Il s'agit d'une méthode systématique pour trouver le meilleur ensemble possible de paramètres qui rend les prédictions du modèle les plus précises. Ce processus est fondamental pour l'entraînement d'un modèle, car il transforme un modèle générique en un outil spécialisé capable de résoudre une tâche spécifique, comme la détection d'objets ou la segmentation d'images.

Fonctionnement des algorithmes d'optimisation

À la base, un algorithme d'optimisation navigue dans un "paysage de pertes", un espace à haute dimension où chaque point représente un ensemble de paramètres du modèle et où la hauteur du point correspond à l'erreur du modèle. L'objectif est de trouver le point le plus bas, ou "minimum", dans ce paysage. L'algorithme démarre avec un ensemble initial de paramètres aléatoires et, à chaque étape (ou époque), calcule le gradient de la fonction de perte. Ce gradient pointe dans la direction de la montée la plus raide, de sorte que l'algorithme fait un pas dans la direction opposée pour descendre dans le paysage.

La taille de cette étape est contrôlée par un hyperparamètre critique appelé taux d'apprentissage. Un taux d'apprentissage bien choisi garantit que le modèle apprend efficacement sans dépasser le minimum ou rester bloqué. Ce processus itératif de calcul des gradients et de mise à jour des paramètres est connu sous le nom de rétropropagation et se poursuit jusqu'à ce que les performances du modèle sur un ensemble de données de validation cessent de s'améliorer, ce qui indique une convergence.

Types courants d'algorithmes d'optimisation

Plusieurs algorithmes d'optimisation ont été développés, chacun avec des caractéristiques différentes. Parmi les plus utilisés dans le domaine de l'apprentissage profond, on peut citer les suivants :

  • Descente stochastique du gradient (SGD): Un optimiseur classique et largement utilisé qui met à jour les paramètres en utilisant le gradient à partir d'un petit sous-ensemble(lot) des données d'apprentissage. Bien qu'efficace, sa performance peut être sensible au choix du taux d'apprentissage. Des variantes telles que la SGD avec élan permettent d'accélérer la convergence.
  • Optimiseur Adam: L'optimiseur Adam (Adaptive Moment Estimation) est extrêmement populaire car il combine les avantages de deux autres extensions de SGD : AdaGrad et RMSProp. Il calcule des taux d'apprentissage adaptatifs pour chaque paramètre, ce qui le rend robuste et constitue souvent un bon choix par défaut pour de nombreux problèmes. Une extension, AdamW, est couramment utilisée dans les modèles de transformateurs modernes. Des frameworks comme PyTorch et TensorFlow proposent des implémentations de ces optimiseurs populaires.

Le choix de l'optimiseur peut avoir un impact significatif sur la vitesse d'apprentissage et la performance finale du modèle. Dans l'écosystème Ultralytics, les utilisateurs peuvent facilement configurer l'optimiseur lors de la configuration de l'entraînement.

Applications dans le monde réel

Les algorithmes d'optimisation sont à l'œuvre dans les coulisses d'innombrables applications d'IA.

  1. Analyse d'images médicales: Lors de l'entraînement d'un réseau neuronal à convolution (CNN) pour détecter les tumeurs dans les scanners cérébraux, un algorithme d'optimisation tel qu'Adam ajuste systématiquement les filtres du réseau. Il s'efforce de minimiser la différence entre les emplacements prédits par le modèle et les annotations réelles fournies par les radiologues, améliorant ainsi la précision du diagnostic du modèle. Il s'agit là d'un élément essentiel à la mise en place de solutions efficaces d'IA dans le domaine de la santé.
  2. Véhicules autonomes: Un modèle de détection d'objets dans une voiture autonome, tel que le modèle YOLO d'Ultralytics, doit identifier de manière fiable les piétons, les autres voitures et les panneaux de signalisation. Au cours de l'entraînement, un optimiseur affine les paramètres du modèle sur des millions d'images afin de réduire les erreurs de détection (par exemple, les objets manqués ou les classifications incorrectes), ce qui est essentiel pour garantir la sécurité des systèmes d'IA dans l'automobile.

Algorithmes d'optimisation et concepts connexes

Il est important de distinguer les algorithmes d'optimisation des concepts de ML connexes :

  • Algorithme d'optimisation et réglage des hyperparamètres: Les algorithmes d'optimisation ajustent les paramètres internes (poids et biais) du modèle pendant formation. En revanche, l'ajustement des hyperparamètres se concentre sur la recherche des meilleurs paramètres. paramètres de configuration externes (comme le taux d'apprentissage, la taille du lot, ou même le choix de l'optimiseur lui-même) avant la formation commence. Les Ultralytiques Tuner classe automatise ce processus en utilisant des méthodes telles que algorithmes évolutionnaires.
  • Algorithme d'optimisation et fonction de perte: La fonction de perte quantifie l' erreur du modèle. L'algorithme d'optimisation est le mécanisme utilisé pour minimiser cette erreur. La fonction de perte fournit l'objectif, et l'optimiseur la stratégie pour l'atteindre.
  • Algorithme d'optimisation et architecture du modèle: L'architecture du modèle définit la structure du réseau neuronal (par exemple, ses couches et ses connexions). L'algorithme d'optimisation travaille dans le cadre de cette structure prédéfinie pour former ses paramètres apprenables. La recherche d'architecture neuronale (NAS) est un domaine connexe qui automatise la conception de l'architecture elle-même.

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