Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

استدعاء

استكشف الدور الأساسي لـ callbacks في تعلم الآلة - وهي أدوات تراقب وتتحكم وتؤتمت تدريب النموذج لتحسين الدقة والمرونة والكفاءة.

في التعلّم الآلي (ML)، رد الاتصال هو دالة متعددة الاستخدامات أو كتلة من التعليمات البرمجية المصممة للتشغيل تلقائيًا في مراحل محددة من عملية الحوسبة. ضمن سياق تدريب الشبكات العصبية (NN), تعمل عمليات إعادة الاستدعاء ك "خطافات" تتفاعل مع دورة حياة التدريب لتنفيذ إجراءات مثل تسجيل المقاييس أو حفظ النتائج الوسيطة أو ضبط معلمات التحكم. من خلال فصل هذه المهام المساعدة عن حلقة التدريب الرئيسية الرئيسية، يمكن للمطورين إنشاء مهام سير عمل معيارية وقابلة للقراءة وقابلة للتخصيص بشكل كبير دون تعديل الخوارزمية الأساسية.

كيف يعمل الاستدعاء

تكرر عملية التدريب النموذجية على مجموعة بيانات لمجموعة من من التمريرات، والمعروفة باسم الحقب الزمنية. خلال هذه الدورة، يقوم النظام يقوم النظام بتمريرات أمامية لعمل تنبؤات و والترحيل العكسي لتحديث أوزان النموذج. تتدخل عمليات الاستدعاء عند "أحداث" محددة مسبقًا "الأحداث" المحددة مسبقًا ضمن هذه الحلقة - مثل بداية التدريب، أو نهاية الدفعة أو اكتمال حقبة زمنية.

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

التطبيقات الشائعة في الذكاء الاصطناعي

لا يمكن الاستغناء عن عمليات الاسترجاع لتحسين الأداء واستخدام الموارد في التعلم العميق (DL).

  • التوقف المبكر: أحد أكثر التطبيقات أهمية التطبيقات هو منع الإفراط في التركيب. يراقب التوقف المبكر يراقب معدل الخطأ على بيانات التحقق من الصحة. إذا كان أداء النموذج أو تدهور على عدد محدد من الحقب الزمنية، فإن رد النداء يوقف التدريب على الفور، مما يوفر الوقت و وتكاليف الحوسبة السحابية.
  • جدولة معدل التعلم الديناميكي: يعد ضبط حجم الخطوة في خوارزمية خوارزمية التحسين أمر بالغ الأهمية من أجل التقارب. يمكن أن تقلل عمليات إعادة الاستدعاء من معدل التعلم عند اكتشاف هضبة، مما يسمح للنموذج بالاستقرار في حل أمثل.
  • تسجيل نقاط التحقق من النموذج: لضمان الاحتفاظ بأفضل نسخة من النموذج، يقوم رد استدعاء لنقطة التحقق يحفظ حالة النظام كلما كان المقياس الرئيسي، مثل متوسط الدقة المتوسطة (mAP), يتحسن. هذا أمر حيوي لجلسات التدريب الطويلة على مجموعات بيانات كبيرة مثل ImageNet أو COCO.
  • تسجيل التجارب: التكامل مع أدوات التصور مثل TensorBoard, ClearMLأو MLflow غالبًا عن طريق عمليات الاسترجاع. تسجل هذه الأدوات منحنيات الفقدان، واستخدام النظام واستخدام الأجهزة وعينة من التنبؤات لتحليلها لاحقًا.

تنفيذ رد اتصال مخصص

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

يوضح المثال التالي كيفية إضافة رد استدعاء بسيط يطبع رسالة تأكيد في نهاية كل حقبة تدريبية:

from ultralytics import YOLO


def on_train_epoch_end(trainer):
    """Callback function to print the current epoch number after it finishes."""
    print(f"Custom Callback: Epoch {trainer.epoch + 1} completed successfully.")


# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Register the custom callback for the 'on_train_epoch_end' event
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the registered callback
model.train(data="coco8.yaml", epochs=2)

التمييز عن المفاهيم ذات الصلة

لاستخدام عمليات الاستدعاء بفعالية، من المفيد تمييزها عن المصطلحات المماثلة في هندسة البرمجيات و وعلم البيانات.

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

الفوائد الواقعية

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

من خلال الاستفادة من عمليات الاسترداد، يمكن للمطورين الذين يستخدمون أطر عمل مثل PyTorch أو TensorFlow بناء أنظمة ذاتية التنظيم توفر الوقت، وتقليل الأخطاء، وتعظيم أداء حلول الرؤية الحاسوبية (CV).

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن