Trainingsdaten
Die Datensätze, mit denen KI-Modelle trainiert werden – sie bestimmen maßgeblich, was ein Modell lernt, wie gut es funktioniert und welche Verzerrungen es aufweist.
Techniken zur künstlichen Vergrößerung von Trainingsdatensätzen durch Transformationen – Rotation, Spiegelung, Rauschen oder semantische Variationen.
Data Augmentation ist eine Technik, die den effektiven Umfang eines Trainingsdatensatzes vergrößert, indem aus vorhandenen Daten neue Varianten erzeugt werden. Für Bilder bedeutet das: Spiegeln, Rotieren, Zuschneiden, Helligkeit ändern, Rauschen hinzufügen. Für Text: Paraphrasieren, Synonyme ersetzen, Übersetzung und Rückübersetzung. Das Modell lernt dadurch, invariant gegenüber diesen Transformationen zu sein – und generalisiert besser auf neue Daten. Data Augmentation ist besonders wertvoll, wenn echte Daten knapp oder teuer sind.
Data Augmentation vergrößert Trainingsdatensätze künstlich durch Transformationen. Aus einem Bild einer Katze werden zehn: Original, gespiegelt, rotiert, heller, dunkler, zugeschnitten…
Warum funktioniert das?
Das Modell lernt, dass eine Katze eine Katze bleibt – egal ob sie nach links oder rechts schaut. Das verbessert die Generalisierung auf neue, ungesehene Daten.
Beispiel Bildaugmentation:
Original-Bild
↓
┌───────────────────────────────────┐
│ Horizontal Flip │ Rotation 15° │
│ Brightness +20% │ Crop 90% │
│ Gaussian Noise │ Color Jitter │
└───────────────────────────────────┘
↓
7 Trainingsbeispiele statt 1
import albumentations as A
transform = A.Compose([
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.3),
A.Rotate(limit=15, p=0.3),
A.GaussNoise(p=0.2),
A.RandomCrop(height=224, width=224, p=1.0),
])
augmented = transform(image=image)["image"]
| Technik | Beschreibung | Beispiel |
|---|---|---|
| Synonym-Ersetzung | Wörter durch Synonyme ersetzen | ”schnell” → “rasch” |
| Back-Translation | Übersetzen und zurück | DE→EN→DE |
| Random Insertion | Zufällige Wörter einfügen | Kontextbasiert |
| Random Deletion | Zufällige Wörter löschen | Mit Wahrscheinlichkeit p |
import nlpaug.augmenter.word as naw
aug = naw.SynonymAug(aug_src='wordnet')
augmented_text = aug.augment("Der schnelle Fuchs springt.")
# "Der rasche Fuchs hüpft."
Data Augmentation ist wie ein Fotograf, der dasselbe Motiv aus verschiedenen Winkeln, bei verschiedenem Licht und mit verschiedenen Filtern fotografiert – aus einem Bild werden viele Trainingsbeispiele.
Vergrößert Trainingsdatensätze ohne neue Daten zu sammeln
Verbessert Generalisierung und reduziert Overfitting
Domänenspezifisch: Bilder, Text, Audio haben unterschiedliche Techniken
Bildklassifikation
Rotation, Spiegelung, Zuschnitt, Farbänderungen
NLP
Synonym-Ersetzung, Back-Translation, Paraphrasierung
Audio
Geschwindigkeitsänderung, Rauschen hinzufügen, Pitch-Shift
Wenn augmentierte Daten unrealistisch werden oder das Training verlangsamen. Faustregel: Augmentationen sollten Variationen erzeugen, die in der echten Welt vorkommen könnten.
Ja, aber anders. Text-Augmentation (Paraphrasierung, Back-Translation) für Instruction-Tuning. Für Pre-Training ist die Datenmenge meist groß genug ohne Augmentation.
Nein, es ergänzt sie. Augmentierte Daten sind Variationen existierender Muster. Für wirklich neue Muster brauchst du echte neue Daten.