انتقل إلى المحتوى

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

مقدمة

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

ما هي المعلمات الفائقة؟

المعلمات الفائقة هي إعدادات هيكلية عالية المستوى للخوارزمية. يتم تعيينها قبل مرحلة التدريب وتبقى ثابتة أثناءها. فيما يلي بعض المعلمات الفائقة التي يتم ضبطها بشكل شائع في Ultralytics YOLO:

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

ضبط المعلمات الفائقة المرئية

للحصول على قائمة كاملة بالمعلمات الفائقة للزيادة المستخدمة في YOLOv8 يرجى الرجوع إلى صفحة التكوينات.

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

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

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

التحضير لضبط المعلمات الفائقة

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

  1. تحديد المقاييس: حدد المقاييس التي ستستخدمها لتقييم أداء النموذج. قد يكون هذا AP50 أو F1-score أو غيرها.
  2. تعيين ميزانية الضبط: حدد مقدار الموارد الحسابية التي ترغب في تخصيصها. يمكن أن يكون ضبط المعلمات الفائقة مكثفا من الناحية الحسابية.

الخطوات المتبعة

تهيئة المعلمات الفائقة

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

تحور المعلمات الفائقة

استخدم الزر _mutate طريقة لإنتاج مجموعة جديدة من المعلمات الفائقة بناء على المجموعة الحالية.

نموذج القطار

يتم تنفيذ التدريب باستخدام مجموعة متحورة من المعلمات الفائقة. ثم يتم تقييم أداء التدريب.

تقييم النموذج

استخدم مقاييس مثل AP50 أو F1-score أو المقاييس المخصصة لتقييم أداء النموذج.

تسجيل النتائج

من الأهمية بمكان تسجيل كل من مقاييس الأداء والمعلمات الفائقة المقابلة للرجوع إليها في المستقبل.

كرر

تتكرر العملية حتى يتم الوصول إلى العدد المحدد من التكرارات أو يكون مقياس الأداء مرضيا.

مثال على الاستخدام

إليك كيفية استخدام model.tune() طريقة لاستخدام Tuner فئة لضبط المعلمات الفائقة YOLOv8n على COCO8 لمدة 30 حقبة مع محسن AdamW وتخطي التخطيط والتحقق والتحقق من الصحة بخلاف الحقبة النهائية لضبط أسرع.

مثل

from ultralytics import YOLO

# Initialize the YOLO model
model = YOLO("yolov8n.pt")

# Tune hyperparameters on COCO8 for 30 epochs
model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)

النتائج

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

هيكل الملف

إليك ما ستبدو عليه بنية دليل النتائج. أدلة التدريب مثل train1/ تحتوي على تكرارات ضبط فردية ، أي نموذج واحد مدرب بمجموعة واحدة من المعلمات الفائقة. ال tune/ يحتوي الدليل على نتائج ضبط من جميع التدريبات النموذجية الفردية:

runs/
└── detect/
    ├── train1/
    ├── train2/
    ├── ...
    └── tune/
        ├── best_hyperparameters.yaml
        ├── best_fitness.png
        ├── tune_results.csv
        ├── 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/dfl_loss': 0.68503, 'fitness': 0.64297}
    # Best fitness model is /usr/src/ultralytics/runs/detect/train498
    # 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
    

best_fitness.png

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

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

ضبط المعلمة الفائقة اللياقة البدنية مقابل التكرار

tune_results.csv

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

  • التنسيق: CSV
  • الاستخدام: تتبع نتائج التكرار.
  • مثل:
      fitness,lr0,lrf,momentum,weight_decay,warmup_epochs,warmup_momentum,box,cls,dfl,hsv_h,hsv_s,hsv_v,degrees,translate,scale,shear,perspective,flipud,fliplr,mosaic,mixup,copy_paste
      0.05021,0.01,0.01,0.937,0.0005,3.0,0.8,7.5,0.5,1.5,0.015,0.7,0.4,0.0,0.1,0.5,0.0,0.0,0.0,0.5,1.0,0.0,0.0
      0.07217,0.01003,0.00967,0.93897,0.00049,2.79757,0.81075,7.5,0.50746,1.44826,0.01503,0.72948,0.40658,0.0,0.0987,0.4922,0.0,0.0,0.0,0.49729,1.0,0.0,0.0
      0.06584,0.01003,0.00855,0.91009,0.00073,3.42176,0.95,8.64301,0.54594,1.72261,0.01503,0.59179,0.40658,0.0,0.0987,0.46955,0.0,0.0,0.0,0.49729,0.80187,0.0,0.0
    

