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. 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