Her şeyden önce:
Sadece giriş ve çıkış sayısından iyi bir ağ topolojisi belirlemenin bir yolu yoktur. Eleştirel olarak eğitim örneklerinin sayısına ve öğrenmeye çalıştığınız sınıflamanın karmaşıklığına bağlıdır. [1]
ve Yoshua Bengio çok basit bir kural önerdi:
Test hatası artık düzelmeyene kadar katman eklemeye devam edin. [2]
Dahası:
Bir ConvNet'in önceki özellikleri, birçok görev için yararlı olması gereken daha genel özellikler (örn. Kenar dedektörleri veya renk blob dedektörleri) içerir, ancak ConvNet'in sonraki katmanları, orijinal veri kümesinde bulunan sınıfların ayrıntılarına giderek daha belirgin hale gelir. [ 3]
Örneğin, özellik dedektörlerini öğrenme yönteminde:
ilk katman kenar dedektörlerini öğrenir ve sonraki katmanlar daha karmaşık özellikler öğrenir ve daha yüksek seviye katmanlar daha soyut özellikleri kodlar. [4]
Bu nedenle, iki yoğun katman kullanılması bir katmandan daha fazla tavsiye edilir.
En sonunda:
Bırakma ile ilgili orijinal makale, bırakma pratiğini kullanırken dikkate alınması gereken birkaç yararlı buluşsal yöntem sağlar. Bunlardan biri:
Gelen (görünür) ve gizli birimlerde bırakmayı kullanın. Ağın her katmanına bırakma uygulaması iyi sonuçlar verdi. [5]
CNN'de, genellikle, her havuzlama katmanından sonra ve ayrıca Yoğun katmanınızdan sonra bir Bırakma katmanı uygulanır. İyi bir öğretici burada [6]
Referanslar:
[1] https://www.cs.cmu.edu/Groups/AI/util/html/faqs/ai/neural/faq.html
[2] Bengio, Yoshua. "Derin mimarilerin gradyan temelli eğitimi için pratik öneriler." Sinir ağları: Ticaretin püf noktaları. 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