Glossaire

Algorithme d'optimisation

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

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Dans le domaine de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), les algorithmes d'optimisation sont des méthodes essentielles utilisées pour affiner les modèles et améliorer leurs performances. Ces algorithmes ajustent de façon itérative les paramètres (comme les weights and biases) d'un modèle afin de minimiser une fonction de perte prédéfinie, qui mesure la différence entre les prédictions du modèle et les valeurs cibles réelles. Ce processus est fondamental pour la formation de modèles complexes tels que les réseaux neuronaux, leur permettant d'apprendre efficacement à partir des données et d'améliorer leur précision et leur fiabilité dans des tâches allant de la reconnaissance d'images au traitement du langage naturel (NLP). Les algorithmes d'optimisation ajustent le modèle pour qu'il fasse les prédictions les plus précises.

Pertinence en matière d'IA et d'apprentissage automatique

Les algorithmes d'optimisation sont les moteurs qui alimentent le processus d'apprentissage dans la plupart des modèles ML, en particulier dans l'apprentissage profond (DL). Les modèles tels que les réseaux neuronaux convolutifs (CNN) et les réseaux neuronaux récurrents (RNN) s'appuient fortement sur ces algorithmes pour naviguer dans de vastes espaces de paramètres et trouver des configurations qui produisent de bonnes performances. Sans optimisation efficace, les modèles auraient du mal à converger vers des solutions optimales, ce qui se traduirait par des prédictions médiocres et des temps de formation plus longs. Par exemple, Ultralytics YOLO d'Ultralytics utilisent des algorithmes d'optimisation sophistiqués pendant la formation pour atteindre une grande précision dans la détection d'objets en temps réel. Ces algorithmes sont également essentiels à la formation de modèles de pointe tels que le GPT-4 et d'autres grands modèles de langage (LLM), ce qui leur confère des capacités impressionnantes. Le choix de l'optimiseur peut avoir un impact significatif sur la vitesse de formation et les performances finales du modèle, comme indiqué dans les guides sur les astuces de formation des modèles. L'exploration efficace du paysage des pertes est la clé d'une formation de modèle réussie.

Concepts et algorithmes clés

Plusieurs algorithmes d'optimisation sont largement utilisés dans l'apprentissage automatique, chacun offrant des stratégies différentes pour naviguer dans le paysage des pertes et mettre à jour les paramètres du modèle. Voici quelques exemples courants :

  • Descente en gradient: Un algorithme fondamental qui déplace itérativement les paramètres dans la direction opposée du gradient de la fonction de perte. C'est comme si tu descendais prudemment une colline pour trouver le point le plus bas. Différentes variantes existent pour améliorer les performances.
  • Descente stochastique de gradient (SGD): Une variante de la descente de gradient qui met à jour les paramètres en utilisant seulement un seul ou quelques exemples d'apprentissage (un mini-lot) à la fois, ce qui rend les mises à jour plus rapides et permet potentiellement d'échapper aux minima locaux.
  • Adam Optimizer: Un algorithme d'optimisation du taux d'apprentissage adaptatif qui calcule les taux d'apprentissage adaptatifs individuels pour différents paramètres à partir des estimations des premiers et seconds moments des gradients. Il est connu pour son efficacité et est largement utilisé dans l'apprentissage profond. Lis l'article original sur Adam pour obtenir des détails techniques.
  • RMSprop: Une autre méthode de taux d'apprentissage adaptatif qui divise le taux d'apprentissage pour un poids par une moyenne courante des amplitudes des gradients récents pour ce poids.

Ces optimiseurs sont souvent des paramètres configurables dans les cadres de ML tels que PyTorch et TensorFlowet des plateformes comme Ultralytics HUB, ce qui permet aux utilisateurs de sélectionner le meilleur ajustement pour leur tâche spécifique et leur ensemble de données. Choisir le bon optimiseur est crucial pour un entraînement efficace du modèle.

Applications dans le monde réel

Les algorithmes d'optimisation sont fondamentaux pour le succès de l'IA/ML dans divers domaines :

  1. Santé : Dans l'analyse d'images médicales, les algorithmes d'optimisation entraînent des modèles pour détecter des anomalies comme les tumeurs ou classer les types de tissus. Par exemple, lors de l'utilisation de YOLO11 pour la détection de tumeurs, les algorithmes d'optimisation ajustent les paramètres du modèle en fonction des scans médicaux annotés(ensembles de données) pour identifier avec précision les régions cancéreuses, aidant ainsi les radiologues dans leur diagnostic. Explore d'autres solutions d'IA dans le domaine de la santé.
  2. Véhicules autonomes : Les algorithmes d'optimisation sont essentiels pour former les systèmes de perception des véhicules autonomes. Ils affinent les modèles utilisés pour détecter les piétons, les autres véhicules, les feux de signalisation et les voies routières à partir des données des capteurs (comme les caméras et le LiDAR). Les algorithmes comme Adam aident le modèle à apprendre rapidement à identifier les objets avec une grande précision, ce qui est essentiel pour la sécurité et la navigation dans des environnements complexes. En savoir plus sur les solutions d'IA dans l'automobile.
  3. Finance : La formation de modèles pour la détection des fraudes ou la prédiction du marché boursier repose fortement sur l'optimisation pour minimiser les erreurs de prédiction basées sur les données historiques.
  4. Commerce électronique : Les systèmes de recommandation utilisent l'optimisation pour affiner les algorithmes qui prédisent les préférences des utilisateurs et suggèrent des produits pertinents, maximisant ainsi l'engagement et les ventes.

Algorithmes d'optimisation et concepts connexes

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

  • Algorithme d'optimisation et réglage des hyperparamètres: Les algorithmes d'optimisation (comme Adam ou SGD) ajuste le paramètres internes weights and biases) du modèle pendant le processus de formation pour minimiser la fonction de perte. Le réglage des hyperparamètres, quant à lui, se concentre sur la recherche de la valeur optimale de l'hyperparamètre. paramètres de configuration externes (hyperparamètres comme taux d'apprentissage, taille du lotou même le choix de l'algorithme d'optimisation lui-même) avant la formation commence. Des outils comme le Ultralytics Tuner classe automatise le réglage des hyperparamètres en utilisant des méthodes telles que algorithmes évolutifs. Lire le Guide de réglage des hyperparamètres pour plus de détails.
  • Algorithme d'optimisation et fonction de perte: La fonction de perte quantifie la performance du modèle en mesurant l'erreur entre les prédictions et les valeurs réelles. L'algorithme d'optimisation est le mécanisme utilisé pour ajuster itérativement les paramètres du modèle afin de minimiser cette erreur quantifiée. Différentes fonctions de perte peuvent être choisies en fonction de la tâche (par exemple, l'entropie croisée pour la classification, l'erreur quadratique moyenne pour la régression).
  • Algorithme d'optimisation et architecture du modèle: L'architecture du modèle définit la structure du réseau neuronal, y compris le nombre et le type de couches (par exemple, couches convolutives, couches d'abandon), et la façon dont elles sont connectées. L'algorithme d'optimisation travaille dans le cadre de cette architecture prédéfinie pour former les paramètres apprenablesweights and biases) associés à ces couches. La conception de l'architecture et le choix de l'optimiseur sont deux étapes cruciales dans la construction d'un modèle ML efficace. La recherche d'architecture neuronale (NAS) est un domaine connexe qui automatise la conception de l'architecture.
Tout lire