Ağırlık Çürümesi ve L2 Düzenlileştirmesi
Önem taşıyan ince fark.
Ağırlık Çürümesi ve L2 Düzenlileştirmesi, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.
Ağırlıkları Küçük Tutun
Büyük ağırlıklar çoğu zaman aşırı öğrenmiş bir modele işaret eder. Hem ağırlık çürümesi hem de L2 düzenlileştirmesi, ağın daha yalın kalması için ağırlıkları sıfıra doğru iter.
L2 Kayıba Eklenir
L2 düzenlileştirmesi, cezalandırma terimini, yani ağırlıkların kareleri toplamını doğrudan kayıba ekler. Böylece kaybı en aza indirmek, ağırlıkları küçültmek anlamına da gelir.
loss = data_loss + lam * (w ** 2).sum()Çürüme Doğrudan Küçültür
Ağırlık çürümesi kaybı atlar; bunun yerine her adımda her ağırlığı birden biraz küçük bir sayıyla çarpar. Böylece gradyan güncellemesinden önce ağırlıkları küçültür.
w = w - lr * grad - lr * wd * wSGD İçin Aynı Şey
Yalın SGD ile ikisi matematiksel olarak aynıdır. L2 cezasının gradyanı, çürüme terimiyle tamamen aynı olduğundan pratikte bir fark oluşturmaz.
Adam Farkı Ortaya Çıkarır
Fark Adam kullanıldığında ortaya çıkar. Ağırlık başına ölçekleme, L2 gradyanını eşit olmayan biçimde böler; bu nedenle L2 ile gerçek ağırlık çürümesi artık eşit değildir.
Neden Bozar
Adam, gradyanı büyük olan ağırlıkları daha az, küçük olanları ise daha fazla küçültür. L2 kayba dahil edildiğinde bu yanlılığı devralır ve düzenlileştirmeyi ihtiyaç duyduğunuz yerde zayıflatır.
Ayırmak Çözümdür
AdamW, ayrıştırılmış ağırlık çürümesi uygular ve her ağırlığı gradyanından bağımsız olarak aynı oranda küçültür. Böylece düzenlileştirme olması gerektiği gibi çalışır.
PyTorch'ta Ayarlayın
weight_decay bağımsız değişkeni gücü belirler. AdamW'de bu, genellikle istediğiniz davranış olan gerçek ayrıştırılmış çürümedir.
opt = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=0.01)Bir Güç Seçin
0.01 veya 0.0001 gibi değerler yaygındır. Çok fazla çürüme yetersiz öğrenmeye neden olur; çok azı ise ağırlıkların büyüyüp aşırı öğrenmesine izin verir. Bunu diğer tüm hiperparametreler gibi ayarlayın.
Yanlılıkları Koruyun
yanlılık ve norm parametrelerinde çürümeyi devre dışı bırakmak yaygındır. Bunları küçültmek nadiren faydalıdır ve modelin öğrenme biçimine fark edilmeden zarar verebilir.
Önemli Nokta
SGD ile iki adımdan dilediğinizi kullanabilirsiniz. Uyarlamalı eniyileyicilerde, ağırlık çürümenizin tasarlandığı gibi çalışması için AdamW'yi tercih edin.
Kısa Kontrol
İkisinin gerçekten ne zaman ayrıştığını test edin.
Özet
L2, kayba bir ceza ekler; ağırlık çürümesi ise ağırlıkları doğrudan küçültür. SGD altında aynı sonucu verirler, ancak Adam altında ayrışırlar; AdamW'nin çürümeyi ayrıştırmasının nedeni budur. 🪶
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Ağırlık Çürümesi ve L2 Düzenlileştirmesi” dersi ücretsiz mi?
Evet — “Ağırlık Çürümesi ve L2 Düzenlileştirmesi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.
“Ağırlık Çürümesi ve L2 Düzenlileştirmesi” dersinde ne öğreneceğim?
Önem taşıyan ince fark. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Ağırlık Çürümesi ve L2 Düzenlileştirmesi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Momentumlu SGD
- Adam ve AdamW Açıklaması
- Ağırlık Çürümesi ve L2 Düzenlileştirmesi
- Öğrenme Oranı Planları ve Isınma