Verbessere deine Machine-Learning-Modelle mit Datenerweiterung. Entdecke Techniken, um die Genauigkeit zu erhöhen, die Überanpassung zu reduzieren und die Robustheit zu verbessern.
Die Datenerweiterung ist eine Technik, die beim maschinellen Lernen eingesetzt wird, um die Größe eines Trainingsdatensatzes künstlich zu vergrößern, indem veränderte Versionen der vorhandenen Daten erstellt werden. Dabei werden die Originaldaten auf verschiedene Weise transformiert, z. B. durch Drehen, Spiegeln, Skalieren oder Beschneiden von Bildern. Indem die Vielfalt der Trainingsdaten erhöht wird, trägt die Datenerweiterung dazu bei, die Verallgemeinerungsfähigkeit von maschinellen Lernmodellen zu verbessern und sie robuster und weniger anfällig für Overfitting zu machen. Eine Überanpassung liegt vor, wenn ein Modell die Trainingsdaten zu gut lernt, einschließlich des Rauschens und der Ausreißer, was zu einer schlechten Leistung bei neuen, ungesehenen Daten führen kann.
Die Datenerweiterung bietet mehrere wichtige Vorteile. Erstens hilft sie, die Überanpassung zu reduzieren, indem sie das Modell während des Trainings einer größeren Bandbreite an Variationen aussetzt. Dadurch reagiert das Modell weniger empfindlich auf bestimmte Merkmale der Trainingsdaten und ist besser in der Lage, auf neue, ungesehene Daten zu verallgemeinern. Zweitens kann es die Genauigkeit und Leistung von Modellen verbessern, vor allem wenn der ursprüngliche Datensatz klein ist oder eine geringe Vielfalt aufweist. Durch die Schaffung von mehr Trainingsbeispielen gibt die Datenerweiterung dem Modell mehr Möglichkeiten, die zugrunde liegenden Muster in den Daten zu lernen. Und schließlich kann sie die Robustheit eines Modells verbessern, indem sie es widerstandsfähiger gegenüber Veränderungen der Eingabedaten macht, wie z. B. Veränderungen der Beleuchtung, der Ausrichtung oder des Hintergrundrauschens.
Für die Datenerweiterung werden mehrere gängige Techniken verwendet, vor allem bei Computer Vision Aufgaben:
In der Computer Vision ist die Datenerweiterung besonders nützlich, weil sie eine Vielzahl von realen Szenarien simulieren kann, denen ein Modell begegnen könnte. Bei der Objekterkennung beispielsweise kann ein Modell, das auf erweiterten Bildern trainiert wurde, lernen, Objekte unabhängig von ihrer Ausrichtung, Größe oder den Lichtverhältnissen zu erkennen: Ultralytics YOLO das erste Mal, wenn YOLO auf einer Seite erwähnt wird. Das ist entscheidend für Anwendungen wie autonome Fahrzeuge, bei denen das Modell unter verschiedenen und unvorhersehbaren Bedingungen zuverlässig funktionieren muss. Durch die Anwendung verschiedener Transformationen wie Rotation, Skalierung und Hinzufügen von Rauschen auf Bilder von Fußgängern und Fahrzeugen kann ein autonomes Fahrsystem beispielsweise darauf trainiert werden, diese Objekte in einer Vielzahl von realen Szenarien genau zu erkennen. Auch bei der Bildklassifizierung kann die Ergänzung von Bildern mit verschiedenen Farbanpassungen dazu beitragen, dass das Modell besser auf unterschiedliche Lichtverhältnisse reagieren kann.
Die Datenerweiterung ist zwar in der Computer Vision weit verbreitet, lässt sich aber auch in anderen Bereichen wie der Verarbeitung natürlicher Sprache (NLP) und der Audioverarbeitung einsetzen. In der NLP können Techniken wie die Ersetzung von Synonymen, die Rückübersetzung und das zufällige Einfügen/Löschen von Wörtern die Textdaten erweitern. Bei der Audioverarbeitung können durch das Hinzufügen von Hintergrundgeräuschen, das Ändern der Tonhöhe oder das Streckung der Zeit verschiedene Trainingsbeispiele erstellt werden.
Es ist wichtig, die Datenerweiterung von anderen verwandten Techniken zu unterscheiden:
Mehrere Tools und Bibliotheken unterstützen die Datenerweiterung. Unter Python bieten Bibliotheken wie OpenCV und TensorFlow eine breite Palette von Funktionen für Bildtransformationen zur Verfügung. Außerdem bieten spezialisierte Bibliotheken wie Albumentations hoch optimierte und vielfältige Augmentierungspipelines. Ultralytics HUB bietet auch Tools zur Datenerweiterung, die es einfacher machen, diese Techniken in den Modellbildungsprozess zu integrieren. Entdecke Datenerweiterungstechniken wie MixUp, Mosaic und Random Perspective, um das Modelltraining zu verbessern.