رؤية YOLO لعام 2026:

وصفة تدريب YOLO26#

مقدمة#

يوثق هذا الدليل وصفة التدريب الدقيقة المستخدمة لإنتاج نقاط التحقق المُدربة مسبقاً الرسمية لنموذج YOLO26 على مجموعة بيانات COCO. يتم تضمين كل المعلمات الفائقة المعروضة هنا مسبقاً في أوزان .pt المُصدرة ويمكن فحصها برمجياً.

إن معرفة ما تم تضمينه في نقاط التحقق الرسمية - ليس فقط البنية، بل جداول معدل التعلم، ومسارات التضخيم، وأوزان دالة الخسارة التي صاغت أداؤها - يساعدك على اتخاذ قرارات أفضل عند الضبط الدقيق: أي تضخيمات للبيانات يجب الاحتفاظ بها، وأي أوزان لـ دالة الخسارة يجب ضبطها، وإعدادات المُحسِّن التي تعمل بشكل أفضل مع حجم مجموعة البيانات الخاصة بك.

نظرة عامة على التدريب#

تم تدريب جميع نماذج YOLO26 الأساسية على مجموعة بيانات COCO بدقة 640x640 باستخدام مُحسِّن MuSGD مع batch size 128. بدلاً من البدء بأوزان عشوائية في تشغيل واحد، تم تهيئة النماذج من أوزان مُدربَة مسبقاً وسيطة وتحسينها باستخدام المعلمات الفائقة المُستكتشفة عبر evolutionary search. سجلات التدريب الكاملة والمقاييس لكل حجم نموذج متاحة على Ultralytics Platform.

خيارات التصميم الرئيسية عبر جميع الأحجام:

  • التدريب من البداية إلى النهاية (end2end=True) مع رأس تطابق فردي خالٍ من NMS
  • مُحسِّن MuSGD الذي يدمج SGD مع تحديثات متعامدة على طراز Muon لمصفوفات الأوزان (الأوزان الخطية ثنائية الأبعاد وفلاتر الالتفاف رباعية الأبعاد، والتي يتم إعادة تشكيلها إلى ثنائية الأبعاد)
  • تضخيم الفسيفساء الكثيف (احتمال ~0.9-1.0) تم تعطيله في آخر 10 عصور (close_mosaic=10)
  • توسيع مقياس (Scale) قوي (0.56-0.95) للتعامل مع الكائنات بأحجام مختلفة
  • دوران/قص (Rotation/shear) بحد أدنى لمعظم الأحجام، للحفاظ على تشوه هندسي منخفض

فحص وسائط تدريب نقطة تحقق YOLO26#

تخزن كل نقطة تحقق من Ultralytics تكوين التدريب الكامل المستخدم لإنتاجها، بحيث يمكنك التحقق من كل رقم في هذه الصفحة بنفسك:

فحص وسائط تدريب نقطة التحقق
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

يعرض الناتج التكوين الكامل لأكثر من 100 مدخل، بما في ذلك كل قيمة وصفة توثق في هذه الصفحة. مقتطف لـ yolo26n.pt:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

يعمل هذا مع أي نقطة تحقق لـ .pt - الإصدارات الرسمية ونماذجك المُعدلة بدقة على حد سواء. للحصول على القائمة الكاملة لوسائط التدريب القابلة للتكوين، راجع مرجع تكوين التدريب.

المعاملات التشعبية لتدريب YOLO26 حسب حجم النموذج#

تُجمع الجداول أدناه الوصفة حسب الفئة - المُحسِّن والجدول، وأوزان الخسارة، والتضخيم. كل قيمة تأتي مباشرة من train_args المضمنة في نقاط التحقق المُصدرة.

المحسن ومعدل التعلم#

أدت إعدادات المحسن والجدول الزمني هذه إلى دفع التدريب المسبق على COCO لكل حجم؛ لاحظ كيف يبرز نموذج N عن البقية:

الإعدادNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
استراتيجية معدل التعلم

استخدم نموذج N معدل تعلم أولي أعلى مع اضمحلال حاد (lrf=0.0495)، بينما استخدمت نماذج S/M/L/X معدل تعلم أولي أقل بكثير مع جدول أكثر سلاسة (lrf=0.882). يعكس هذا ديناميكيات التقارب المختلفة للنماذج الأصغر مقابل النماذج الأكبر - تحتاج النماذج الأصغر إلى تحديثات أكثر عدوانية للتعلم بفعالية.

