Derin Sinir Ağlarında Torbalama ve Bırakma


17

Torbalama, tek bir yordayıcı gibi en çok çalışan çoklu yordayıcıların üretilmesidir. Bırakma, tüm olası alt ağları ortalamayı bir sinir ağlarına öğreten bir tekniktir. En önemli Kaggle'ın yarışmalarına bakıldığında, bu iki tekniğin çok sık birlikte kullanıldığı görülmektedir. Gerçek uygulamanın yanında teorik bir fark göremiyorum. Neden her ikisini de gerçek bir uygulamada kullanmamız gerektiğini kim açıklayabilir? ve ikisini de kullandığımızda performans neden iyileşiyor?

Yanıtlar:


21

Torbalama ve bırakma aynı şeyi başarmaz, ancak her ikisi de model ortalamalarıdır.

Torbalama , veri setinizin tamamında modelleri eğitim verilerinin bir alt kümesinde eğiten bir işlemdir. Dolayısıyla, bazı eğitim örnekleri belirli bir modele gösterilmemiştir.

Bunun aksine çıkarma , her eğitim örneğindeki özelliklere uygulanır. Sonucun fonksiyonel olarak birçok ağın (paylaşılan ağırlıklarla!) Eğitilmesi ve daha sonra çıktılarının eşit olarak ağırlıklandırılması ile eşdeğerdir. Ancak, bırakma özelliği alan üzerinde çalışır ve tam özelliklerin değil, belirli özelliklerin ağ tarafından kullanılamamasına neden olur. Her nöron tek bir girdiye tam olarak güvenemeyeceğinden, bu ağlardaki temsillerin daha dağılma eğilimi gösterir ve ağın gereğinden fazla takılma olasılığı düşüktür.


Güzel bir açıklama için +1. Bir Python uygulamasının yapıldığı bağlantıları biliyor musunuz? Herhangi bir blog ya da belki Github?
Dawny33

Burada iyi bir tane var: deeplearning.net/tutorial/lenet.html , bunun tarzını tercih etsem de : neuralnetworksanddeeplearning.com/chap6.html . Uygulama ve büyük demolar için, keras'ı seviyorum (pip kurulumu oldukça kolay) keras.io
jamesmf

2

Max Out Networks'teki iki tür ağın bir karşılaştırmasını buldum :

Bırakma eğitimi, verilerin farklı alt kümeleri üzerinde birçok farklı modelin eğitildiği torbalamaya benzer (Breiman, 1994). Bırakma eğitimi, her modelin yalnızca bir adım için eğitilmesi ve tüm modellerin parametreleri paylaşması nedeniyle torbalamadan farklıdır. Bu eğitim prosedürünün (bırakma), tek bir modelden ziyade bir topluluğu eğitiyor gibi davranması için, her güncellemenin büyük bir etkisi olmalıdır, böylece indüklenen alt modeli mevcut giriş v'ye iyi uydurur.

Umarım faydalı olacaktır.


0

Bırakma , eğitimden sonra özellikle gizli katmanlardaki nöronların bazılarını (dolayısıyla dışarıda bırakılan nöronlar için adı bırakma) bırakarak büyük sinir ağlarında aşırı sığmayı önlemek için kullanılan bir düzenleme tekniğidir. Temel olarak, ağ eğitim sırasında gerçekten bir şey öğrendiyse, nöronların bazılarını bırakmak, tahminlerin kesinliğini olumsuz etkilememelidir.

Torbalama , ilk / daha büyük eğitim veri kümesinden farklı veri alt kümelerinde eğitilmiş birden fazla kopyasını kullanarak eğitim verilerinden sapmayı azaltmak ve modelinizin doğruluğunu artırmak için kullanılan etkili bir düzenlileştirme tekniğidir.

bu soruyu gör

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.