Untuk meminimalkan kerugian dan menentukan nilai bobot dan bias yang optimal, kita perlu menyetel hiperparameter jaringan saraf kita. Hiperparameter adalah parameter yang tidak dapat dipelajari sendiri oleh jaringan saraf melalui penurunan gradien atau varian lainnya.
Hiperparameter adalah kebalikan dari parameter yang dapat dipelajari. Parameter yang dapat dipelajari dipelajari secara otomatis dan kemudian dioptimalkan oleh jaringan saraf. Misalnya, bobot dan bias dapat dipelajari oleh jaringan saraf. Parameter ini juga disebut parameter yang dapat dilatih karena dioptimalkan selama proses pelatihan menggunakan penurunan gradien.
Ini adalah tanggung jawab kami untuk memberikan nilai optimal bagi hiperparameter ini berdasarkan pengalaman, pengetahuan domain, dan validasi silang kami. Kami perlu mengubah hiperparameter ini secara manual untuk mendapatkan akurasi yang lebih baik dari jaringan saraf.
Berikut ini adalah daftar hiperparameter yang digunakan dalam jaringan saraf:
1. Jumlah lapisan tersembunyi: Terus tambahkan lapisan tersembunyi hingga fungsi kerugian tidak mencapai titik minimum tertentu. Aturan umumnya adalah kita harus menggunakan sejumlah besar lapisan tersembunyi dengan teknik regularisasi yang tepat.
2. Jumlah unit atau neuron dalam satu lapisan: Jumlah unit yang lebih besar dalam satu layer dapat menyebabkan overfitting. Jumlah unit yang lebih kecil dapat menyebabkan underfitting. Jadi, cobalah untuk menjaga keseimbangan dan gunakan teknik dropout.
3. Putus Sekolah: Dropout adalah teknik regularisasi untuk menghindari overfitting sehingga meningkatkan kemampuan generalisasi jaringan saraf. Dalam teknik ini, kami sengaja menghilangkan beberapa unit dalam lapisan tersembunyi untuk memperkenalkan kemampuan generalisasi ke dalamnya. Nilai dropout harus berkisar antara 20%-50% dari jumlah neuron dalam satu lapisan.
Untuk informasi lebih lanjut tentang putus sekolah, mohon pertimbangkan untuk membaca artikel saya ini pada putus sekolah.
4. Fungsi Aktivasi: Fungsi aktivasi memperkenalkan non-linearitas dalam jaringan saraf. Sigmoid, Step, Tanh, ReLU, Softmax adalah fungsi aktivasi. Kami terutama menggunakan fungsi aktivasi ReLU untuk lapisan tersembunyi dan softmax untuk lapisan keluaran.
Untuk detail lebih lanjut tentang fungsi aktivasi, harap pertimbangkan untuk membaca artikel saya ini pada fungsi aktivasi.
5. Kecepatan Pembelajaran: Laju pembelajaran menentukan seberapa cepat bobot dan bias diperbarui dalam jaringan saraf. Jika laju pembelajaran sangat kecil, proses pembelajaran akan melambat secara signifikan dan model akan konvergen terlalu lambat. Laju pembelajaran juga dapat berakhir pada minimum lokal dan tidak pernah mencapai minimum global. Laju pembelajaran yang lebih besar mempercepat pembelajaran tetapi mungkin tidak konvergen.
Laju pembelajaran biasanya ditetapkan antara 0.01 hingga 0.0001. Laju pembelajaran yang menurun biasanya lebih disukai.
Untuk detail lebih lanjut tentang minimum lokal dan global, silakan lihat artikel saya ini.
6. Momentum: Momentum membantu mempercepat SGD ke arah yang relevan. Momentum membantu mengetahui arah langkah berikutnya dengan pengetahuan tentang langkah sebelumnya. Momentum membantu mencegah osilasi dengan menambahkan kecepatan. Pilihan momentum yang umum harus berada di antara 0.5 hingga 0.9.
Untuk detail lebih lanjut tentang kecepatan belajar dan momentum, silakan pertimbangkan untuk membaca artikel saya ini tentang momentum dan pembelajaran adaptif.
7. Jumlah epoch: Jumlah epoch adalah jumlah kali seluruh data pelatihan ditampilkan ke jaringan selama pelatihan. Jumlah epoch default adalah 1.
8. Ukuran batch: Ukuran batch adalah jumlah sampel yang dikirimkan ke jaringan pada satu waktu, setelah itu pembaruan parameter akan dilakukan. Ini juga disebut mini-batch. Ukurannya harus dalam pangkat 2. Ukuran batch default adalah 128.
9. Inisialisasi Bobot: Bias biasanya diinisialisasi ke 0 (atau mendekati 0), tetapi bobot harus diinisialisasi dengan hati-hati. Inisialisasi bobot dapat berdampak besar pada minimum lokal yang ditemukan oleh algoritme pelatihan.
Jika beratnya terlalu besar: Selama back-propagation, hal ini akan menyebabkan meledak gradien masalah. Artinya, gradien biaya terhadap parameter terlalu besar. Hal ini menyebabkan biaya berosilasi di sekitar nilai minimumnya.
Jika beratnya terlalu kecil: Selama back-propagation, hal ini akan menyebabkan gradien hilang masalah. Gradien biaya terhadap parameter terlalu kecil, menyebabkan konvergensi biaya sebelum mencapai nilai minimum.
Jadi, menginisialisasi bobot dengan nilai yang tidak sesuai akan menyebabkan divergensi atau perlambatan dalam pelatihan jaringan saraf.
Untuk mencegah masalah ini menghilang dan meledak, kami menggunakanbiasanya menugaskan angka acak untuk bobot sedemikian rupa sehingga bobotnya terdistribusi normal (rata-rata = 0, deviasi standar = 1).
Untuk detail lebih lanjut tentang inisialisasi berat, silakan kunjungi postingan saya ini.
10. Fungsi Kerugian: Fungsi kerugian membandingkan keluaran jaringan untuk contoh pelatihan dengan keluaran yang dimaksudkan. Fungsi kerugian serbaguna yang umum adalah fungsi kerugian Kesalahan Kuadrat. Ketika keluaran jaringan saraf diperlakukan sebagai distribusi probabilitas (misalnya lapisan keluaran softmax digunakan), kami biasanya menggunakan entropi silang sebagai fungsi kerugian.
Penyesuaian HyperparameterBerikut ini adalah beberapa cara untuk menyetel hiperparameter dalam jaringan saraf:
1. Turunan Koordinat: Ia menjaga semua hiperparameter tetap kecuali satu, dan menyesuaikan hiperparameter tersebut untuk meminimalkan kesalahan validasi.
2. Pencarian Kotak: Pencarian grid mencoba setiap pengaturan hiperparameter pada rentang nilai tertentu. Ini melibatkan perkalian silang semua interval, sehingga biaya komputasi bersifat eksponensial dalam jumlah parameter. Bagian baiknya adalah dapat dengan mudah diparalelkan.
3. Pencarian Acak: Ini kebalikan dari pencarian grid. Alih-alih mengambil produk silang dari semua interval, ia mengambil sampel ruang hiperparameter secara acak. Ia berkinerja lebih baik daripada pencarian grid karena pencarian grid dapat memakan waktu yang sangat lama untuk mencapai subruang hiperparameter yang baik. Ini juga dapat diparalelkan.
4. Validasi silang: Kita juga dapat mencoba validasi silang dengan mencoba berbagai bagian dataset selama pelatihan dan pengujian.
Hiperparameter adalah kebalikan dari parameter yang dapat dipelajari. Parameter yang dapat dipelajari dipelajari secara otomatis dan kemudian dioptimalkan oleh jaringan saraf. Misalnya, bobot dan bias dapat dipelajari oleh jaringan saraf. Parameter ini juga disebut parameter yang dapat dilatih karena dioptimalkan selama proses pelatihan menggunakan penurunan gradien.
Ini adalah tanggung jawab kami untuk memberikan nilai optimal bagi hiperparameter ini berdasarkan pengalaman, pengetahuan domain, dan validasi silang kami. Kami perlu mengubah hiperparameter ini secara manual untuk mendapatkan akurasi yang lebih baik dari jaringan saraf.
Berikut ini adalah daftar hiperparameter yang digunakan dalam jaringan saraf:
1. Jumlah lapisan tersembunyi: Terus tambahkan lapisan tersembunyi hingga fungsi kerugian tidak mencapai titik minimum tertentu. Aturan umumnya adalah kita harus menggunakan sejumlah besar lapisan tersembunyi dengan teknik regularisasi yang tepat.
2. Jumlah unit atau neuron dalam satu lapisan: Jumlah unit yang lebih besar dalam satu layer dapat menyebabkan overfitting. Jumlah unit yang lebih kecil dapat menyebabkan underfitting. Jadi, cobalah untuk menjaga keseimbangan dan gunakan teknik dropout.
3. Putus Sekolah: Dropout adalah teknik regularisasi untuk menghindari overfitting sehingga meningkatkan kemampuan generalisasi jaringan saraf. Dalam teknik ini, kami sengaja menghilangkan beberapa unit dalam lapisan tersembunyi untuk memperkenalkan kemampuan generalisasi ke dalamnya. Nilai dropout harus berkisar antara 20%-50% dari jumlah neuron dalam satu lapisan.
Untuk informasi lebih lanjut tentang putus sekolah, mohon pertimbangkan untuk membaca artikel saya ini pada putus sekolah.
4. Fungsi Aktivasi: Fungsi aktivasi memperkenalkan non-linearitas dalam jaringan saraf. Sigmoid, Step, Tanh, ReLU, Softmax adalah fungsi aktivasi. Kami terutama menggunakan fungsi aktivasi ReLU untuk lapisan tersembunyi dan softmax untuk lapisan keluaran.
Untuk detail lebih lanjut tentang fungsi aktivasi, harap pertimbangkan untuk membaca artikel saya ini pada fungsi aktivasi.
5. Kecepatan Pembelajaran: Laju pembelajaran menentukan seberapa cepat bobot dan bias diperbarui dalam jaringan saraf. Jika laju pembelajaran sangat kecil, proses pembelajaran akan melambat secara signifikan dan model akan konvergen terlalu lambat. Laju pembelajaran juga dapat berakhir pada minimum lokal dan tidak pernah mencapai minimum global. Laju pembelajaran yang lebih besar mempercepat pembelajaran tetapi mungkin tidak konvergen.
Laju pembelajaran biasanya ditetapkan antara 0.01 hingga 0.0001. Laju pembelajaran yang menurun biasanya lebih disukai.
Untuk detail lebih lanjut tentang minimum lokal dan global, silakan lihat artikel saya ini.
6. Momentum: Momentum membantu mempercepat SGD ke arah yang relevan. Momentum membantu mengetahui arah langkah berikutnya dengan pengetahuan tentang langkah sebelumnya. Momentum membantu mencegah osilasi dengan menambahkan kecepatan. Pilihan momentum yang umum harus berada di antara 0.5 hingga 0.9.
Untuk detail lebih lanjut tentang kecepatan belajar dan momentum, silakan pertimbangkan untuk membaca artikel saya ini tentang momentum dan pembelajaran adaptif.
7. Jumlah epoch: Jumlah epoch adalah jumlah kali seluruh data pelatihan ditampilkan ke jaringan selama pelatihan. Jumlah epoch default adalah 1.
8. Ukuran batch: Ukuran batch adalah jumlah sampel yang dikirimkan ke jaringan pada satu waktu, setelah itu pembaruan parameter akan dilakukan. Ini juga disebut mini-batch. Ukurannya harus dalam pangkat 2. Ukuran batch default adalah 128.
9. Inisialisasi Bobot: Bias biasanya diinisialisasi ke 0 (atau mendekati 0), tetapi bobot harus diinisialisasi dengan hati-hati. Inisialisasi bobot dapat berdampak besar pada minimum lokal yang ditemukan oleh algoritme pelatihan.
Jika beratnya terlalu besar: Selama back-propagation, hal ini akan menyebabkan meledak gradien masalah. Artinya, gradien biaya terhadap parameter terlalu besar. Hal ini menyebabkan biaya berosilasi di sekitar nilai minimumnya.
Jika beratnya terlalu kecil: Selama back-propagation, hal ini akan menyebabkan gradien hilang masalah. Gradien biaya terhadap parameter terlalu kecil, menyebabkan konvergensi biaya sebelum mencapai nilai minimum.
Jadi, menginisialisasi bobot dengan nilai yang tidak sesuai akan menyebabkan divergensi atau perlambatan dalam pelatihan jaringan saraf.
Untuk mencegah masalah ini menghilang dan meledak, kami menggunakanbiasanya menugaskan angka acak untuk bobot sedemikian rupa sehingga bobotnya terdistribusi normal (rata-rata = 0, deviasi standar = 1).
Untuk detail lebih lanjut tentang inisialisasi berat, silakan kunjungi postingan saya ini.
10. Fungsi Kerugian: Fungsi kerugian membandingkan keluaran jaringan untuk contoh pelatihan dengan keluaran yang dimaksudkan. Fungsi kerugian serbaguna yang umum adalah fungsi kerugian Kesalahan Kuadrat. Ketika keluaran jaringan saraf diperlakukan sebagai distribusi probabilitas (misalnya lapisan keluaran softmax digunakan), kami biasanya menggunakan entropi silang sebagai fungsi kerugian.
Penyesuaian HyperparameterBerikut ini adalah beberapa cara untuk menyetel hiperparameter dalam jaringan saraf:
1. Turunan Koordinat: Ia menjaga semua hiperparameter tetap kecuali satu, dan menyesuaikan hiperparameter tersebut untuk meminimalkan kesalahan validasi.
2. Pencarian Kotak: Pencarian grid mencoba setiap pengaturan hiperparameter pada rentang nilai tertentu. Ini melibatkan perkalian silang semua interval, sehingga biaya komputasi bersifat eksponensial dalam jumlah parameter. Bagian baiknya adalah dapat dengan mudah diparalelkan.
3. Pencarian Acak: Ini kebalikan dari pencarian grid. Alih-alih mengambil produk silang dari semua interval, ia mengambil sampel ruang hiperparameter secara acak. Ia berkinerja lebih baik daripada pencarian grid karena pencarian grid dapat memakan waktu yang sangat lama untuk mencapai subruang hiperparameter yang baik. Ini juga dapat diparalelkan.
4. Validasi silang: Kita juga dapat mencoba validasi silang dengan mencoba berbagai bagian dataset selama pelatihan dan pengujian.