Evolutionary Algorithms
Erfahre, wie evolutionäre Algorithmen natürliche Selektion nutzen, um KI-Probleme zu lösen. Lerne, die Hyperparameter von Ultralytics YOLO26 zu optimieren und die Modellleistung zu steigern.
Evolutionäre Algorithmen (EAs) sind eine leistungsstarke Familie von Optimierungsalgorithmen, die die biologischen Prinzipien der natürlichen Selektion und Genetik nachahmen, um komplexe Rechenprobleme zu lösen. Im Gegensatz zu traditionellen mathematischen Techniken, die auf derivativen Berechnungen basieren, wie dem stochastischen Gradientenabstiegsverfahren (SGD), wurden EAs entwickelt, um weitläufige, schwierige oder wenig verstandene Suchräume zu durchlaufen. Sie funktionieren, indem sie eine Population potenzieller Lösungen beibehalten, die im Laufe der Zeit konkurrieren, sich vermehren 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, und ermöglicht es Systemen, sich iterativ in Richtung eines optimalen Ergebnisses zu entwickeln.
Link to this sectionBiologische Inspiration und Kernmechanismen#
Die Funktionalität eines evolutionären Algorithmus basiert auf dem Konzept des Überlebens des Stärkeren. Der Prozess durchläuft einen Zyklus von Operatoren, die darauf ausgelegt sind, die natürliche genetische Evolution nachzuahmen, um Kandidatenlösungen schrittweise zu verfeinern:
-
Initialisierung: Das System generiert eine anfängliche Population zufälliger Kandidaten. Im Kontext des maschinellen Lernens (ML) könnten diese Kandidaten verschiedene Sätze von Modellparametern darstellen.
-
Fitness-Bewertung: Jeder Kandidat wird anhand eines spezifischen Ziels getestet, das als Fitnessfunktion bekannt ist. Für ein Computer-Vision-Modell (CV) bewertet diese Funktion normalerweise Metriken wie Genauigkeit oder die mittlere durchschnittliche Präzision (mAP).
-
Selektion: Kandidaten mit höheren Fitnesswerten werden probabilistisch ausgewählt, um als Eltern zu fungieren, wodurch sichergestellt wird, dass erfolgreiche Merkmale für die nächste Generation erhalten bleiben.
-
Reproduktion und Variation: Neue Lösungen werden durch Crossover (Rekombination der Merkmale zweier Eltern) und Mutation (Einführung zufälliger Änderungen) erstellt. Diese Einführung genetischer Vielfalt ist entscheidend, da sie verhindert, dass der Algorithmus in einem lokalen Optimum stagniert, und ihm hilft, den Suchraum nach dem globalen Maximum zu durchsuchen.
Link to this sectionReale Anwendungen in der KI#
Evolutionäre Algorithmen sind vielseitig und wurden erfolgreich in verschiedenen Bereichen des Deep Learning (DL) und des Engineerings angewendet.
Link to this sectionAutomatisierte Hyperparameter-Optimierung#
Eine der praktischsten Anwendungen von EAs ist das Hyperparameter-Tuning. Moderne neuronale Netze erfordern die Konfiguration dutzender Parameter – wie Lernrate, Gewichtungsabfall (weight decay) und Impuls (momentum) –, die die Leistung erheblich beeinflussen. EAs können diesen mühsamen Trial-and-Error-Prozess automatisieren, indem sie die Konfigurationseinstellungen weiterentwickeln. Zum Beispiel verwendet die tune()-Methode in der Ultralytics-Bibliothek einen genetischen Algorithmus, um die besten Trainings-Hyperparameter für YOLO26-Modelle auf benutzerdefinierten Datensätzen zu finden.
Link to this sectionSuche nach neuronalen Architekturen (NAS)#
EAs sind ein Eckpfeiler der Suche nach neuronalen Architekturen (NAS). Anstatt dass menschliche Ingenieure die Struktur eines neuronalen Netzes (NN) manuell entwerfen, kann ein evolutionärer Algorithmus die Architektur „wachsen“ lassen. Er testet verschiedene Kombinationen von Schichten, Neuronen und Verbindungen und entwickelt effiziente Strukturen, die Geschwindigkeit und Genauigkeit in Einklang bringen. Diese Technik hat zur Entwicklung hocheffizienter Backbones geführt, wie z. B. EfficientNet, die für spezifische Hardware-Beschränkungen optimiert sind.
Link to this sectionEvolutionäre Algorithmen vs. Schwarmintelligenz#
Obwohl beide von der Natur inspirierte Optimierungsstrategien sind, ist es hilfreich, EAs von der Schwarmintelligenz (SI) zu unterscheiden.
- Evolutionäre Algorithmen: Beruhen auf generationalem Wandel. Individuen (Lösungen) leben, vermehren sich basierend auf ihrer Fitness und sterben, wobei sie durch ihre Nachkommen ersetzt werden. Die primären Treiber sind genetische Operatoren wie Mutation und Crossover.
- Schwarmintelligenz: Ahmt die soziale Interaktion innerhalb einer Gruppe nach, wie z. B. einen Vogelschwarm oder einen Fischschwarm. Algorithmen wie die Partikelschwarmoptimierung (PSO) beinhalten eine Population von Agenten, die sich durch den Suchraum bewegen und ihre Positionen basierend auf ihrer eigenen Erfahrung und dem Erfolg ihrer Nachbarn anpassen, ohne dass ein generationsweiser Austausch stattfindet.
Link to this sectionImplementierung der Optimierung mit Ultralytics#
Anwender können genetische Algorithmen direkt nutzen, um ihre Objekterkennungsmodelle zu optimieren. Die Ultralytics tune-Methode führt einen evolutionären Prozess aus, um Hyperparameter über mehrere Generationen hinweg zu mutieren, und identifiziert automatisch die Einstellungen, die die höchste Leistung auf deinen 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 Raten hinauszugehen. Für Teams, die ihre Abläufe skalieren, kann die Verwaltung dieser Experimente und die Verfolgung der Entwicklung der Modellleistung mithilfe der Ultralytics-Plattform optimiert werden, die Trainingsmetriken visualisiert und die Modellbereitstellung erleichtert.






