Model Soups
Model Çorbalarının (Model Soups), Ultralytics YOLO modellerinin ağırlıklarını ortalayarak doğruluğu ve sağlamlığı nasıl artırdığını keşfet. Gecikmeyi artırmadan performansı nasıl artıracağını öğren.
Model Soups, aynı önceden eğitilmiş temel model kullanılarak farklı hiperparametrelerle ince ayar yapılmış birden fazla sinir ağının ağırlıklarının, tek ve daha güçlü bir model oluşturmak için ortalamasının alındığı bir makine öğrenimi tekniğini ifade eder. Bu yaklaşım, geliştiricilerin çıkarım sırasındaki hesaplama maliyetini artırmadan genel doğruluğu ve genelleştirmeyi iyileştirmelerini sağlar.
Bir modele ince ayar yaparken, en iyi performansı gösteren yapılandırmayı bulmak için genellikle geniş bir hiperparametre ayarlama taraması yaparsın. Geleneksel olarak, en iyi tek model seçilir ve diğerleri atılır. Ancak bir model soup oluşturmak, taramadaki tüm modeller tarafından öğrenilen çeşitli özelliklerden yararlanır. Model ağırlıklarının doğrudan ortalamasını alarak, ortaya çıkan ağ genellikle tek en iyi modelden daha iyi performans gösterir ve aşırı öğrenmeyi en aza indirirken güçlü yönlerini etkili bir şekilde birleştirir. Bu süreç oldukça verimlidir ve Ultralytics Platform gibi iş birliğine dayalı ortamlarda kolayca yönetilebilir.
Link to this sectionGerçek Dünya Uygulamaları#
Model Soups, hesaplama kaynaklarının kısıtlı olduğu ancak yüksek doğruluk ve dayanıklılığın gerekli olduğu senaryolarda oldukça etkilidir.
- Otonom Araç Görüşü: Kendi kendine giden araçlarda nesne algılama sistemleri dağıtırken, modellerin farklı ışık ve hava koşullarında genelleme yapabilmesi gerekir. Mühendisler, çeşitli veri artırmaları ve öğrenme oranları ile eğitilmiş birden fazla modelin ortalamasını alarak, düşük bir çıkarım gecikmesini koruyan oldukça sağlam bir soup oluştururlar. Bu, otonom navigasyon için kritik olan gerçek zamanlı işlem hızlarının etkilenmemesini sağlar.
- Mobil Tıbbi Tanılama: Akıllı telefonlarda ilk dermatolojik tarama için görüntü sınıflandırma çalıştırmak gibi uç AI uygulamalarında hesaplama gücü ciddi şekilde sınırlıdır. Bir model soup, klinik güvenilirlik için gereken artırılmış doğruluğu sağlarken, nihai ayak izinin pili tüketmeden veya bulut bağlantısı gerektirmeden mobil uç cihazlara kolayca sığmasını sağlar.
Link to this sectionİlgili Kavramları Ayırt Etme#
Derin öğrenme optimizasyonu alanında gezinirken, Model Soups'u benzer tekniklerden ayırt etmek önemlidir:
- Model Topluluğu: Topluluk oluşturma, birden fazla bağımsız modelin tahminlerini (çıktılarını) birleştirir. Bu doğruluğu artırsa da, çıkarım sırasında her modelin çalıştırılmasını gerektirerek hesaplama maliyetini katlar. Model Soups, çıkarımdan önce ağırlıkların ortalamasını alır ve hesaplama maliyetini tek bir modelle aynı tutar.
- Model Birleştirme: Bu, tamamen farklı görevler veya veri kümeleri üzerinde eğitilmiş olabilecek modelleri birleştirmek için kullanılan daha geniş bir terimdir. Model Soups, tüm modellerin aynı önceden eğitilmiş temel mimariden geldiği ve aynı hedef görev üzerinde ince ayar yapıldığı bir birleştirme alt kümesidir.
Link to this sectionUygulama Örneği#
Creating a uniform model soup involves accessing the PyTorch state dictionary of multiple trained models and mathematically averaging their tensors. Below is a concise example of how this can be achieved using an Ultralytics YOLO26 workflow natively backed by the PyTorch framework.
import torch
# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()
# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}
# The resulting soup_dict can now be loaded into a new YOLO26 instanceBu teknikten yararlanarak, bilgisayarlı görü uygulayıcıları modern, uç odaklı AI mimarileri için gereken dağıtım hızından ödün vermeden sıfır örnekli öğrenme yetenekleri ve genel dayanıklılık gibi performans metriklerini kolayca artırabilirler.






