offline data augmentation
Offline data augmentation er en teknik, hvor træningsdata udvides ved at anvende transformationer på forhånd, før modellen trænes.
Kort fortalt
Du laver flere data ved at ændre på de eksisterende data, men du gør det én gang for alle, inden træningen starter.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En forberedende databehandling, hvor eksisterende træningseksempler transformeres for at skabe nye, syntetiske eksempler, som derefter gemmes og anvendes under modeltræning uden yderligere ændringer.
- Ved offline data augmentation blev hvert billede roteret, spejlet og beskåret for at generere 10 gange så mange træningseksempler.
- I NLP-projektet anvendte vi offline data augmentation ved at erstatte ord med synonymer fra WordNet.
Hvornår bruges det
Offline data augmentation bruges typisk i scenarier, hvor man har brug for et stort, statisk datasæt, eller hvor augmentation er beregningstung og ikke kan udføres i real-time under træning. Det er almindeligt inden for computer vision (f.eks. rotation, spejling) og NLP (f.eks. synonym-indsættelse).
Kodeeksempel
from imgaug import augmenters as iaa
import numpy as np
# Definér augmentationer
aug = iaa.Sequential([
iaa.Fliplr(0.5), # spejling vandret
iaa.Affine(rotate=(-20, 20)) # rotation
])
# Anvend offline på et helt datasæt
images = np.random.randint(0, 256, (100, 64, 64, 3), dtype=np.uint8) # eksempel
aud_images = aug(images=images) # augmentation sker én gang
# Gem augmented data til senere brug
np.save('augmented_data.npy', aug_images)Eksempel på offline data augmentation i Python med imgaug-biblioteket. Augmentationerne anvendes på hele datasættet på én gang, og resultatet gemmes til træning.
Oprindelse
Termen 'offline' angiver, at processen foregår adskilt fra træningsløkken, mens 'data augmentation' refererer til at udvide datasættet ved at generere variationer.