Glossar

Datenerweiterung

Verbessere deine Machine-Learning-Modelle mit Datenerweiterung. Entdecke Techniken, um die Genauigkeit zu erhöhen, die Überanpassung zu reduzieren und die Robustheit zu verbessern.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

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.

Vorteile der Datenerweiterung

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.

Übliche Techniken zur Datenerweiterung

Für die Datenerweiterung werden mehrere gängige Techniken verwendet, vor allem bei Computer Vision Aufgaben:

  • Geometrische Transformationen: Dazu gehören Operationen wie Drehen, Verschieben, Skalieren, Scheren und Spiegeln. Wenn du zum Beispiel ein Bild um ein paar Grad drehst oder es horizontal spiegelst, kannst du neue, gültige Trainingsbeispiele erstellen.
  • Farbraumtransformationen: Durch die Anpassung von Helligkeit, Kontrast, Sättigung oder Farbton eines Bildes können unterschiedliche Lichtverhältnisse simuliert und die Fähigkeit des Modells verbessert werden, sich auf verschiedene Umgebungen zu übertragen.
  • Kernel-Filter: Die Anwendung von Filtern, um Bilder zu schärfen oder unscharf zu machen, kann dem Modell helfen, Merkmale zu lernen, die gegenüber diesen Veränderungen unveränderlich sind.
  • Zufälliges Ausradieren: Das zufällige Ausblenden von Teilen eines Bildes kann dem Modell helfen, robuster gegenüber Verdeckungen oder fehlenden Teilen von Objekten zu werden.
  • Bilder mischen: Bei Techniken wie MixUp und CutMix werden Bilder und die dazugehörigen Beschriftungen gemischt, um neue Trainingsbeispiele zu erstellen. MixUp zum Beispiel interpoliert sowohl die Bilder als auch ihre Beschriftungen linear.

Datenerweiterung in der Computer Vision

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.

Datenerweiterung in anderen Bereichen

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.

Anwendungen in der realen Welt

  • Gesundheitswesen: In der medizinischen Bildanalyse kann die Datenerweiterung genutzt werden, um Modelle auf einer begrenzten Anzahl von medizinischen Bildern zu trainieren. Indem zum Beispiel MRT-Scans gedreht, gespiegelt und leicht verformt werden, kann ein Modell lernen, Anomalien bei verschiedenen Patienten und unter verschiedenen Bildgebungsbedingungen genauer zu erkennen.
  • Landwirtschaft: Mithilfe der Datenerweiterung können Modelle trainiert werden, um Pflanzenkrankheiten oder Schädlinge anhand von Bildern zu erkennen, die unter verschiedenen Bedingungen aufgenommen wurden. Indem Bilder von Pflanzen mit unterschiedlichen Beleuchtungen, Blickwinkeln und Zoomstufen ergänzt werden, können die Modelle auf dem Feld zuverlässig funktionieren und den Landwirten helfen, Probleme frühzeitig zu erkennen und Gegenmaßnahmen zu ergreifen.

Datenerweiterung vs. andere Techniken

Es ist wichtig, die Datenerweiterung von anderen verwandten Techniken zu unterscheiden:

  • Datenvorverarbeitung: Sowohl die Datenerweiterung als auch die Datenvorverarbeitung bereiten die Daten für das Modelltraining vor. Die Vorverarbeitung umfasst in der Regel Schritte wie Normalisierung, Standardisierung und die Behandlung fehlender Werte. Diese Schritte sind wichtig, um sicherzustellen, dass die Daten in einem für das Modell geeigneten Format vorliegen. Die Datenerweiterung hingegen konzentriert sich darauf, die Vielfalt der Trainingsdaten zu erhöhen.
  • Synthetische Daten erzeugen: Bei synthetischen Daten werden völlig neue Datenpunkte erzeugt, oft mit generativen Modellen wie Generative Adversarial Networks (GANs). Dies unterscheidet sich von der Datenerweiterung, bei der bestehende Daten verändert werden. Synthetische Daten können besonders nützlich sein, wenn reale Daten knapp oder sensibel sind, z. B. in medizinischen oder finanziellen Anwendungen.

Tools und Bibliotheken

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.

Alles lesen