Saya bertanya-tanya apakah dalam keadaan tertentu dimungkinkan bagi ANN untuk berkinerja lebih baik jika Anda memangkas beberapa koneksi seperti misalnya:
Membangun satu JST dengan mengambil dua JST berlapis-lapis A dan B secara paralel (input dan output node yang sama) menambahkan beberapa "komunikasi" koneksi antara lapisan tersembunyi dari A dan B?
Bisakah seseorang mendapatkan hasil generalisasi yang lebih baik?
Apakah ini entah bagaimana digunakan dalam praktik atau apakah seseorang selalu hanya menggunakan jaringan yang terhubung sepenuhnya multi-layered?
classification
neural-networks
SlimJim
sumber
sumber
Sebagai aturan praktis, jaringan kecil dan / atau jarang menggeneralisasi lebih baik. Anda dapat membiarkan algoritme pelatihan Anda membuang koneksi yang tidak perlu dalam jaringan ukuran tetap dengan menerapkan beberapa bentuk pembusukan berat, atau Anda dapat menerapkan algoritma yang bertujuan untuk mengoptimalkan arsitektur jaringan / topologi itu sendiri melalui menghapus input yang tidak perlu, node atau koneksi tersembunyi.
Lihatlah referensi ini untuk ide-ide dan titik awal untuk penelitian lebih lanjut, atau lihat ke dalam penggunaan algoritma evolusioner untuk merancang, memangkas dan mengoptimalkan arsitektur.
sumber
Dalam kebanyakan kasus, jika Anda menghapus koneksi yang tidak perlu, Anda akan mendapatkan jaringan yang lebih baik. Sangat mudah untuk overtrain (overfit) jaringan --- dalam hal ini akan berkinerja buruk pada dataset validasi.
Memangkas koneksi yang tidak perlu kemungkinan besar akan mengurangi probabilitas overtraining. Silakan lihat: http://en.wikipedia.org/wiki/Overfitting .
sumber
Ya itu mungkin. Kita dapat mempertimbangkan, koneksi antara kesatuan komputasi, jumlah lapisan tersembunyi, menyatukan per lapisan tersembunyi dll sebagai parameter-hiper. Mungkin untuk mengetahui nilai optimal untuk parameter ini dengan melakukan serangkaian percobaan.
Sebagai contoh:
Anda dapat membagi set data Anda sebagai berikut: Pelatihan mengatur 60% data, Validasi silang 20% data, Menguji 20% data,
Kemudian latih NN Anda dengan menggunakan set data pelatihan dan parameter tuning dengan menggunakan set data validasi silang.
Akhirnya, Anda dapat menggunakan kumpulan data pengujian untuk mengevaluasi kinerja NN Anda.
sumber