التعلم العميق / المعماريات وديناميات التدريب / الدرس 12
تشخيص ديناميات التدريب
استخدم فحوص الحدود والملاءمة المضبوطة وأدلة التدرج لعزل فشل التدريب.
في هذه الصفحة
أهداف الدرس
- فصل أخطاء البيانات والهدف والمشتقة والتحديث.
- تفسير القص وملخصات التدرج الصفري.
- تصميم فحص تعلم حتمي على مجموعة صغيرة.
احتفظ بأول حد يفشل
قد يبدأ الفشل في فك البيانات أو تحجيمها أو طبقة أو هدف أو مرور عكسي أو تحديث. احفظ أول قيمة غير منتهية أو شكل غير متوقع، لا الخسارة النهائية وحدها. سجل المدخل الاصطناعي والمعاملات والوضع والاختزال وحالة التحديث اللازمة للإعادة. افحص محاذاة الأهداف قبل تعديل المعمارية. قد تأتي الخسارة الثابتة من رسم مفصول أو معاملات لا تتغير، أو من تقريب العرض أو منطقة محلية مسطحة. حول الملاحظة إلى فرضيات متنافسة قابلة للفحص.
لائم مجموعة حتمية صغيرة كاختبار مضبوط
تكشف مجموعة تدريب ثابتة مع تعطيل التحويلات العشوائية قدرة المسار على خفض هدفه. اختر مهمة تستطيع المعمارية تمثيلها وافحص التنبؤات الأولية وقارن خسارة مستقلة. يوجه فشل الملاءمة نحو التنفيذ أو المقياس أو التحسين، لكن النجاح لا يثبت التعميم ولا ينفي التسرب. ثبت ترتيب البيانات واعرض دقة كافية. بعد النجاح أضف الدفعات والعشوائية وحالة التطبيع والجدولة تدريجياً، كي يكون لأول تغير في السلوك سبب قابل للتفسير.
افهم ما يغيره قص التدرج
يعيد قص المعيار الكلي تحجيم متجه تدرج منتهٍ إذا تجاوز معياره الإقليدي حداً مختاراً. يحافظ المثال على الاتجاه ويخفض الطول من خمسة إلى اثنين. يختلف قص كل عنصر مستقلاً لأنه يغير الإحداثيات بنسب مختلفة. قد يفيد القص في ضبط إسهام التحديث، لكنه لا يستعيد تدرجاً مفقوداً أو يصحح الوسوم أو يعالج القيم غير المنتهية بصورة موثوقة. يرتبط الحد بمقياس الخسارة والتراكم والدقة. حدد موضعه بعد التراكم وإلغاء التحجيم المطلوب وقبل المحسن.
from math import sqrt
gradient = [3.0, 4.0]
limit = 2.0
norm = sqrt(sum(g*g for g in gradient))
scale = min(1.0, limit/norm)
clipped = [g*scale for g in gradient]
print(f"before={norm:.1f}")
print([round(g,2) for g in clipped])
print(f"after={sqrt(sum(g*g for g in clipped)):.1f}")
before=5.0
[1.2, 1.6]
after=2.0
يعيد قص المعيار الكلي تحجيم المتجه كله ويحفظ اتجاه التدرج المنتهي غير الصفري.
افحص التوزيعات والمسارات لا معياراً واحداً
قد يخفي المعيار الكلي طبقة صفرية المشتقات أو عناصر قليلة متطرفة. يعرض المثال تحقق المنتهية والصفر الكلي لمجموعتين اصطناعيتين. لفهم الصفر افحص تشبع التنشيط ونشاط المقومات وتغير المعاملات واتصالات الرسم. يجب أن تبقى المجموعة المجمدة عمداً ثابتة، بخلاف مجموعة trainable فُصلت عرضاً. لا تميز المعايير وحدها بين الحالتين. قارن التدرجات بالتحديثات الفعلية؛ فقد تغير حالة المحسن أو الاضمحلال أو مجموعة معاملات مهملة العلاقة بينهما.
from math import isfinite
layers = {"hidden": [0.0, 0.0], "output": [0.25, -0.5]}
for name, values in layers.items():
print(name, "finite", all(isfinite(v) for v in values),
"all_zero", all(v == 0 for v in values))
hidden finite True all_zero True
output finite True all_zero False
تحدد الملخصات حداً ذا تدرج صفري اصطناعي، ولا تكشف سببه دون تتبع الرسم الأمامي.
يجب أن يتنبأ الإصلاح بنتيجة مرصودة
إذا افترضت انفصال طبقة مخفية، فيجب أن يعيد وصلها التدرجات المتوقعة في مثال معلوم. وإذا افترضت كبر الخطوة، فيجب أن يغير تصغيرها المضبوط نمط التباعد دون تغيير فحص المشتقة. وإذا تعلقت المشكلة بالحشو، فيجب أن تتوقف إضافته عن تغيير التنبؤات الصالحة. احفظ الدليل قبل الإصلاح وبعده ولا تغير آليات متعددة معاً. أعد تقييم التعميم بعد فهم التدريب. تقدم الفحوص دليلاً محلياً للصحة، ولا تشهد بسلامة نموذج حقيقي أو فائدته.
الأخطاء الشائعة وإصلاحها
استُخدم القص فور ظهور خسارة غير صالحة
- لماذا يحدث؟
- لم يُحدد موضع العملية غير المنتهية الأصلي.
- كيف تصلحه؟
- افحص الحدود الأمامية وأعد أول قيمة غير صالحة.
- كيف تتجنب تكراره؟
- احتفظ بتحققات المنتهية في مسار صغير حتمي.
أخفى المعيار الكبير مجموعة مخفية ثابتة
- لماذا يحدث؟
- حجب التجميع توزيع التدرجات والتحديثات.
- كيف تصلحه؟
- افحص المجموعات المسماة ومساراتها المتوقعة.
- كيف تتجنب تكراره؟
- اختبر وجود التدرج وتغير المعامل كلّاً على حدة.
عُرضت ملاءمة مجموعة صغيرة كجودة للنموذج
- لماذا يحدث؟
- اختلط حفظ التدريب بالتعميم.
- كيف تصلحه؟
- استخدمها لتشخيص التنفيذ فقط.
- كيف تتجنب تكراره؟
- افصل سجل صحة التدريب عن تقييم البيانات المحجوزة.
اختبر فهمك
1. احسب قص المتجه (6,8) بحد معيار كلي خمسة.
اعرض الحل المشروح
معياره عشرة؛ نضرب الإحداثيين بنصف فنحصل على (3,4) ومعياره خمسة مع حفظ الاتجاه. أما قص كل عنصر إلى خمسة فيعطي (5,5)، وهو اتجاه ومعيار مختلفان.
2. مجموعة مخفية بلا تدرج ومجموعة خرج تتغير؛ ما الفحص التالي المفيد؟
اعرض الحل المشروح
ثبت مدخلاً وافحص التنشيطات والاتصال وسياسة التجميد. اختر معاملات بعيدة عن انكسارات المقوم وقارن مشتقة مخفية عددياً عند ملاءمة ذلك. تحقق من إدراج المعاملات في المحسن؛ فتغيير معدل التعلم لا يصل مساراً مفصولاً.
أهم ما تعلمته
- حدد أول حساب يفشل.
- تحتاج الملخصات الكلية سياق الطبقات والتحديثات.
- ينبغي أن يتنبأ كل إصلاح بتغير محدد قابل للرصد.