Yeni ağ optimizasyon yöntemi: rastgele ağırlık ortalaması

Leifeng.com AI teknolojisi inceleme notu: Bu makalede, veri bilimi araştırmacısı Max Pechyonkin, akıllı bir entegre yaklaşım kullanarak herhangi bir sinir ağını iyileştirmenin basit bir yolunu sağlayan iki yeni ilginç makaleyi tartışıyor. Verim. Bu iki makale şunlardır: Garipov ve diğerleri tarafından "Kayıp Yüzeyi, Mod Bağlantısı ve DNN'lerin Hızlı Entegrasyonu" ve Izmailov ve diğerleri tarafından "Ortalama Ağırlık Daha Geniş Ekstremum ve Daha İyi Genelleştirme Getiriyor".

Tabii ki Vitaly Bushaev'in "Öğrenme Hızımızı İşleme Yöntemimizi İyileştirme" kitabını okuyabilirseniz, bir sonraki okuma daha kolay olacaktır. Leifeng.com AI Technology Review'in tam metni aşağıdaki gibi derlenmiştir.

Geleneksel sinir ağı entegrasyonu

Genel olarak, "topluluk" dediğimiz şey, birkaç farklı modeli birleştirmek, aynı girdiye dayalı tahminler yapmalarına izin vermek ve ardından entegre modelin nihai tahminini belirlemek için bazı ortalama alma yöntemlerini kullanmaktır. Bu karar süreci, basit oylama veya ortalama alma yoluyla veya entegre modelin sonuçlarına dayalı olarak doğru değeri veya etiketi tahmin etmeyi öğrenen başka bir model aracılığıyla olabilir. Ridge regresyonu, birkaç farklı tahminin sonuçlarını birleştirebilen bir yöntemdir.Kaggle'daki uydu veri tanıma yarışmasının galibi bu yöntemi kullanmıştır.

Anlık görüntü entegrasyonu, modeli her bir öğrenme hızı döngüsünün sonunda kaydeder ve daha sonra tahmin için kullanır.

Topluluk derin öğrenmeye uygulandığında, son bir tahmin elde etmek için birkaç ağın tahminleri birleştirilir. Genel olarak, farklı mimarilere sahip birkaç sinir ağını kullanmak daha iyidir, çünkü farklı mimarilere sahip ağlar genellikle farklı eğitim örneklerinde hata yapar, bu nedenle entegrasyon faydaları daha büyük olacaktır.

Anlık görüntü entegrasyonu, periyodik öğrenme hızı tavlama kullanır

Tabii ki, aynı mimarinin modellerini de entegre edebilirsiniz ve etki beklenmedik şekilde iyi olabilir. Yazar, bu anlık görüntü entegrasyon belgesinde olduğu gibi, aynı ağın eğitimi sırasında farklı ağırlık anlık görüntülerini kaydeder ve ardından eğitimden sonra aynı mimari ve farklı ağırlıklara sahip entegre bir ağ oluşturur. Bunu yapmak, testin performansını artırabilir ve aynı zamanda paradan tasarruf edebilir - çünkü yalnızca bir modeli eğitmeniz ve bir kez eğitmeniz gerekir, yalnızca istediğiniz zaman ağırlığı azaltmayı unutmayın.

Bir sonraki makalenin başında bahsedilen Vitaly Bushaev'in öğrenme oranı hakkındaki makalesini dikkatlice okuyabilirsiniz. Şimdiye kadar periyodik öğrenme oranını denemediyseniz, gerçekten denemelisiniz.Şu anda en iyi ve en standart uygulama haline geliyor.Kullanımı basit ve kolay ve hesaplama çok hafif. Çabanın yarısı ile iki kat sonuç alın.

Yukarıda listelenen tüm örnekler, model uzayındaki entegrasyonlardır. Birkaç modeli birleştirin ve ardından nihai tahmin sonucunu elde etmek için bu modellerin tahminlerini kullanın.

Ve bu makalede size tanıtmak istediğim makalede, yazar yepyeni bir Ağırlık alanında entegrasyon . Yöntem geçer Aynı ağın ağırlıklarını farklı eğitim aşamalarında birleştirin Bir entegrasyon alın ve ardından tahmin yapmak için birleşik ağırlıkları kullanın. Bu yöntemin iki avantajı vardır:

  • Ağırlıkları birleştirdikten sonra, yine de sonunda bir model elde ediyoruz ve bu da tahmini hızlandırmaya yardımcı oluyor.

  • Bu yöntemin mevcut son teknoloji anlık görüntü entegrasyonundan daha iyi performans gösterdiği ortaya çıktı.

