Katman başına optimal sayıda nöron nasıl bulunur?
Algoritmanızı yazarken, her bir katman için kaç tane nörona ihtiyacınız olduğunu nasıl biliyorsunuz? En uygun sayıyı bulmak için herhangi bir yöntem var mı, yoksa bir kural mı?
En uygun sayıyı bulmanın doğrudan bir yolu yoktur: insanlar deneysel olarak deneyip görmeye çalışırlar (örneğin, çapraz doğrulama kullanmak). En yaygın arama teknikleri rasgele, el ile ve ızgara aramalarıdır.
Gauss işlemleri gibi daha gelişmiş teknikler var, örneğin Diyalog Yasası Sınıflandırması için Gauss İşlemleri ile Sinir Ağı Hiperparametrelerini Optimize Etme , IEEE SLT 2016 .
Rastgele veya ayrıntılı aramalardan daha akıllı bir yaklaşım için, NEAT http://nn.cs.utexas.edu/?neat gibi genetik bir algoritma deneyebilirsiniz . Bununla birlikte, bunun global bir optima bulma garantisi yoktur, sadece performansa dayalı bir optimizasyon algoritmasıdır ve bu nedenle yerel bir optima'da sıkışıp kalmaya açıktır.
Yine de, küresel bir optimum yakın oldukça alacak.
Paper Szegedy C, Vanhoucke V, Ioffe S, vd. Bilgisayarlı görü için başlangıç ​​mimarisini yeniden düşünmek [J]. arXiv ön baskı arXiv: 1512.00567, 2015. bazı genel tasarım ilkelerini verir:
Özellikle ağın erken dönemlerinde temsil edici darboğazlardan kaçının;
Ağın genişliğini ve derinliğini dengeleyin. Ağın optimum performansına, aşama başına filtre sayısı ve ağın derinliği dengelenerek ulaşılabilir. Ağın hem genişliğinin hem de derinliğinin arttırılması, yüksek kaliteli ağlara katkıda bulunabilir. Bununla birlikte, her ikisi de paralel olarak arttırılırsa, sabit bir hesaplama miktarı için en uygun iyileşmeye ulaşılabilir. Bu nedenle hesaplama bütçesi ağın derinliği ve genişliği arasında dengeli bir şekilde dağıtılmalıdır.
Bu öneriler size bir ağdaki en fazla sayıda nöronu getiremez.
Ancak, hala bazı modeli sıkıştırma araştırma örn vardır sparsity Öğrenme Derin Sinir Ağları (SSL) Yapılandırılmış , SqueezeNet , Budama ağ biraz ışık tutmak nasıl tek katman başına nöronları optimize etmek.
Özellikle Derin Sinir Ağlarının Yapısal Seyreklik Öğreniminde, DNN'lerinGroup Lasso yapılarını (yani filtreler, kanallar, filtre şekilleri ve katman derinliği) düzenlemek, yani bazı bileşenleri sıfıra indirmek için, normalleştirme terimi, normalleştirme terimi ekler. yani, ağ yapısının filtreleri, kanalları, filtre şekilleri ve katman derinliği) ve ağın dikkate değer bir kompakt ve ivmelenmesini sağlarken, küçük bir sınıflandırma doğruluğu kaybı tutar.
Bilirsin, çok fazla nöronun olduğu zaman, uydurma bittiği zamandır. Yani iyi çalışmadığı için NN imkansız olan en mükemmel eşleşmeyi etkinleştirmeye çalışıyor. Aynı miktardaki atomlara sahip iki farklı kedi gibi, ya da söylemek gerekirse, sadece evcil hayvan kedinizin resmini aktive eden NN dedektörüdür ve başka bir şey yoktur. Nn'nin aktif hale gelmesi için daha geniş bir aralık istiyorsunuz. Herhangi bir kedi resmi gibi.
Aşırı yükleme, hızlı bir şekilde düzeltilemeyen bir sorundur. Çok azıyla başlayabilir ve daha fazlasını eklemeye devam edebilirsiniz. Veya bir çok şeyle başlayın ve doğru şekilde çalışana kadar bunları kaldırın.