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

AI Technology Review Press: Bu makalede, veri bilimi araştırmacısı Max Pechyonkin, akıllı bir entegrasyon yöntemi kullanarak herhangi bir sinir ağının performansını iyileştirmenin basit bir yolunu sağlayan iki yeni ilginç makaleyi tartışıyor. Bu iki makale şunlardır: Garipov ve diğerleri (https://arxiv.org/abs/1802.10026) ve Izmailov ve diğerleri tarafından "Kayıp Yüzeyi, Mod Bağlantısı ve DNN'lerin Hızlı Entegrasyonu" ve Izmailov ve diğerleri "Ortalama Ağırlık Daha Geniş Bir Sınır Getiriyor" Değer ve daha iyi genelleme "(https://arxiv.org/abs/1803.05407).

Tabii ki, Vitaly Bushaev'in "Öğrenme Hızımızı İyileştirmenin Yolu" na (https://techburst.io/improving-the-way-we-work-with-learning-rate-5e99554f163b) bir göz atabilirseniz, o zaman Okumak daha kolay olacak. AI Technology Review'un 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.Bu yöntem, Kaggle'daki uydu veri tanıma yarışmasının şampiyonu tarafından kullanılmış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

Elbette, aynı mimarinin modellerini de entegre edebilirsiniz ve etki beklenmedik şekilde iyi olabilir. Tıpkı bu anlık görüntü entegre kağıt gibi (https://arxiv.org/abs/1704.00109), yazar aynı ağın eğitimi sırasında farklı ağırlık anlık görüntülerini kaydeder ve eğitimden sonra farklı ağırlıklarla aynı mimariyi oluşturur. Değerli entegre ağ. Bunu yapmak testin performansını artırabilir ve aynı zamanda paradan tasarruf sağlayabilir - çünkü ağırlıkları herhangi bir zamanda kaydetmeyi unutmadığınız sürece yalnızca bir modeli eğitmeniz ve bir kez eğitmeniz gerekir.

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 yöntem haline geliyor.Kullanımı kolay ve hesaplama çok hafif. Çabanın yarısı ile iki kat daha fazla 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.

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 tahminler 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, 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çerek, 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 ekstremaları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 kendime yüksek sesle" on dört "dedim. Herkes bunu yapıyor." (Kaynak: coursera course)

Geniş uç ve dar uç. Geniş yerel minimumlar, eğitim ve test sırasında benzer kayıplar üretir; ancak dar yerel minimumlar için, eğitim ve test sırasında üretilen kayıp çok farklı olacaktır. Bu, geniş aşırılıkların dar aşırılıklardan daha iyi bir 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, eğitim kaybı ile bu çevirinin neden olduğu 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ş ve 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ç nokta 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 (https://arxiv.org/abs/1802.10026) önerilen hızlı geometrik entegrasyon, 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 dönem. İlk bakışta herkesin sezgisel olarak bu kadar kısa bir sürenin doğru olmadığını hissetmesi gerekir, çünkü her dönem sonunda elde edilen modeller birbirine çok yakındır ve 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 bilgi işlem gücüne daha yüksek bir bedel ö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. Ortada: WSWA, test setinde SGD'yi geçiyor. 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ştiğ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 sezgisi, aşağıdaki deneysel gözlemlerden gelir: Her bir öğrenme oranı döngüsünde elde edilen yerel minimum, kayıp düzleminin düşük kayıp değeri 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 bağımsız olarak eğitilmiş 3 ağı temsil eder). Bu puanların ortalamasını almak, daha düşük kayıplı geniş bir genelleme çözümü ile 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) ortalamasını kaydeder. Eğitimden sonra, tahmin için nihai 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 hızı döngüsünün 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ızada saklanır. Tahmin yaparken, sadece ortalama model gereklidir.Ona dayalı 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ı https://github.com/timgaripov/swa sağlamıştır.

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, Lei Feng.com AI teknolojisi inceleme derlemesi aracılığıyla

Yangtze Nehri Yunyang ile doğar
önceki
İleriye bakın, Huawei P30 serisi parametreleri açığa çıkıyor, 40 milyon piksel, 50x yakınlaştırmayı destekliyor
Sonraki
Honor Magic 2, Tesla'nın özelleştirilmiş bir sürümünü zorlayabilir, netizenler: Honor bunu karşılayamaz
Weichai Yingzhi G5 Ekstra Hafta Sonu Modeli Ekim ayında piyasaya sürülecek
2016.11.6, "Bu çocuğun babası olmadığından endişelenmeyin" ... bir kağıt parçası tüm Bingcheng insanlarını ağlattı!
Sony XZ3 DoXMark puanı yayınlandı: Fotoğraflar için 76 puan, videolar için 85 puan, toplam puan 79 puan
İlimizin "çifte yenilik" eylemi daha fazla güç kattı ve "Yaşam Bankası Projesi" 10.000 üniversite öğrencisi yapımcısını eğitecek
Sıradaki ayakkabı kralı! KAWS x Air Jordan 4'ün siyah versiyonuna daha yakından bakış!
"Horse Man" ve "Dating Love" ateşinin ardında, cenaze kültürü dünyayı işgal etti!
Hip-hop kültürünü Çin tarzı bir kırmızı rap yapmak için "China New Rap" yeterince çalıştı!
Hız oranı T5 otomatik şanzıman yapılandırması ortaya çıkar, 8AT / 3 modelleri isteğe bağlıdır
Red Devils oyun cep telefonlarının üç büyük pozlaması, Snapdragon 855 + 12GB'ye ek olarak, 5000mAh'den az pil yok
S5 Pro ile karşılaştırıldığında, ona daha çok dikkat ediyorum! Lenovo Watch S piyasaya çıktı: 238 yuan
"Infernal Affairs" üçlemesi yüksek ve alçak mı gidiyor? Önce kral bombasını fırlatmak, dört 2s o kadar da şaşırtıcı olmayacak
To Top