Ultralytics YOLO27:
Get Started

دليل Ultralytics YOLO ضبط المعلمات الفائقة#

ضبط المعلمات الفائقة في Ultralytics YOLO هو عملية بحث آلية وتكرارية تحسّن الإعدادات — مثل معدل التعلم وأوزان الخسارة وشدة التعزيز — لتعظيم مقاييس أداء نموذج التعلّم الآلي، مثل الدقة والإحكام والاستدعاء. وبدلًا من اختبار هذه القيم يدويًا، يستكشف Ultralytics YOLO فضاء المعلمات الفائقة باستخدام خوارزمية جينية تُجري طفرات على التكوينات المرشحة وتقيّمها عبر العديد من عمليات التدريب القصيرة.



شاهد: كيفية ضبط المعلمات الفائقة لتحسين أداء النموذج 🚀

ما المعلمات الفائقة؟#

المعلمات الفائقة هي إعدادات بنيوية عالية المستوى للخوارزمية. تُحدَّد قبل مرحلة التدريب وتظل ثابتة خلالها. فيما يلي بعض المعلمات الفائقة الشائعة التي يجري ضبطها في Ultralytics YOLO:

  • معدل التعلّم lr0: يحدد حجم الخطوة في كل تكرار أثناء التوجه نحو قيمة صغرى في دالة الخسارة.
  • حجم الدفعة batch: عدد الصور التي تُعالَج بالتزامن في تمرير أمامي واحد.
  • عدد العصور epochs: العصر هو تمرير أمامي وخلفي كامل واحد لجميع أمثلة التدريب.
  • تفاصيل البنية: مثل أعداد القنوات وعدد الطبقات وأنواع دوال التنشيط وما إلى ذلك. ترد هذه التفاصيل في تهيئة YAML للنموذج لا في وسيطات التدريب.

من بين هذه العوامل الأربعة، لا يدخل في فضاء البحث الافتراضي سوى معدل التعلّم: وتظل batch وepochs والبنية ثابتة. كما يجري الضابط طفرات على الجدول وأوزان الخسارة وتعزيزات البيانات المدرجة أدناه.

Hyperparameter optimization search space visualization

للاطلاع على القائمة الكاملة لمعاملات التعزيز الفائقة المستخدمة في YOLO26، يُرجى مراجعة صفحة التكوينات.

التطور الجيني والطفرات#

يستخدم Ultralytics YOLO الخوارزميات الجينية لتحسين المعلمات الفائقة. وتستوحي الخوارزميات الجينية آليات الانتقاء الطبيعي والوراثة.

  • الانتقاء: يختار كل تكرار واحدًا من التكوينات التسعة الأعلى على الأكثر من حيث الملاءمة، مع ترجيح الاختيار بحسب الملاءمة. بعد 30 نتيجة، تقدّر أفضل 20% من النتائج (حتى 30 نتيجة) أيضًا تغاير المعلمات، ويزداد تأثيرها مع تراكم الأدلة من النخبة.
  • الطفرة: يُجري كل تكرار طفرات على نحو نصف المعلمات باستخدام خطوات غاوسية مطبّعة وفق نطاقات البحث الخاصة بها. وعندما يصبح التغاير نشطًا، تستخدم حصة موزونة بالثقة لا تتجاوز 40% خطوات مترابطة، مع إعادة عكسية تُبقي تلك الخطوات ضمن الحدود من دون تراكم القيم المقصوصة. ومع تراكم التجارب من دون تحسن، تضيق أحجام الخطوات خطيًا بنسبة تصل إلى 20% على مدى 25 تجربة، وتُعاد إلى وضعها عند العثور على نتيجة أفضل جديدة. لا يتوفر للتكرار 1 أصل، ويستخدم المعلمات الفائقة الافتراضية للتدريب كخط أساس.

الاستعداد لضبط المعلمات الفائقة#