Bu yöntemin nasıl çalıştığını anlamadan önce, öncelikle kayıp yüzeyini ve genelleştirilebilir çözümü anlamamız gerekir.

Ağırlık alanında çözüm

Bahsetmem gereken ilk şey, eğitimli ağın yüksek boyutlu ağırlık uzayında bir nokta olduğudur. Belirli bir mimari için, ağ ağırlıklarının her farklı kombinasyonu farklı bir modeli temsil eder. Herhangi bir mimarinin sonsuz bir ağırlık kombinasyonu ve dolayısıyla sonsuz sayıda çözümü vardır. Bir sinir ağını eğitmenin amacı, belirli bir çözüm bulmaktır (ağırlık alanında bir nokta), böylece eğitim veri seti ve test veri seti üzerindeki kayıp fonksiyonunun değeri nispeten düşüktür.

Eğitim sırasında, eğitim algoritması ağırlık alanındaki ağırlıkları ve dolaşımları değiştirerek ağı değiştirir. Gradyan iniş algoritması, rakımı kayıp fonksiyonunun değeri olan bir kayıp düzleminde dolaşır.

Dar uç ve geniş uç

Açıkçası, yüksek boyutlu ağırlık uzayının geometrik özelliklerini görselleştirmek ve anlamak çok zordur, ancak onu anlamalıyız. Çünkü stokastik gradyan inişinin özü, eğitim sırasında bu yüksek boyutlu uzayda kayıp düzleminden geçip iyi bir çözüm bulmaya çalışmaktır - kayıp düzleminde daha düşük kayıp değeri olan bir "nokta". Ancak daha sonra bu uçağın birçok yerel ekstrema sahip olduğunu keşfettik. Ancak bu yerel extrema'ların hepsi aynı iyi özelliklere sahip değildir.

Geoffery Hinton: "Bir hiper düzlemi 14 boyutlu bir uzayda işlemek için, 3 boyutlu bir uzay görselleştirdim ve kendi kendime yüksek sesle" on dört "dedim. Herkes bunu yapıyor." (Kaynak: coursera course)

Geniş uç değer ve dar uç değer. Geniş yerel minimumlar, eğitim ve test sırasında benzer kayıplara neden olur; ancak dar yerel minimumlar için, eğitim ve test sırasında üretilen kayıplar çok farklı olacaktır. Bu, geniş uç değerlerin dar uç değerlerden daha iyi genellemeye sahip olduğu anlamına gelir.

Düzlük, bir çözümün artılarını ve eksilerini ölçmek için kullanılabilir. İlke, eğitim veri seti ve test veri setinin benzer ancak farklı kayıp düzlemleri üreteceğidir. Bunu, test düzlemi eğitim düzlemine göre biraz kaymış olarak düşünebilirsiniz. Dar bir çözüm için, test sırasında daha az kayıp olan bir nokta, bu öteleme nedeniyle daha yüksek kayıplı bir nokta haline gelebilir. Bu, dar (keskin) çözümlerin genelleştirilmesinin iyi olmadığı anlamına gelir - düşük eğitim kaybı ve yüksek test kaybı. Öte yandan, geniş (düz) bir çözüm için, bu çevirinin neden olduğu eğitim kaybı ile test kaybı arasındaki fark küçüktür.

İki çözüm arasındaki farkı açıkladım çünkü bu yazıda önerilen yöntem ve bu makalede odaklandığım yöntem hoş, geniş (düz) bir çözüm getirebilir.

Snapshot Ensembling

Başlangıçta, SGD ağırlık alanında büyük bir adım atacak. Daha sonra, kosinüs tavlama nedeniyle, öğrenme hızı kademeli olarak azalacak, SGD kademeli olarak yerel bir çözüme yakınlaşacak ve algoritma, modelin bir "anlık görüntüsünü" kaydedecek ve bunu entegre modele ekleyecektir. Daha sonra öğrenme oranı yüksek bir değere sıfırlanır ve SGD başka bir yerel uç noktası bulmak için büyük bir adım daha atar ve bu böyle devam eder.

