Explore how evolutionary algorithms use natural selection to optimize AI. Learn to automate [hyperparameter tuning](https://www.ultralytics.com/glossary/hyperparameter-tuning) for [YOLO26](https://docs.ultralytics.com/models/yolo26/) to boost model performance.
Evolutionäre Algorithmen (EAs) sind eine leistungsstarke Familie von Optimierungsalgorithmen, die die biologischen Prinzipien der natürlichen Selektion und Genetik nachahmen, um komplexe rechnerische Probleme zu lösen. Im Gegensatz zu traditionellen mathematischen Techniken, die auf derivativen Berechnungen basieren, wie beispielsweise stochastischer Gradientenabstieg (SGD), sind EAs dafür ausgelegt, große, unübersichtliche oder schlecht verstandene Suchräume zu durchforsten. Sie funktionieren, indem sie eine Population potenzieller Lösungen aufrechterhalten, die im Laufe der Zeit miteinander konkurrieren, sich reproduzieren und mutieren. Dieser Ansatz macht sie besonders effektiv für Aufgaben in der künstlichen Intelligenz (KI), bei denen die „beste” Lösung analytisch schwer zu bestimmen ist, sodass sich Systeme iterativ zu einem optimalen Ergebnis entwickeln können.
Die Funktionsweise eines evolutionären Algorithmus basiert auf dem Konzept des Überlebens des Stärkeren. Der Prozess durchläuft einen Zyklus von Operatoren, die die natürliche genetische Evolution nachahmen und die Lösungsansätze schrittweise verfeinern:
Evolutionäre Algorithmen sind vielseitig einsetzbar und wurden bereits erfolgreich in verschiedenen Bereichen des Deep Learning (DL) und der Technik
Eine der praktischsten Anwendungen von EAs ist
Hyperparameter-OptimierungModerne neuronale Netze
erfordern die Konfiguration Dutzender Parameter – wie Lernrate, Gewichtsabnahme und Momentum –, die einen erheblichen Einfluss auf die
Leistung haben. EAs können diesen mühsamen Trial-and-Error-Prozess automatisieren, indem sie die Konfigurationseinstellungen weiterentwickeln. Zum
Beispiel tune() Die Methode in der Ultralytics verwendet einen genetischen Algorithmus, um die besten
Trainingshyperparameter für YOLO26 Modelle auf benutzerdefinierten
Datensätzen.
EAs sind ein Eckpfeiler der Neural Architecture Search (NAS). Anstatt dass menschliche Ingenieure die Struktur eines neuronalen Netzwerks (NN) manuell entwerfen, kann ein evolutionärer Algorithmus die Architektur „wachsen” lassen. Er testet verschiedene Kombinationen von Schichten, Neuronen und Verbindungen und entwickelt so effiziente Strukturen, die Geschwindigkeit und Genauigkeit in Einklang bringen. Diese Technik hat zur Schaffung hocheffizienter Backbones wie EfficientNet geführt, die für bestimmte Hardware-Beschränkungen optimiert sind.
Obwohl es sich bei beiden um von der Natur inspirierte Optimierungsstrategien handelt, ist es hilfreich, EAs von der Schwarmintelligenz (SI) zu unterscheiden.
Praktiker können genetische Algorithmen direkt nutzen, um ihre Objekterkennungsmodelle zu optimieren. Ultralytics
tune Die Methode führt einen evolutionären Prozess durch, um Hyperparameter über mehrere Generationen hinweg zu mutieren,
und identifiziert automatisch die Einstellungen, die die höchste Leistung für Ihre Validierungsdaten erzielen.
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)
Diese automatisierte Verfeinerung ermöglicht es Entwicklern, über manuelles Rätselraten hinauszugehen. Für Teams, die ihre Abläufe skalieren, kann die Verwaltung dieser Experimente und die Verfolgung der Entwicklung der Modellleistung mithilfe Ultralytics optimiert werden, die Trainingsmetriken visualisiert und die Modellbereitstellung erleichtert.