Sinir ağlarının eğitim sırasında genellikle “devreye girmesi” biraz zaman alır mı?


11

Geri yayılımı kullanarak sınıflandırma için derin bir sinir ağını eğitmeye çalışıyorum. Özellikle, görüntü sınıflandırması için, Tensor Flow kütüphanesini kullanarak evrişimli bir sinir ağı kullanıyorum. Eğitim sırasında garip bir davranış yaşıyorum ve bunun tipik olup olmadığını ya da yanlış bir şey yapıp yapmadığımı merak ediyorum.

Böylece, evrişimli sinir ağımın 8 katmanı vardır (5 evrişimsel, 3 tam bağlantılı). Tüm ağırlıklar ve sapmalar küçük rasgele sayılarla başlatılır. Daha sonra bir adım boyutu belirledim ve Tensor Flow'dan Adam Optimizer'ı kullanarak mini partilerle eğitime devam ediyorum.

Bahsettiğim garip davranış, eğitim verilerimle yaklaşık ilk 10 döngü için egzersiz kaybının genel olarak azalmamasıdır. Ağırlıklar güncelleniyor, ancak eğitim kaybı kabaca aynı değerde kalıyor, bazen yükseliyor ve bazen mini partiler arasında düşüyor. Bir süre bu şekilde kalır ve kaybın asla azalmayacağı izlenimini her zaman alırım.

Sonra aniden, eğitim kaybı önemli ölçüde azalır. Örneğin, egzersiz verileri boyunca yaklaşık 10 döngü içinde, egzersiz doğruluğu yaklaşık% 20 ila yaklaşık% 80 arasındadır. O andan itibaren, her şey güzel bir şekilde birleşiyor. Eğitim boru hattını sıfırdan her çalıştırdığımda da aynı şey oluyor ve aşağıda bir örnek çalışmayı gösteren bir grafik var.

resim açıklamasını buraya girin

Merak ettiğim şey, bunun derin sinir ağları eğitimi ile normal bir davranış olup olmadığıdır, bu nedenle "devreye girmek" biraz zaman alır. Yoksa yanlış yaptığım ve bu gecikmeye neden olan bir şey var mı?

Çok teşekkürler!


Sanırım partiye biraz geç kaldım. Ama belki de sohbete biraz değer katabilirim. Soo ... bana bir sigmoid aktivasyon fonksiyonu gibi geliyor. Sigmoidin türevi çok küçük veya çok büyük değerler için küçük olduğundan, eğitim "doymuş nöronlar" için yavaş olabilir. Ne yazık ki, verdiğiniz açıklamadan CNN'nizin nasıl olduğunu tam olarak söyleyemem.
Nima Mousavi

Yanıtlar:


7

Algoritmanın "devreye girmesi" için biraz zaman alması şaşırtıcı değildir.

Genelde, hedef fonksiyonu sinir ağları vardır arkasında optimize edilmesi son derece çok modlu. Bu nedenle, sorununuz için akıllıca bir dizi başlangıç ​​değeri yoksa, dik bir inişe başlayacağınıza inanmak için hiçbir neden yoktur. Bu nedenle, optimizasyon algoritmanız aşağı inmeye başlamak için oldukça dik bir vadi bulana kadar neredeyse rastgele dolaşacaktır. Bu bulunduktan sonra, gradyan tabanlı algoritmaların çoğunun hemen en yakın olduğu moda daralmaya başlamasını beklemelisiniz.

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.