Model Ensemble
Model topluluğu, birkaç modelin tahminlerini daha doğru ve daha dayanıklı tek bir çıktıda birleştirir. Oylama, ortalama alma, kutu birleştirme ve ödünleşimleri ele alır.
Model topluluğu, eğitilmiş birkaç modelin tahminlerini oylama, ortalama alma veya öğrenilmiş bir birleştirme yöntemiyle tek bir çıktıda bir araya getirir; böylece modellerin ayrı ayrı yaptığı hatalar birbirini götürür. Üyeler farklı hatalar yaptığında topluluk en iyi üyesinden daha doğru ve sağlam olur; bu nedenle topluluklar makine öğrenimi yarışmalarına hâkimdir: Netflix Ödülü 2009'da birçok modelin tahminlerini harmanlayan bir ekip tarafından kazanıldı; 2012 ImageNet yarışmasını kazanan derin öğrenme katılımı, ilk 5 hata oranını %15,3'e düşürmek için yedi evrişimli ağın tahminlerinin ortalamasını aldı. Bunun bedeli hesaplama yüküdür: her üye her girdide çalışır; dolayısıyla bellek kullanımı ve çıkarım gecikmesi topluluğun büyüklüğüyle artar.
Model Toplulukları Nasıl Çalışır#
Bir topluluk modeli yalnızca üyeleri farklı hatalar yaptığında yarar sağlar. Hataları birbirinden bağımsız olan modellerin çıktılarını ortalamak, birleşik tahminin varyansını azaltırken aynı girdilerde başarısız olan modelleri bir araya getirmek pek az fayda sağlar. Bagging, her üyeyi eğitim verilerinden rastgele yeniden örneklenmiş bir örneklem üzerinde eğiterek bu çeşitliliği oluşturur; karar ağaçlarından oluşan bir rastgele orman modeli bu yaklaşımın bir örneğidir; boosting ise XGBoost ve LightGBM örneklerinde olduğu gibi, her yeni üyeyi kendisinden önce gelen üyelerin hatalarını düzeltmek üzere eğitir. Derin topluluklar, tek bir sinir ağının kopyalarını farklı rastgele tohumlarla eğitir; tahminlerinin yayılımı da modelin belirsizliğini ölçer. Bir evrişimli sinir ağı ve bir görsel Transformer gibi farklı mimarileri birleştirmek, farklı tümevarımsal yanlılıklara ve birbiriyle daha az korelasyon gösteren hatalara sahip üyeler sağlar.
Birleştirme kuralı, üyelerin ne tür çıktı ürettiğine bağlıdır:
Budanmamış karar ağaçları gibi varyansı yüksek modeller, topluluktan en çok yarar sağlar. Bu scikit-learn örneği, yalnızca rastgele tohumları farklı olan beş ağaç eğitir ve tahmin edilen olasılıkların ortalamasını alır:
import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)
# Five decision trees that differ only in their random seed, which changes the features each split considers
trees = [DecisionTreeClassifier(max_features="sqrt", random_state=seed) for seed in range(5)]
for tree in trees:
tree.fit(X_train, y_train)
print("Single trees:", ", ".join(f"{tree.score(X_test, y_test):.3f}" for tree in trees))
# Ensemble: average the predicted class probabilities and pick the most likely class
probabilities = np.mean([tree.predict_proba(X_test) for tree in trees], axis=0)
accuracy = (probabilities.argmax(axis=1) == y_test).mean()
print(f"Ensemble of 5: {accuracy:.3f}")Dışarıda tutulan 899 rakam görüntüsünde tekil ağaçların puanları 0.736 ile 0.805 arasında değişirken, beş ağacın tümünden oluşan topluluk 0.901 puan alır ve her ağacın hataları farklı görüntülerde olduğundan tüm üyelerini geride bırakır.
Nesne Algılayıcılarını Topluluk Halinde Kullanma#
Nesne algılama toplulukları kutuları da birleştirmelidir: birkaç model genellikle aynı nesneyi hafifçe farklı konumlarda bulur. En basit yöntem, tüm modellerin kutularını bir araya toplar ve örtüşen her gruptaki en yüksek güven puanlı kutuyu tutan maksimum olmayan bastırmayı (NMS) uygular. Ağırlıklı kutu birleştirme ise örtüşen kutuların koordinatlarının ortalamasını güven puanlarına göre ağırlıklandırır; böylece her model son konuma katkıda bulunur. Ultralytics YOLO26, tahmin sürecinde benzer bir topluluk yöntemini yerleşik olarak sunar: augment=True ile algılayıcı, görüntüyü tam, %83 ve %67 ölçeklerinde işler; %83 ölçeğindeki kopyayı soldan sağa çevirir ve üç kutu kümesini NMS ile birleştirir. Bu örnek, farklı boyutlardaki iki YOLO26 modelini aynı şekilde topluluk halinde kullanır:
import torch
from torchvision.ops import batched_nms
from ultralytics import YOLO
# Two YOLO26 models of different sizes make different mistakes
models = [YOLO("yolo26n.pt"), YOLO("yolo26s.pt")]
results = [model("https://ultralytics.com/images/bus.jpg")[0] for model in models]
# Pool the boxes from both models
boxes = torch.cat([result.boxes.xyxy for result in results])
scores = torch.cat([result.boxes.conf for result in results])
classes = torch.cat([result.boxes.cls for result in results])
# Keep the highest-scoring box in each overlapping group of the same class
keep = batched_nms(boxes, scores, classes, iou_threshold=0.5)
print(f"{len(boxes)} boxes from both models, {len(keep)} after fusion")Her iki modelin de bulduğu kutular tek bir kutuya dönüşür; yalnızca tek modelin bulduğu nesneler ise birleştirmeden sonra kalır. Algılama topluluğu duyarlılığı bu şekilde artırır.
Uygulamalar#
- Tıbbi görüntü analizi: Tanı modelleri duyarlılığı artırmak için birkaç ağı birleştirir; üyelerin fikir ayrılığı, radyoloğun incelemesi gereken vakaları işaretler.
- Yarışmalar ve kıyaslamalar: Kaggle ve benzeri liderlik tablolarında kazanan çözümler, doğruluk artışı ek hesaplama maliyetinden ağır bastığı için farklı mimariler, tohumlar ve veri katmanlarıyla eğitilmiş modellerin ortalamasını rutin olarak alır.
- Otonom araçlar: Algı sistemleri, kameraya dayalı algılayıcı ile lidar tabanlı algılayıcı gibi farklı güçlü yönlere sahip modelleri birleştirir; böylece birinin kaçırdığı nesneyi diğeri yakalayabilir.
Model Topluluğu ve İlişkili Terimler#
- Topluluk öğrenmesi: Genel tekniğin eş anlamlısıdır. “Model topluluğu” genellikle ortaya çıkan birleşik model kümesini ifade eder.
- Model birleştirme: Uyumlu modellerin ağırlıklarının ortalamasını alarak tek bir ağ oluşturur; bu ağ tek bir modelin maliyetiyle çalışır.
- Uzmanlar karışımı (MoE): Öğrenilmiş bir yönlendirici her girdiyi yalnızca birkaç uzman alt ağa gönderir; böylece her uzmanı her girdide çalıştırmadan kapasite artar.
- Bilgi damıtma: Tek bir öğrenci modeli, bir model topluluğunun tamamı olabilecek bir öğretmeni taklit edecek şekilde eğitir. Geoffrey Hinton, Oriol Vinyals ve Jeff Dean'in 2015 tarihli damıtma makalesi, konuşma tanıma modellerinden oluşan bir topluluğu, topluluğun iyileştirmelerinin çoğunu koruyan tek bir modele sıkıştırdı.










