Bu yüzden kendime sinir ağlarını öğretmeye çalışıyorum (regresyon uygulamaları için, kedilerin resimlerini sınıflandırmak değil).
İlk deneylerim, bir FIR filtresi ve Ayrık Fourier Dönüşümü ("önce" ve "sonra" sinyalleri üzerinde eğitim) uygulamak için bir ağı eğitiyordu, çünkü bunların ikisi de etkinleştirme işlevi olmayan tek bir katman tarafından uygulanabilen doğrusal işlemlerdir. Her ikisi de iyi çalıştı.
O zaman abs()
bir genlik spektrumu ekleyip ekleyemeyeceğimi görmek istedim . İlk önce gizli katmanda kaç düğüme ihtiyaç duyulacağını düşündüm ve 3 ReLU'nun kaba bir yaklaşım için yeterli olduğunu fark ettim abs(x+jy) = sqrt(x² + y²)
, bu yüzden bu işlemi yalnız karmaşık sayılar üzerinde tek başına test ettim (2 giriş → 3 ReLU düğümü gizli katmanı → 1 çıktı). Bazen çalışır:
Ama çoğu zaman denediğimde, yerel bir minimumda takılıyor ve doğru şekli bulamıyor:
Keras'taki tüm optimize edicileri ve ReLU varyantlarını denedim, ancak çok fazla fark yaratmıyorlar. Bunun gibi basit ağların güvenilir bir şekilde birleşmesi için yapabileceğim başka bir şey var mı? Yoksa sadece yanlış bir tavırla mı yaklaşıyorum ve problemde gerekenden daha fazla düğüm atmanız gerekiyor ve eğer yarısı ölürse büyük bir anlaşma olarak değerlendirilmiyor mu?