1000 nöron ile 1 gizli katman vs 100 nöron ile 10 gizli katman


13

Bu tür sorular soruna bağlı olabilir, ancak gizli katmanların sayısının ve boyutlarının (her katmandaki nöron sayısı) gerçekten önemli olup olmadığı sorusunu ele alan bir araştırma bulmaya çalıştım.

Benim sorum şu, mesela 1000 nöronun 1 büyük gizli tabakasına ve her birinin 100 nöronlu 10 gizli tabakaya sahip olması gerçekten önemli mi?

Yanıtlar:


12

Temel olarak, birden fazla katmana (derin ağ olarak da bilinir) sahip olmak, ağınızı giriş verilerinin belirli yönlerini tanımayı daha istekli hale getirir. Örneğin, bir evin ayrıntılarını (boyut, çim boyutu, yer vb.) Girdi olarak alıyorsanız ve fiyatı tahmin etmek istiyorsanız. İlk katman tahmin edebilir:

  • Büyük alan, daha yüksek fiyat
  • Az miktarda yatak odası, düşük fiyat

İkinci katman şu sonuca varabilir:

  • Büyük alan + az miktarda yatak odası = büyük yatak odası = + - etki

Evet, bir katman istatistikleri 'tespit edebilir', ancak bu statüyü tespit etmek için gereken toplam hesaplamanın 'parçalarını' yapmak için diğer nöronlara güvenemeyeceği için daha fazla nöron gerektirecektir.

Bu cevaba göz atın


Cevabın için çok teşekkür ederim. Sadece açıklığa kavuşturmak için, "ağınızı yapar [...]" yazdığınızda, daha az katmanda daha fazla nöron kullanmak yerine, her biri daha az nöronlu birçok gizli katmanım olduğunda mı kastediyorsunuz?
Stephen Johnson

@StephenJohnson ayy, soruyu düzenledim. Derin ağdan bahsediyorum (çoklu katmanlar).
Thomas W

Güzel cevap, tekrar teşekkürler. Belki başka bir iş parçacığında devam etmeliyim, ama sizce aynı tür akıl yürütme GRU veya LSTM gibi tekrarlayan sinir ağları için de geçerli mi?
Stephen Johnson

@StephenJohnson tek katmanlı yinelenen ağlar mı yoksa çok katmanlı yinelenen ağlar mı demek istediniz?
Thomas W

Genel olarak, daha uzun mesafelerde bağlamları eşlemelerine izin veren tekrarlayan bağlantıları olduğu için, bu tür ağlar, düzenli bir ileri beslemeli ağ gibi Derin olmanın avantajlarından yararlanıyor mu? Belki, bunlar gibi karşılaştırılamazlar çünkü tekrarlayan ağlar genellikle ses gibi sıralı veriler kullanıldığında kullanılır.
Stephen Johnson

4

Pek çok yönü var.

1. Eğitim: Derin ağları eğitmek , yok olan (arkadan patlayan) gradyan problemi nedeniyle zor bir iştir . Bu nedenle, 10x100 sinir ağı oluşturulması önerilmez.

2. Eğitimli ağ performansı:

  • Bilgi kaybı: Sinir ağlarının klasik kullanımı sınıflandırma problemidir. Yani verilerden iyi tanımlanmış bazı bilgiler almak istiyoruz. (Örn. Resimde bir yüz var mı yoksa yok mu?) Bu nedenle, genellikle sınıflandırma probleminin çok fazla girişi ve çok az çıkışı vardır, gizli katmanların boyutu girişten çıkışa ne kadar azalır. Bununla birlikte, katman başına daha az nöron kullanarak bilgi kaybediyoruz. (Yani, orijinal görüntüyü üzerinde bir yüz var ya da hayır olduğu gerçeğine dayanarak çoğaltamayız.) Bu nedenle, girişin boyutu 1000 ise (100 diyelim) 100 nöron kullanarak bilgi kaybettiğinizi bilmelisiniz.
  • Bilgi karmaşıklığı: Bununla birlikte, daha derin ağlar (Tomas W'nın belirttiği gibi), giriş verilerinden daha karmaşık bilgiler alabilir. Buna rağmen 10 tamamen bağlı katman kullanılması önerilmez. Evrişimsel / relu / maxpooling veya diğer katmanların kullanılması tavsiye edilir. En ateşli katmanlar girişlerin bazı önemli kısımlarını sıkıştırabilir. (Örn, resmin belirli bir bölümünde herhangi bir çizgi var.) İkinci katmanlar şunu söyleyebilir: Resimde bu yerde belirli bir şekil var. Vs vs.

Bu yüzden daha derin ağlar daha "zekidir" ancak 10x100 net yapı iyi bir seçimdir.


1

Çözdüğünüz sorun doğrusal olarak ayrılabilirse, 1000 nöronun bir tabakası 100 nöronun her birinde 10 tabakadan daha iyi iş yapabilir. Sorun doğrusal değilse ve dışbükey değilse, derin sinir ağlarına ihtiyacınız vardır.


2
Sorun doğrusal olarak ayrılabilirse, gizli katmanlara ihtiyacınız yoktur
Amedeo Baragiola

0

Bence sinir ağlarının temellerinde bir karışıklık var. Her katmanın ayrı bir etkinleştirme işlevi ve giriş / çıkış bağlantı ağırlıkları vardır.

İlk gizli katmanın çıktısı, bir sonraki katmanda bir etkinleştirme işlevi tarafından işlenen bir ağırlıkla çarpılacaktır. Tek katmanlı sinir ağları basit görevler için çok sınırlıdır, daha derin NN tek bir katmandan çok daha iyi performans gösterebilir.

Ancak uygulamanız oldukça karmaşık değilse katmandan fazlasını kullanmayın. Sonuç olarak, 100 nöron tabakası 10 tabaka x 10 nörondan daha iyi sinir ağı anlamına gelmez, ancak derin öğrenme yapmadıkça 10 tabaka hayali bir şeydir. Gizli katmandaki 10 nöronla başlayın ve farkı görmek için katmanları eklemeye veya aynı katmana daha fazla nöron eklemeye çalışın. daha fazla katmanla öğrenmek daha kolay olacaktır, ancak daha fazla eğitim süresi gereklidir.

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.