Evolutionary Algorithms
Entdecke, wie evolutionäre Algorithmen natürliche Selektion nutzen, um KI-Probleme zu lösen. Erfahre, wie du die Hyperparameter von Ultralytics YOLO26 optimierst und die Modellleistung verbesserst.
Evolutionsalgorithmen (EAs) sind eine leistungsstarke Gruppe von Optimierungsalgorithmen, die die biologischen Prinzipien der natürlichen Selektion und Genetik nachahmen, um komplexe Rechenprobleme zu lösen. Im Gegensatz zu traditionellen mathematischen Verfahren, die auf der Differentialrechnung basierende Ableitungen verwenden, wie etwa der stochastische Gradientenabstieg (SGD), sind EAs darauf ausgelegt, große, unübersichtliche oder nur unzureichend verstandene Suchräume zu durchsuchen. Dazu halten sie eine Population potenzieller Lösungen aufrecht, die im Laufe der Zeit miteinander konkurrieren, sich fortpflanzen und mutieren. Dieser Ansatz eignet sich besonders gut für Aufgaben in der künstlichen Intelligenz (AI), bei denen sich die „beste“ Lösung nur schwer analytisch bestimmen lässt. Dadurch können sich Systeme schrittweise zu einem optimalen Ergebnis weiterentwickeln.
Biologische Inspiration und grundlegende Mechanismen#
Die Funktionsweise eines Evolutionsalgorithmus basiert auf dem Konzept des Überlebens der Tüchtigsten. Der Prozess durchläuft eine Folge von Operatoren, die die natürliche genetische Evolution nachahmen und Kandidatenlösungen schrittweise verbessern:
-
Initialisierung: Das System erzeugt eine anfängliche Population zufälliger Kandidaten. Im Kontext des maschinellen Lernens (ML) können diese Kandidaten verschiedene Sätze von Modellparametern darstellen.
-
Fitnessbewertung: Jeder Kandidat wird anhand eines bestimmten Ziels getestet, das als Fitnessfunktion bezeichnet wird. Bei einem Computer-Vision-Modell (CV) bewertet diese Funktion normalerweise Metriken wie Genauigkeit oder die mittlere durchschnittliche Präzision (mAP).
-
Auswahl: Kandidaten mit höheren Fitnesswerten werden probabilistisch als Eltern ausgewählt, wodurch erfolgreiche Merkmale für die nächste Generation erhalten bleiben.
-
Fortpflanzung und Variation: Neue Lösungen entstehen durch Rekombination (die Merkmale zweier Eltern werden neu kombiniert) und Mutation (das Einführen zufälliger Änderungen). Diese genetische 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.
Praktische Anwendungen in der KI#
Evolutionsalgorithmen sind vielseitig und wurden erfolgreich in verschiedenen Bereichen des Deep Learnings (DL) und der Ingenieurwissenschaften eingesetzt.
Automatisierte Abstimmung von Hyperparametern#
Eine der praktischsten Anwendungen von EAs ist die Abstimmung von Hyperparametern. Moderne neuronale Netze erfordern die Konfiguration Dutzender Parameter – etwa Lernrate, Gewichtszerfall und Momentum –, die sich erheblich auf die Leistung auswirken. EAs können diesen mühsamen Versuch-und-Irrtum-Prozess automatisieren, indem sie die Konfigurationseinstellungen weiterentwickeln. So verwendet beispielsweise die Methode tune() in der Ultralytics-Bibliothek einen genetischen Algorithmus, um die besten Trainingshyperparameter für YOLO26-Modelle auf benutzerdefinierten Datensätzen zu ermitteln.
Suche nach neuronalen Architekturen (NAS)#
EAs sind ein zentraler Bestandteil der Suche nach neuronalen Architekturen (NAS). Anstatt dass menschliche Entwickler die Struktur eines neuronalen Netzes (NN) manuell entwerfen, kann ein Evolutionsalgorithmus die Architektur „wachsen lassen“. Er testet verschiedene Kombinationen aus Schichten, Neuronen und Verbindungen und entwickelt effiziente Strukturen, die Geschwindigkeit und Genauigkeit ausbalancieren. Diese Technik hat zur Entwicklung hocheffizienter Backbone-Netzwerke wie EfficientNet geführt, die für bestimmte Hardwarebeschränkungen optimiert sind.
Evolutionsalgorithmen im Vergleich zur Schwarmintelligenz#
Obwohl beide von der Natur inspirierte Optimierungsstrategien sind, ist es hilfreich, EAs von der Schwarmintelligenz (SI) zu unterscheiden.
- Evolutionsalgorithmen: Sie beruhen auf einem Generationenwechsel. Individuen (Lösungen) leben, pflanzen sich entsprechend ihrer Fitness fort und sterben. Dabei werden sie durch ihre Nachkommen ersetzt. Die wichtigsten treibenden Kräfte sind genetische Operatoren wie Mutation und Rekombination.
- Schwarmintelligenz: Sie ahmt die soziale Interaktion innerhalb einer Gruppe nach, etwa in einem Vogelschwarm oder einem Fischschwarm. Algorithmen wie die Partikelschwarmoptimierung (PSO) umfassen eine Population von Agenten, die sich durch den Suchraum bewegen und ihre Positionen anhand ihrer eigenen Erfahrungen sowie des Erfolgs ihrer Nachbarn anpassen, ohne dass ein Austausch ganzer Generationen stattfindet.
Optimierung mit Ultralytics implementieren#
Anwender können genetische Algorithmen direkt nutzen, um ihre Modelle zur Objekterkennung zu optimieren. Die Ultralytics-Methode tune führt über mehrere Generationen hinweg einen Evolutionsprozess zur Mutation von Hyperparametern aus und ermittelt automatisch die Einstellungen, die auf deinen Validierungsdaten die höchste Leistung 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, lassen sich die Verwaltung dieser Experimente und die Nachverfolgung der Entwicklung der Modellleistung mit der Ultralytics Platform optimieren, die Trainingsmetriken visualisiert und die Bereitstellung von Modellen erleichtert.