قبل بدء عملية الضبط، من المهم أن:

  1. تحديد المقاييس: يرتب الضابط المدمج (use_ray=False) التجارب حسب درجة fitness الخاصة بالمهمة، بينما يستخدم use_ray=True مقياس المهمة. حدّد المقاييس الثانوية التي ستفحصها، مثل AP50 أو درجة F1.
  2. تحديد ميزانية الضبط: حدّد مقدار موارد الحوسبة التي ترغب في تخصيصها. قد يتطلب ضبط المعلمات الفائقة موارد حوسبة كبيرة.

آلية عمل حلقة الضبط#

يكرر الضابط المدمج الحلقة التالية في كل تكرار:

  1. تهيئة المعلمات الفائقة — ابدأ بخط أساس معقول، إما المعلمات الفائقة الافتراضية التي يحددها Ultralytics YOLO أو قيمًا تستند إلى معرفتك بالمجال أو تجاربك السابقة.
  2. إجراء طفرات على المعلمات الفائقة — تنشئ الفئة Tuner مجموعة جديدة من المعلمات الفائقة انطلاقًا من المجموعة الحالية، وذلك تلقائيًا باستخدام أسلوبها _mutate.
  3. تدريب النموذج — درّب النموذج باستخدام المعلمات الفائقة التي أُجريت عليها الطفرات، ثم قيّم أداء التدريب باستخدام المقاييس التي اخترتها.
  4. تقييم النموذج — تنتج عملية التقييم درجة ملاءمة التكرار، وتُقارَن هذه الدرجة بدرجات التكرارات السابقة لتحديد ما إذا كانت المعلمات الفائقة الحالية تمثل تحسنًا.
  5. تسجيل النتائج — سجّل مقاييس الأداء والمعلمات الفائقة المقابلة لها للرجوع إليها مستقبلًا. يحفظ Ultralytics YOLO هذه النتائج تلقائيًا بتنسيق NDJSON.
  6. التكرار — واصل حتى بلوغ عدد التكرارات المحدد، مع بناء كل تكرار على المعرفة المكتسبة من عمليات التشغيل السابقة. يشغّل الضابط المدمج جميع iterations؛ بينما يبلّغ Ray Tune عن المقاييس بعد كل عصر ملاءمة، ما يتيح لـ ASHA إيقاف التجارب الضعيفة بعد فترة السماح الخاصة بها.

التكرارات وحجم المجموعة#

في الضابط المدمج (use_ray=False)، يتحكم iterations في إجمالي عدد التجارب المتسلسلة، وتكون قيمته الافتراضية 300. تدرّب كل تجربة نموذجًا واحدًا باستخدام تكوين واحد للمعلمات الفائقة — على سبيل المثال، يجدول iterations=40 مع epochs=50 40 عملية تدريب مستقلة مدة كل منها 50 عصرًا، وليس عملية تدريب واحدة مدتها 50 عصرًا تضم مجموعة منفصلة من 40 تكوينًا مرشحًا.

لا تحتوي الخوارزمية الجينية المدمجة على معلمة صريحة لحجم المجموعة. بعد توفر تجارب سابقة، تختار ما يصل إلى تسعة من التكوينات الأعلى ملاءمة، وتجري طفرة على مرشح واحد في كل تكرار.

لإجراء تجارب متوازية أو استخدام استراتيجيات بحث أكثر تقدمًا، اضبط use_ray=True لاستخدام Ray Tune، الذي يستخدم القيمة الافتراضية نفسها، وهي 300 تجربة، ويتلقى iterations بوصفه num_samples. راجع دليل تكامل Ray Tune لمزيد من التفاصيل.

فضاء البحث الافتراضي#

يسرد الجدول التالي معلمات فضاء البحث الافتراضي لضبط المعلمات الفائقة في YOLO26. لكل معلمة نطاق قيم محدد يعرّفه صف (min, max).

