Rastgele ağırlıklı ortalama - derin öğrenmede en iyi sonuçları almak için yeni bir yöntem

Bu makale teknik bir blogdur Leifeng.com'un altyazı grubu tarafından derlenen Başlangıç Ağı Sürümlerine Yönelik Basit Bir Kılavuz Orijinal başlık Bharath Raj'dır.

Tercüme | Long Xiang terbiye | Kong Lingshuang

Orijinal bağlantı:

https://towardsdatascience.com/stochastic-weight-averaging-a-new-way-to-get-state-of-the-art-results-in-deep-learning-c639ccf36a

Leifeng.com AI Araştırma Enstitüsü: Bu makalede, son iki ilginç makaleyi tartışacağım. Ustaca bir entegrasyon yöntemi kullanarak sinir ağlarının performansını iyileştirmenin basit bir yolunu sağlarlar.

  • Garipov ve diğerleri tarafından önerilen "Kayıp Yüzeyler, Mod Bağlantısı ve DNN'lerin Hızlı Birleştirilmesi".

  • Izmailov ve diğerleri tarafından önerilen "Ortalama Ağırlıklar Daha Geniş Optima ve Daha İyi Genelleştirmeye Yol Açar".

  • Bu blogu daha kolay anlamak istiyorsanız, önce bu makaleyi okuyabilirsiniz:

  • Vitaly Bushaev tarafından önerilen "Öğrenme oranıyla çalışma şeklimizi iyileştiriyoruz"

  • Geleneksel sinir ağı entegrasyon yöntemi

    Geleneksel topluluk yöntemleri genellikle birkaç farklı modeli birleştirir ve aynı girdiyi tahmin etmelerini sağlar ve ardından kümenin nihai tahminini elde etmek için bazı ortalama alma yöntemlerini kullanır. Basit bir oylama yöntemi veya ortalama bir yöntem olabilir. Veya entegre modelin girdisine dayalı olarak doğru değeri veya etiketi öğrenmek ve tahmin etmek için başka bir model bile kullanılabilir. Ridge regresyonu, Kaggle yarışmalarında ödül kazanan birçok makine öğrenimi uygulayıcısı tarafından kullanılan özel bir entegre yöntemdir.

    Ağ anlık görüntü entegrasyon yöntemi, modeli her öğrenme hızı döneminin sonunda kaydeder ve ardından kaydedilen modeli aynı zamanda tahmin sürecinde kullanır.

    Derin öğrenmede ensemble yöntemi uygulandığında, birden çok sinir ağının tahminlerinin birleştirilmesi ile nihai bir tahmin sonucu elde edilebilir. Normal şartlar altında, sinir ağlarını farklı yapılarla entegre etmek iyi bir yöntemdir, çünkü farklı modeller farklı eğitim örneklerinde hatalar yapabilir, bu nedenle entegre model daha büyük fayda sağlayacaktır.

    Ağ anlık görüntü entegrasyon yöntemi, bir tavlama stratejisine dayanan döngüsel bir öğrenme oranı stratejisi kullanır.

    Ancak aynı yapıya sahip sinir ağı modellerini de entegre edebilir ve harika sonuçlar elde edersiniz. Ağ anlık görüntü entegrasyon yöntemi belgesinde, yazar bu yöntemi temel alan çok güzel bir teknik kullandı. Yazar, aynı ağı eğitirken ağırlık anlık görüntülerini kullanır ve eğitimden sonra bir topluluk modeli oluşturmak için bu modelleri aynı yapıya ancak farklı ağırlıklara sahip kullanır. Bu yöntem, test seti etkisini iyileştirir ve aynı zamanda çok basit bir yöntemdir, çünkü modeli yalnızca bir kez eğitmeniz ve her anın ağırlığından tasarruf etmeniz gerekir.

    Daha fazla ayrıntı için bu bloga başvurabilirsiniz. Döngüsel öğrenme oranı stratejisini kullanmadıysanız, anlamalısınız. Bu şu anda en gelişmiş ve en basit eğitim tekniği olduğu için hesaplama miktarı fazla değildir ve neredeyse hiçbir ek maliyet olmaksızın büyük faydalar sağlayabilir.

    Yukarıdaki örneklerin tümü model tabanlı entegrasyon yöntemleridir çünkü nihai tahmin sonuçlarını üretmek için birden çok modelin tahminlerini birleştirirler.

    Ancak bu blogda tartışılacak makalede, yazar yeni bir ağırlık temelli entegrasyon yöntemi önermektedir. Bu yöntem aynı ağ yapısının farklı eğitim aşamalarının ağırlıklarını birleştirerek entegre bir model elde eder ve ardından tahminler yapar. Bu yöntemin iki avantajı vardır:

    Ağırlıkları birleştirirken, yine de tahmin hızını artıran bir model elde ederiz.

    Deneysel sonuçlar, bu yöntemin mevcut en gelişmiş ağ anlık görüntü entegrasyon yöntemini yendiğini göstermektedir.

    Nasıl başarıldığını görelim. Ama önce kayıp düzlemi ve genelleme konuları hakkında bazı önemli sonuçları anlamamız gerekiyor.

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

    İlk önemli nokta şudur: eğitimli bir ağ, çok boyutlu bir ağırlık uzayındaki bir noktadır. Belirli bir ağ yapısı için, her farklı ağırlık kombinasyonu farklı modellerle sonuçlanacaktır. Tüm model yapıları sınırsız ağırlık kombinasyonuna sahip olduğundan, sınırsız yöntem kombinasyonları olacaktır. Bir sinir ağını eğitmenin amacı, eğitim seti ve test setindeki kayıp fonksiyonunun değerinin küçük olması için özel bir çözüm (ağırlık alanında bir nokta) bulmaktır.

    Eğitim sürecinde ağırlıkları değiştirerek eğitim algoritması ağın yapısını değiştirir ve ağırlık alanında sürekli arama yapar. Stokastik gradyan iniş yöntemi, kayıp düzlemine yayılır ve kayıp düzleminin yüksekliği, kayıp fonksiyonunun değeriyle belirlenir.

    Yerel ve küresel optimal çözümler

    Çok boyutlu ağırlık uzaylarının geometrik özelliklerini görselleştirmek ve anlamak çok zordur. Aynı zamanda, bu da çok önemlidir, çünkü eğitim sırasında, stokastik gradyan iniş yönteminin özü, çok boyutlu uzayın kayıp düzlemine yayılmak ve iyi bir çözüm bulmak için çabalamaktır - kayıp düzleminde bir kayıp fonksiyonu değeri çok düşüktür. "nokta". Hepimizin bildiği gibi, bu uçakların birçok yerel optimum çözümü vardır, ancak tüm yerel optimal çözümler mükemmel çözümler değildir.

    Hinton: "14 boyutlu uzayda hiper düzlemle başa çıkmak için, 3 boyutlu uzayı görselleştirin ve kendinize yüksek sesle" 14 "deyin. Herkes bunu yapıyor.

    Yerel ve küresel optimal çözümler. Eğitim ve test sırasında, en düşük düzleştirme değeri benzer kayıplara neden olur. Bununla birlikte, eğitim ve test sırasında yerel kayıpta çok büyük bir fark vardır. Başka bir deyişle, küresel minimum, yerel minimumdan daha geneldir.

    Bir çözümün kalitesini değerlendirmek için kriterlerden biri, çözümün düzgünlüğüdür. Buradaki fikir, eğitim verileri ve test verilerinin benzer ancak tam olarak aynı kayıp yüzeyini üretmeyeceğidir. Bir test yüzeyinin eğitim yüzeyine göre biraz hareket ettiğini hayal edebilirsiniz. Lokal bir çözüm için test sırasında bu nokta hareket ettiği için düşük kayıp değeri veren bir nokta yüksek kayıp değeri verecektir. Bu, bu "kısmi" çözümün optimal bir değer üretmediği anlamına gelir - eğitim kaybı küçüktür ve test kaybı büyüktür. Öte yandan, "küresel" bir yumuşatma çözümü için bu hareket noktası, eğitim ve test kayıpları arasındaki farkın küçük olmasına neden olacaktır.

    Yerel ve küresel çözümler arasındaki farkı açıklamamın nedeni, bu blogun odaklandığı yeni yöntemin çok iyi bir küresel çözüm sağlamasıdır.

    Anlık görüntü entegrasyonu

    Başlangıçta Stokastik Gradyan İniş (SGD) ağırlık alanında büyük bir sıçrama yaratacaktır. Daha sonra, kosinüs tavlama algoritması nedeniyle öğrenme hızı küçüldükçe, SGD belirli bir yerel çözüme yakınlaşacaktır.Algoritma modelin bir "anlık görüntüsünü" alacak, yani bu yerel çözümü sete ekleyecektir. Daha sonra, öğrenme hızı yeniden yüksek bir değere sıfırlanır ve SGD, farklı bir yerel çözüme yakınsamadan önce yine büyük bir sıçrama üretir.

    Anlık görüntü entegrasyon yönteminin döngü uzunluğu 20 ila 40 dönemdir (epoch olarak adlandırılan modelin tam bir eğitimini gerçekleştirmek için eğitim setindeki tüm verileri kullanır). Uzun bir öğrenme hızı döngüsü fikri, ağırlık alanında yeterince farklı model bulabilmektir. Model benzerliği çok yüksekse setteki ağların tahminleri çok yakın olacak ve entegrasyonun faydaları yansıtılmayacaktır.

    Snapshot entegrasyonu gerçekten iyi çalışıyor ve modelin performansını iyileştiriyor, ancak hızlı geometrik entegrasyon daha etkilidir.

    Hızlı Geometri Entegrasyonu (FGE)

    Hızlı geometri entegrasyonu, anlık görüntü entegrasyonuna benzer, ancak anlık görüntü entegrasyonundan farklı bazı özelliklere sahiptir. FGE, kosinüs yerine doğrusal bir parçalı döngüsel öğrenme hızı stratejisi kullanır. İkinci olarak, FGE'nin döngü uzunluğu daha kısadır - her döngü yalnızca 2 ila 4 çağa sahiptir. İlk sezgi, kısa döngülerin yanlış olduğudur, çünkü her döngünün sonunda üretilen modeller çok az farkla çok benzerdir, bu nedenle bu modelleri entegre etmek fayda getiremez. Bununla birlikte, yazarın keşfettiği gibi, yeterince farklı modeller arasında düşük kayıplı bağlantı yolları olduğundan, bu yollar boyunca kısa döngüler kullanmak mümkündür ve bu süreçte yeterince büyük farklılıklar olan modeller üretilecektir. Bu modelleri entegre etmek iyi sonuçlar verecektir. Bu nedenle, anlık görüntü entegrasyonuyla karşılaştırıldığında, FGE modelin performansını iyileştirir ve her döngüde daha az dönemden sonra yeterince büyük bir farka sahip bir model bulunabilir (bu, eğitimi daha hızlı yapar).

    Sol: Geleneksel görüş, iyi yerel minimumların yüksek kayıplı bölgelerle ayrılmasıdır. Yerel minimumları birbirine bağlayan düz çizgiyi gözlemlersek, bunun doğru olduğunu görürüz. Merkez ve sağ: Bununla birlikte, yerel minimumlar arasında yollar vardır ve bu yollardaki kayıp değerleri her zaman düşüktür. FGE, bu yollar boyunca anlık görüntüler alır ve bir koleksiyon oluşturmak için bu anlık görüntüleri kullanır.

    Anlık görüntü entegrasyonundan veya FGE'den faydalanmak için, birden fazla modeli depolamak ve bu modellerden tahminler elde etmek ve ardından nihai tahmin olarak bu tahminlerin ortalamasını almak gerekir. Bu nedenle, koleksiyonun ek performansı daha fazla hesaplama gerektirir. Yani bedava öğle yemeği yok. Belki öyledir? Bu, rastgele ağırlıklı ortalama üzerine yeni bir makalenin sonucudur.

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

    Rastgele ağırlıklı ortalama ve hızlı geometrik entegrasyon, kaybın hesaplanması dışında çok benzerdir. SWA herhangi bir mimariye ve veri kümesine uygulanabilir ve iyi sonuçlar verebilir. Bu makale, SWA'nın daha geniş bir minimum değerler aralığı elde edebileceğine dair bir referans önerisi vermektedir.Bunun faydaları yukarıda tartışılmıştır. SWA, klasik anlamda bir entegrasyon değildir. Eğitimin sonunda, bir model oluşturulacak, bu modelin performansı FGE'ye yakın anlık görüntü entegrasyonundan daha iyi.

    Sol: W1, W2 ve W3, 3 bağımsız eğitim ağını temsil eder ve Wswa bunların ortalamasıdır. Orta: SGD ile karşılaştırıldığında, Wswa test setinde üstün performans üretir. Doğru: Wswa eğitim setinde daha kötü performans gösterse bile, test setinde daha iyi performans gösterdiğini unutmayın.

    SWA, gerçek gözlemlerden esinlenmiştir.Her öğrenme oranı döngüsünün sonunda üretilen yerel minimum, kayıp yüzeyinin kenar alanında birikme eğilimindedir ve bu kenar alanlarındaki kayıp değeri küçüktür (sol üstteki şekil, düşük kaybı kırmızı gösterir. Bölgede W1, W2 ve W3 noktaları). Bu tür birkaç noktanın ortalamasını alarak, daha da düşük kayıplı, küreselleştirilmiş bir genel çözüm elde etmek mümkündür (yukarıdaki sol resimde Wswa).

    SWA nasıl çalışır? Çok sayıda modeli entegre etmeye gerek yoktur, sadece iki modeldir.

    İlk model, model ağırlıklarının ortalamasını saklar (formülde w_swa). Tahmin için kullanılan eğitimden sonraki son model budur.

    İkinci model (formülde w) ağırlık alanını dönüştürür ve optimum ağırlık alanını bulmak için döngüsel öğrenme hızı stratejisini kullanır.

    Rastgele ağırlıklı ortalama ağırlık güncelleme formülü

    Her bir öğrenme hızı döngüsünün sonunda, ikinci modelin mevcut ağırlığı, çalışan ortalama modelin ağırlığını, yani mevcut ortalama ağırlığın ağırlıklı ortalamasını ve ikinci model tarafından üretilen yeni ağırlığını güncellemek için kullanılacaktır (sol Şekildeki formül). Bu yöntemle eğitim yapılırken sadece bir modelin eğitilmesi gerekir ve iki model saklanır. Tahmin yaparken, tahmin için yalnızca güncel bir ortalama modele ihtiyaç vardır. Tahmin yapmak için bu modeli kullanmak, daha önce bahsedilen yöntemlerden çok daha hızlıdır. Önceki yöntem, tahmin yapmak için kümede birden çok model kullanmak ve ardından birden çok tahmin sonucunun ortalamasını almaktır. başarmak

    Makalenin yazarları, PyTorch ile yapılan kendi uygulamalarını sağladılar.

    Elbette ünlü fast.ai kütüphanesi de SWA'yı uygular. Herkes bu kitaplığı kullanmalıdır. Bu kursu görmediyseniz, lütfen bu bağlantıyı tıklayın.

    Okuduğunuz için teşekkürler!

    Leifeng.com altyazı grubu tarafından derlenmiştir.

    Güzellik erik çiçekleri yeni yıl
    önceki
    Qualcomm Snapdragon 845 işlemci geliyor ve basın toplantısı için toplam 5 gün davet mektubu veriliyor!
    Sonraki
    "Venom", ilk gün 210 milyonun üzerinde gişe itibarıyla şampiyonluğu kazandı
    Yalnız kadın hayran Wei Shen ile tanışır: Onun için bana bir kelime getirebilir misin? Wei Shen'in cevabı çok zayıf!
    Suzuki mini SUV fiyatı açıklandı 80.000'e satabilir mi?
    Uygun fiyatlı bir bin yuan saat, temel bir aksesuar seçimidir!
    İnanamıyorum: Lei Jun, Mi güç bankalarının% 80'inin sahte olduğunu kabul ediyor!
    Liu Zuohu, OnePlus 5T'nin ince ve hafif gövdesini duyurdu, Huawei Honor V10 onu utandırdı!
    Denetimsiz kümeleme uygulamak için Keras nasıl kullanılır?
    "Merhaba, Çin" ağızdan ağza bir videoyu övgü dolu eleştirilere maruz bıraktı, bu kışın en sıcak filmi iyileşti
    Buick Velite 5 plug-in hibrid otomobil ortaya çıktı, 100 kilometrede yakıt tüketimi 0.9L
    Missoni x CONVERSE ortaklaşa yeni bir ayakkabı modeli çıkardı, biraz tanıdık geliyor mu acaba?
    AnTuTu, Redmi dördüncü ve 360 onuncu ile Ekim fiyat-performans sıralamasını yayınladı!
    "Beşinci Kişilik" Karga kasaplara her üç saniyede bir ne rapor etmelidir? Çaylak olmamak için bu numarayı öğrenin!
    To Top