التعلم العميق / المعماريات وديناميات التدريب / الدرس 8
الدفعات الصغيرة وتراكم التدرج والجداول
احفظ أوزان الهدف وعدد التحديثات عند تغيير طريقة معالجة الأمثلة.
في هذه الصفحة
أهداف الدرس
- حساب تراكم موزون بعدد الأمثلة.
- تمييز الحقبة والدفعة الجزئية وتحديث المحسن.
- تعريف فهرسة الجدول وحالة الاستئناف بدقة.
تقدر الدفعة هدفاً معلناً
لهدف متوسط الخسارة لكل مثال، يساوي تدرج الدفعة متوسط مشتقات أمثلتها عند حالة المعاملات الحالية. تؤثر سياسة السحب في هذا التقدير؛ فقد تغير موازنة الفئات أو تكرار الأمثلة أو حذف الدفعة الأخيرة الأوزان الفعلية. تغير الدفعة الأكبر الضجيج وكلفة التحديث وعدد التحديثات في الحقبة، ولا تبرر تلقائياً ضرب معدل التعلم بعامل عام. وثق وحدة السحب والاستبدال وسياسة آخر دفعة ومقام الهدف. الحقبة مرور محدد بالبيانات، وخطوة المحسن تحديث واحد للمعاملات.
يجمع التراكم المشتقات قبل التعديل
يعالج تراكم التدرج دفعات جزئية متعددة مع تثبيت المعاملات، ثم يجمع إسهاماتها قبل تحديث واحد. إذا اختلفت أحجامها اختلف متوسط متوسطاتها عن متوسط جميع الأمثلة. يظهر المثال الفرق بثلاثة تدرجات عددية في مجموعتين حجماهما اثنان وواحد. أعد تكوين البسط والمقام المعلنين بدلاً من القسمة على عدد ثابت من الاستدعاءات. قد يكافئ التراكم دفعة أكبر بشروط مناسبة، لكن التطبيع المعتمد على الدفعة والعمليات العشوائية قد يمنعان تطابق الحساب الكامل.
gradients = [[1.0, 3.0], [5.0]]
weighted = sum(sum(g) for g in gradients) / sum(map(len, gradients))
unweighted = sum(sum(g)/len(g) for g in gradients) / len(gradients)
print(f"sample mean={weighted:.1f}")
print(f"mean of batch means={unweighted:.1f}")
sample mean=3.0
mean of batch means=3.5
تحتاج الدفعات الجزئية غير المتساوية ترجيحاً بعدد الأمثلة لمطابقة المتوسط عند حالة معاملات واحدة.
لا تخلط التراكم بالتحديث المتتابع
إذا تغيرت المعاملات بعد كل دفعة جزئية حُسبت المشتقات التالية عند حالات جديدة، فيختلف المسار ولو رأى الأمثلة نفسها. وقد يحدث المحسن ذو الحالة عزومه وعداده في كل استدعاء. صفر مخازن التدرج عند حد التراكم المقصود، واقصص التدرج المجمع عند الحاجة، وقدم الجدول عند الحدث الموثق. تحتاج نافذة التراكم الأخيرة الناقصة سياسة تطبيع صريحة؛ فإهمالها أو قسمتها على مقام النافذة الكاملة يغير إسهام أمثلتها.
الجدول دالة في ساعة محددة
قد يعتمد جدول معدل التعلم على تحديثات المحسن أو الحقب أو عدد الأمثلة أو حدث تحقق. يحدد المثال ستة معدلات للتحديث مع إحماء يمتد تحديثين ثم انخفاض جيبي. تتبع النهاية وتكرار القمة الفهرسة المختارة ولا يمثلان وصفة مثلى. تقديم الجدول لكل دفعة جزئية يسرعه خطأً عند التراكم. احفظ عداده وحالته المعتمدة على المقاييس مع المحسن، وافحص القيم الأولى والانتقالية والأخيرة قبل تجربة طويلة.
from math import cos, pi
base, warmup, total = 0.1, 2, 6
for step in range(total):
if step < warmup:
rate = base * (step + 1) / warmup
else:
progress = (step - warmup) / (total - warmup - 1)
rate = base * 0.5 * (1 + cos(pi * progress))
print(f"step={step}, lr={rate:.3f}")
step=0, lr=0.050
step=1, lr=0.100
step=2, lr=0.100
step=3, lr=0.075
step=4, lr=0.025
step=5, lr=0.000
يحدد الجدول فهرسته صراحة ويبلغ الصفر عند آخر تحديث معروض.
قارن أكثر من رقم الحقبة
قد تنفذ تجربتان بعدد حقب متساوٍ عددين مختلفين من التحديثات عند تغيير حجم الدفعة. قارن الأمثلة المعالجة والتحديثات وأوزان الهدف والجدول عند نقطة مكافئة. تهم الذاكرة والإنتاجية لكن يجب قياسهما في البيئة الفعلية؛ ولا يدعي المساق أداء جهاز معين. احفظ هويات العينات أو ترتيباً حتمياً لاسترجاع الدفعة التالية. عند اختلاف النتائج، تحقق أولاً هل تغير الإجراء الرياضي للتدريب قبل عزوه إلى العتاد أو العشوائية أو سعة النموذج.
الأخطاء الشائعة وإصلاحها
خالف التراكم متوسط الدفعة الكاملة
- لماذا يحدث؟
- أُعطيت متوسطات دفعات غير متساوية أوزاناً متساوية.
- كيف تصلحه؟
- زن كل إسهام بعدد أمثلته الصالحة.
- كيف تتجنب تكراره؟
- قارن دفعة أخيرة ناقصة ببسط كامل صريح.
انتهى الإحماء قبل التحديث المقصود
- لماذا يحدث؟
- تقدم العداد عند كل دفعة جزئية.
- كيف تصلحه؟
- قدمه عند حد تحديث المحسن الموثق.
- كيف تتجنب تكراره؟
- سجل عدادي الدفعات الجزئية والتحديثات.
ضعف تأثير الأمثلة الأخيرة
- لماذا يحدث؟
- حُذفت النافذة الناقصة أو استُخدم مقام كامل لها.
- كيف تصلحه؟
- طبع بالعدد الصالح الفعلي وطبق التحديث المطلوب.
- كيف تتجنب تكراره؟
- اختبر أطوال بيانات غير قابلة للقسمة بالتساوي.
اختبر فهمك
1. متوسطا تدرج دفعتين حجماهما اثنان وواحد هما 2 و5. ما المتوسط المجمع؟
اعرض الحل المشروح
البسط 2*2+1*5=9 والمقام ثلاثة، فيكون المتوسط ثلاثة. يعطي متوسط 2 و5 القيمة 3.5 ويزن المثال الواحد بوزن المثالين معاً. يجب أن تبقى المعاملات ثابتة أثناء اشتقاق الإسهامات.
2. يجمع التدريب أربع دفعات جزئية لكل تحديث ويستخدم إحماء مئة تحديث. متى يتقدم عداده؟
اعرض الحل المشروح
يتقدم بعد كل تحديث محسن وفق هذا التعريف؛ فتستهلك مئة تحديث عادة أربعمئة دفعة جزئية كاملة. تحتاج النوافذ الناقصة والتحديثات المتجاوزة سياسة معلنة. تقديمه لكل دفعة ينهي الإحماء بعد خمسة وعشرين تحديثاً فقط.
أهم ما تعلمته
- راكم بسط الهدف ومقامه بأمانة.
- تختلف ساعة تحديث المحسن عن المرور بالبيانات.
- يحتاج الجدول فهرسة صريحة وحالة مسترجعة.