Dropout في التدريب والتقييم يغير طريقة التعامل مع قيم التنشيط في الوحدة المحددة. أثناء التدريب تصفر nn.Dropout عناصر باحتمال p، وتحجّم المخرجات بعامل 1 ÷ (1 − p)؛ أثناء التقييم تكون الوحدة دالة هوية. [1]
الخلاصة السريعة
ميز احتمال الإسقاط من عدد العناصر الذي سقط فعليًا، وحدد وضع الوحدة؛ الحفاظ على قيمة متوقعة لا يعني الحفاظ على خرج كل مرور.
- في nn.Dropout تصفر عناصر أثناء التدريب باحتمال p، لا تحذف أوزانًا ثابتة من البنية؛ الاحتمال لا يفرض عددًا مطابقًا في كل قناع. [1]
- اخترنا p = 0.5 وقناعين يدويين لست قيم؛ مجموعا الخرج 40 و 44 مقابل مجموع دخل 42، فلا يلزم تطابق كل مرور مع الدخل.
- لعنصر قيمته 2، مع احتمال بقاء نصف وتحجيم باثنين، متوسط الخرج النظري 2؛ هذا توقع مشروط بالقيمة والقاعدة، وليس تجربة تكرارات نفذناها.
- في وضع تقييم nn.Dropout الموثق تمر القيم كما هي؛ لا يعني ذلك تعطيل حساب المشتقات أو إثبات أن بقية النموذج لا تتغير. [1]
ما الذي يعنيه احتمال الإسقاط؟
توثق الشفرة اختيار العناصر المصفرّة عشوائيًا في مرورات التدريب، وتحجيم الخرج، ثم الهوية عند التقييم. [1]
نقصد إسقاط قيم في مرور، لا اقتلاع وصلات من ملف المعاملات. إذا صار تنشيط صفريًا تحت قناع، لا نقول إن معامله حذف نهائيًا أو إن الوحدة ستبقى ساكنة بعد تغيير القناع.
نختار في تمريننا p = 0.5. لكل عنصر فرصة نصف للإسقاط؛ هذا لا يضع قيدًا يقول إن ثلاثة عناصر بالضبط يجب أن تسقط من كل مجموعة ذات ستة عناصر. عدد الإسقاط المرصود معلومة عن القناع الذي حدث، لا تعريف الاحتمال.
احسب المرور مع القناع والتحجيم
مدخلنا المصطنع ست قيم: 2 و 4 و 6 و 8 و 10 و 12، ومجموعها 42. نستعمل الواحد في القناع للبقاء والصفر للإسقاط؛ عامل التحجيم في المثال 2.
القناع الأول 1 و 0 و 1 و 0 و 0 و 1 يبقي القيم 2 و 6 و 12 قبل التحجيم. الخرج يصبح 4 وصفر و 12 وصفر وصفر و 24، ومجموعه 40. القناع الثاني 0 و 1 و 0 و 1 و 1 و 0 يعطي صفرًا و 8 وصفرًا و 16 و 20 وصفرًا، بمجموع 44.
اخترنا القناعين يدويًا، ولم نسحبهما من مولد عشوائي. كلاهما أسقط ثلاثة عناصر، لكن حتى هذين المرورين لا يحفظان مجموع الدخل منفردين. لا نقدمهما نتيجة تجربة تدريب.
| الحالة | مجموع القيم | كيف عرّفت؟ |
|---|---|---|
| الدخل | 42 | ست قيم ثابتة |
| القناع الأول | 40 | بقاء 1 و 3 و 6، وتحجيم 2 |
| القناع الثاني | 44 | بقاء 2 و 4 و 5، وتحجيم 2 |
التوقع النظري ليس قيمة كل خروج
نعزل عنصرًا قيمته 2. إذا سقط فخرجه صفر، وإذا بقي فخرجه 4 بعد التحجيم. تحت احتمالين متساويين يصبح المتوسط النظري نصف × صفر + نصف × 4 = 2. الحساب يخص قيمة دخل ثابتة بهذه القاعدة.
لا نستنتج أن تشغيلين سيعطيان صفرًا و 4 بهذا الترتيب، أو أن متوسط عدد محدود من المرورات يساوي 2 حرفيًا. كما أن حفظ متوسط هذا العنصر لا يثبت حفظ خرج دالة غير خطية لاحقة أو متوسط خسارة الشبكة.
ومصادفة أن متوسط مجموعي قناعينا 42 لا يحولهما إلى عينة عشوائية أو إثبات إحصائي. أعددناهما لتوضيح الفرق بين نتيجة محددة وتوقع نشتقه من الاحتمال.
افحص وضع الوحدة في التقييم
تمرر nn.Dropout في وضع التقييم مدخلها دون إسقاط أو تحجيم. [1]
في هذا المرور تكون قائمة مثالنا كما دخلت، ومجموعها 42. لا نضربها مرة أخرى في نصف بدعوى تعويض التدريب؛ القاعدة الموثقة نقلت التحجيم إلى مرحلة التدريب.
هذا وصف لهذه الوحدة فقط. لا يعني اختيار وضع التقييم أننا منعنا تتبع المشتقات، أو أثبتنا ثبات كل حساب آخر في النموذج. لم نشغل وحدة أو شبكة؛ عند مراجعة تنفيذ فعلي احفظ نوع الإسقاط وp والوضع والقيم التي فحصتها، دون استنتاج جودة تعميم من صحة هذا الحساب وحدها.
المصادر ومتابعة القراءة
- PyTorch 2.8.0: nn.Dropout (يفتح في نافذة جديدة)raw.githubusercontent.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
