اكتشف كيف يعمل التعلم الجماعي على تحسين الدقة وتقليل الإفراط في الملاءمة. تعلم كيفية الجمع بين نماذج متعددة مثل Ultralytics للحصول على نتائج رؤية حاسوبية فائقة الجودة.
التعلم الجماعي هو استراتيجية قوية في التعلم الآلي (ML) حيث يتم دمج عدة نماذج مستقلة، يشار إليها غالبًا باسم "المتعلمين الضعفاء"، لإنتاج ناتج تنبؤي واحد . الفرضية الأساسية هي أن مجموعة من النماذج يمكنها غالبًا تحقيق دقة أعلى وتعميم أفضل من أي نموذج فردي يعمل بمفرده. من خلال تجميع التنبؤات من خوارزميات متنوعة، تقلل طرق المجموعة بشكل فعال من مخاطر التكيف المفرط مع بيانات التدريب، وتخفف الأخطاء العشوائية، وتحسن استقرار النظام بشكل عام. هذا النهج مشابه لاستشارة لجنة من الخبراء بدلاً من الاعتماد على رأي فرد واحد لاتخاذ قرار حاسم.
تكمن فعالية طرق التجميع في قدرتها على التعامل مع المفاضلة بين التحيز والتباين. قد تعاني النماذج الفردية من تباين كبير (حساسية للضوضاء) أو تحيز كبير (تبسيط مفرط). يقلل التجميع من هذه المشكلات من خلال تقنيات محددة:
في مجال الرؤية الحاسوبية (CV)، تُستخدم المجموعات بشكل متكرر لتعظيم الأداء في المسابقات وتطبيقات السلامة الحرجة. بالنسبة لاكتشاف الكائنات، غالبًا ما يتطلب ذلك تشغيل نماذج متعددة — مثل إصدارات مختلفة من YOLO26— على نفس الصورة. ثم يتم دمج المربعات المحيطة الناتجة باستخدام تقنيات مثل Non-Maximum Suppression (NMS) أو Weighted Box Fusion (WBF) لاستخلاص مواقع الكائنات الأكثر احتمالًا.
تستخدم طرق المجموعات على نطاق واسع في الصناعات التي تعتبر فيها موثوقية التنبؤات أمراً بالغ الأهمية.
يمكنك محاكاة مجموعة استدلال أساسية عن طريق تحميل عدة نماذج مدربة وإنشاء تنبؤات لنفس المدخلات. تتيح لك Ultralytics تدريب هذه المتغيرات بسهولة. يوضح المثال التالي تحميل نموذجين مختلفين Ultralytics YOLO (YOLO26n و YOLO26s) للتحقق من عمليات الكشف على صورة.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")
من المهم التمييز بين التعلم الجماعي و زيادة البيانات.
بينما تساعد زيادة البيانات نموذجًا واحدًا على التعلم بشكل أفضل، يساعد التعلم الجماعي نماذج متعددة على التحقق من مخرجات بعضها البعض . غالبًا ما تُستخدم كلتا الاستراتيجيتين معًا لتحقيق نتائج متطورة في مهام مثل تجزئة الحالات وتقدير الوضعيات .