Anlık görüntü entegrasyonunun döngü uzunluğu 20 ila 40 dönemdir. Daha uzun öğrenme oranı süresi, entegrasyondan yararlanmak için ağırlık alanında yeterince farklılaştırılmış bir model bulmaktır. Modeller çok benzer ise, entegre modeldeki farklı ağların tahminleri çok yakın olacak ve böylece entegrasyon fazla fayda sağlamayacaktır.

Anlık görüntü entegrasyonu iyi performans gösterir ve modelin performansını artırır, ancak hızlı geometrik entegrasyon daha iyidir.

Hızlı Geometrik Birleştirme (FGE)

"DNN'ler Kayıp Yüzeyi, Mod Bağlantısı ve Hızlı Entegrasyon" da önerilen hızlı geometrik entegrasyon FGE, anlık görüntü entegrasyonuna çok benzer, ancak bazı benzersiz özelliklere de sahiptir. Aralarında iki temel fark var. İlk olarak, hızlı geometrik entegrasyon, kosinüs varyasyonu yerine doğrusal parçalı periyodik öğrenme hızı planlamasını kullanır. İkinci olarak, FGE'nin döngü uzunluğu çok daha kısadır - 2 ila 4 çağ. İlk bakışta herkesin sezgisel olarak bu kadar kısa bir sürenin yanlış olduğunu düşünmesi gerekir çünkü her dönem sonunda elde edilen modeller birbirine çok yakın olduğundan bu şekilde elde edilen entegre modelin hiçbir avantajı yoktur. Bununla birlikte, yazarlar, yeterince farklı modeller arasında, daha düşük kayıplara sahip bağlantılı yollar olduğunu bulmuşlardır. Bu yollarda daha küçük adımlarla seyahat etme fırsatına sahibiz ve bu modeller, entegrasyonun avantajlarından tam anlamıyla faydalanmak için yeterli farklılıklara da sahip olabilir. bu nedenle Anlık görüntü entegrasyonuyla karşılaştırıldığında, FGE daha iyi performans gösterir ve arama modeli daha küçük adım boyutuna sahiptir (Bu aynı zamanda eğitimi daha hızlı hale getirir).

Sol: Geleneksel sezgiye göre, iyi yerel minimumlar, yüksek kayıp alanlarıyla (noktalı çizgi) ayrılır Orta / Sağ: Yerel minimumlar arasında yollar vardır ve bu yollardaki kayıplar çok düşüktür (gerçek hat). FGE, bu yollar boyunca anlık görüntüleri kaydederek anlık görüntülerin bir entegrasyonunu oluşturur.

Anlık görüntü entegrasyonundan veya FGE'den yararlanmak için, birden çok modeli depolamanız, ardından her modelin bir tahmin yapmasına izin vermeniz ve ardından nihai tahmini elde etmek için ortalamasını almanız gerekir. Bu nedenle, entegrasyonun ekstra performansı için daha yüksek bir bilgi işlem gücü maliyeti ödedik. Yani dünyada bedava öğle yemeği yok. Gerçekten değil? Rastgele ağırlıklı ortalamanın geldiği yer burasıdır.

Stokastik Ağırlık Ortalaması (SWA)

Rastgele ağırlık ortalaması, hesaplama gücünün yalnızca küçük bir kısmının hızla toplanmasını gerektirir ve performansına yaklaşabilir. SWA herhangi bir mimari ve veri kümesinde kullanılabilir ve iyi performans gösterir. Makaledeki deneye göre, SWA daha önce bahsettiğim daha geniş minimum değeri alabilir. Klasik biliş altında, SWA bir topluluk olarak kabul edilmez, çünkü eğitimin son aşamasında yalnızca bir model alırsınız, ancak performansı anlık görüntü grubunu aşar ve FGE'ye yakındır.

Sol: W1, W2 ve W3 bağımsız olarak eğitilmiş 3 ağı temsil eder ve Wswa ortalama değerdir. Ortadaki resim: WSWA'nın test setindeki performansı SGD'yi aştı. Doğru: WSWA'nın eğitim sırasında SGD'den daha fazla kaybı var. WSWA'nın test setinde SGD'den daha iyi performansıyla birleştirildiğinde, bu, WSWA'nın eğitim sırasında daha yüksek bir kayıp olmasına rağmen, genellemesinin daha iyi olduğu anlamına gelir.

