CNN'deki yoğun katmanların sayısı ve boyutu


11

Gördüğüm çoğu ağ, son softmax katmanından önce bir veya iki yoğun katmana sahip.

  • Yoğun katmanların sayısını ve boyutunu seçmenin ilkeli bir yolu var mı?
  • İki yoğun katman, aynı sayıda parametre için birden fazla temsil edici midir?
  • Bırakma her yoğun katmandan önce mi yoksa sadece bir kez mi uygulanmalıdır?

Yanıtlar:


15

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.