Skip to main content

وصفة تدريب YOLO26

مقدمة

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

فهم كيفية تدريب النماذج الأساسية يساعدك على اتخاذ قرارات أفضل عند أو نهج : أي زيادة البيانات (data augmentations) للاحتفاظ بها، وأي دالة خسارة (loss function) لتعديلها، وما هي إعدادات المحسّن (optimizer) التي تعمل بشكل أفضل مع حجم مجموعة البيانات الخاصة بك.

لمن هذا الدليل؟

هذا الدليل مخصص للممارسين الذين يرغبون في فهم ما تضمنته نقاط تحقق YOLO26 الرسمية - ليس فقط البنية، بل أيضاً معدل التعلم (learning rate)، وخطوط أنابيب زيادة البيانات (augmentation pipelines)، وأوزان الخسارة (loss weights) التي شكلت أداءها. استخدم هذه المعلومات لاتخاذ خيارات مستنيرة عند الضبط الدقيق (fine-tuning) على بياناتك الخاصة.

فحص وسائط التدريب (Training Args)

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

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

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

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

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

تم تدريب جميع نماذج YOLO26 الأساسية على COCO بدقة 640x640 باستخدام محسّن MuSGD مع batch size 128. تم تهيئة النماذج من أوزان مدربة مسبقاً وسيطة وتم تحسينها باستخدام معلمات فائقة (hyperparameters) تم العثور عليها عبر البحث التطوري. سجلات التدريب الكاملة والمقاييس لكل حجم نموذج متاحة على Ultralytics Platform:

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

  • تدريب من طرف إلى طرف (End-to-end) (end2end=True) مع رأس من واحد إلى واحد (one-to-one head) بدون NMS
  • مُحسِّن MuSGD يجمع بين SGD وتحديثات متعامدة (orthogonalized) بنمط Muon لأوزان الالتفاف (conv weights)
  • قوية mosaic زيادة البيانات (augmentation) (احتمالية ~0.9-1.0) يتم تعطيلها في آخر 10 دورات تدريبية (epochs) (close_mosaic=10)
  • زيادة نطاق مكثفة (Aggressive scale augmentation) (0.56-0.95) للتعامل مع الكائنات بأحجام مختلفة
  • حد أدنى من التدوير/القص (rotation/shear) لمعظم الأحجام، للحفاظ على تشوه هندسي منخفض

المعلمات الفائقة لكل حجم نموذج

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

الإعداد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). يعكس هذا ديناميكيات التقارب المختلفة للنماذج الأصغر مقابل الأكبر - تحتاج النماذج الأصغر إلى تحديثات أكثر قوة لتتعلم بفعالية.

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

الإعداد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 التركيز إلى bbox الانحدار (regression). تظل خسارة التصنيف ثابتة نسبياً عبر جميع الأحجام.

خط أنابيب زيادة البيانات (Augmentation Pipeline)

للحصول على شرح مفصل لكل تقنية، راجع دليل زيادة بيانات 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

تستخدم النماذج الأكبر زيادة بيانات أكثر قوة بشكل عام (نطاق أعلى mixup, copy-paste، و scale)، لأن لديها سعة أكبر وتستفيد من انتظام أقوى. نموذج N هو الحجم الوحيد الذي يحتوي على تدوير (rotation), قص (shear)، و BGR تعزيز.

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

متقدم: معلمات خط التدريب الداخلي

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

الإعدادالوصف (Description)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 على مجموعة بياناتك الخاصة، لا تحتاج إلى تكرار وصفة التدريب المسبق بالكامل. فالأوزان المدربة مسبقًا تشفر بالفعل معرفة التعزيز والتحسين المكتسبة من التدريب على COCO. للحصول على أفضل ممارسات التدريب العامة، راجع نصائح لتدريب النماذج.

ابدأ ببساطة

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

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

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

متى يجب التعديل

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

  • تقليل قوة التعزيز: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • خفض معدل التعلم: lr0=0.001
  • استخدام عدد أقل من دورات (epochs) مع الصبر: epochs=50, patience=20
  • فكر في تجميد طبقات الهيكل الأساسي (backbone): 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) على GPUs المستهلكة
YOLO26sسرعة ودقة متوازنةدفعات متوسطة (32-64)
YOLO26mدقة أعلى مع موارد حوسبة معتدلةدفعات أصغر (16-32)
YOLO26lدقة عالية عند توفر GPUدفعات صغيرة (8-16) أو متعددة GPU
YOLO26xأقصى دقة، نشر على الخادمدفعات صغيرة (4-8) أو متعددة GPU

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

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

كيف يمكنني رؤية المعلمات الفائقة الدقيقة المستخدمة لأي نقطة تحقق؟

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

لماذا تختلف أعداد الدورات (epochs) لكل حجم نموذج؟

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

هل يجب أن أستخدم MuSGD للضبط الدقيق؟

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

ما هي muon_w, sgd_w, cls_w, o2m، و topk في نقطة التحقق؟

هذه معلمات داخلية من خط التدريب الذي أنتج نقاط التحقق الأساسية. يتم تخزينها من أجل قابلية التكرار ولكنها أمثلة أساسية للاستخدام إعدادات قابلة للتكوين من قبل المستخدم في default.yaml. لست بحاجة إلى ضبطها عند الضبط الدقيق. راجع معلمات التدريب الداخلية للمزيد من التفاصيل.

هل يمكنني تكرار التدريب المسبق الدقيق من الصفر؟

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

التعليقات