Sayangnya tidak ada cara umum untuk menentukan apriori jumlah neuron terbaik dan jumlah lapisan untuk jaringan saraf, hanya diberikan deskripsi masalah. Bahkan tidak banyak panduan yang bisa didapat untuk menentukan nilai yang baik untuk dicoba sebagai titik awal.
Pendekatan yang paling umum tampaknya dimulai dengan perkiraan kasar berdasarkan pengalaman sebelumnya tentang jaringan yang digunakan pada masalah yang sama. Ini bisa menjadi pengalaman Anda sendiri, atau pengalaman tangan kedua / ketiga yang Anda ambil dari kursus pelatihan, blog, atau makalah penelitian. Kemudian cobalah beberapa variasi, dan periksa kinerja dengan cermat sebelum memilih yang terbaik.
Ukuran dan kedalaman jaringan saraf berinteraksi dengan hyper-paramaters lain juga, sehingga mengubah satu hal di tempat lain dapat mempengaruhi di mana nilai-nilai terbaik berada. Jadi tidak mungkin untuk mengisolasi ukuran dan kedalaman "terbaik" untuk jaringan kemudian terus mencari parameter lain secara terpisah. Misalnya, jika Anda memiliki jaringan yang sangat dalam, itu mungkin bekerja secara efisien dengan fungsi aktivasi ReLU, tetapi tidak begitu baik dengan sigmoid - jika Anda menemukan ukuran / bentuk jaringan terbaik dan kemudian mencoba percobaan dengan berbagai fungsi aktivasi Anda mungkin datang untuk kesimpulan yang salah tentang apa yang terbaik.
Anda kadang-kadang dapat membaca tentang "aturan praktis" yang digunakan peneliti ketika memulai desain jaringan saraf dari awal. Hal-hal ini mungkin bekerja untuk masalah Anda atau tidak, tetapi mereka setidaknya memiliki keuntungan untuk memulai masalah. Variasi yang saya lihat adalah:
Buat jaringan dengan lapisan tersembunyi agar ukuran yang sama dengan input, dan semua ukuran yang sama, dengan alasan bahwa tidak ada alasan khusus untuk memvariasikan ukuran (kecuali Anda mungkin membuat autoencoder).
Mulai yang sederhana dan bangun kompleksitas untuk melihat apa yang meningkatkan jaringan sederhana.
Coba berbagai kedalaman jaringan jika Anda mengharapkan output dijelaskan dengan baik oleh data input, tetapi dengan hubungan yang kompleks (bukan hanya berisik secara inheren).
Coba tambahkan beberapa dropout, itu hal terdekat yang harus dimiliki jaringan saraf terhadap debu peri ajaib yang membuat segalanya lebih baik (peringatan: menambahkan dropout dapat meningkatkan generalisasi, tetapi juga dapat meningkatkan ukuran lapisan yang diperlukan dan waktu pelatihan).
Jika Anda membaca ini atau semacamnya dalam teks apa pun, maka bawalah mereka sedikit garam. Namun, paling buruk mereka membantu Anda melewati efek halaman kosong, dan menulis semacam jaringan, dan membuat Anda memulai proses pengujian dan penyempurnaan.
Selain itu, cobalah untuk tidak tersesat dalam penyetelan jaringan saraf ketika beberapa pendekatan lain mungkin lebih baik dan menghemat banyak waktu. Pertimbangkan dan gunakan pembelajaran mesin lainnya dan pendekatan sains data. Jelajahi data, mungkin buat beberapa plot. Cobalah beberapa pendekatan linier sederhana terlebih dahulu untuk mendapatkan tolok ukur untuk dikalahkan, regresi linier, regresi logistik atau regresi softmax tergantung pada masalah Anda. Pertimbangkan untuk menggunakan algoritma ML yang berbeda untuk NNs - pendekatan berbasis pohon keputusan seperti XGBoost bisa lebih cepat dan lebih efektif daripada pembelajaran mendalam tentang banyak masalah.