Glossaire

Algorithmes évolutionnaires

Découvrez comment les algorithmes évolutionnaires optimisent les solutions d'IA et de ML, de l'ajustement des hyperparamètres à la robotique, en utilisant des stratégies inspirées de la nature.

Les algorithmes évolutionnaires (EA) sont un sous-ensemble fascinant de l'intelligence artificielle et de l'apprentissage automatique qui utilisent les principes de l'évolution biologique pour résoudre des problèmes d'optimisation complexes. Inspirés par la sélection naturelle darwinienne, ces algorithmes affinent de manière itérative une population de solutions candidates afin de trouver le meilleur résultat possible. Au lieu d'utiliser une solution unique, les AE conservent un ensemble diversifié de réponses potentielles, ce qui leur permet d'explorer un vaste espace de recherche et d'éviter de se retrouver coincés dans des solutions sous-optimales, un problème courant avec d'autres algorithmes d'optimisation.

Comment fonctionnent les algorithmes évolutionnaires

Le processus de base d'une EE imite l'évolution naturelle à travers plusieurs étapes clés :

  1. Initialisation : L'algorithme commence par créer une population initiale de solutions candidates aléatoires.
  2. Évaluation de l'aptitude : Chaque solution de la population est évaluée à l'aide d'une fonction d'aptitude qui mesure la manière dont elle résout le problème cible. Par exemple, lors de la formation d'un modèle de vision par ordinateur, l'aptitude pourrait être mesurée par la précision du modèle.
  3. La sélection : Les individus les plus aptes sont sélectionnés pour devenir les "parents" de la génération suivante. Cette étape est analogue à la "survie du plus apte".
  4. Reproduction (croisement et mutation) : Les parents sélectionnés créent une descendance. Le croisement combine des parties de deux solutions parentales pour en créer une nouvelle, tandis que la mutation introduit de petites modifications aléatoires dans une solution. Ces opérations introduisent de nouvelles variations dans la population, ce qui stimule la recherche de meilleures solutions.
  5. Terminaison : Ce cycle se répète pendant de nombreuses générations jusqu'à ce qu'une solution satisfaisante soit trouvée ou qu'un critère d'arrêt prédéfini (comme le nombre de générations) soit respecté.

Les types courants d'AE comprennent les algorithmes génétiques (AG), la programmation génétique, les stratégies d'évolution (ES) et l'évolution différentielle (DE).

Applications dans le monde réel

Les EA sont très polyvalents et sont utilisés pour résoudre des problèmes où l'espace de recherche est vaste, complexe ou mal compris.

  • Optimisation des hyperparamètres pour les modèles d'apprentissage automatique: L'une des applications les plus courantes de la ML consiste à trouver les hyperparamètres optimaux (tels que taux d'apprentissage ou l'architecture du réseau) pour un modèle. La bibliothèque Ultralytics comprend un Tuner classe qui s'appuie sur les EA pour trouver automatiquement les meilleurs paramètres pour la formation Ultralytiques YOLO un processus décrit en détail dans notre Guide de réglage des hyperparamètres. Il est possible de l'étendre à l'aide d'intégrations telles que Ray Tune pour les expériences distribuées gérées avec des outils tels que HUB Ultralytics.
  • Optimisation de la conception et de l'ingénierie : Les AE sont utilisées pour créer des conceptions optimales pour des systèmes complexes. Un exemple célèbre est l'utilisation des AE par la NASA pour concevoir une antenne pour son vaisseau spatial ST5. L'algorithme a donné naissance à une nouvelle forme d'antenne très efficace qui n'était pas intuitive pour les ingénieurs humains. Ce même principe s'applique à la robotique pour l'évolution de la démarche et à l'IA dans la fabrication pour l'optimisation des chaînes de production.
  • L'IA dans les soins de santé: En médecine, les IA contribuent à des tâches complexes telles que la planification du personnel hospitalier pour minimiser la fatigue ou l'optimisation des plans de radiothérapie. Elles sont également utilisées dans la découverte de médicaments pour rechercher, dans de vastes espaces chimiques, des molécules ayant des propriétés thérapeutiques spécifiques.

Algorithmes évolutionnaires et concepts connexes

Il est utile de différencier les AE des autres paradigmes d'IA apparentés :

  • l'intelligence en essaim (SI): Les deux sont des méthodes basées sur la population et inspirées de la nature. Cependant, les EA se concentrent sur l'amélioration générationnelle via la sélection, le croisement et la mutation. En revanche, l'intelligence en essaim modélise le comportement collectif d'agents décentralisés (comme une volée d'oiseaux ou une colonie de fourmis) qui interagissent au sein d'une même génération pour résoudre des problèmes.
  • Apprentissage par renforcement (RL): L'apprentissage par renforcement implique qu'un agent unique apprenne une politique optimale en interagissant avec un environnement et en recevant des récompenses ou des pénalités. Les EA, en revanche, sont des techniques de recherche basées sur la population qui ne nécessitent pas nécessairement un environnement interactif ou un signal de récompense explicite de la même manière.
  • Optimisation basée sur le gradient: Les algorithmes tels que SGD (Stochastic Gradient Descent ) et Adam reposent sur le calcul du gradient de la fonction de perte pour mettre à jour les paramètres du modèle. Les EA sont sans gradient, ce qui les rend très efficaces pour les problèmes non différentiables, discontinus ou comportant de nombreux optima locaux.

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