Apa perbedaan antara 'epoch', 'batch', dan 'minibatch'?


38

Sejauh yang saya tahu, ketika mengadopsi Stochastic Gradient Descent sebagai algoritma pembelajaran, seseorang menggunakan 'epoch' untuk dataset lengkap, dan 'batch' untuk data yang digunakan dalam langkah pembaruan tunggal, sementara yang lain menggunakan 'batch' dan 'minibatch' masing-masing, dan yang lain menggunakan 'zaman' dan 'minibatch'. Ini membawa banyak kebingungan saat berdiskusi.

Jadi, apa kata yang benar? Atau mereka hanya dialek yang semuanya dapat diterima?

Jawaban:


25
  • Zaman berarti satu melewati set pelatihan penuh
  • Batch berarti Anda menggunakan semua data Anda untuk menghitung gradien selama satu iterasi.
  • Mini-batch berarti Anda hanya mengambil sebagian dari semua data Anda selama satu iterasi.


4

"Epoch" biasanya berarti mengekspos algoritma pembelajaran untuk seluruh rangkaian data pelatihan. Ini tidak selalu masuk akal karena kami terkadang menghasilkan data.

"Batch" dan "Minibatch" bisa membingungkan.

Contoh-contoh pelatihan kadang-kadang perlu "batched" karena tidak semua data dapat dengan sendirinya terkena algoritma sekaligus (karena kendala memori biasanya).

Dalam konteks SGD, "Minibatch" berarti bahwa gradien dihitung di seluruh batch sebelum memperbarui bobot. Jika Anda tidak menggunakan "minibatch", setiap contoh pelatihan dalam "batch" memperbarui parameter algoritma pembelajaran secara mandiri.


Apakah Anda yakin tentang paragraf terakhir? Saya berpikir bahwa "batch" SGD menggunakan semua data dalam suatu zaman untuk secara perlahan menghitung gradien yang sangat tepat. Kalimat terakhir Anda terdengar seperti kumpulan mini ukuran 1.
Matt Krause

Juga, selamat datang di Cross Divalidasi!
Matt Krause

Yup, SGD asli memiliki mini-batch ukuran 1. Saya pikir itu pada akhirnya tergantung pada interpretasi dari pembuat perangkat lunak. Sangat sering batch == mini-batch, tanpa dokumentasi yang pernah menyebutkan "mini-batch".
ferrouswheel

Err, saya kira maksud saya batch GD menggunakan semua data. Saya biasanya menggunakan batch dan minibatch secara bergantian, tetapi "mini-batch" ketika saya ingin menunjukkan bahwa itu sangat kecil ...
Matt Krause
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.