Découvrez comment les algorithmes évolutionnaires utilisent la sélection naturelle pour résoudre les problèmes liés à l'IA. Apprenez à optimiser les hyperparamètres Ultralytics et à améliorer les performances des modèles.
Les algorithmes évolutionnaires (EA) constituent une puissante famille d' algorithmes d'optimisation qui imitent les principes biologiques de la sélection naturelle et de la génétique pour résoudre des problèmes informatiques complexes. Contrairement aux techniques mathématiques traditionnelles qui s'appuient sur des dérivées basées sur le calcul, telles que la descente stochastique du gradient (SGD), les EA sont conçus pour naviguer dans des espaces de recherche vastes, accidentés ou mal compris. Ils fonctionnent en maintenant une population de solutions potentielles qui se font concurrence, se reproduisent et mutent au fil du temps. Cette approche les rend particulièrement efficaces pour les tâches d' intelligence artificielle (IA) où la « meilleure » solution est difficile à déterminer de manière analytique, permettant aux systèmes d'évoluer de manière itérative vers un résultat optimal.
La fonctionnalité d'un algorithme évolutif repose sur le concept de la survie du plus apte. Le processus passe par un cycle d'opérateurs conçus pour imiter l'évolution génétique naturelle, affinant progressivement les solutions candidates :
Les algorithmes évolutionnaires sont polyvalents et ont été appliqués avec succès à divers domaines du deep learning (DL) et de l'ingénierie.
L'une des applications les plus pratiques des EA est
Réglage des hyperparamètresLes réseaux neuronaux modernes
nécessitent la configuration de dizaines de paramètres, tels que le taux d'apprentissage, la décroissance des poids et l'élan, qui ont un impact significatif sur les
performances. Les EA peuvent automatiser ce processus fastidieux d'essais et d'erreurs en faisant évoluer les paramètres de configuration. Par
exemple, le tune() La méthode dans la Ultralytics utilise un algorithme génétique pour découvrir les meilleurs
hyperparamètres d'apprentissage pour YOLO26 modèles sur des ensembles de données personnalisés
.
Les EA sont la pierre angulaire de la recherche d'architecture neuronale (NAS). Au lieu que des ingénieurs humains conçoivent manuellement la structure d'un réseau neuronal (NN), un algorithme évolutif peut « faire croître » l'architecture. Il teste différentes combinaisons de couches, de neurones et de connexions, faisant évoluer des structures efficaces qui équilibrent vitesse et précision. Cette technique a conduit à la création de backbones hautement efficaces, tels que EfficientNet, qui sont optimisés pour des contraintes matérielles spécifiques.
Bien que les deux soient des stratégies d'optimisation inspirées de la nature, il est utile de distinguer les EA de l' intelligence collective (SI).
Les praticiens peuvent exploiter directement les algorithmes génétiques pour optimiser leurs modèles de détection d'objets. Ultralytics
tune La méthode exécute un processus évolutif pour faire muter les hyperparamètres sur plusieurs générations,
identifiant automatiquement les paramètres qui produisent les meilleures performances sur vos données de validation.
from ultralytics import YOLO
# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")
# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)
Cette amélioration automatisée permet aux développeurs de ne plus avoir à procéder à des estimations manuelles. Pour les équipes qui développent leurs activités, la gestion de ces expériences et le suivi de l'évolution des performances des modèles peuvent être rationalisés à l'aide de Ultralytics , qui permet de visualiser les mesures de formation et facilite le déploiement des modèles.