تخيّل أنك تراجع كتابًا دراسيًا استعدادًا لامتحان. قراءة الكتاب كاملًا مرة واحدة هي حقبة (epoch). لكنك لا تحفظ كل شيء دفعة واحدة: بل تدرس فصلًا بعد فصل — وكل فصل هو دفعة (batch). وفي كل مرة تنهي فيها فصلًا وتعدّل فهمك، يكون ذلك تكرارًا (iteration). تنظّم هذه المفاهيم الثلاثة إيقاع التعلّم في الشبكة العصبية.
الوحدات الثلاث بدقّة
- الحقبة (Epoch): مرور كامل واحد على مجموعة بيانات التدريب بأكملها. بعد حقبة واحدة، يكون النموذج قد "رأى" كل مثال مرة واحدة.
- الدفعة (Batch): مجموعة جزئية من البيانات تُعالَج معًا قبل تحديث الأوزان. ويُسمّى حجمها حجم الدفعة.
- التكرار (Iteration): تحديث واحد للأوزان، يقابل معالجة دفعة واحدة.
العلاقة العددية
إذا رمزنا بـ $N$ إلى العدد الكلّي للأمثلة وبـ $B$ إلى حجم الدفعة، فإن عدد التكرارات في كل حقبة يساوي:
$$\text{iterations per epoch} = \left\lceil \frac{N}{B} \right\rceil$$
| المصطلح | الوحدة | هل يُطلق تحديثًا للأوزان؟ |
|---|---|---|
| التكرار | دفعة واحدة | نعم (مرة واحدة) |
| الحقبة | كامل البيانات | نعم (عدة مرات) |
| حجم الدفعة | عدد الأمثلة | يحدّد دقّة التقسيم |
مثال: مع $N = 10\,000$ مثال و $B = 100$، تحتوي الحقبة الواحدة على $100$ تكرار. وعلى مدى $20$ حقبة، ينفّذ النموذج $2\,000$ تحديث إجمالًا.
لماذا يهمّ هذا
الدفعة الكبيرة جدًا تُنعّم التدرّج لكنها تستهلك الذاكرة؛ والصغيرة جدًا تجعل التعلّم مشوّشًا لكنها قد تحسّن التعميم. أمّا عدد الحقب فيوازن بين نقص التعلّم (قليلة جدًا) وفرط التعلّم (كثيرة جدًا).
الحقبة والدفعة والتكرار لا تصف ما الذي يتعلّمه النموذج، بل بأيّ وتيرة يتعلّم.