Jumlah dan ukuran lapisan padat dalam CNN

10

Sebagian besar jaringan yang saya lihat memiliki satu atau dua lapisan padat sebelum lapisan softmax akhir.

  • Apakah ada cara berprinsip memilih jumlah dan ukuran lapisan padat?
  • Apakah dua lapisan padat lebih representatif dari satu, untuk jumlah parameter yang sama?
  • Haruskah dropout diterapkan sebelum setiap lapisan padat, atau hanya sekali?
geometrikal
sumber

Jawaban:

14

Pertama-tama:

Tidak ada cara untuk menentukan topologi jaringan yang baik hanya dari jumlah input dan output. Tergantung pada jumlah contoh pelatihan dan kompleksitas klasifikasi yang Anda coba pelajari. [1]

dan Yoshua Bengio telah mengusulkan aturan yang sangat sederhana:

Terus tambahkan layer sampai kesalahan tes tidak membaik lagi. [2]

Bahkan:

Fitur-fitur sebelumnya dari ConvNet mengandung lebih banyak fitur-fitur umum (misalnya pendeteksi tepi atau pendeteksi gumpalan warna) yang seharusnya berguna untuk banyak tugas, tetapi lapisan-lapisan selanjutnya dari ConvNet menjadi semakin spesifik untuk rincian kelas-kelas yang terkandung dalam dataset asli. [ 3]

Misalnya, dalam metode untuk mempelajari fitur detektor:

lapisan pertama mempelajari pendeteksi tepi dan lapisan berikutnya mempelajari fitur yang lebih kompleks, dan lapisan yang lebih tinggi menyandi fitur yang lebih abstrak. [4]

Jadi, menggunakan dua lapisan padat lebih disarankan daripada satu lapisan.

Akhirnya:

Makalah asli tentang Dropout memberikan sejumlah heuristik yang berguna untuk dipertimbangkan ketika menggunakan dropout dalam praktik. Salah satunya adalah: Gunakan dropout pada unit yang masuk (terlihat) serta tersembunyi. Aplikasi dropout di setiap lapisan jaringan telah menunjukkan hasil yang baik. [5]

di CNN, biasanya, lapisan Dropout diterapkan setelah setiap lapisan penyatuan, dan juga setelah lapisan Padat Anda. Tutorial yang bagus ada di sini [6]

Referensi:

[1] https://www.cs.cmu.edu/Groups/AI/util/html/faqs/ai/neural/faq.html

[2] Bengio, Yoshua. "Rekomendasi praktis untuk pelatihan arsitektur mendalam berbasis gradien." Jaringan saraf: Trik perdagangan. Springer Berlin Heidelberg, 2012. 437-478.

[3] http://cs231n.github.io/transfer-learning/

[4] http://learning.eng.cam.ac.uk/pub/Public/Turner/Teaching/ml-lecture-3-slides.pdf

[5] https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/

[6] https://cambridgespark.com/content/tutorials/convolutional-neural-networks-with-keras/index.html

moh
sumber