online data augmentation
Teknik hvor dataforøgelse anvendes i realtid under træning, så hver epoch genererer nye varianter af træningsdata.
Kort fortalt
En metode, hvor man ændrer træningsdata lidt på forskellige måder, mens modellen træner, så den lærer at være mere robust over for variationer.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /ˈɒnlaɪn ˈdeɪtə ˌɔːɡmɛnˈteɪʃən/
Betydninger
1- 1
Den praktiske anvendelse af dataforøgelse som en del af træningspipelinen, hvor transformationer anvendes stokastisk på hvert batch under træning.
- Ved at bruge online data augmentation opnåede vi en 5% forbedring i testnøjagtigheden. — Eksempel fra praksis
- Online data augmentation er standard i mange moderne træningsopsætninger for billedklassifikation. — Deep Learning (Goodfellow et al., 2016)
Hvornår bruges det
Online data augmentation bruges især inden for computer vision, hvor billeder transformeres (f.eks. rotation, beskæring, farvejustering) under træning. Det reducerer overfitting og øger modellens generaliseringsevne uden at kræve forudgenererede datasæt.
Kodeeksempel
from torchvision import transforms
transform = transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
])
dataset = ImageFolder(root='data/train', transform=transform)
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)Eksempel på online data augmentation i PyTorch med torchvision-transformationer.
Oprindelse
Udtrykket stammer fra kombinationen af 'online' (i realtid) og 'data augmentation' (dataforøgelse) og opstod med deep learning-biblioteker som Keras og PyTorch i 2010'erne.
Kilder
2- Deep Learning (Goodfellow, Bengio, Courville, 2016)
- PyTorch torchvision.transforms documentation