Epoch
تعرف على ماهية الحقبة (epoch) في تعلم الآلة وكيف تؤثر على تدريب النموذج. استكشف التحسين، وتجنب الإفراط في التخصيص، وقم بتدريب Ultralytics YOLO26 بسهولة.
تمثل الحقبة دورة كاملة واحدة عبر مجموعة بيانات التدريب بالكامل بواسطة خوارزمية التعلم الآلي. وخلال هذه العملية، تتاح للنموذج فرصة تحديث معاملاته الداخلية بناءً على كل عينة في البيانات مرة واحدة بالضبط. وفي سياق التعلم العميق، نادراً ما يكفي تمرير واحد لكي تتعلم الشبكة العصبية الأنماط المعقدة بفعالية. لذلك، يتضمن التدريب عادةً حقبات متعددة، مما يسمح لخوارزمية التعلم بتحسين فهمها بشكل تكراري وتقليل الخطأ بين تنبؤاتها والحقيقة الواقعية.
Link to this sectionدور الحقبات في التحسين#
الهدف الأساسي من التدريب هو ضبط أوزان النموذج لتقليل دالة الخسارة محددة. تستخدم خوارزميات التحسين، مثل الانحدار العشوائي (SGD) أو محسن Adam، الخطأ المحسوب خلال كل حقبة لتوجيه هذه التعديلات. ومع زيادة عدد الحقبات، ينتقل النموذج عموماً من حالة الخطأ العالي (التخمين العشوائي) إلى خطأ أقل (أنماط متعلمة).
ومع ذلك، فإن اختيار العدد الصحيح من الحقبات يعد جانباً حاسماً من ضبط المعاملات الفائقة.
- عدد قليل جداً من الحقبات: هذا قد يؤدي إلى نقص التناسب، حيث لم يكتشف النموذج بعد الاتجاه الأساسي للبيانات.
- عدد كبير جداً من الحقبات: غالباً ما يؤدي هذا إلى فرط التناسب، حيث يحفظ النموذج ضجيج التدريب بدلاً من التعميم على بيانات جديدة. ولمنع ذلك، غالباً ما يراقب المطورون الأداء على بيانات التحقق ويستخدمون تقنيات مثل التوقف المبكر لإيقاف التدريب عندما يتوقف التحسن في التعميم.
Link to this sectionالحقبة مقابل الدفعة مقابل التكرار#
من الشائع للمبتدئين الخلط بين "الحقبة" والمصطلحات ذات الصلة. فهم التسلسل الهرمي لهذه المفاهيم ضروري لتهيئة حلقات التدريب بشكل صحيح:
- الحقبة (Epoch): تمريرة كاملة واحدة عبر مجموعة البيانات بأكملها.
- الدفعة (Batch): مجموعة فرعية من مجموعة البيانات تتم معالجتها في وقت واحد. نظراً لأن مجموعات البيانات غالباً ما تكون كبيرة جداً بحيث لا يمكن وضعها في ذاكرة GPU دفعة واحدة، يتم تقسيمها إلى مجموعات أصغر تحددها حجم الدفعة.
- التكرار (Iteration): تحديث واحد لأوزان النموذج. إذا كانت مجموعة البيانات تحتوي على 1000 صورة وكان حجم الدفعة 100، فسيستغرق الأمر 10 تكرارات لإكمال حقبة واحدة.
Link to this sectionتطبيقات العالم الحقيقي#
يختلف عدد الحقبات المطلوبة بشكل كبير اعتماداً على تعقيد المهمة وحجم البيانات.
- تحليل الصور الطبية: في تحليل الصور الطبية، مثل اكتشاف الأورام في صور الرنين المغناطيسي، تعد الدقة أمراً بالغ الأهمية. غالباً ما تعمل النماذج المدربة لهذه المهام لمئات الحقبات. يضمن هذا التدريب المكثف أن الشبكة العصبية التلافيفية (CNN) يمكنها تمييز الشذوذ الدقيق الذي يفصل الأنسجة الخبيثة عن الأنسجة السليمة، مما قد ينقذ الأرواح.
- القيادة الذاتية: بالنسبة للمركبات ذاتية القيادة، يجب أن تحدد نماذج اكتشاف الكائنات بشكل موثوق المشاة، والإشارات، والمركبات الأخرى. يتضمن تدريب هذه الأنظمة القوية عادةً مجموعات بيانات ضخمة مثل COCO أو Objects365. وبينما يكون حجم مجموعة البيانات ضخماً، لا يزال النموذج يتطلب حقبات متعددة للتقارب نحو حل يعمم بشكل جيد على ظروف الطقس والإضاءة المتنوعة.
Link to this sectionإدارة دورات التدريب برمجياً#
عند استخدام أطر عمل حديثة مثل Ultralytics YOLO، يعد تحديد عدد الحقبات وسيطاً مباشراً في أمر التدريب. يمكن لأدوات مثل منصة Ultralytics المساعدة في تصور منحنيات الخسارة عبر كل حقبة لتحديد نقطة التوقف المثلى.
يوضح المثال التالي كيفية تعيين عدد الحقبات عند تدريب نموذج YOLO26:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)في هذه القصاصة، يوجه الوسيط epochs=50 محرك التدريب للدوران عبر مجموعة بيانات coco8.yaml 50 مرة متميزة. خلال كل دورة، يقوم النموذج بإجراء الانتشار الأمامي والانتشار العكسي لتحسين قدراته في الاكتشاف.






