Saya memiliki model jaringan saraf yang dalam dan saya perlu melatihnya pada dataset saya yang terdiri dari sekitar 100.000 contoh, data validasi saya berisi sekitar 1000 contoh. Karena butuh waktu untuk melatih setiap contoh (sekitar 0,5 untuk setiap contoh) dan untuk menghindari overfitting, saya ingin menerapkan penghentian dini untuk mencegah perhitungan yang tidak perlu. Tetapi saya tidak yakin bagaimana cara melatih jaringan saraf saya dengan benar dengan penghentian dini, beberapa hal yang saya tidak mengerti sekarang:
Apa yang akan menjadi frekuensi validasi yang baik? Haruskah saya memeriksa model saya pada data validasi di akhir setiap zaman? (Ukuran batch saya adalah 1)
Apakah ini kasus bahwa beberapa zaman pertama mungkin menghasilkan hasil yang lebih buruk sebelum mulai konvergen ke nilai yang lebih baik? Dalam hal itu, haruskah kita melatih jaringan kita untuk beberapa zaman sebelum memeriksa untuk berhenti lebih awal?
Bagaimana cara menangani kasus ketika kehilangan validasi mungkin naik dan turun? Dalam hal itu, berhenti dini mungkin mencegah model saya belajar lebih jauh, bukan?
Terima kasih sebelumnya.
sumber
Jawaban:
Tidak ada aturan emas, menghitung kesalahan validasi setelah setiap zaman cukup umum. Karena set validasi Anda jauh lebih kecil dari set pelatihan Anda, itu tidak akan banyak memperlambat pelatihan.
Iya
Anda bisa, tetapi masalahnya adalah berapa banyak zaman yang harus Anda lewati. Jadi dalam praktiknya, sebagian besar waktu orang tidak melewatkan zaman apa pun.
Orang biasanya mendefinisikan kesabaran, yaitu jumlah zaman untuk menunggu sebelum berhenti lebih awal jika tidak ada kemajuan pada set validasi. Kesabaran sering diatur di suatu tempat antara 10 dan 100 (10 atau 20 lebih umum), tetapi itu benar-benar tergantung pada dataset dan jaringan Anda.
Contoh dengan kesabaran = 10:
sumber
patience
zaman sebelum berhenti (yang 'terbaik' tanpa perbaikan lebih lanjut)?Baru-baru ini saya menemukan sebuah makalah berjudul "Menghentikan Dini - tetapi kapan?" oleh Lutz Prechelt yang memiliki banyak contoh hebat tentang bagaimana menggunakan penghentian dini dengan penjelasan yang jelas tentang apa yang masing-masing lakukan dan formula bagi mereka.
Semoga melihat yang dapat membantu.
sumber
Untuk menambah jawaban luar biasa lainnya, Anda juga bisa - tidak berhenti. Saya biasanya:
Tentu saja itu hanya masuk akal ketika Anda tidak membayar per menit (atau biayanya cukup kecil) dan ketika Anda dapat menghentikan pelatihan secara manual. Keuntungannya adalah bahwa jauh lebih mudah untuk menentukan kesalahan validasi terendah di belakang.
sumber