Lompat ke konten Lompat ke sidebar Lompat ke footer

Apa Bedanya Epoch dan Batch Size pada Deep Learning?

Saat berhadapan dengan proses training dan testing pada algoritma Deep Learning, umumnya terdapat parameter yang bisa kita tuning, diantaranya adalah Epoch dan Batch Size. 

Terkadang bagi pemula yang baru terjun dan mencoba algoritma Deep Learning, kedua istilah sedikit membingungkan.

Oleh karena itu, artikel ini akan mencoba menjelaskan lebih rinci mengenai Epoch dan Batch serta perbedaan di antara keduanya. Simak, ya!

Daftar Isi

Namun sebelum melaju lebih jauh, perlu diketahui bahwa baik Batch Size maupun Epoch merupakan hyperparameter yang dimiliki oleh algoritma Deep Learning berbasis Gradient Descent.

Apa Bedanya Epoch dan Batch Size pada Deep Learning?

Apa itu Gradient Descent?

Gradient Descent adalah algoritma optimasi yang digunakan untuk melatih algoritma Deep Learning, terutama jaringan saraf tiruan. Optimasi adalah proses pembelajaran dengan teknik pencarian.

Tugas algoritma ini adalah untuk menemukan satu himpunan parameter model internal yang memiliki kinerja yang baik berdasarkan nilai loss function.

Algoritma optimasi ini disebut "gradient descent", di mana "gradient" mengacu pada perhitungan gradien kesalahan atau kemiringan kesalahan dan "descent" mengacu pada penurunan sepanjang kemiringan itu menuju beberapa tingkat kesalahan minimum.

Algoritma ini bersifat iteratif. Artinya proses pencarian terjadi pada beberapa tahap, dan setiap tahap diharapkan dapat meningkatkan parameter model.

Setiap iterasi melibatkan penggunaan model dengan himpunan parameter internal saat ini untuk membuat prediksi pada beberapa sampel. Kemudian membandingkan prediksi dengan hasil aktual yang diharapkan, menghitung kesalahan, dan menggunakan kesalahan untuk memperbarui parameter model internal.

Proses penurunan gradien ini sangat erat kaitannya dengan parameter Batch Size dan Epoch, untuk menentukan berapa kali proses training berlangsung.

Kita membutuhkan parameter seperti Epoch dan Batch size ini ketika dataset yang dimiliki terlalu besar untuk di-training secara sekaligus oleh komputer. Hal ini karena memori di komputer juga memiliki keterbatasan.

Jadi, untuk mengatasi masalah ini kita perlu membagi data menjadi ukuran yang lebih kecil dan memberikannya ke komputer kita satu per satu dan memperbarui bobot jaringan saraf di akhir setiap langkah agar sesuai dengan data yang diberikan.

Pengertian Batch Size

Batch size adalah jumlah sampel data yang biasanya melewati jaringan saraf pada satu waktu. Batch size menentukan jumlah sampel yang harus dikerjakan sebelum memperbarui parameter model internal.

Bayangkan batch sebagai iterasi for-loop pada satu atau lebih sampel dan membuat prediksi. Pada akhir batch, hasil prediksi dibandingkan dengan variabel output yang sebenarnya untuk menghitung nilai kesalahan (loss). Dari kesalahan ini, algoritma diperbarui guna memperbaiki model.

Sebagai contoh kita memiliki dataset yang berisi 1 juta sample citra untuk training. Meskipun jaringan saraf yang kita gunakan tidak terlalu kompleks (tidak memiliki banyak hidden layer), 1 juta data training masih terlalu banyak untuk diproses bersama-sama. Ibaratnya seperti menempatkan beban 100 ton pada sebuah mobil sedan.

Namun, dalam deep learning kita masih perlu melatih model dengan semua gambar itu. Alasannya semakin banyak data, semakin baik model kita dalam 'belajar'. 

Karena itu dataset training berskala besar tersebut perlu dibagi menjadi satu atau lebih batch. Harap dicatat bahwa batch size dan jumlah batch adalah dua hal yang sedikit berbeda. 

Batch adalah kelompok yang digunakan untuk menggabungkan satu atau lebih sampel data. Sedangkan Batch size adalah jumlah total sampel data training yang ada di setiap batch. 

Misalnya, jika kita membagi 1 juta sampel citra tersebut menjadi 10 batch, maka batch size-nya adalah 100 ribu.

Pengertian Epoch

Epoch merupakan hyperparameter yang menentukan berapa kali algoritma deep learning bekerja melewati seluruh dataset baik secara forward maupun backward.

Dalam istilah yang lebih sederhana, Satu Epoch tercapai ketika semua batch telah berhasil dilewatkan melalui jaringan saraf satu kali. Dalam contoh kasus di atas, 1 epoch tercapai ketika 10 batch sampel data training selesai diproses.

Perbedaan Epoch dan Batch Size

Dari penjelasan di atas kita dapat menarik kesimpulan bahwa:

  • Batch size: jumlah training sample yang digunakan dalam satu batch untuk sekali iterasi.
  • Epoch: epoch itu adalah jika semua training data kita sudah selesai di train. Satu epoch tercapai ketika semua batch selesai dilewatkan ke jaringan saraf. Jumlah epoch ini bisa 1 atau lebih.

Penutup

Demikianlah penjelasan mengenai perbedaan Epoch dan Batch Size pada Deep Learning. Semoga bermanfaat.

Apabila Anda suka dengan artikel serupa, Anda bisa mengunjungi rubrik Deep Learning. Jangan lupa kunjungi juga artikel lainnya mengenai "Algoritma Feedforward Neural Network"

Referensi:

Trivusi
Trivusi Ikatlah ilmu dengan menulis. Menebar manfaat dengan berbagi :)

Posting Komentar untuk "Apa Bedanya Epoch dan Batch Size pada Deep Learning?"