Her bir (gizli katman + doğrusallık olmayan) kombinasyon arasında 3 veya 4 gizli katman ve bırakmalarla basit bir ileri besleme modeli eğitimi alıyorum. Bazen birkaç dönemden (yaklaşık 10-11) sonra model, NLL'nin hatası olarak Infs ve NaN'leri çıkarmaya başlar ve doğruluk% 0.0'a düşer. Bırakma kullanmadığımda bu sorun oluşmaz. Bu, Theano'da bırakmalarla ilgili bilinen bir sorun mu? Ben terkinde uygulamak yoludur:Bırakma kullandığımda Theano neden NaN'leri atar?
giriş biz bırakan uygulamak istediğiniz özellik vektörüdef drop(self, input):
mask = self.theano_rng.binomial(n=1, p=self.p, size=input.shape, dtype=theano.config.floatX)
return input * mask
. Ayrıca, bırakma olasılığının (self.p) daha yüksek olması halinde NaN'lerin ortaya çıkmasının daha önce gerçekleştiğini gözlemledim. p = 0.5, NaN'lerin 1 veya 2 civarında meydana gelmesine neden olur, ancak p = 0.7, NaN'lerin 10 veya 11 civarında meydana gelmesine neden olur. Ayrıca, NaN'lerin oluşumu yalnızca gizli katman boyutları büyük olduğunda gerçekleşir. Örneğin (800,700,700) NaN verirken (500,500,500) yoktur. Tecrübelerime, NaN'ler içinde