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 modeli ince ayar yaparken, uygulayıcılar genellikle en iyi performans gösteren yapılandırmayı bulmak için kapsamlı bir hyperparameter tuning taraması çalıştırırlar. Geleneksel olarak, tek bir en iyi model seçilir ve geri kalanlar atılır. Bununla birlikte, bir model soup oluşturmak, taramadaki tüm modeller tarafından öğrenilen farklı özelliklerden yararlanır. model weights değerleri doğrudan ortalama alınarak, ortaya çıkan ağ genellikle tek bir en iyi modelden daha iyi performans gösterir ve overfitting en aza indirirken güçlü yönlerini etkili bir şekilde birleştirir. Bu işlem son derece verimlidir ve Ultralytics Platform gibi işbirlikçi ortamlarda kolayca yönetilebilir.
Gerç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üşü: Otonom araba sistemlerinde object detection sistemleri konuşlandırılırken, modellerin farklı aydınlatma ve hava koşullarında genelleme yapabilmesi gerekir. Mühendisler, çeşitli veri artırmaları ve öğrenme oranlarıyla eğitilmiş birden fazla modelin ortalamasını alarak, düşük bir inference latency koruyan son derece sağlam bir soup oluştururlar. Bu, autonomous navigation için çok önemli olan gerçek zamanlı işleme hızlarının etkilenmemesini sağlar.
- Mobil Tıbbi Teşhis: İlk dermatolojik tarama için akıllı telefonlarda image classification çalıştırma gibi uç yapay zeka uygulamalarında, hesaplama gücü son derece sınırlıdır. Bir model soup, nihai kapladığı alanın pil tüketmeden veya bulut bağlantısı gerektirmeden mobile edge devices üzerine kolayca sığmasını sağlarken, klinik güvenilirlik için gereken artırılmış doğruluğu sağlar.
İlgili Kavramları Ayırt Etme#
deep learning optimization manzarasında gezinmek için, Model Soups'u benzer tekniklerden ayırt etmek önemlidir:
- Model Ensemble: Topluluk oluşturma, birden fazla bağımsız modelin tahminlerini (çıktılarını) birleştirir. Bu doğruluğu artırırken, çıkarım sırasında her modelin çalıştırılmasını gerektirir ve hesaplama maliyetini katlar. Model Soups, çıkarımdan önce ağırlıkların ortalamasını alarak hesaplama maliyetini tek bir modelle aynı tutar.
- Model Merging: Bu, tamamen farklı görevler veya veri kümeleri üzerinde eğitilmiş olabilecek modelleri birleştirmek için daha geniş bir terimdir. Model Soups, tüm modellerin tam olarak aynı pre-trained base architecture kaynağından geldiği ve aynı hedef görev üzerinde ince ayar yapıldığı birleştirmenin belirli bir alt kümesidir.
Uygulama Örneği#
Tek biçimli bir model soup oluşturmak, birden fazla eğitilmiş modelin PyTorch state dictionary öğesine erişmeyi ve bunların tensörlerinin matematiksel olarak ortalamasını almayı içerir. Aşağıda, PyTorch framework tarafından yerel olarak desteklenen bir Ultralytics YOLO26 iş akışı kullanılarak bunun nasıl başarılabileceğine dair kısa bir örnek verilmiştir.
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ı yapay zeka mimarileri için gereken dağıtım hızından ödün vermeden zero-shot learning yetenekleri ve genel dayanıklılık gibi performans metriklerini kolayca artırabilir.






