Was ist Data Augmentation?

Bei Data Augmentation handelt es sich um ein Verfahren, bei welchem auf Basis einer vorhandenen Datenmenge künstlich neue Daten erzeugt werden, um so die Gesamtheit der Daten zu erhöhen. Die Technik wird dahin gehend als vorbereitender Schritt auf dem Gebiet des maschinellen Lernens angewandt. Mittels vorgefertigter Bibliotheken in Python oder PyTorch kann die Funktionalität implementiert werden.

Nutzen und Herausforderungen

Ein Vorteil der Datenerweiterung durch Data Augmentation ergibt sich durch die Möglichkeit der Reduktion von Overfitting. Diese Überanpassung entsteht beispielsweise, indem Trainingsdaten nicht ausreichend generalisiert werden können, wenn etwa eine zu geringe Datenmenge an Trainingsdaten vorliegt. Durch die Generierung der Augmented Data kann dem Problem von Overfitting entgegengewirkt werden, da sie Erzeugung die Datenmenge erhöht.

Ein weiterer Nutzen durch künstliche Datengenerierung ergibt sich, indem potenzielle Datenschutzprobleme verhindert werden, da die Daten erst durch die Data Augmentation erzeugt werden. Des Weiteren können mit dieser Technik Daten kostengünstig gesammelt und gekennzeichnet werden.

Herausforderungen entstehen, indem die Augmented Data nach deren Generierung einer qualitativen Beurteilung durch ein Bewertungssystem unterzogen werden müssen, um den Mehrwert der Datenerweiterung zu erfassen. Verzerrungen in Originaldaten können durch diese Methode nicht behoben werden, sondern werden übernommen. Zur Reduktion dieses Problems kann mit der Erarbeitung einer optimalen Erweiterungsstrategie entgegengewirkt werden.

Funktionsweise

Das Verfahren der Data Augmentation im Sinne des Standardmodells funktioniert derart, indem die Originaldaten (z. B. ein Bild) in die Data Augmentation Pipeline geladen werden. In dieser Pipeline werden auf die Inputdaten sogenannte Transformationsfunktionen mit einer bestimmten Wahrscheinlichkeit angewandt. Diese können etwa das Drehen (rotating) oder Spiegeln (flipping) des Bildes erwirken. Nach dem Durchlaufen der Pipeline werden die genierten Ergebnisse von einem menschlichen Experten bewertet. Haben die generierten Daten die Kontrolle bestanden, fließen sie als Augmented Data der Grundgesamtheit der Trainingsdaten ein.

Was sind Data Augmentation Techniken?

Im Rahmen der Bildklassifizierung und -segmentierung zur Erweiterung der Trainingsdaten können mehrere Techniken angewandt werden. Nach dem Laden des Originalbildes in die Pipeline kann das Bild beispielsweise durch einen Rahmen erweitert, horizontal oder vertikal gespiegelt, neu skaliert, entlang der x- oder y-Achse verschoben, verdreht, zugeschnitten oder in das Bild gezoomt werden. Neben den erwähnten Möglichkeiten zur Veränderung eines Bildes ergeben sich auch jene, welche die Farbe oder den Kontrast betreffen. Diese betreffen Farbmodifikationen wie das Aufhellen oder Abdunkeln des Bildes, die Konvertierung des Bildes in Graustufen, das Verändern des Kontrastes, das Hinzufügen von Rauschen oder das Löschen von Bildbestandteilen. Jede der enthaltenen Aktivitäten wird mit einer bestimmten Wahrscheinlichkeit auf das Originalbild angewandt, wodurch schließlich Augmented Data entsteht.

Neben der Bildklassifizierung und -segmentierung findet die Technik auch im Bereich des Natural Language Processing (NLP) Anwendung. Da sich NLP mit der Verarbeitung von natürlicher Sprache beschäftigt, gestaltet sich die sinnvolle Datengenerierung als schwieriger. Anwendbare Techniken sind die Synonymersetzung sowie das Einfügen, Tauschen oder Löschen von Wörtern, welche unter dem Begriff Easy Data Augmentation (EDA) zusammengefasst werden können. Eine weitere Methode stellt die Rückübersetzung dar. Hierbei wird ein Text von der Zielsprache in die Originalsprache rückübersetzt und erweitert dadurch das Datenset der Trainingsdaten. Auch durch sogenannte kontextualisierte Einbettungen von Worten kann Augmented Data entstehen.

Wo wird Data Augmentation eingesetzt?

Besonders stark vertreten ist das Verfahren im Bereich der medizinischen Bildgebung, wie bei der Segmentierung von Tumoren oder bei der Identifizierung von Krankheiten auf Röntgenbildern. Da bei seltenen Krankheiten nur ein beschränkter Datensatz zur Verfügung steht, lässt sich dieser durch Data Augmentation erweitern. Ein weiterer Anwendungsfall findet sich auf dem Gebiet des autonomen Fahrens. Dabei wird Data Augmentation zur Erweiterung der Simulationsumgebung genutzt. Ebenfalls im Bereich des Natural Language Processing wird Data Augmentation eingesetzt. Hierbei dient die es auch der Erweiterung der Trainingsdaten für NLP-Anwendungen.