Sinir ağlarında hata ayıklama genellikle ince ayarlı hiperparametreleri, öğrenilen filtreleri görselleştirmeyi ve önemli ölçümleri çizmeyi içerir. Hangi hiperparametreleri kullandığını paylaşır mısın?
- Parti büyüklüğünüz nedir?
- Öğrenme oranın nedir?
- Ne tür bir otomatik kodlayıcı kullanıyorsunuz?
- Bir Denoising Autoencoder kullanmayı denediniz mi? (Hangi yolsuzluk değerlerini denediniz?)
- Kaç tane gizli katman ve hangi boyutta?
- Giriş resimlerinizin boyutları nelerdir?
Eğitim kayıtlarını analiz etmek de faydalıdır. Dönemin bir fonksiyonu olarak rekonstrüksiyon kaybınızın (Y ekseni) grafiğini çizin (X ekseni). Yeniden yapılanma kaybınız yaklaşıyor mu yoksa uzaklaşıyor mu?
İşte, farklılaşan, 1500 çağdan sonra durdurulmuş, hiperparametreleri ayarlanmış (bu durumda öğrenme oranındaki bir düşüş) ve farklılaşan ve sonunda birleşen aynı ağırlıklarla yeniden başlatılan insan cinsiyet sınıflandırma için bir otomatik kodlayıcı örneği.
İşte yakınsak olanı: (bunu istiyoruz)
Vanilla "sınırlandırılmamış" sadece kimlik haritalamasını öğrendikleri bir problemle karşılaşabilir. Bu, toplumun Denoising, Sparse ve Contractive lezzetlerini yaratmasının sebeplerinden biri.
Buraya verilerinizin küçük bir alt kümesini gönderebilir misiniz? Size otomatik kodlayıcılarımdan birinin sonuçlarını göstermeye istekli olmak isterim.
Bir yandan not: Neden bu grafiklerin kolayca bir veri vektörü olarak temsil edilebildiği durumlarda, ilk olarak grafiklerin görüntülerini kullandığınızı kendinize sorabilirsiniz. yani,
[0, 13, 15, 11, 2, 9, 6, 5]
Yukarıdaki gibi bir problemi düzeltebiliyorsanız, esas olarak otomatik kodlayıcınızın ömrünü kolaylaştırırsınız. Üreten dağılımı öğrenmeye çalışmadan önce görüntüleri nasıl göreceğini öğrenmeye gerek yoktur.
Takip cevabı (verilen veriler)
İşte 1000 gizli ünite, tek katmanlı Denoising Autoencoder gelen filtreler. Filtrelerin bazılarının görünüşte rastgele olduğuna dikkat edin. Çünkü eğitimi çok erken bıraktım ve ağın bu filtreleri öğrenmek için zamanı yoktu.
İşte onu çalıştığım hiperparametreler:
batch_size = 4
epochs = 100
pretrain_learning_rate = 0.01
finetune_learning_rate = 0.01
corruption_level = 0.2
58. dönemden sonra antrenmandan vazgeçtim çünkü filtreler buraya göndermek için yeterince iyi. Yerinde olsam, başlamak için 1000x1000x1000 mimarisine sahip 3 katlı bir Yığın Denoising Autoencoder'ı eğitirdim.
İnce ayar adımının sonuçları:
validation error 24.15 percent
test error 24.15 percent
Dolayısıyla ilk bakışta, şanstan daha iyi görünüyor, ancak iki etiket arasındaki veri dağılımına baktığımızda, aynı yüzde oranının olduğunu görüyoruz (% 75,85 karlı ve% 24,15 kârsız). Bu, şebekenin, sinyal ne olursa olsun, "karlı" bir şekilde yanıt vermeyi öğrendiği anlamına gelir. Ne olacağını görmek için muhtemelen bunu daha büyük bir ağla daha uzun bir süre boyunca eğitirdim. Ayrıca, bu verilerin bir tür temel finansal veri kümesinden üretildiği anlaşılıyor. Sorununuzu yukarıda açıklanan vektörlere dönüştürdükten sonra Tekrarlayan Sinir Ağlarına bakmanızı tavsiye ederim. RNN'ler, bunun gibi zaman çizelgesi verilerinde bulunan geçici bağımlılıkların bazılarının yakalanmasına yardımcı olabilir. Bu yardımcı olur umarım.