Kita harus memilih sejumlah hyperparameter untuk menentukan dan melatih model. Kami mengandalkan intuisi, contoh, dan rekomendasi praktik terbaik. Namun, pilihan pertama parameter hyperparameter mungkin tidak memberikan hasil terbaik. Hal ini hanya memberi kami titik awal yang baik untuk pelatihan. Setiap masalah berbeda dan menyesuaikan hyperparameter ini akan membantu menyaring model kami agar lebih mewakili kekhususan masalah yang dihadapi. Mari kita lihat beberapa hyperparameter yang digunakan dan artinya untuk menyesuaikannya:
Jumlah lapisan dalam model: Jumlah lapisan di jaringan neural adalah indikator kompleksitasnya. Kita harus berhati-hati dalam memilih nilai ini. Terlalu banyak lapisan akan memungkinkan model mempelajari terlalu banyak informasi tentang data pelatihan, yang menyebabkan overfit. Lapisan yang terlalu sedikit dapat membatasi kemampuan pembelajaran model, sehingga menyebabkan underfit. Untuk set data klasifikasi teks, kami bereksperimen dengan MLP satu, dua, dan tiga lapis. Model dengan dua lapisan berperforma baik, dan dalam beberapa kasus lebih baik daripada model tiga lapis. Demikian pula, kami mencoba sepCNN dengan empat dan enam lapisan, dan model empat lapis berperforma baik.
Jumlah unit per lapisan: Unit dalam lapisan harus menyimpan informasi untuk transformasi yang dilakukan lapisan. Untuk lapisan pertama, hal ini didorong oleh jumlah fitur. Di lapisan berikutnya, jumlah unit bergantung pada pilihan dalam memperluas atau mengecilkan representasi dari lapisan sebelumnya. Cobalah untuk meminimalkan hilangnya informasi antar-lapisan. Kami mencoba nilai unit dalam rentang
[8, 16, 32, 64]
, dan unit 32/64 berfungsi dengan baik.Rasio batal: Lapisan putus digunakan dalam model untuk regularisasi. Anotasi ini menentukan fraksi input yang dilepas sebagai tindakan pencegahan untuk overfit. Rentang yang direkomendasikan: 0,2–0,5.
Kecepatan pembelajaran: Ini adalah kecepatan perubahan bobot jaringan neural di antara iterasi. Kecepatan pembelajaran yang besar dapat menyebabkan perubahan ayunan yang besar, dan kita mungkin tidak akan pernah menemukan nilai yang optimal. Kecepatan pembelajaran yang rendah adalah hal yang baik, tetapi model akan membutuhkan lebih banyak iterasi untuk disatukan. Sebaiknya mulai dari yang rendah, misalnya pada 1-4. Jika pelatihan sangat lambat, tingkatkan nilai ini. Jika model Anda tidak belajar, cobalah mengurangi kecepatan pembelajaran.
Ada beberapa hyperparameter tambahan yang telah disesuaikan dengan model sepCNN kita:
Ukuran kernel: Ukuran jendela konvolusi. Nilai yang direkomendasikan: 3 atau 5.
Dimensi penyematan: Jumlah dimensi yang ingin digunakan untuk mewakili penyematan kata—yaitu ukuran setiap vektor kata. Nilai yang direkomendasikan: 50–300. Dalam eksperimen, kami menggunakan penyematan GloVe dengan 200 dimensi dengan lapisan penyematan terlatih.
Cobalah hyperparameter ini dan lihat mana yang paling cocok. Setelah memilih hyperparameter yang berperforma terbaik untuk kasus penggunaan Anda, model Anda siap di-deploy.