المعلمةالنوعنطاق القيمالوصف
lr0float(1e-5, 1e-2)معدل التعلّم الابتدائي عند بدء التدريب. توفر القيم الأقل تدريبًا أكثر استقرارًا، لكنها تؤدي إلى تقارب أبطأ.
lrffloat(0.01, 1.0)عامل معدل التعلّم النهائي بوصفه كسرًا من lr0. يتحكم في مقدار انخفاض معدل التعلّم أثناء التدريب.
momentumfloat(0.7, 0.98)عامل زخم SGD. تساعد القيم الأعلى في الحفاظ على اتجاه متسق للتدرج، ويمكنها تسريع التقارب.
weight_decayfloat(0.0, 0.001)عامل تنظيم L2 لمنع فرط التكيّف. تفرض القيم الأكبر تنظيمًا أشد.
warmup_epochsfloat(0.0, 5.0)عدد عصور الإحماء الخطي لمعدل التعلّم. يساعد على منع عدم الاستقرار في بداية التدريب.
warmup_momentumfloat(0.0, 0.95)الزخم الابتدائي خلال مرحلة الإحماء. يزداد تدريجيًا حتى قيمة الزخم النهائية.
boxfloat(1.0, 20.0)وزن خسارة BBox في دالة الخسارة الإجمالية. يوازن بين انحدار الصندوق والتصنيف.
clsfloat(0.1, 4.0)وزن خسارة التصنيف في دالة الخسارة الإجمالية. تؤكد القيم الأعلى على صحة التنبؤ بالفئة.
cls_pwfloat(0.0, 1.0)قوة ترجيح الفئات لمعالجة اختلال التوازن بينها. تزيد القيم الأعلى وزن الفئات النادرة.
dflfloat(0.4, 12.0)وزن حد انحدار مسافة الصندوق. يطبّق YOLO26 الخالي من DFL هذا الكسب على خسارة L1 لمسافات الصندوق المطبّعة؛ وتؤكد القيم الأعلى على دقة تحديد المواقع.
hsv_hfloat(0.0, 0.1)نطاق تعزيز تدرج اللون العشوائي في فضاء الألوان HSV. يساعد النموذج على التعميم عبر اختلافات الألوان.
hsv_sfloat(0.0, 0.9)نطاق تعزيز التشبع العشوائي في فضاء HSV. يحاكي ظروف الإضاءة المختلفة.
hsv_vfloat(0.0, 0.9)نطاق تعزيز القيمة (السطوع) العشوائية. يساعد النموذج على التعامل مع مستويات تعريض مختلفة.
degreesfloat(0.0, 45.0)أقصى تعزيز للدوران بالدرجات. يساعد النموذج على اكتساب الثبات تجاه اتجاه العنصر.
translatefloat(0.0, 0.9)أقصى تعزيز للإزاحة بوصفها نسبة من حجم الصورة. يحسّن المتانة تجاه موضع العنصر.
scalefloat(0.0, 0.95)نطاق تعزيز القياس العشوائي. يساعد النموذج على اكتشاف العناصر بأحجام مختلفة.
shearfloat(0.0, 10.0)أقصى تعزيز للقص بالدرجات. يضيف تشوهات شبيهة بمنظور الكاميرا إلى صور التدريب.
perspectivefloat(0.0, 0.001)نطاق تعزيز المنظور العشوائي. يحاكي زوايا الرؤية المختلفة.
flipudfloat(0.0, 1.0)احتمال قلب الصورة رأسيًا أثناء التدريب. مفيد للصور العلوية أو الجوية.
fliplrfloat(0.0, 1.0)احتمال قلب الصورة أفقيًا. يساعد النموذج على اكتساب الثبات تجاه اتجاه العنصر.
bgrfloat(0.0, 1.0)احتمال استخدام تعزيز BGR، الذي يبدّل قنوات الألوان. قد يساعد على تحقيق الثبات تجاه الألوان.
mosaicfloat(0.0, 1.0)احتمال استخدام تعزيز الفسيفساء، الذي يدمج 4 صور. وهو مفيد خصوصًا لاكتشاف العناصر الصغيرة.
mixupfloat(0.0, 1.0)احتمال استخدام تعزيز mixup، الذي يمزج صورتين. وقد يحسّن متانة النموذج.
cutmixfloat(0.0, 1.0)احتمال استخدام تعزيز cutmix. يدمج مناطق الصور مع الحفاظ على السمات المحلية.
copy_pastefloat(0.0, 1.0)في وضع flip، هو نسبة العناصر المؤهلة التي تُنسخ؛ وفي وضع mixup، يشمل أيضًا احتمال تطبيقه.
close_mosaicint(0.0, 10.0)يعطّل الفسيفساء في آخر N من العصور لتحقيق استقرار التدريب قبل انتهائه. تُجرى عليه الطفرات بوصفه عددًا عشريًا، ثم يُقرّب إلى عدد صحيح من العصور.

