Apa itu data augmentation?
Data augmentation adalah teknik training yang membuat contoh baru dengan mengubah contoh yang sudah ada tanpa mengubah labelnya, misalnya membalik, memotong, atau mencerahkan gambar. Model melihat banyak variasi dari tiap contoh, sehingga lebih kecil kemungkinannya menghafal training set dan lebih siap menghadapi variasi pada data sungguhan.
Augmentation sudah menjadi standar di computer vision: hampir semua classifier gambar, detector, dan model segmentation dilatih dengan random crop, flip, dan color jitter. Teknik ini juga dipakai untuk audio, dengan pergeseran waktu, tambahan noise, dan penutupan pita spektrogram ala SpecAugment, serta untuk teks, dengan back-translation dan penggantian sinonim. Metode self-supervised seperti SimCLR belajar dengan membandingkan dua versi augmentation dari gambar yang sama.
Ide utama
- Augmentation membuat contoh training baru dengan mentransformasi contoh yang ada tanpa mengubah labelnya.
- Teknik ini berfungsi sebagai regularizer dan mengurangi overfitting, terutama pada dataset kecil.
- Transformasi geometris memindahkan pixel, dan transformasi fotometrik mengubah nilainya.
- Untuk object detection dan segmentation, transformasi geometris juga harus diterapkan pada kotak atau mask.
- Mixup dan CutMix mencampur gambar sekaligus labelnya.
- Augmentation yang berlebihan, atau transformasi yang mengubah label, menurunkan akurasi.
Pertanyaan umum
Apakah validation set dan test set perlu di-augment?
Tidak. Augmentation acak hanya untuk training. Gambar validasi dan uji sebaiknya tetap sedekat mungkin dengan input sungguhan supaya skornya bermakna. Satu-satunya pengecualian adalah preprocessing deterministik, seperti resize dan center crop, yang diterapkan dengan cara yang sama di setiap split.
Augmentation gambar apa yang sebaiknya dipakai lebih dulu?
Random resized crop dan horizontal flip biasanya menjadi pilihan pertama, lalu color jitter ringan. Untuk model yang lebih besar dan training yang lebih lama, tambahkan RandAugment, mixup, atau CutMix. Periksa setiap transformasi terhadap tugasnya, karena flip dan rotasi besar bisa mengubah makna teks, angka, atau gambar medis.
Apakah data augmentation bisa dipakai untuk data tabular?
Lebih jarang, karena tidak ada transformasi yang jelas-jelas menjaga label untuk satu baris berisi feature campuran. Menambahkan noise kecil ke feature numerik adalah salah satu pilihan. Untuk class imbalance, SMOTE membuat baris sintetis dari kelas minoritas dengan interpolasi antarcontoh yang berdekatan.
Apa bedanya data augmentation dan synthetic data?
Augmentation mentransformasi contoh sungguhan, jadi setiap sampel baru tetap dekat dengan sampel yang ada. Synthetic data dibuat dari nol oleh simulator, renderer 3D, atau generative model seperti diffusion model. Synthetic data bisa mencakup kasus yang tidak ada di dataset sungguhan, tetapi berisiko menimbulkan jarak antara distribusi data buatan dan data sungguhan.
Penjelasan terkait
- Overfitting dan Underfitting · Bias-variance tradeoff dan generalisasi
- Regularization · Dropout, L1, dan L2 agar model tetap jujur
- Convolutional Neural Network · Cara CNN melihat dan memahami gambar
- Class Imbalance & Resampling · SMOTE, class weight, dan metrik di luar akurasi
- Transfer Learning · Berdiri di atas pundak raksasa pretrained
- Image Segmentation · Klasifikasikan setiap pixel dalam gambar, dari area semantik sampai tiap objek
Referensi
- Shorten & Khoshgoftaar (2019), "A survey on Image Data Augmentation for Deep Learning", Journal of Big Data
- Zhang et al. (2017), "mixup: Beyond Empirical Risk Minimization"
- DeVries & Taylor (2017), "Improved Regularization of Convolutional Neural Networks with Cutout"
- Yun et al. (2019), "CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features"
- Cubuk et al. (2019), "RandAugment: Practical automated data augmentation with a reduced search space"
Terakhir diperbarui