أوزان الخسارة#

توازن أوزان الخسارة المكونات الثلاثة لخسارة الاكتشاف - انحدار IoU لصندوق الإحاطة (box)، والتصنيف (cls)، ومصطلح انحدار مسافة الصندوق (dfl). لاحظ أن YOLO26 الخالي من DFL يعيد توظيف كسب dfl لوزن خسارة L1 على مسافات الصندوق المُطَبَّعة بدلاً من خسارة بؤرة التوزيع:

الإعدادNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

يعطي نموذج N الأولوية لمصطلح انحدار المسافة dfl، بينما تحول نماذج S/M/L/X التركيز إلى انحدار الصندوق القائم على IoU. تظل خسارة التصنيف متسقة نسبياً عبر جميع الأحجام.

خط أنابيب التوسيع#

للحصول على شرح مفصل لكل تقنية، راجع دليل تضخيم بيانات YOLO.

الإعدادNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

القيم المعروضة كـ ~0 تقل عن 0.01 في نقاط التحقق الفعلية (على سبيل المثال، degrees=0.00012 لنموذج S) - يتم تعطيل التضخيم فعلياً.

تستخدم النماذج الأكبر تضخيمًا أكثر عدوانية بشكل عام (خلط أعلى، نسخ ولصق، ومقياس)، نظراً لأن لديهم سعة أكبر ويستفيدون من تنظيم أقوى. نموذج N هو الحجم الوحيد الذي يحتوي على تضخيم دوران القص واللون الأزرق والأخضر والأحمر (BGR) ذي مغزى.

معاملات التدريب الداخلية#

متقدم: معاملات خط أنابيب داخلية

تحتوي نقاط التحقق أيضاً على معلمات تم استخدامها في خط تدريب داخلي ولكنها غير مكشوفة كإعدادات قابلة للتكوين للمستخدم في default.yaml:

الإعدادالوصفNSMLX
muon_wوزن تحديث Muon في MuSGD0.5280.4360.4360.4360.436
sgd_wوزن تحديث SGD في MuSGD0.6740.4790.4790.4790.479
cls_wوزن التصنيف الداخلي2.743.483.483.483.48
o2mوزن خسارة الرأس من واحد إلى متعدد1.00.7050.7050.7050.705
topkتخصيص التصنيف من نوع Top-k85555

راجع مدخل الأسئلة الشائعة حول هذه المعلمات لمعرفة ما تعنيه عند إجراء الضبط الدقيق.

الضبط الدقيق لنموذج YOLO26 على مجموعة بياناتك الخاصة#

عند إجراء الضبط الدقيق لـ YOLO26 على مجموعة البيانات الخاصة بك، لا تحتاج إلى تكرار وصفة التدريب الكاملة. تشفر الأوزان المُدربة مسبقاً بالفعل معرفة التضخيم والتحسين من تدريب COCO. لمزيد من أفضل ممارسات التدريب العامة، راجع نصائح لتدريب النماذج.

الضبط الدقيق باستخدام الإعدادات الافتراضية#

الضبط الدقيق باستخدام القيم الافتراضية
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

يُعد الضبط الدقيق باستخدام القيم الافتراضية أساسًا قويًا. لا تقم بتعديل المعلمات الفائقة إلا إذا كان لديك سبب محدد للقيام بذلك.

متى يجب تعديل المعلمات الفائقة لنموذج YOLO26#

مجموعات البيانات الصغيرة (< 1,000 صورة):

  • تقليل قوة التضخيم: mosaic=0.5، mixup=0.0، copy_paste=0.0
  • خفض معدل التعلم: lr0=0.001
  • استخدام عصور أقل مع الصبر: epochs=50، patience=20
  • النظر في تجميد طبقات الهيكل الأساسي: freeze=10

مجموعات البيانات الكبيرة (> 50,000 صورة):

  • مطابقة وصفة التدريب المسبق بشكل أدق
  • النظر في optimizer=MuSGD للتشغيلات الأطول
  • زيادة التضخيم: mosaic=1.0، mixup=0.3، scale=0.9

