Yeterince derin sinir ağlarının devasa veri kümelerindeki rastgele etiketleri ezberleyebildiğine dair birçok ampirik kanıt vardır (Chiyuan Zhang, Samy Bengio, Moritz Hardt, Benjamin Recht, Oriol Vinyals, "Derin öğrenmenin anlaşılması genellemenin yeniden düşünülmesini gerektirir"). Bu nedenle, prensipte yeterince büyük bir NN alarak, eğitim hatasını her ne kadar ne kadar anlamlı olursa olsun pratik olarak sayısal doğrulukla sınırlanan son derece küçük değerlere indirebiliriz .
Genelleme hatası için her şey oldukça farklı . Her öğrenme problemi için, istenildiği kadar düşük bir genelleme hatası üretebilen öğrenilebilir bir NN modeli bulunduğundan emin olamayız. Bu nedenle ilk adım
1. Beklentilerinizi doğru ayarlayın
Veri kümenizde veya referansları bulabileceğiniz en benzer olanı üzerinde, aradığınız genelleme hatasına ulaşabilecek bir mimari bulunduğunu söyleyen saygın bir referans bulun. Örneğin, buraya bak
Güncel modern konvolüsyonel sinir ağları nelerdir?
CNN'lerin çeşitli görevlerde güncel (cevapların zamanında) SOTA (En İyi Devlet) performansını bulmak. Tüm altyapınızın uygun şekilde yerleştirildiğinin bir testi olarak, kendi veri kümenizi geliştirmeden önce bu referans veri kümelerinde bu gibi sonuçları tekrarlamaya çalışmak iyi bir fikirdir.
2. Eğitim prosedürünün kusursuz olduğundan emin olun
Soruya verilen cevaplarda açıklanan tüm kontroller
Sinir ağım öğrenemediğinde ne yapmalıyım?
Eğitim prosedürünüzün tamam olduğundan emin olmak için, genelleme hatasının başarılı bir şekilde azaltılması için ön şarttır (NN'niz öğrenmiyorsa, genelleştirmeyi öğrenemez). Bu kontroller, diğer şeylerin yanı sıra:
- birim testleri
- veri kümesi kontrolleri (hem eğitim seti hem de test seti için birkaç rastgele giriş / etiket örneğine bir göz atın ve etiketlerin doğru olup olmadığını kontrol edin; giriş görüntülerinin genişliğini ve boyutunu kontrol edin, eğitim / test setinde örnekleri karıştırın ve etkileyip etkilemediğini kontrol edin) sonuçlar; vb.)
- randomizasyon testleri
- ön işleme ve paket versiyonlarınızı standartlaştırın
- sayısal deneylerin kayıt defteri tutmak
3. Süper yakınsama almaya çalışın
Leslie N. Smith ve Nicholay Topin tarafından “Süper Yakınsama: Sinir Ağlarının Çok Hızlı Eğitimi” , bazı durumlarda büyük öğrenme hızlarının Leslie N. Smith'in çevrimsel öğrenme hızı yöntemiyle birleştirilmesinin düzenleyici olarak hareket ettiğini göstermektedir. büyüklük sırasına göre yakınsamayı hızlandırmak ve kapsamlı düzenlileştirme ihtiyacını azaltmak. Böylece bu daha önce denemek için iyi bir şey
4. Düzenlemenizi MAXXX’e ayarlama
Düzenli hale getirme genellikle eğitim süresini (kötü) arttırır, eğitim hatasını arttırır ve genelleme hatasını azaltır (iyi), ancak çok fazla düzenleme aslında her iki hatayı da artırabilir (yetersizleştirme). Bu nedenle ve antrenman süresindeki artış nedeniyle , antrenman setini başarıyla tamamlamayı başardıktan sonra , çeşitli düzenlileştirme tekniklerini tek seferde tanıtmak genellikle daha iyidir . Düzenlemenin kendi başına olması, genelleme hatasının daha küçük olacağı anlamına gelmez: Model, iyi genelleme özellikleri elde etmek için yeterince geniş bir kapasiteye sahip olmalıdır. Bu genellikle düzenlileşmenin faydalarını görmeden önce yeterince derin bir ağa ihtiyacınız olduğu anlamına gelir.
En eski düzenlileştirme yöntemleri muhtemelen erken durma ve kilo kaybıdır. Diğerlerinden bazıları:
- m=16
- adaptif optimiserler yerine SGD kullanın: bu zaten @ shimao tarafından kapsandı, bu yüzden sadece tamamlık uğruna
- bırakma kullanın: LSTM kullanıyorsanız, yalnızca bir LSTM katmanının giriş ve çıkış birimleri için standart bırakma kullanın. Tekrarlayan birimler için (kapılar) , doktora programında Yarin Gal tarafından ilk kez gösterildiği gibi tekrarlayan bırakma kullanın . tez . Ancak, CNN kullanıyorsanız, bırakma artık daha az kullanılıyor. Bunun yerine,… eğilimindedir
- ... parti normalizasyonunu kullanın: en son CNN mimarileri parti normalizasyonu lehine terk etmekten kaçınır. Bu sadece bir tuhaflık olabilir veya görünüşte bırakma ve parti normalizasyonunun birlikte iyi oynamamalarından kaynaklanıyor olabilir (Xiang Li, Shuo Chen, Xiaolin Hu, Jian Yang, Variance'ın Bırakma ve Toplu Normalleştirme Arasındaki Uyuşmazlığı Anlamak) ÜstKrkt ) Çok büyük veri kümeleriniz olduğunda toplu iş normları bırakma işleminden daha etkili olduğu için, bırakma işleminin CNN mimarileri için tercihten düşmesinin bir nedeni olabilir. Toplu normalleştirme kullanıyorsanız, her katman için ağırlık ve önyargı dağılımının yaklaşık olarak normal göründüğünü doğrulayın. RNN'ler için parti normu uygulamak karmaşıktır: ağırlık normalleşmesi (Tim Salimans, Diederik P. Kingma,Ağırlık Normalizasyonu: Derin Sinir Ağlarının Eğitimini Hızlandırmak İçin Basit Bir Onarım ) uygulanabilir bir alternatiftir.
- Veri büyütmeyi kullanın: Düzenleyici etkisi de vardır.
5. Hiperparametre / mimari araması
Başka hiçbir şey yardımcı olmazsa, birden fazla farklı hiperparametre ayarını (Bayesian Optimizasyonu burada yardımcı olabilir) veya birden fazla farklı mimari değişikliği (örneğin, belki de GAN mimarisinde ve üzerinde çalıştığınız veri kümesi için) test etmeniz gerekecektir. Jeneratör, ancak ayırımcıya eklendiğinde işleri daha da kötüleştirir). Bu uzun ve sıkıcı deneylerin sonuçlarını düzenli bir kayıt defterinde takip ettiğinizden emin olun.
Bir GAN için PS, bir genelleme hatası hakkında konuşmanın pek bir anlamı yoktur: Yukarıdaki örnek, yalnızca Derin Öğrenmede hala çok fazla simya olduğuna ve iyi çalışmayı beklediğiniz şeylere işaret ediyordu; ya da tam tersi birçok kez tamam işe yaradı bir şey, bir anda yeni bir veri seti için sizi özlüyor.