Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Algorithmes évolutionnaires

Découvrez 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.

Les algorithmes évolutionnaires (EA) représentent une classe robuste de recherche en d'intelligence artificielle (IA) d'intelligence artificielle (IA) inspirées des principes biologiques de la sélection naturelle et de la génétique. Contrairement aux méthodes mathématiques mathématiques traditionnelles qui reposent sur des calculs de dérivées, ces algorithmes simulent le processus d'évolution pour résoudre des problèmes d'optimisation complexes. complexes. En maintenant une En maintenant une population de solutions potentielles qui s'affrontent, se reproduisent et mutent, les AE peuvent naviguer dans des espaces de recherche vastes et accidentés où la "meilleure" réponse est inconnue. où la "meilleure" réponse est inconnue ou impossible à dériver analytiquement. C'est ce qui les rend particulièrement particulièrement utiles dans l'apprentissage automatique (ML) pour des tâches allant de la conception automatisée de modèles à la programmation complexe. pour des tâches allant de la conception automatisée de modèles à la programmation complexe.

Mécanismes fondamentaux de l'évolution

La fonctionnalité d'un algorithme évolutionnaire reflète le concept de survie du plus apte. Le processus affine de manière itérative un ensemble de solutions candidates par le biais d'un cycle d'opérateurs biologiques :

  1. Initialisation : Le système génère une population aléatoire de solutions potentielles au problème.
  2. Évaluation de l'aptitude : Chaque candidat est testé par rapport à une fonction fonction d'aptitude définie. Dans le domaine de la vision artificielle (CV), cette fonction mesure la précision d'un modèle ou la précision moyenne (mAP). mAP).
  3. Sélection : Les candidats ayant obtenu les meilleurs résultats sont sélectionnés pour servir de parents à la génération suivante. génération.
  4. Reproduction et variation : De nouvelles solutions sont créées par le croisement (combinaison des caractères de deux parents) et la mutation (introduction de changements aléatoires). La mutation est essentielle car elle introduit une diversité génétique, empêchant l'algorithme de rester bloqué dans un optimum local au lieu de trouver l'optimum global. dans un optimum local au lieu de trouver l'optimum global.

Applications de l'IA dans le monde réel

Les algorithmes évolutionnaires sont des outils polyvalents utilisés dans divers domaines à fort impact pour améliorer les performances des systèmes :

  • Réglage des hyperparamètres: L'une des des applications les plus courantes en l'apprentissage profond (DL) est l'optimisation des d'entraînement. Au lieu de deviner manuellement les valeurs du pour le taux d'apprentissage, l'élan ou la décroissance des poids, un EA peut faire évoluer un ensemble d'hyperparamètres qui maximisent les performances du modèle. peut faire évoluer un ensemble d'hyperparamètres qui maximisent les performances du modèle. Le Ultralytics YOLO11 comprend un accordeur basé sur un algorithme pour automatiser ce processus.
  • Recherche d'architecture neuronale (NAS) : Les EA automatisent la conception de réseaux neuronaux. En traitant la structure du réseau réseau (couches, connexions) comme un code génétique, l'algorithme peut faire évoluer des architectures très efficaces adaptées aux dispositifs d'IA de pointe où les ressources informatiques sont limitées. pour les dispositifs d'IA de pointe où les ressources informatiques sont limitées.
  • Robotique et contrôle : En l 'IA dans la robotique, les EA évoluent vers des politiques de contrôle et des démarches de mouvement. des allures de mouvement. Cela permet aux robots autonomes d'apprendre à naviguer dans des environnements dynamiques en simulant des générations de stratégies de mouvement. générations de stratégies de mouvement.
  • Optimisation environnementale : Dans des secteurs tels que l 'IA dans l'agriculture, les EA aident à optimiser l'allocation des ressources l'allocation des ressources, comme les calendriers d'irrigation ou l'emplacement des cultures, afin de maximiser le rendement tout en minimisant les déchets.

Automatiser l'optimisation avec Python

Les praticiens peuvent exploiter les algorithmes évolutifs directement au sein de l'entreprise. ultralytics pour trouver la configuration d'entraînement configuration d'entraînement optimale pour détection d'objets modèles. Le tune utilise un algorithme génétique pour modifier les hyperparamètres sur plusieurs générations.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters like lr0, momentum, and weight_decay
# 'iterations' defines how many evolutionary generations to run
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

Distinguer les concepts apparentés

Pour appliquer efficacement ces techniques, il est utile de différencier les algorithmes évolutionnaires des autres stratégies d'optimisation et d'apprentissage. d'optimisation et d'apprentissage :

  • Vs. Descente stochastique de gradient (SGD) : Les méthodes de formation standard telles que descente stochastique de gradient (SGD) s'appuient sur le calcul de la dérivée d'une d'une fonction de perte pour mettre à jour les poids. Les EA sont sans gradient, ce qui signifie qu'elles peuvent optimiser des problèmes non différentiables ou discrets pour lesquels les gradients ne sont pas disponibles. ne sont pas disponibles.
  • Vs. L'intelligence en essaim : Bien que les deux soient bio-inspirés, l'intelligence en essaim (p. ex, l'intelligence en essaim (par exemple, Ant Colony ) se concentre sur le comportement collectif d'agents décentralisés interagissant au sein d'une seule durée de vie. En revanche, les EA s'appuient sur le comportement générique des agents décentralisés. En revanche, les EA s'appuient sur le remplacement générationnel des solutions, où les candidats les plus faibles sont écartés au profit des descendants. les candidats les plus faibles sont écartés au profit des descendants des parents les plus forts.
  • Vs. Apprentissage par renforcement : L'apprentissage par renforcement (AR) implique qu'un agent un agent qui apprend par des interactions essai-erreur avec un environnement afin de maximiser un signal de récompense. Bien que les EA puissent également optimiser les politiques, ils le font en faisant évoluer une population de paramètres politiques. Si les AE peuvent également optimiser les politiques, ils le font en faisant évoluer une population de paramètres de politique plutôt qu'en apprenant par des cycles d'interaction continue entre l'agent et l'environnement. des cycles continus d'interaction entre l'agent et l'environnement.

Pour en savoir plus sur l'amélioration des performances des modèles, consultez nos guides sur conseils pour l'entraînement des modèles et la prévention du l 'overfitting.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant