Augmentasi Data, Teknik Modifikasi Untuk Perbanyak Data Anda

Augmentasi data membantu memperbanyak sumber data yang terbatas untuk membuat model Machine Learning yang akurat. Teknik modifikasi ini penting dalam Machine Learning. Apa sajakah teknik itu? Cari tahu selengkapnya dalam artikel ini!

Bunga Dea Laraswati
Bunga Dea Laraswati

Table of Contents


Data adalah salah satu hal penting yang harus dipersiapkan sebelum melakukan teknik machine learning. Seringnya, sumberdaya dari mendapatkan data tersebut sangat terbatas. Sehingga, data yang kita punya masih harus ditambah untuk menghasilkan model machine learning yang akurat. Salah satu cara untuk memperbanyak data adalah dengan melakukan teknik augmentasi data. Silahkan disimak artikel berikut.

Apa itu Augmentasi Data?

Augmentasi data adalah suatu teknik yang dibuat untuk meningkatkan jumlah data Anda dengan cara memodifikasi dari data-data yang telah Anda peroleh. Dengan melakukan augmentasi data, Anda bisa memperoleh data baru yang bisa Anda gunakan untuk melatih model machine learning Anda.

Augmentasi Data vs Sintetis Data

Selain teknik augmentasi, menambah data juga bisa diperoleh dari teknik sintetis. Lantas apa perbedaannya?

Augmentasi data berasal dari data asli dengan beberapa perubahan kecil. Dalam hal augmentasi gambar, kita membuat transformasi geometri dan spasi warna (flipping, resizing, cropping, kecerahan, kontras) untuk meningkatkan ukuran dan keragaman dari set latihan.

Sintetis data dibuat secara artifisial tanpa menggunakan dataset asli. Seringkali menggunakan Jaringan Saraf Tiruan (DNNs) dan GANs (Generative Adversarial Networks) untuk menghasilkan data sintetis.

Kapan Anda Perlu Melakukan Augmentasi Data?

Komputer belajar dari data-data yang Anda input. Sehingga komputer atau mesin perlu mempelajari data yang banyak untuk belajar. Tidak seperti manusia yang bisa cepat belajar, mesin perlu mengenal banyak hal yaitu data untuk menghasilkan model machine learning yang baik dan akurat. Berikut alasan mengapa Anda perlu melakukan teknik augmentasi data:

1. Data Anda Sedikit, tapi ingin membuat model yang kompleks

Anda ingin membuat model machine learning yang kompleks, misalnya dengan menerapkan deep learning yang mana punya arsitektur jaringan yang sangat kompleks sehingga dibutuhkan resource data yang banyak untuk melatih model anda. Apabila Anda memiliki sedikit data untuk dilatih, maka model Anda memiliki kecenderungan performa yang buruk. Model akan memiliki akurasi yang tidak akurat dan pada akhirnya model yang Anda hasilkan kurang layak untuk digunakan. Dengan melakukan augmentasi data, masalah ini dapat teratasi.

2. Meningkatkan Akurasi Model

Anggaplah Anda punya cukup resource data, setelah dilatih model Anda juga cukup baik performanya. Misal, model tidak mengalami overfit maupun underfit. Namun dari segi akurasi, model Anda masih belum cukup memuaskan. Dengan melakukan augmentasi data, Anda bisa mendapatkan resource data yang lebih banyak lagi, sehingga akurasi yang dihasilkan sangat akurat.

3. Menambah Resource Untuk Project di Masa Depan

Ketika Anda melakukan augmentasi data, berarti Anda telah menambah “tabungan” resource data Anda yang sewaktu-waktu bisa Anda gunakan kembali untuk project atau research yang Anda akan lakukan di masa depan.

Batasan dari Augmentasi Data:

  1. Kemiringan dalam dataset asli masih ada dalam data yang ditingkatkan.
  2. Asuransi kualitas untuk augmentasi data mahal.
  3. Penelitian dan pengembangan diperlukan untuk membangun sistem dengan aplikasi lanjutan. Misalnya, menghasilkan gambar resolusi tinggi menggunakan GANs bisa menjadi tantangan.
  4. Menemukan pendekatan augmentasi data yang efektif bisa menjadi tantangan.

Teknik-Teknik Augmentasi Data

Augmentasi data sangat efektif dilakukan pada data yang tidak berstruktur, seprti data gambar,teks,audio/video dan sebagainya yang tidak dapat diolah atau dianalisis secara konvensional. Berikut teknik-teknik augmentasi data yang umum digunakan:

- Augmentasi Data Audio

  1. Noise injection : menambahkan gaussian atau noise acak ke dataset audio untuk meningkatkan kinerja model.
  2. Shifting : memindahkan audio ke kiri (fast forward) atau ke kanan dengan detik acak.
  3. Merubah kecepatan: meregangkan waktu dengan tingkat tetap.
  4. Merubah nada: mengubah nada audio secara acak.

- Augmentasi Data Teks

  1. Acakan kata atau kalimat: mengubah posisi kata atau kalimat secara acak.
  2. Penggantian kata: menggantikan kata dengan sinonim.
  3. Syntax-tree manipulation: parafrase kalimat menggunakan kata yang sama.
  4. Penyisipan kata acak: memasukkan kata secara acak.
  5. Penghapusan kata acak: menghapus kata secara acak.

- Augmentasi Gambar

  1. Transformasi geometri: membalik, memotong, memutar, meregangkan, dan memperbesar gambar secara acak. Anda harus berhati-hati dalam menerapkan beberapa transformasi pada gambar yang sama, karena ini dapat mengurangi kinerja model.
  2. Transformasi spasi warna: mengubah saluran warna RGB, kontras, dan kecerahan secara acak.
  3. Mengubah filter inti: mengubah tajam atau blur gambar secara acak.
  4. Penghapusan acak: menghapus bagian awal gambar secara acak.
  5. Pengadukan gambar: mencampurkan dan mengadukan beberapa gambar.

- Teknik Lanjutan

  1. Jaringan Adversarial Generatif (GANs): digunakan untuk menghasilkan titik data atau gambar baru. Tidak memerlukan data yang ada untuk menghasilkan data sintetis.
  2. Transfer Gaya Neural: serangkaian lapisan konvolusi dilatih untuk membongkar gambar dan memisahkan konteks dan gayanya.

Aplikasi Augmentasi Data

- Bidang Kesehatan

Data augmentation dapat diterapkan pada semua aplikasi pembelajaran mesin di mana memperoleh data berkualitas adalah sebuah tantangan. Selain itu, dapat membantu meningkatkan robustitas dan kinerja model di semua bidang studi. Dalam kasus bidang kesehatan, memperoleh dan memberi label pada dataset gambar medis memakan waktu dan mahal.

Transformasi geometri dan lainnya dapat membantu Anda membuat model pembelajaran mesin yang kuat dan akurat. Misalnya, dalam kasus Klasifikasi Pneumonia, Anda dapat menggunakan random cropping, zooming, stretching, dan transformasi spasi warna untuk meningkatkan kinerja model. Namun, perlu berhati-hati tentang beberapa augmentasi karena dapat menghasilkan hasil yang berlawanan. Misalnya, rotasi dan refleksi acak sepanjang sumbu x tidak direkomendasikan untuk dataset gambar X-ray.

- Bidang Natural Language Processing (NLP)

Data augmentation teks biasanya digunakan dalam situasi dengan data berkualitas terbatas, dan meningkatkan metrik kinerja menjadi prioritas. Anda dapat menerapkan augmentasi sinonim, pembedaan kata, tukar karakter, dan penambahan dan penghapusan acak. Teknik-teknik ini juga berguna untuk bahasa dengan sumber daya rendah. Peneliti menggunakan data augmentation untuk model bahasa dalam skenario pengenalan error tinggi, generasi data sequence-to-sequence, dan klasifikasi teks.

- Bidang Speech Recognition

Data augmentation sangat berguna dalam klasifikasi suara dan pengenalan suara. Ini meningkatkan kinerja model bahkan pada bahasa dengan sumber daya rendah. Injeksi suara acak, penggeseran, dan perubahan nada bisa membantu Anda memproduksi model teks-ke-suara terbaru. Anda juga bisa menggunakan GAN untuk menghasilkan suara yang realistis untuk aplikasi tertentu.

Tools Augmentasi Data

Beberapa tools yang dapat digunakan untuk melakukan augmentasi data adalah:

- Image augmentation:

  • OpenCV (python library)
  • Pillow (python library)
  • imgaug (python library)

- Text augmentation:

  • NLTK (python library)
  • Gensim (python library)
  • Textacy (python library)

- Audio augmentation:

  • librosa (python library)
  • pydub (python library)
  • PyTorch (python library)

- Generative Adversarial Networks (GANs)

  • TensorFlow (python library)
  • PyTorch (python library)
  • Keras (python library)

Kesimpulan

Augmentasi data adalah teknik yang memperbanyak data dengan memodifikasi data yang telah diambil. Ini berbeda dengan sintetis data, yang dibuat secara artifisial tanpa dataset asli. Augmentasi data bisa dilakukan ketika data sedikit, ingin membuat model kompleks, meningkatkan akurasi model, dan menambah resource untuk proyek di masa depan. Namun, augmentasi data memiliki batasan seperti kemiringan dataset asli masih ada dalam data yang ditingkatkan dan membutuhkan asuransi kualitas mahal. Mulai belajar dan kuasai bidang machine learning sekarang dengan bergabung di Algoritma Data Science School. Dengan bergabung di Algoritma, siapapun bisa mahir di bidang data science dan machine learning.

YONVI SATRIA


Jika Anda tertarik dengan artikel seputar Insight Data Science dan beragam topik menarik lainnya, jadilah orang pertama yang membacanya dengan melakukan subscribe blog dibawah ini!

Get Free Learning Resources

* indicates required
Insights

Bunga Dea Laraswati

Sr. Writer Algoritma Data Science School