Aktives Lernen ist ein spezieller Ansatz innerhalb des maschinellen Lernens, bei dem ein Algorithmus interaktiv eine Datenquelle abfragt, um die gewünschten Ergebnisse für neue Datenpunkte zu erhalten. Diese Methode ist besonders nützlich, wenn es um große, nicht beschriftete Datensätze geht, bei denen eine manuelle Beschriftung unpraktisch oder teuer ist. Durch die strategische Auswahl der zu beschriftenden Datenpunkte zielt aktives Lernen darauf ab, eine hohe Modellgenauigkeit mit weniger beschrifteten Beispielen zu erreichen als bei herkömmlichen überwachten Lernmethoden. Es trägt dazu bei, die Kosten für die Kennzeichnung zu senken und die Genauigkeit zu erhöhen, indem es sich auf die wichtigsten Datenpunkte konzentriert.
Kernkonzepte und Methodik
Beim aktiven Lernen beginnt das Modell mit einem kleinen Satz gekennzeichneter Daten und wählt iterativ die informativsten Datenpunkte für die Kennzeichnung durch ein Orakel (z. B. einen menschlichen Kommentator) aus. Das Modell trainiert dann erneut mit den neu beschrifteten Daten und verbessert seine Leistung mit jeder Iteration. Dieser Prozess wird so lange fortgesetzt, bis die gewünschte Genauigkeit erreicht oder das Budget für die Kennzeichnung erschöpft ist.
Der Schlüssel für effektives aktives Lernen liegt in der Strategie, mit der die Datenpunkte für die Beschriftung ausgewählt werden. Zu den gängigen Strategien gehören:
- Uncertainty Sampling: Das Modell wählt Datenpunkte aus, bei denen es sich in seinen Vorhersagen am wenigsten sicher ist. Bei einer Klassifizierungsaufgabe zum Beispiel könnte das Modell Datenpunkte auswählen, deren Wahrscheinlichkeiten nahe an der Entscheidungsgrenze liegen.
- Abfrage durch Ausschuss: Ein Komitee aus verschiedenen Modellen wird auf den beschrifteten Daten trainiert, und die Datenpunkte, bei denen sich die Komiteemitglieder am meisten uneinig sind, werden für die Beschriftung ausgewählt. Dieser Ansatz zielt darauf ab, die Varianz des Modells zu reduzieren, indem er sich auf Bereiche mit hoher Unsicherheit konzentriert.
- Erwartete Modelländerung: Das Modell wählt Datenpunkte aus, von denen erwartet wird, dass sie die größte Veränderung der Modellparameter bewirken, wenn ihre Beschriftung bekannt wäre. Diese Strategie zielt darauf ab, den Informationsgewinn aus jedem beschrifteten Beispiel zu maximieren.
- Erwartete Fehlerreduzierung: Das Modell wählt Datenpunkte aus, von denen erwartet wird, dass sie den Gesamtvorhersagefehler am meisten reduzieren. Dieser Ansatz zielt direkt darauf ab, die Leistung des Modells bei ungesehenen Daten zu verbessern.
- Varianzreduzierung: Bei dieser Methode geht es darum, die Varianz der Modellvorhersagen zu verringern, indem Datenpunkte ausgewählt werden, die für die zugrunde liegende Datenverteilung repräsentativ sind.
Aktives Lernen vs. andere Lernparadigmen
Aktives Lernen unterscheidet sich deutlich von anderen Ansätzen des maschinellen Lernens wie dem überwachten Lernen, dem unüberwachten Lernen und dem halbüberwachten Lernen. Beim überwachten Lernen wird das Modell mit einem festen Satz von gekennzeichneten Daten trainiert, während das Modell beim unüberwachten Lernen aus nicht gekennzeichneten Daten lernt. Beim halbüberwachten Lernen wird eine Kombination aus gekennzeichneten und nicht gekennzeichneten Daten verwendet, aber im Gegensatz zum aktiven Lernen wird nicht aktiv nach Kennzeichnungen gesucht.
Aktives Lernen ist besonders vorteilhaft, wenn beschriftete Daten knapp oder teuer sind, da es dem Modell ermöglicht, mit weniger beschrifteten Beispielen eine hohe Genauigkeit zu erreichen. Das macht es zu einer wertvollen Technik in Szenarien, in denen die Datenbeschriftung ein Engpass ist.
Anwendungen in der realen Welt
Aktives Lernen findet in verschiedenen Bereichen Anwendung, z. B:
- Bild- und Videoklassifizierung: Aktives Lernen kann genutzt werden, um effizient Modelle für die Klassifizierung von Bildern und Videos zu trainieren. In der medizinischen Bildgebung kann ein aktives Lernsystem beispielsweise die informativsten medizinischen Bilder auswählen, die ein Radiologe beschriften muss, und so den Aufwand für die Beschriftung verringern und gleichzeitig die Diagnosegenauigkeit verbessern. Erfahre mehr über Vision AI im Gesundheitswesen auf der Website Ultralytics .
- Verarbeitung natürlicher Sprache: Aktives Lernen kann bei Aufgaben wie der Textklassifizierung, der Erkennung benannter Entitäten und der Stimmungsanalyse eingesetzt werden. Durch die selektive Kennzeichnung der informativsten Textproben kann aktives Lernen die Leistung von NLP-Modellen mit weniger gekennzeichneten Daten verbessern. Weitere Einzelheiten findest du unter Natürliche Sprachverarbeitung (NLP).
- Spracherkennung: Aktives Lernen kann verwendet werden, um Spracherkennungsmodelle zu trainieren, indem die schwierigsten Audiobeispiele für die Transkription ausgewählt werden. Dieser Ansatz kann die Robustheit des Modells gegenüber unterschiedlichen Akzenten, Geräuschen und Sprechweisen verbessern.
Beispiele für Anwendungsfälle
- Autonomes Fahren: Bei der Entwicklung von selbstfahrenden Autos kann aktives Lernen verwendet werden, um Modelle zur Objekterkennung zu trainieren, die Fußgänger, Fahrzeuge und andere Objekte in Echtzeit-Videostreams identifizieren. Das aktive Lernsystem kann die mehrdeutigsten oder schwierigsten Bilder für die manuelle Kommentierung auswählen und so sicherstellen, dass das Modell in verschiedenen und sicherheitskritischen Situationen gut funktioniert.
- Qualitätskontrolle in der Fertigung: Aktives Lernen kann eingesetzt werden, um Modelle zu trainieren, die Fehler in hergestellten Produkten erkennen. Durch die selektive Kennzeichnung von Bildern von Produkten mit potenziellen Fehlern kann das aktive Lernsystem dazu beitragen, mit minimalem Kennzeichnungsaufwand ein hochpräzises Fehlererkennungsmodell zu erstellen, das die Prüfkosten reduziert und die Produktqualität verbessert. Erfahre mehr über KI in der Produktion.
Tools und Rahmenwerke
Für die Umsetzung von aktivem Lernen gibt es verschiedene Tools und Rahmenwerke, darunter:
- modAL: Ein aktives Lernframework für Python3, das modular aufgebaut und erweiterbar ist. Es unterstützt verschiedene aktive Lernstrategien und kann leicht mit Scikit-Learn-Modellen integriert werden.
- libact: Eine Python Bibliothek für aktives Lernen, die poolbasierte aktive Lernszenarien unterstützt. Sie bietet verschiedene Abfragestrategien und ermöglicht es den Nutzern, auch eigene Strategien zu definieren.
- ALiPy: Eine Python Toolbox für aktives Lernen, die eine breite Palette von Strategien bietet und sowohl poolbasiertes als auch streambasiertes aktives Lernen unterstützt.
Schlussfolgerung
Aktives Lernen ist eine leistungsstarke Technik zum Trainieren von Machine-Learning-Modellen mit begrenzten beschrifteten Daten. Durch die strategische Auswahl der informativsten Datenpunkte für die Beschriftung kann aktives Lernen eine hohe Genauigkeit erreichen und gleichzeitig die Kosten und den Aufwand für die Datenbeschriftung reduzieren. Dieser Ansatz findet in verschiedenen Bereichen Anwendung, darunter Computer Vision (CV), natürliche Sprachverarbeitung und Spracherkennung. Da die Menge an unbeschrifteten Daten immer weiter wächst, wird aktives Lernen eine immer wichtigere Rolle spielen, um effizientes und effektives maschinelles Lernen zu ermöglichen. Auf dem Ultralytics Blog findest du weitere Einblicke in innovative KI-Lösungen. Du kannst mit dem Training von Modellen beginnen, indem du den Ultralytics HUB benutzt, eine No-Code-Plattform für das Training eigener Ultralytics YOLO Modelle.