مثال على فضاء بحث مخصص#

إليك كيفية تعريف فضاء بحث واستخدام الأسلوب model.tune() للاستفادة من الفئة Tuner في ضبط المعلمات الفائقة لـ YOLO26n على COCO8 مدة 30 عصرًا باستخدام محسن AdamW، مع تخطي الرسم وحفظ نقاط التحقق والتحقق، باستثناء العصر الأخير، لتسريع الضبط.

تحذير

هذا المثال لأغراض الاستعراض فقط. نادرًا ما تكون المعلمات الفائقة المستخلصة من عمليات ضبط قصيرة أو صغيرة النطاق مثالية للتدريب الواقعي. عمليًا، ينبغي إجراء الضبط في ظل إعدادات مماثلة للتدريب الكامل — بما يشمل مجموعات البيانات والعصور والتعزيزات المتقاربة — لضمان نتائج موثوقة وقابلة للتعميم. وقد يؤدي الضبط السريع إلى تحيز المعلمات نحو التقارب الأسرع أو مكاسب التحقق قصيرة الأجل التي لا تعمم.

مثال
from ultralytics import YOLO

# ⁨تهيئة نموذج YOLO⁩
model = YOLO("yolo26n.pt")

# ⁨تعريف فضاء البحث⁩
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# ⁨ضبط المعلمات الفائقة على COCO8 مدة 30 عصرًا⁩
model.tune(
    data="coco8.yaml",
    epochs=30,
    iterations=300,
    optimizer="AdamW",
    space=search_space,
    plots=False,
    save=False,
    val=False,
)

استئناف جلسة ضبط المعلمات الفائقة التي توقفت#

يمكنك استئناف جلسة ضبط المعلمات الفائقة التي توقفت بتمرير resume=True. ويمكنك اختياريًا تمرير الدليل name المستخدم ضمن runs/{task} للاستئناف منه. إذا لم تمرر name، فسيستأنف التنفيذ الدليل المسمى حرفيًا tune، وهو الاسم الافتراضي وليس اسم أحدث جلسة تشغيل؛ لذا مرّر name لأي تشغيل بدأته باسم مخصص. ويلزمك أيضًا توفير جميع وسيطات التدريب السابقة، بما فيها data وepochs وiterations وspace.

استخدام `resume=True` مع `model.tune()`
from ultralytics import YOLO

# ⁨تعريف نموذج YOLO⁩
model = YOLO("yolo26n.pt")

# ⁨تعريف فضاء البحث⁩
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# ⁨استئناف التشغيل السابق⁩
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, resume=True)

# ⁨استئناف تشغيل الضبط بالاسم 'tune_exp'⁩
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, name="tune_exp", resume=True)

النتائج#

بعد إتمام عملية ضبط المعلمات الفائقة بنجاح، ستحصل على عدة ملفات وأدلة تتضمن نتائج الضبط. فيما يلي وصف لكل منها:

بنية الملفات#

