Epoch
تعرف على ماهية الحقبة (epoch) في تعلم الآلة وكيف تؤثر على تدريب النموذج. استكشف التحسين، وتجنب الإفراط في التخصيص، وقم بتدريب Ultralytics YOLO26 بسهولة.
تمثل الحقبة (epoch) دورة كاملة واحدة عبر مجموعة بيانات التدريب بأكملها بواسطة خوارزمية التعلم الآلي. خلال هذه العملية، تتاح للنموذج الفرصة لتحديث معامِلاته الداخلية بناءً على كل عينة في البيانات مرة واحدة بالضبط. في سياق التعلم العميق، نادرًا ما يكون التمرير الفردي كافياً لكي تتعلم الشبكة العصبية الأنماط المعقدة بفعالية. لذلك، يتضمن التدريب عادةً حقبًا متعددة، مما يسمح لخوارزمية التعلم بتحسين فهمها بشكل تكراري وتقليل الخطأ بين تنبؤاتها والحقيقة الواقعية الفعلية.
دور الحقبات في التحسين#
الهدف الأساسي من التدريب هو ضبط أوزان النموذج لتقليل دالة خسارة محددة. تستخدم خوارزميات التحسين، مثل الحد الأدنى العشوائي للانحدار (SGD) أو مُحسّن Adam، الخطأ المحسوب خلال كل حقبة لتوجيه هذه التعديلات. مع زيادة عدد الحقب، ينتقل النموذج بشكل عام من حالة الخطأ المرتفع (التخمين العشوائي) إلى خطأ أقل (الأنماط المُتعلمة).
مع ذلك، يعد اختيار العدد الصحيح من الحقب جانبًا حاسمًا في ضبط المعلمات الفائقة.
- عدد قليل جداً من الحقب: قد يؤدي هذا إلى التجهيز الناقص، حيث لم يلتقط النموذج بعد الاتجاه الأساسي للبيانات.
- عدد كبير جداً من الحقب: يؤدي هذا غالباً إلى التجهيز الزائد، حيث يحفظ النموذج ضوضاء التدريب بدلاً من التعميم على بيانات جديدة. لمنع ذلك، يراقب المطورون غالباً الأداء على بيانات التحقق من الصحة ويستخدمون تقنيات مثل الإيقاف المبكر لوقف التدريب عندما يتوقف التعميم عن التحسن.
الحقبة مقابل الدفعة مقابل التكرار#
من الشائع أن يخلط المبتدئون بين مصطلح "الحقبة" والمصطلحات ذات الصلة. يعد فهم تسلسل هذه المفاهيم أمرًا ضروريًا لتكوين حلقات التدريب بشكل صحيح:
- الحقبة (Epoch): تمريرة كاملة واحدة عبر مجموعة البيانات بأكملها.
- الدُّفعة (Batch): مجموعة فرعية من مجموعة البيانات تتم معالجتها في وقت واحد. ونظراً لأن مجموعات البيانات غالباً ما تكون أكبر من أن تتسع في ذاكرة وحدة معالجة الرسومات (GPU) دفعة واحدة، يتم تقسيمها إلى مجموعات أصغر يحددها حجم الدُّفعة.
- التكرار (Iteration): تحديث واحد لأوزان النموذج. إذا كانت مجموعة البيانات تحتوي على 1000 صورة وكان حجم الدفعة 100، فسيستغرق الأمر 10 تكرارات لإكمال حقبة واحدة.
تطبيقات العالم الحقيقي#
يختلف عدد الحقبات المطلوبة بشكل كبير اعتماداً على تعقيد المهمة وحجم البيانات.
- تحليل الصور الطبية: في تحليل الصور الطبية، مثل اكتشاف الأورام في صور الرنين المغناطيسي، تكون الدقة ذات أهمية قصوى. النماذج المدربة لهذه المهام تعمل غالباً لمئات الحقب. يضمن هذا التدريب المكثف أن الشبكة العصبية التلافيفية (CNN) قادرة على تمييز الشذوذ الدقيق الذي يفصل الأنسجة الخبيثة عن الأنسجة السليمة، مما قد ينقذ الأرواح.
- القيادة الذاتية: بالنسبة لـ المركبات ذاتية القيادة، يجب أن تحدد نماذج كشف الكائنات بدقة المشاة والإشارات والمركبات الأخرى. يتضمن تدريب هذه الأنظمة القوية عادةً مجموعات بيانات ضخمة مثل COCO أو Objects365. على الرغم من أن حجم مجموعة البيانات ضخم، إلا أن النموذج لا يزال يتطلب حقبًا متعددة للتقارب نحو حل يعمم بشكل جيد على مختلف ظروف الطقس والإضاءة.
إدارة دورات التدريب برمجياً#
عند استخدام الأطر الحديثة مثل Ultralytics YOLO، يُعد تحديد عدد الحقب وسيطًا مباشرًا في أمر التدريب. يمكن لأدوات مثل Ultralytics Platform المساعدة في تصور منحنيات الخسارة خلال كل حقبة لتحديد نقطة الإيقاف المثلى.
يوضح المثال التالي كيفية تعيين عداد الحقب عند تدريب نموذج 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 مرة مميزة. خلال كل دورة، يقوم النموذج بإجراء التمرير الأمامي والتمرير العكسي لتحسين قدراته على الاكتشاف.