SWA'nın sezgisi aşağıdaki deneysel gözlemlerden gelir: Her bir öğrenme hızı döngüsünde elde edilen yerel minimumlar, kayıp düzleminin düşük kayıp alanının kenarında birikme eğilimindedir (yukarıdaki şeklin solundaki grafikte, kahverengi alan daha düşük bir hataya sahiptir. W1, W2 ve 3 noktaları sırasıyla kahverengi alanın kenarında bulunan 3 bağımsız olarak eğitilmiş ağı temsil eder). Bu puanların ortalamasını almak, daha düşük kayıplı geniş bir genelleme çözümüyle sonuçlanabilir (yukarıdaki sol grafikte WSWA).

SWA nasıl çalışır? Birçok modelin entegrasyonunu değil, yalnızca iki modeli kaydeder:

  • İlk model, model ağırlıklarının (WSWA) ortalama değerini kaydeder. Eğitimden sonra tahmin için kullanılacak son model olacaktır.

  • İkinci model (W) ağırlık alanından geçecek ve ağırlık alanını periyodik öğrenme oranı planlamasına dayalı olarak keşfedecektir.

SWA ağırlık güncelleme formülü

Her öğrenme oranı döneminin sonunda, ikinci modelin mevcut ağırlığı, birinci modelin ağırlığını güncellemek için kullanılacaktır (yukarıdaki formül). Bu nedenle eğitim aşamasında sadece bir modelin eğitilmesi gerekir ve iki model hafızaya kaydedilir. Tahmin için sadece ortalama model gereklidir.Ona dayalı olarak tahmin yapmak daha önce açıklanan entegrasyondan çok daha hızlı olacaktır, çünkü bu entegrasyonda tahmin etmek ve sonra ortalamak için birden fazla model kullanmanız gerekir.

Yöntem gerçekleştirme

Makalenin yazarı bir PyTorch uygulaması sağladı https://github.com/timgaripov/swa.

Ek olarak, fast.ai kitaplığına dayalı SWA, https://github.com/fastai/fastai/pull/276/commits adresinde bulunabilir. Duvar Amway bu kütüphaneyi çatlatıyor!

warddatascience.com, Leifeng.com AI teknolojisi inceleme derlemesi aracılığıyla

Ayrıca satış efsaneleri yaratın! OPPO R11'ler yarın resmen satışa çıkacak: 2999 yuan
önceki
Öyleyse neden Fancynin insanları özel arabaları ve bisikletleri sevmiyor?
Sonraki
SUV'siz otomobil şirketleri bu yıl hayatta kalabilir mi? FAW Volkswagen şunları söyledi: Evet
2019 Alipay Set Wufu etkinliğinin Taobao alışveriş sepetini boşaltmanıza yardımcı olacak en güçlü stratejisi
Zhong Chuxi'nin moda gişe rekorları kıran filmi Ruan Jingtian, yeni yılın ilk gününde üst düzey "Dedektif Pu Songling" i sergiledi.
AutoX şehir içi teslimat hizmetini başlattı ve üç insansız kamyonu indirecek
Yavaş Haberler · Görmek | İlkbaharda başka yerlerde çiçek seyri, kar keyfi için Huang'anba'mıza gelin
Inanılmaz! Bu yakışıklı ve son derece çekici SUV'lerin maliyeti yalnızca 150.000
Nöromasyon: Bu makale, CNN'in çocukların kemik yaşını tespit etmek için nasıl kullanılacağını anlatıyor
Bu yılki bilim kurgu filmi bunu izlemek için yeterli! "Siyah Giyen Adamlar: Küresel Takip" klasiğinin yeni bir bölümü var
Belki de bu, sonbaharda ideal, hepsi uyumlu tekli ürünlerin ilk tercih edilen serisidir? ! Darren'ın yeni AW17 LOOKBOOK'u yayınlandı!
Dört tekerlek hizalama ne zaman yapılmalıdır? Sana yargılamayı öğretiyorum
Endüstri İçgörü Konuları | Gıda İşleme Ekipmanları Sanayi Analizi
Noon Star News | Berlin'in "Everlasting Forever Forever" filmi Mart ayında anakarada gösterime girecek. Üç saatlik versiyonu yayınlanacak mı? Shaanxi Futbol yetkilileri, Çin'in en popüler pazarına sa
To Top