فيما يلي شكل بنية أدلة النتائج. تحتوي أدلة المسح، مثل multitrain/ وmultitrain-2/، على تكرارات الضبط الفردية؛ أي نموذج واحد مدرّب لكل مجموعة بيانات باستخدام مجموعة واحدة من المعلمات الفائقة، ضمن دليل فرعي يحمل اسم كل مجموعة بيانات. لتوفير مساحة التخزين، يحذف الضابط أدلة التشغيل الخاصة بكل مجموعة بيانات للتكرارات التي ليست الأفضل حاليًا. ويحتوي الدليل tune/ على نتائج الضبط لجميع عمليات تدريب النماذج الفردية:

runs/
└── detect/
    ├── multitrain/
    │   └── coco8/
    ├── multitrain-2/
    ├── ...
    └── tune/
        ├── best_hyperparameters.yaml
        ├── tune_fitness.png
        ├── tune_results.ndjson
        ├── tune_scatter_plots.png
        └── weights/
            ├── last.pt
            └── best.pt

أوصاف الملفات#

best_hyperparameters.yaml#

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

  • التنسيق: YAML

  • الاستخدام: نتائج المعلمات الفائقة

  • مثال:

    # 558/900 iterations complete ✅ (45536.81s)
    # Results saved to /usr/src/ultralytics/runs/detect/tune
    # Best fitness=0.64297 observed at iteration 498
    # Best fitness metrics are {'metrics/precision(B)': 0.87247, 'metrics/recall(B)': 0.71387, 'metrics/mAP50(B)': 0.79106, 'metrics/mAP50-95(B)': 0.62651, 'val/box_loss': 2.79884, 'val/cls_loss': 2.72386, 'val/l1_loss': 0.68503, 'fitness': 0.64297}
    # Best fitness model is /usr/src/ultralytics/runs/detect/tune/weights
    # Best fitness hyperparameters are printed below.
    
    lr0: 0.00269
    lrf: 0.00288
    momentum: 0.73375
    weight_decay: 0.00015
    warmup_epochs: 1.22935
    warmup_momentum: 0.1525
    box: 18.27875
    cls: 1.32899
    dfl: 0.56016
    hsv_h: 0.01148
    hsv_s: 0.53554
    hsv_v: 0.13636
    degrees: 0.0
    translate: 0.12431
    scale: 0.07643
    shear: 0.0
    perspective: 0.0
    flipud: 0.0
    fliplr: 0.08631
    mosaic: 0.42551
    mixup: 0.0
    copy_paste: 0.0

tune_fitness.png#

يعرض هذا المخطط الملاءمة مقابل عدد التكرارات. ويساعدك على تصور أداء الخوارزمية الجينية بمرور الوقت.

  • التنسيق: PNG
  • الاستخدام: تصور الأداء

Hyperparameter Tuning Fitness vs Iteration

يحتوي المخطط على:

  • علامة واحدة لكل تكرار ولكل مجموعة بيانات، لذا يعرض التشغيل على مجموعة بيانات واحدة نقطة واحدة لكل تكرار، بينما يعرض التشغيل متعدد مجموعات البيانات نقطة واحدة لكل مجموعة بيانات في كل تكرار.
  • خط منقط لـ"المتوسط المُملّس" يُحسب باستخدام التنعيم الغاوسي (sigma=3) على قيم الملاءمة الإجمالية لكل تكرار.

tune_results.ndjson#

ملف NDJSON يتضمن النتائج التفصيلية لكل تكرار ضبط. يحتوي كل سطر على كائن JSON واحد يضم الملاءمة الإجمالية والمعلمات الفائقة المضبوطة ومقاييس كل مجموعة بيانات. يستخدم الضبط على مجموعة بيانات واحدة والضبط على مجموعات بيانات متعددة تنسيق الملف نفسه.

  • التنسيق: NDJSON
  • الاستخدام: تتبّع نتائج كل تكرار.
  • مثال:

يأتي فيما يلي مثال منسّق لتحسين سهولة القراءة؛ أما في ملف .ndjson الفعلي، فيُخزَّن كل كائن في سطر واحد.

