Glossaire

Algorithmes évolutifs

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

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

En savoir plus

Les algorithmes évolutionnaires (AE) sont une classe de techniques d'optimisation et de recherche inspirées des principes de l'évolution biologique, tels que la sélection naturelle, la mutation et la reproduction. Ils sont particulièrement efficaces pour résoudre des problèmes complexes pour lesquels les algorithmes d'optimisation traditionnels risquent de rencontrer des difficultés, comme ceux qui présentent des espaces de recherche non linéaires, non différentiables ou de haute dimension. Les EA maintiennent une population de solutions potentielles et les affinent de façon itérative au fil des générations, dans le but de trouver des solutions optimales ou quasi optimales sur la base d'un critère d'aptitude défini. Cette approche en fait des outils précieux dans divers domaines, notamment l'intelligence artificielle (IA) et l'apprentissage machine (ML).

Comment fonctionnent les algorithmes évolutionnaires

Le processus de base d'un algorithme évolutif comprend généralement les étapes suivantes, qui imitent l'évolution biologique:

  1. Initialisation : Une population de solutions candidates (souvent appelées individus ou chromosomes) est générée, généralement au hasard, dans l'espace de recherche.
  2. Évaluation de la condition physique : Chaque solution de la population est évaluée à l'aide d'une fonction de fitness (similaire à une fonction de perte) qui mesure sa qualité ou la façon dont elle résout le problème cible.
  3. Sélection : Les solutions sont sélectionnées en fonction de leur score d'aptitude. Les solutions les plus adaptées ont une probabilité plus élevée d'être choisies pour transmettre leurs caractéristiques à la génération suivante, ce qui simule le principe de la "survie du plus apte". Il existe différentes stratégies de sélection, comme la sélection par tournoi ou la sélection par roulette.
  4. Reproduction (opérateurs génétiques) :
    • Croisement (recombinaison) : Les solutions parentales sélectionnées échangent des informations (parties de leur structure) pour créer de nouvelles solutions descendantes, combinant des traits potentiellement bénéfiques.
    • Mutation : De petits changements aléatoires sont introduits dans les solutions de la progéniture pour maintenir la diversité au sein de la population et explorer de nouvelles zones de l'espace de recherche, en empêchant la convergence prématurée vers des solutions sous-optimales.
  5. Remplacement : Les nouveaux descendants remplacent une partie ou la totalité de la population plus âgée, formant ainsi la génération suivante.
  6. Terminaison : Le processus se répète à partir de l'étape d'évaluation de la condition physique jusqu'à ce qu'une condition de terminaison soit remplie, par exemple atteindre un nombre maximum de générations, trouver une solution satisfaisante ou n'observer aucune amélioration significative de la condition physique.

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

Les EA sont des outils puissants en IA et en ML, en particulier pour les tâches impliquant une optimisation sur des espaces complexes où les informations sur le gradient ne sont pas disponibles ou peu fiables. Les applications clés comprennent :

Algorithmes évolutionnaires et autres méthodes d'optimisation

Bien que les AE soient un type d'algorithme d'optimisation, ils diffèrent considérablement des méthodes basées sur le gradient telles que la descente de gradient ou la descente de gradient stochastique (SGD) :

  • Informations sur le gradient : Les EA ne nécessitent pas d'informations sur le gradient, ce qui les rend adaptés aux problèmes non différentiables ou discontinus pour lesquels la descente de gradient échoue.
  • Stratégie de recherche : Les EA effectuent une recherche globale à l'aide d'une population de solutions, ce qui les rend moins susceptibles de rester bloqués dans des optima locaux par rapport à la recherche locale de la descente de gradient basée sur la pente de la fonction de perte. Cependant, cette exploration globale s'accompagne souvent d'un coût de calcul plus élevé.
  • Type de problème : La descente de gradient est généralement privilégiée pour optimiser les paramètres des modèles d'apprentissage profond avec des fonctions de perte lisses et différentiables, tandis que les EA excellent dans l'optimisation combinatoire, l'optimisation des paramètres dans des paysages de fitness complexes et l'optimisation multi-objectifs.

Applications dans le monde réel

Au-delà de l'optimisation théorique, les AE trouvent une utilisation pratique dans :

  1. Optimiser les modèles ML : Comme nous l'avons mentionné, trouver les meilleurs hyperparamètres pour des modèles comme le Ultralytics YOLO est une application clé. Les Ultralytics Tuner classe propose une mise en œuvre utilisant les EA pour optimiser Modèle YOLO formation [Réf. : Glossaire de l'optimisation des hyperparamètres].. Intégrations avec des outils tels que Ray Tune améliorer encore les capacités de réglage distribué.
  2. Robotique et systèmes de contrôle : Les EA sont utilisés pour faire évoluer les allures des robots, les paramètres des contrôleurs pour les systèmes autonomes et les stratégies de planification des chemins, en particulier dans le domaine de la robotique.
  3. Ordonnancement et logistique : Résoudre des problèmes d'ordonnancement complexes tels que l'ordonnancement de job-shop, la création d'horaires ou l'optimisation des itinéraires de livraison(ressources pour les problèmes d'acheminement des véhicules).
  4. Optimisation de la conception : Utilisé dans les domaines de l'ingénierie et de la conception pour optimiser les structures, les matériaux ou les formes aérodynamiques (par exemple, les recherches de la NASA sur la conception des antennes).
  5. Découverte de médicaments : Les EA peuvent explorer de vastes espaces chimiques pour identifier des candidats médicaments potentiels ayant les propriétés souhaitées, ce qui facilite la recherche pharmaceutique.

Avantages et inconvénients

Avantages :

  • Efficace pour l'optimisation globale, moins enclin aux optima locaux.
  • Applicable à un large éventail de problèmes, y compris les problèmes non différentiables et complexes.
  • Intrinsèquement parallélisable, car les évaluations de la condition physique peuvent souvent être effectuées de manière indépendante.
  • Robuste face aux environnements bruyants ou incertains.

Inconvénients :

  • Peut être coûteux sur le plan informatique en raison de la recherche basée sur la population et des évaluations de la condition physique.
  • Les performances peuvent être sensibles au choix des paramètres de l'EA (taille de la population, taux de mutation, etc.).
  • La convergence vers l'optimum global n'est pas toujours garantie.
  • Peut nécessiter une mise au point importante pour des problèmes spécifiques.

Les algorithmes évolutionnaires représentent un ensemble d'outils puissants et polyvalents dans le paysage de l'IA et de la ML, offrant des avantages uniques pour relever les défis d'optimisation complexes rencontrés dans la recherche et l'industrie, notamment l'optimisation de modèles de vision par ordinateur de pointe à l'aide de plateformes comme Ultralytics HUB.

Tout lire