الصور الخاصة بنطاق معين (جوية، طبية، تحت الماء):

  • زيادة flipud=0.5 إذا كان الاتجاه الرأسي يختلف
  • زيادة degrees إذا ظهرت الكائنات عند دوران عشوائي
  • ضبط hsv_s و hsv_v إذا كانت ظروف الإضاءة تختلف بشكل كبير عن COCO

للتحسين التلقائي للمعلمات الفائقة، راجع دليل ضبط المعلمات الفائقة.

اختيار حجم النموذج#

النموذجالأفضل لـإرشادات حجم الدفعة (Batch Size)
YOLO26nأجهزة الحافة، الهواتف المحمولة، المعالجة اللحظية على CPUدفعات كبيرة (64-128) على وحدات GPU للمستهلكين
YOLO26sتوازن بين السرعة والدقةدفعات متوسطة (32-64)
YOLO26mدقة أعلى مع موارد حوسبة متوسطةدفعات أصغر (16-32)
YOLO26lدقة عالية عند توفر GPUدفعات صغيرة (8-16) أو GPU متعدد
YOLO26xأقصى دقة، نشر على الخادمدفعات صغيرة (4-8) أو GPU متعدد

خيارات التصدير والنشر، راجع دليل التصدير وخيارات نشر النموذج.

الخلاصة#

تأتي نقاط تحقق YOLO26 مع تضمين وصفة التدريب الكاملة الخاصة بها، لذا فإن المعلمات الفائقة الدقيقة الكامنة وراء كل حجم نموذج تكون دائماً على بُعد عملية بحث واحدة عن train_args. ابدأ الضبط الدقيق من الإعدادات الافتراضية، واضبط عمداً باستخدام الجداول الموجودة في هذه الصفحة، وتحقق من كل تغيير مقابل مجموعة التحقق الخاصة بك. إذا ظهرت أسئلة على طول الطريق، فاسأل المجتمع على مستودع Ultralytics على GitHub أو خادم Ultralytics Discord.

الأسئلة الشائعة#

  • قم بتحميل نقطة التحقق باستخدام torch.load() والوصول إلى مفتاح train_args، أو استخدم model.ckpt["train_args"] مع Ultralytics API. راجع فحص وسائط تدريب نقطة تحقق YOLO26 للحصول على أمثلة كاملة.

  • تحتاج النماذج الأكبر عموماً إلى عدد أقل من العصور على COCO لأن سعتها الأكبر تسرع التقارب - تم تدريب نموذج X لمدة 40 عصراً مقابل 245 لـ N - على الرغم من أن العدد ليس تصاعدياً بدقة (استخدم S 70، واستخدم M 80). عند إجراء الضبط الدقيق على مجموعة البيانات الخاصة بك، يعتمد العدد الأمثل للعصور على حجم مجموعة البيانات وتعقيدها، وليس على حجم النموذج. استخدم التوقف المبكر (patience) للعثور على نقطة التوقف المناسبة تلقائياً.

  • عادةً لا تحتاج إلى الاختيار: باستخدام optimizer=auto الافتراضي، يختار Ultralytics تلقائياً MuSGD لتشغيل التدريب الأطول (>10,000 تكرار) وAdamW للتشغيلات الأقصر. يمكنك تعيين optimizer=MuSGD صراحةً إذا كنت تفضل ذلك. لمزيد من المعلومات حول كيفية عمل MuSGD، راجع وثائق التدريب.

  • هذه هي المعلمات الداخلية من خط التدريب الذي أنتج نقاط التحقق الأساسية، والمسجلة في train_args لإمكانية إعادة الإنتاج. إنها ليست إعدادات قابلة للتكوين للمستخدم في default.yaml، ومرورها إلى model.train() يرفع خطأ وسيط غير صالح - الحزمة العامة لا تقرأها. لا تحتاج إلى تعيينها عند إجراء الضبط الدقيق؛ راجع معلمات التدريب الداخلية لقيمها لكل حجم نموذج.

  • ليس تماماً - تم إنتاج نقاط التحقق باستخدام فرع تدريب داخلي بميزات إضافية ليست في قاعدة الشفرات العامة (مثل أوزان o2m القابلة للتكوين و cls_w). يمكنك الحصول على نتائج قريبة جداً باستخدام المعلمات الفائقة الموثقة في هذه الصفحة مع حزمة Ultralytics العامة، لكن إعادة الإنتاج الدقيقة تتطلب الفرع الداخلي.

المساهمون

التعليقات