Double Descent
Model kapasitesi arttıkça model hatasının nasıl azalıp yükseldiğini ve sonra yeniden düştüğünü öğren. Enterpolasyon eşiğini, gerçek dünya örneklerini ve değerlendirme stratejilerini keşfet.
Çift alçalma, model kapasitesi arttıkça görülmemiş verilerdeki hatanın azalıp arttığı ve ardından yeniden azaldığı bir makine öğrenimi örüntüsüdür. Sezgisel olarak bir model, iyileşmeden önce kötüleşebilir: orta düzeyde karmaşık bir model genelleme yapmakta zorlanırken çok daha büyük bir model, eğitim örneklerine uyum sağlayıp yeni örneklerde de doğru tahminlerde bulunabilir.
Çift Alçalma Nasıl Çalışır?#
Alışılagelmiş yanlılık-varyans dengesi, U şeklinde bir hata eğrisi olduğunu düşündürür. Basit modeller, önemli örüntüleri yakalayamadıkları için yetersiz öğrenir. Karmaşıklığı artırmak başlangıçta tahminleri iyileştirir; ancak aşırı esneklik, tahminleri belirli eğitim örneklerine duyarlı hâle getirebilir. Çift alçalma, hata tepesinin ötesinde ikinci bir iyileşmeyle bu tabloyu genişletir; yanlılık ve varyans arasındaki temel ayrımı geçersiz kılmaz. (scikit-learn.org)
Dönüm noktası enterpolasyon eşiğidir: modelin tüm eğitim örneklerine uyum sağlayabildiği veya yaklaşık sıfır eğitim hatasına ulaşabildiği nokta. Bu eşik civarında, gürültülü ya da yanlış etiketlere uyum sağlamak kararsız tahminlere yol açabilir. Eşiğin ötesinde, aşırı parametreli bir model, örneklere uyum sağlamak için gerekenden daha fazla esnekliğe sahiptir ve birden fazla olası çözüm ortaya çıkar. Bu çözümlerden bazıları daha iyi genelleme yapar. (openai.com)
Dağınık ölçüm noktalarını birleştirdiğini düşün. Bir eğri her noktadan geçer, ancak aralarda keskin biçimde kıvrılır; başka bir eğri de tüm noktalara uyar, ama diğer yerlerde daha düzgün davranır. Bu çift alçalmanın görsel açıklaması, aynı eğitim performansının neden birbirinden çok farklı tahmin davranışlarını gizleyebileceğini gösterir. Daha yüksek kapasite daha iyi çözümleri mümkün kılar, ancak eğitimin bu çözümleri bulacağını garanti etmez. (mlu-explain.github.io)
Varyasyonlar ve İlgili Kavramlar#
Model bazında çift alçalma, ağ genişliğini artırmak gibi kapasite değişikliklerini ele alır. Epok bazında çift alçalma ise eğitim süresiyle ilgilidir: ayrılmış verilerdeki hata önce iyileşir, sonra kötüleşir ve daha sonra yeniden iyileşir. Epok, eğitim veri kümesinin üzerinden bir kez geçilmesidir. Derin çift alçalma açıklaması, veri kümesi boyutunu değiştirmenin enterpolasyon eşiğini nasıl kaydırabildiğini ve sabit model boyutunda performansı bazen geçici olarak nasıl kötüleştirebildiğini de gösterir. Bu, faydalı verileri göz ardı etmek için bir neden değildir. (openai.com)
Çift alçalma, genelleme pahasına eğitim verisine özgü ayrıntılara uyum sağlamayı tanımlayan aşırı öğrenmeden farklıdır. Aşırı öğrenme, eğrinin yükselen bölümünü açıklayabilir; çift alçalma ise daha geniş kapsamlı azalma-artış-azalma örüntüsünü tanımlar. Tek başına kusursuz eğitim doğruluğu, genellemenin iyi ya da kötü olduğunu göstermez. (scikit-learn.org)
Çift alçalma, öğrenilen çözümü kısıtlayan bir eğitim stratejisi olan düzenlileştirmeden de farklıdır. Örneğin L2 düzenlileştirme, büyük ağırlıkları cezalandırır. Bu nedenle parametre sayısı, modelin etkin karmaşıklığını tam olarak açıklamaz. Etiket gürültüsü, optimizasyon ve eğitim ayarları, belirgin bir çift alçalma eğrisinin ortaya çıkıp çıkmamasını etkiler. (developers.google.com)
Gerçek Dünya Uygulamaları#
Bu örnek senaryolar, her üretim modelinde bu olgunun görüldüğünü varsaymadan neden önemli olduğunu gösterir:
- Üretim kusurlarının tespiti: Bir ekip, bileşenlerdeki çizikleri tespit eden ağları karşılaştırıyor. Orta boyutlu bir ağ, daha küçük ve daha büyük alternatiflerin ikisinden de daha fazla yanlış alarm üretebilir. Yinelenen değerlendirmeler çift alçalmayı ortaya çıkarırsa, ilk kötüleşmede model karşılaştırmalarını durdurmak daha iyi bir denetim sistemini göz ardı etmene yol açabilir.
- Perakende envanterini tanıma: Raf görüntülerini sınıflandıran bir model, tutarsız ürün etiketleriyle karşılaşıyor. Eğitim sırasında doğrulama hatası, yeniden düşmeden önce yükselebilir. İlk artışta her deneyi bitirmek sonraki iyileşmeyi kaçırmana yol açabilir; eğitimi düşünmeden uzatmak ise kaynakları boşa harcatabilir. Kontrol noktalarını karşılaştırmak bu olasılıkları ayırt etmeye yardımcı olur.
Pratik Değerlendirme ve Eğitim#
Örüntüyü tek bir hayal kırıklığı yaratan denemede değil, kontrollü karşılaştırmalarda ara. Model kapasitesini veya eğitim süresini ayrı ayrı değiştir, karşılaştırılabilir veri bölmelerini koru ve deneyleri farklı rastgele tohumlarla tekrarla. Doğrulama eğrilerinin ardındaki ilkeleri kullanarak eğitim ve ayrılmış verilerdeki hatayı birlikte çiz. Hata yerine doğruluğu çizersen eğrinin yönü tersine döner. (scikit-learn.org)
Uygun olduğunda çapraz doğrulama kullan ve son değerlendirme için dokunulmamış bir test kümesi ayır. Değerlendirme verilerinden gelen bilginin eğitime veya model seçimine girdiği veri sızıntısını önle. Erken durdurma yine yararlıdır; ancak iyileşme olmadan izin verilen değerlendirme sayısı olan sabır değerini, varsayılan bir eğri biçimine göre değil, deneyin hedeflerine göre belirle. (scikit-learn.org)
Pratik bir Ultralytics YOLO değerlendirme iş akışı için ultralytics paketini pip install ultralytics ile kur. Bu örnek, YOLO26, belgelenmiş eğitim modunu ve doğrulama modunu kullanır. (docs.ultralytics.com)
from ultralytics import YOLO
if __name__ == "__main__":
model = YOLO("yolo26n.pt")
# A small dataset keeps this workflow demonstration lightweight.
model.train(data="coco8.yaml", epochs=3)
# Evaluate images held out from training.
metrics = model.val(data="coco8.yaml")
print(f"Validation mAP50-95: {metrics.box.map:.3f}")Çıktı, algılama örtüşme eşikleri genelindeki ortalama hassasiyettir; değer ne kadar yüksekse o kadar iyidir. COCO8, iş akışını kontrol etmek için kullanılan bir veri kümesidir; çift alçalmanın kanıtı değildir. Bu olguyu ortaya koymak için temsili veriler üzerinde daha kapsamlı ve kontrollü bir deney gerekir. Pratik çıkarım, daha büyük modellerin veya daha uzun eğitimin her zaman fayda ya da zarar sağlayacağını varsaymak yerine genellemeyi ölçmektir. (docs.ultralytics.com)