tune_scatter_plots.png

يحتوي هذا الملف على مخططات مبعثرة تم إنشاؤها من tune_results.csv، مما يساعدك على تصور العلاقات بين المعلمات الفائقة المختلفة ومقاييس الأداء. لاحظ أنه لن يتم ضبط المعلمات الفائقة التي تمت تهيئتها إلى 0 ، مثل degrees و shear ادناه.

  • تنسيق الملف : PNG
  • إستعمال: تحليل البيانات الاستكشافية

ضبط المعلمة الفائقة المؤامرات المبعثرة

اثقال/

يحتوي هذا الدليل على ملف PyTorch نماذج لآخر وأفضل التكرارات أثناء عملية ضبط المعلمات الفائقة.

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

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

استنتاج

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

قراءة متعمقة

  1. تحسين المعلمات الفائقة في ويكيبيديا
  2. YOLOv5 دليل تطور المعلمات الفائقة
  3. ضبط المعلمات الفائقة الفعال باستخدام Ray Tune و YOLOv8

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

الأسئلة المتداولة

كيف يمكنني تحسين معدل التعلّم Ultralytics YOLO أثناء ضبط المعامل الفائق؟

لتحسين معدل التعلم Ultralytics YOLO ، ابدأ بتعيين معدل تعلم أولي باستخدام lr0 البارامتر. تتراوح القيم الشائعة من 0.001 ل 0.01. أثناء عملية ضبط البارامتر الفائق، سيتم تغيير هذه القيمة للعثور على الإعداد الأمثل. يمكنك الاستفادة من model.tune() لأتمتة هذه العملية. على سبيل المثال:

مثل

from ultralytics import YOLO

# Initialize the YOLO model
model = YOLO("yolov8n.pt")

# Tune hyperparameters on COCO8 for 30 epochs
model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)

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

ما هي فوائد استخدام الخوارزميات الوراثية لضبط المعامل الفائق في YOLOv8 ؟

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

  • بحث فعال: يمكن للخوارزميات الوراثية مثل الطفرة أن تستكشف بسرعة مجموعة كبيرة من المعلمات الفائقة.
  • تجنب الحد الأدنى المحلي: من خلال إدخال العشوائية، فإنها تساعد في تجنب الحد الأدنى المحلي، مما يضمن تحسينًا عالميًا أفضل.
  • مقاييس الأداء: تتكيف بناءً على مقاييس الأداء مثل AP50 ودرجة F1.

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

ما المدة التي تستغرقها عملية ضبط المعامل الفائق Ultralytics YOLO ؟

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

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

ما هي المقاييس التي يجب أن أستخدمها لتقييم أداء النموذج أثناء ضبط المعامل الفائق في YOLO ؟

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

  • AP50: متوسط الدقة عند عتبة وحدة القياس الدولية 0.50.
  • النتيجة F1: المتوسط التوافقي للدقة والاستدعاء.
  • الدقة والاسترجاع: مقاييس فردية تشير إلى دقة النموذج في تحديد الإيجابيات الحقيقية مقابل الإيجابيات الخاطئة والسلبيات الخاطئة.

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

هل يمكنني استخدام Ultralytics HUB لضبط المعامل الفائق لنماذج YOLO ؟

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

استكشف المزيد حول استخدام Ultralytics HUB لضبط المعامل الفائق في وثائق التدريب السحابيUltralytics HUB Cloud Training.



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (11)

التعليقات