Data Augmentation (Augmentacja Danych)

Wprowadzenie

Data Augmentation to technika polegająca na automatycznym tworzeniu nowych, zmodyfikowanych wersji danych treningowych. Pozwala znacząco zwiększyć rozmiar i różnorodność zbioru danych bez zbierania nowych próbek.

Dlaczego augmentacja jest ważna?

  • Zmniejsza ryzyko przeuczenia (overfitting)
  • Poprawia generalizację modelu na nowe dane
  • Pozwala trenować skuteczniejsze modele przy mniejszej ilości oryginalnych danych
  • Jest szczególnie ważna w zadaniach z obrazami, tekstem i dźwiękiem

Najpopularniejsze techniki augmentacji obrazów

  • Rotacja, odbicia lustrzane (flip)
  • Skalowanie, przycinanie (crop), przesunięcie
  • Zmiana jasności, kontrastu, nasycenia, barwy
  • Dodawanie szumu (Gaussian Noise)
  • Perspektywa, zniekształcenia geometryczne
  • AugMix, MixUp, CutMix, RandAugment

Augmentacja tekstu

  • Synonimy i zamiana słów (WordNet, BERT)
  • Back-translation (tłumaczenie w obie strony)
  • Random Insertion / Deletion / Swap
  • EDA (Easy Data Augmentation)

Narzędzia i biblioteki

  • Albumentations – najszybsza biblioteka do obrazów
  • imgaug
  • TensorFlow / Keras – wbudowane warstwy
  • Torchvision i AugLy (Facebook)
  • nlpaug – do tekstu

Powiązane pojęcia

OverfittingRegularizationTransfer LearningSynthetic DataAutoAugmentRandAugmentMixUpCutMix