{
    "iteration": 1,
    "fitness": 0.48628,
    "hyperparameters": {
        "lr0": 0.01,
        "lrf": 0.01,
        "momentum": 0.937,
        "weight_decay": 0.0005
    },
    "datasets": {
        "coco8": {
            "metrics/precision(B)": 0.65666,
            "metrics/recall(B)": 0.85,
            "metrics/mAP50(B)": 0.85086,
            "metrics/mAP50-95(B)": 0.64104,
            "val/box_loss": 1.57958,
            "val/cls_loss": 1.04986,
            "val/l1_loss": 1.32641,
            "fitness": 0.64104
        },
        "coco8-grayscale": {
            "metrics/precision(B)": 0.6582,
            "metrics/recall(B)": 0.51667,
            "metrics/mAP50(B)": 0.59106,
            "metrics/mAP50-95(B)": 0.33152,
            "val/box_loss": 1.95424,
            "val/cls_loss": 1.64059,
            "val/l1_loss": 1.70226,
            "fitness": 0.33152
        }
    },
    "save_dirs": {
        "coco8": "runs/detect/multitrain/coco8",
        "coco8-grayscale": "runs/detect/multitrain/coco8-grayscale"
    }
}

القيمة fitness على المستوى الأعلى هي المتوسط الحسابي لقيم fitness الخاصة بكل مجموعة بيانات. وعند الضبط على مجموعة بيانات واحدة، يحتوي القاموس datasets على مدخل واحد تكون قيمة fitness فيه مساوية لقيمة fitness على المستوى الأعلى. يُسجَّل كائن JSON واحد لكل تكرار مكتمل. وتكون مسارات save_dirs الفعلية مطلقة؛ وقد اختُصرت أعلاه لتسهيل القراءة.

tune_scatter_plots.png#

يحتوي هذا الملف على مخططات تبعثر مولّدة من tune_results.ndjson، تساعدك على تصور العلاقات بين المعلمات الفائقة المختلفة ومقاييس الأداء. تستخدم الطفرات النطاق المُعدّ لكل معلمة فائقة، لذا يمكن أن تتطور القيم انطلاقًا من الإعدادات الافتراضية ذات القيمة صفر، مثل degrees وshear.

  • التنسيق: PNG
  • الاستخدام: تحليل البيانات الاستكشافي

Hyperparameter tuning results scatter plot analysis

weights/#

يحتوي هذا الدليل على نماذج PyTorch المحفوظة من التكرار الأعلى ملاءمة في تشغيل الضبط. وكلا الملفين صادر عن التكرار نفسه:

  • last.pt: يحتوي last.pt على الأوزان من العصر الأخير للتدريب.
  • best.pt: أوزان best.pt الخاصة بالتكرار الذي حقق أفضل درجة ملاءمة.

باستخدام هذه النتائج، يمكنك اتخاذ قرارات أكثر استنارة بشأن عمليات تدريب النماذج وتحليلاتها مستقبلًا.

الخلاصة#

إن ضبط المعلمات الفائقة في Ultralytics YOLO سهل البدء وقوي من الداخل، إذ يستخدم الانتقاء الموزون بالملاءمة والطفرات المُطبّعة إلى النطاق ضمن خوارزمية جينية. يتيح لك اتباع الحلقة الموضحة في هذا الدليل ضبط نموذجك منهجيًا لتحسين الأداء، ثم إعادة استخدام best_hyperparameters.yaml الناتج لتهيئة عمليات التدريب المستقبلية. لتوسيع نطاق الضبط عبر تجارب متوازية وخوارزميات بحث أكثر تقدمًا، تابع إلى دليل تكامل Ray Tune، أو شغّل مهامًا مُدارة بمعلمات فائقة قابلة للتهيئة وتتبع للمقاييس في الوقت الفعلي على منصة Ultralytics عبر التدريب السحابي.

