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

حقبة (Epoch)

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

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

آليات التعلم بمرور الوقت

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

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

الحقب الزمنية مقابل الدفعات مقابل التكرارات

لفهم كيفية عمل حلقات التدريب بكفاءة، من الضروري التمييز بين ثلاثة مصطلحات وثيقة الصلة مصطلحات متقاربة غالباً ما يتم الخلط بينها من قبل المبتدئين:

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

على سبيل المثال، إذا كان لديك مجموعة بيانات مكوّنة من 10,000 صورة وقمت بتعيين حجم دفعة من 100 صورة، سيستغرق الأمر 100 تكرار ل لإكمال حقبة واحدة.

تحديد العدد الأمثل من الحقب الزمنية

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

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

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

تطبيقات واقعية

يعد مفهوم الحقب الزمنية مفهومًا عالميًا في مختلف مجالات مجالات التعلم الآلي (ML) المختلفة.

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

مثال على التعليمات البرمجية: التدريب باستخدام الحقب الزمنية

عند استخدام ultralytics المكتبة، يكون تحديد عدد الحقب الزمنية أمرًا بسيطًا ومباشرًا. إن train() تقبل طريقة epochs والتي تتحكم في عدد المرات التي يكررها النموذج على البيانات المتوفرة.

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")

# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

يوضّح هذا المقتطف كيفية بدء عملية تدريب حيث يقوم النموذج بتحسين فهمه لمجموعة بيانات مجموعة بيانات "coco8" 50 مرة منفصلة. بالنسبة للتطورات المستقبلية، تعمل Ultralytics حاليًا على تطوير YOLO26، الذي سيدعم التدريب الشامل بكفاءة أكبر، ومن المتوقع إطلاقه في أواخر عام 2025.

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

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

انضم الآن