1 lapisan tersembunyi dengan 1000 neuron vs. 10 lapisan tersembunyi dengan 100 neuron

13

Jenis pertanyaan ini mungkin tergantung pada masalah, tetapi saya telah mencoba untuk menemukan penelitian yang membahas pertanyaan apakah jumlah lapisan tersembunyi dan ukurannya (jumlah neuron di setiap lapisan) benar-benar penting atau tidak.

Jadi pertanyaan saya adalah, apakah benar-benar masalah jika kita misalnya memiliki 1 lapisan tersembunyi besar 1000 neuron vs 10 lapisan tersembunyi dengan masing-masing 100 neuron?

Stephen Johnson
sumber

Jawaban:

12

Pada dasarnya, memiliki banyak lapisan (alias jaringan dalam) membuat jaringan Anda lebih bersemangat untuk mengenali aspek-aspek tertentu dari data input. Misalnya, jika Anda memiliki detail rumah (ukuran, ukuran halaman, lokasi, dll.) Sebagai masukan dan ingin memprediksi harganya. Lapisan pertama dapat memprediksi:

  • Area besar, harga lebih tinggi
  • Kamar tidur sedikit, harga lebih murah

Lapisan kedua mungkin menyimpulkan:

  • Area besar + sedikit kamar tidur = kamar tidur besar = + - efek

Ya, satu lapisan juga dapat 'mendeteksi' statistik, namun akan membutuhkan lebih banyak neuron karena tidak dapat mengandalkan neuron lain untuk melakukan 'bagian' dari total perhitungan yang diperlukan untuk mendeteksi stat itu.

Lihatlah jawaban ini

Thomas W
sumber
Terima kasih banyak atas jawaban Anda. Hanya untuk memperjelas, ketika Anda menulis "itu membuat jaringan Anda [...]", apakah Anda mengacu pada kasus ketika saya memiliki banyak lapisan tersembunyi dengan masing-masing lebih sedikit neuron daripada memiliki lebih banyak neuron dalam lapisan yang lebih sedikit?
Stephen Johnson
@StephenJohnson oops, saya mengedit pertanyaan. Saya mengacu pada jaringan yang dalam (banyak lapisan).
Thomas W
Jawaban yang bagus, terima kasih lagi. Mungkin saya harus melanjutkan ini di utas lain, tetapi apakah Anda pikir alasan yang sama berlaku untuk jaringan saraf berulang seperti GRU atau LSTM?
Stephen Johnson
@StephenJohnson maksud Anda satu jaringan berulang berlapis vs jaringan berulang multilayer atau maksud Anda karena koneksi berulang mereka?
Thomas W
Maksud saya secara umum, karena mereka memiliki koneksi berulang yang memungkinkan mereka untuk memetakan konteks jarak yang lebih jauh, apakah jaringan seperti itu mendapat manfaat dari menjadi Deep dengan cara yang sama seperti jaringan feedforward biasa? Mungkin mereka tidak dapat dibandingkan seperti itu karena jaringan berulang biasanya digunakan ketika data sekuensial, seperti audio, digunakan.
Stephen Johnson
4

Ada banyak aspek.

1. Pelatihan: Pelatihan jaring dalam adalah pekerjaan yang sulit karena masalah gradien menghilang (meledak belakang). Jadi membangun neural-net 10x100 tidak disarankan.

2. Kinerja jaringan yang terlatih:

  • Kehilangan informasi: Penggunaan klasik jaring saraf adalah masalah klasifikasi . Yang berarti kami ingin mendapatkan informasi yang jelas dari data. (Mis. Apakah ada wajah dalam gambar atau tidak.) Jadi biasanya masalah klasifikasi memiliki banyak input, dan sedikit output, apalagi ukuran lapisan tersembunyi diturunkan dari input ke output. Namun, kami kehilangan informasi menggunakan sedikit neuron lapis demi lapis. (Yaitu. Kami tidak dapat mereproduksi gambar asli berdasarkan fakta bahwa ada wajah di atasnya atau tidak.) Jadi, Anda harus tahu bahwa Anda kehilangan informasi menggunakan 100 neuron jika ukuran inputnya (katakanlah) 1000.
  • Kompleksitas informasi: Namun jaring yang lebih dalam (seperti yang disebutkan Tomas W) dapat mengambil informasi yang lebih kompleks dari data input. Meskipun ini tidak disarankan untuk menggunakan 10 lapisan yang terhubung sepenuhnya. Dianjurkan untuk menggunakan convolutional / relu / maxpooling atau jenis lapisan lainnya. Lapisan Firest dapat mengkompres bagian penting dari input. (Mis, apakah ada garis di bagian tertentu gambar) Lapisan kedua dapat mengatakan: Ada bentuk tertentu di tempat ini dalam gambar. Dll.

Jadi jaring yang lebih dalam lebih "pintar" tetapi struktur jaring 10x100 adalah pilihan yang baik.

antara horizontal
sumber
1

Jika masalah yang Anda selesaikan terpisah secara linear, satu lapisan 1000 neuron dapat melakukan pekerjaan lebih baik daripada 10 lapisan dengan masing-masing 100 neuron. Jika masalahnya tidak linier dan tidak cembung, maka Anda membutuhkan jaring saraf yang dalam.

Sreedhar Veluri
sumber
2
Jika masalahnya terpisah secara linear, Anda tidak perlu lapisan tersembunyi sama sekali
Amedeo Baragiola
0

Saya pikir Anda memiliki kebingungan dalam dasar-dasar jaringan saraf. Setiap lapisan memiliki fungsi aktivasi terpisah dan bobot koneksi input / output.

Output dari lapisan tersembunyi pertama akan dikalikan dengan berat, diproses oleh fungsi aktivasi di lapisan berikutnya dan seterusnya. Jaringan neural lapisan tunggal sangat terbatas untuk tugas-tugas sederhana, NN yang lebih dalam dapat melakukan jauh lebih baik daripada satu lapisan.

Namun, jangan gunakan lebih dari layer jika aplikasi Anda tidak cukup rumit. Kesimpulannya, 100 lapisan neuron tidak berarti jaringan saraf yang lebih baik daripada 10 lapisan x 10 neuron tetapi 10 lapisan adalah sesuatu yang imajiner kecuali jika Anda melakukan pembelajaran yang mendalam. mulailah dengan 10 neuron di lapisan tersembunyi dan coba tambahkan lapisan atau tambahkan lebih banyak neuron ke lapisan yang sama untuk melihat perbedaannya. belajar dengan lebih banyak lapisan akan lebih mudah tetapi lebih banyak waktu pelatihan diperlukan.

ahmadjordan
sumber