بالنسبة إلى الإعدادات التي لا تتيحها أي وسيطة، مثل معدلات التعلّم لكل طبقة أو مقياس ملاءمة مخصص، استخدم فئة فرعية من المدرّب بدلًا من ذلك. لمزيد من المعلومات المتعمقة، استكشف الشيفرة المصدرية لفئة Tuner. إذا كانت لديك أسئلة أو طلبات ميزات، فتواصل معنا عبر GitHub أو Discord.

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

  • عيّن قيمة ابتدائية باستخدام المعلمة lr0 — وتتراوح القيم الشائعة من 0.001 إلى 0.01 — ودع عملية الضبط تُجري طفرات عليها بعد ذلك للعثور على القيمة المثلى. يمكنك أتمتة ذلك باستخدام الطريقة model.tune(). على سبيل المثال:

    مثال
    from ultralytics import YOLO
    
    # ⁨تهيئة نموذج YOLO⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨ضبط المعلمات الفائقة على COCO8 مدة 30 عصرًا⁩
    model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)

    لمزيد من التفاصيل، راجع صفحة إعدادات Ultralytics YOLO.

  • توفر الخوارزميات الجينية في Ultralytics YOLO26 طريقة فعّالة لاستكشاف فضاء المعلمات الفائقة، ما يؤدي إلى تحسين أداء النموذج بدرجة كبيرة. وتشمل الفوائد الرئيسية ما يلي:

    • البحث الفعّال: يحافظ الانتقاء الموزون بالملاءمة على الإعدادات القوية، بينما تستكشف الطفرات المُطبّعة إلى النطاق مرشحين جددًا.
    • تجنّب القيم المثلى المحلية: تساعد هذه الخوارزميات على تجنّب القيم المثلى المحلية بإدخال العشوائية، ما يضمن تحسينًا عالميًا أفضل.
    • مقاييس الأداء: تتكيف الخوارزميات وفقًا لدرجة ملاءمة خاصة بالمهمة (mAP50-95 للكشف).

    للاطلاع على كيفية تحسين الخوارزميات الجينية للمعلمات الفائقة، راجع دليل تطور المعلمات الفائقة.

  • يعتمد الوقت اللازم لضبط المعلمات الفائقة باستخدام Ultralytics YOLO إلى حد كبير على عدة عوامل، مثل حجم مجموعة البيانات، وتعقيد بنية النموذج، وعدد التكرارات، والموارد الحاسوبية المتاحة. فعلى سبيل المثال، قد يستغرق ضبط YOLO26n على مجموعة بيانات مثل COCO8 لمدة 30 حقبة عدة ساعات إلى أيام، حسب الأجهزة.

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

  • عند تقييم أداء النموذج أثناء ضبط المعلمات الفائقة في YOLO، يمكنك استخدام عدة مقاييس أساسية:

    • AP50: متوسط الدقة عند عتبة IoU قدرها 0.50.
    • درجة F1: المتوسط التوافقي للدقة والاستدعاء.
    • الدقة والاستدعاء: مقياسان منفصلان يوضحان مدى صحة النموذج في تحديد الإيجابيات الحقيقية مقارنةً بالإيجابيات الكاذبة والسلبيات الكاذبة.

    تساعدك هذه المقاييس على فهم جوانب مختلفة من أداء نموذجك. راجع دليل مقاييس أداء Ultralytics YOLO للحصول على نظرة عامة شاملة.

  • نعم، يتكامل Ultralytics YOLO26 مع Ray Tune لإجراء تحسين متقدم للمعلمات الفائقة. يوفر Ray Tune خوارزميات بحث متطورة مثل التحسين البايزي وHyperband، إلى جانب إمكانات التنفيذ المتوازي لتسريع عملية الضبط.

    لاستخدام Ray Tune مع YOLO26، ما عليك سوى تعيين المعلمة use_ray=True في استدعاء الطريقة model.tune(). لمزيد من التفاصيل والأمثلة، راجع دليل تكامل Ray Tune.

التعليقات