Entdecken Sie, wie Active Learning das KI-Training optimiert. Erfahren Sie, wie Sie mit Ultralytics informative Daten identifizieren, die Kosten für die Kennzeichnung reduzieren und die Genauigkeit steigern können.
Aktives Lernen ist ein strategischer Ansatz im maschinellen Lernen (ML), bei dem der Algorithmus proaktiv die informativsten Datenpunkte für die Kennzeichnung auswählt, anstatt passiv einen vorab gekennzeichneten Datensatz zu akzeptieren. Beim traditionellen überwachten Lernen benötigen Modelle oft riesige Mengen an annotierten Daten, deren Erstellung kostspielig und zeitaufwändig sein kann. Aktives Lernen optimiert diesen Prozess, indem es „unsichere” oder „schwierige” Beispiele identifiziert – solche, die nahe an der Entscheidungsgrenze liegen oder bei denen das Modell keine Sicherheit hat – und menschliche Annotatoren auffordert, nur diese spezifischen Fälle zu kennzeichnen. Diese iterative Schleife ermöglicht es Modellen, eine hohe Genauigkeit mit deutlich weniger gekennzeichneten Beispielen zu erreichen, was sie für Projekte mit begrenztem Budget oder Zeitdruck sehr effizient macht.
Der Kern des aktiven Lernens ist eine Feedbackschleife, die oft als Human-in-the-Loop bezeichnet wird. Anstatt einmalig auf einem statischen Datensatz zu trainieren, entwickelt sich das Modell durch Zyklen von Abfragen und Aktualisierungen weiter.
Aktives Lernen ist in Branchen unverzichtbar, in denen Daten im Überfluss vorhanden sind, die Beschriftung jedoch Fachwissen oder hohe Kosten erfordert.
Das folgende Beispiel veranschaulicht eine einfache „Uncertainty Sampling”-Logik unter Verwendung von Ultralytics . Wir laden ein Modell, führen eine Inferenz für Bilder durch und markieren diejenigen, deren Konfidenzscore unter einem bestimmten Schwellenwert liegt, für eine manuelle Überprüfung.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")
Es ist wichtig, aktives Lernen von ähnlichen Trainingsparadigmen zu unterscheiden:
Die effektive Umsetzung von aktivem Lernen erfordert eine robuste Machine Learning Operations (MLOps) Pipeline. Sie benötigen eine Infrastruktur, um Datenversionen zu verwalten, Nachschulungsaufträge auszulösen und die Annotationsschnittstelle für Menschen bereitzustellen. Tools, die sich in das Ultralytics integrieren lassen, ermöglichen es Benutzern, nahtlos zwischen Inferenz, Datenkuratierung und Schulung zu wechseln. Mithilfe von benutzerdefinierten Schulungsskripten können Entwickler beispielsweise schnell neue Stapel aktiver Lerndaten in ihre YOLO integrieren.
Für weitere Informationen zu Stichprobenstrategien verweisen Forscher häufig auf umfassende Übersichtsarbeiten in der Literatur zum aktiven Lernen. Darüber hinaus ist das Verständnis von Modellbewertungsmetriken entscheidend, um zu überprüfen, ob der aktive Lernzyklus tatsächlich die Leistung verbessert.