Atlas’ta ara

Keşfetmeye buradan başla

AI Radar/Araştırma analizi

Model çorbası: ağırlıkları ortalamak ne zaman işe yarar?

Aynı başlangıçtan ince ayar edilmiş modellerin ağırlıklarını ortalamak çıkarım maliyetini artırmadan doğruluğu yükseltebiliyor; ama rastgele iki modeli ortalamak neden çalışmaz?

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Topluluk yerine ortalama#

Birden çok modelin tahminini birleştirmek (topluluk, ensemble) doğruluğu artırır; ama her tahminde hepsini çalıştırmak gerekir. Wortsman ve arkadaşlarının model çorbası fikri farklıdır: aynı ön eğitimli modelden, farklı hiperparametrelerle ince ayar edilmiş birçok modelin ağırlıklarını ortalamak. Ortaya çıkan tek modelin çıkarım ve bellek maliyeti, tek bir modelle aynıdır. Yazarlar, CLIP, ALIGN ve ViT-G gibi büyük ön eğitimli modellerde bu çorbanın, hiperparametre taramasının en iyi tekil modelini ImageNet’te geçtiğini; ViT-G ile %90,94 ImageNet birincil doğruluğuna ulaştıklarını ve bunu o dönem için yeni bir en iyi sonuç olarak bildirdi. Dağılım dışı veriler ve yeni görevlerde sıfır-örnek başarının da arttığını belirttiler. Model soups ↗

Bu yöntemin çalışma koşulu önemlidir: ağırlıkları ortalamanın anlamlı olması için modellerin birbirine yakın bir bölgede olması gerekir; ince ayar edilen modeller aynı başlangıçtan çıktığı için genellikle buna yakın olurlar.

02Neden rastgele iki modeli ortalayamazsın?#

Bir sinir ağında gizli nöronların sırası anlamsızdır: iki gizli nöronun yerini (ağırlıklarıyla birlikte) değiştirirsen, ağ tam olarak aynı fonksiyonu hesaplar. Bu permütasyon simetrisidir. Bağımsız eğitilen iki model aynı işlevi öğrense bile, nöronları farklı sırayla öğrenmiş olabilir; ağırlıkları ortalamak, bu yüzden farklı şeylerin ortalamasını almak olur.

Deney: bir 2-2-1 ağı (tanh) ve onun gizli nöronları yer değiştirmiş ikizi. İkisi aynı fonksiyonu hesaplıyor; ağırlıkları farklı. Aralarında doğrusal karışım yap.

01

Aynı fonksiyon, farklı ağırlık sırası

Hesaplanan · temsili girdiler

A ağı ile B ağı aynı işi yapıyor (yalnızca gizli nöronların sırası farklı). Ağırlıkları doğrudan ortalayınca ne oluyor?

01234500,250,500,751özgün fonksiyondan uzaklıkkarışım oranıAğırlıkları doğrudan ortalaÖnce nöronları hizala
BU KARIŞIMDA HATA4,416
İLK GİZLİ NÖRONUN AĞIRLIKLARI[0,40; 0,35]

İki uçta (0 ve 1) hata sıfır: A ve B aynı fonksiyonu hesaplıyor. Ortada ise iki gizli nöron birbirine benzemeye başlıyor ve fonksiyon bozuluyor. Çünkü A’nın ‘birinci nöronu’ ile B’nin ‘birinci nöronu’ aynı işi yapmıyor. Aynı başlangıçtan ince ayarlanmış modeller bu sorunu yaşamaz; nöronları hizalama yöntemleri ise bağımsız modelleri birleştirmeye çalışır.

Küçük bir 2-2-1 ağı (tanh) ve onun gizli nöronları yer değiştirmiş ikizi kullanılır; ağırlıklar öğretim için seçilmiştir. İkizin fonksiyonu birebir aynıdır. Hata, bir ızgaradaki noktalarda iki fonksiyonun farkından hesaplanır; hesaplar tarayıcıda gerçekten yapılır. Bu, gerçek bir model birleştirme deneyi değildir; yalnızca neden ‘rastgele iki modeli ortalamak’ın çalışmadığını gösterir.

İki uçta (0 ve 1) hata sıfır: ikisi aynı fonksiyon. Karışım ortaya geldikçe hata artıyor: 0,10’da 0,27, 0,25’te 1,64, tam ortada (0,5) 4,42. Karışım, iki ağı da “ortalıyor” ama aynı nöronları aynı rolde hizalamadığı için ortaya çıkan ağ hiçbir şeyi hesaplamıyor. Demo bilerek kurulmuş bir oyuncaktır: gerçek bir model birleştirme deneyi değil, “neden” sorusunun en küçük cevabıdır.

03Çare: önce hizala#

Ainsworth ve arkadaşlarının Git Re-Basin çalışması şu fikri savunur: permütasyon simetrileri hesaba katıldığında, sinir ağlarının kayıp yüzeyi (neredeyse) tek bir havza içerir. Yazarlar, bir modelin nöronlarını başka bir modele eşleyecek şekilde yeniden sıralayan üç algoritma sundu ve bağımsız eğitilmiş iki ResNet’in CIFAR-10’da sıfır bariyerli doğrusal mod bağlantısına sahip olduğunu ilk kez gösterdiklerini bildirdi; yani hizalandıktan sonra aralarındaki doğrusal yolda hata artmıyor. Yazarlar ayrıca bu görüşün sınırlarını ve bir karşı örneği de tartışır. Git Re-Basin ↗

SoruCevap
Aynı başlangıçtan ince ayar edilmiş modelleri ortalayabilir miyim?Model çorbası bunu bildiriyor; seçilen karışımın yararlı olduğu doğrulama verisiyle sınanmalıdır
Bağımsız eğitilmiş iki modeli ortalayabilir miyim?Doğrudan ortalama çalışmaz; hizalama gerekir ve hizalamanın başarısı mimariye ve genişliğe bağlıdır
Bu, her model için çalışır mı?Makaleler belirli mimari ve veri kümelerinde (ör. ResNet, CIFAR-10; büyük görüntü modelleri) sonuç bildirir; dil modellerinde başka çalışmalar gerekir

Araştırma notları burada bitiyor. Öğrenme sayfasına dön ya da Keşfet bölümünde bütün deneyleri bir arada dene.

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Ağırlık ortalamasının ne zaman işe yaradığını anlatabilirsin.
  • Permütasyon simetrisinin neden rastgele iki modeli ortalamayı bozduğunu açıklayabilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler