تخطّي إلى المحتوى
Kudos AI

انحدار التدرّج العشوائي

انحدار تدرّج تستعمل فيه كل خطوة تدرّجَ عيّنة عشوائية صغيرة من البيانات لا البيانات كلها، فتبادل اتجاهًا مضبوطًا بعدد أكبر بكثير من الخطوات لكل وحدة حساب.

يُعرف أيضاً باسم: SGD, انحدار التدرّج بالدفعات الصغيرة

فهم انحدار التدرّج العشوائي

يحسب انحدار التدرّج بالدفعة الكاملة متوسطَ التدرّج على كل أمثلة التدريب قبل أن يخطو خطوة واحدة. وعلى أي حجم من البيانات فهذه طريقة باهظة لتعلّم رقم واحد. أما انحدار التدرّج العشوائي فيستبدل بالمتوسط على الأمثلة ‎n‎ كلها متوسطًا على عيّنة عشوائية من ‎B‎ منها تسمّى دفعة صغيرة، ثم يخطو فورًا.

والخاصية الجوهرية أن هذا الاستبدال لا يُدخل أي تحيّز. فلأن الدفعة الصغيرة تُسحب بانتظام، يكون توقّع تدرّجها هو التدرّج الكامل بالضبط. الدفعة الصغيرة لا تشير إلى وجهة مختلفة منهجيًا؛ بل تشير إلى الوجهة الصحيحة مضافًا إليها خطأ. وهذا مهم لفهم حجم الدفعة: السؤال ليس أبدًا أَتُخطئ الدفعة الصغيرة، بل كم من الضجيج يحتمل التدريب.

وما تشتريه الدفعة الأكبر هو الدقة، وتشتريه ببطء. فمتوسط مقدّرات مستقلة يقلّص تشتّتها بجذر عددها، فتربيع حجم الدفعة أربع مرات ينصّف الضجيج. وفي الأثناء تنمو كلفة الخطوة خطيًا مع الدفعة. وهذا التبادل - كلفة خطية ومنفعة جذرية - هو كل الحجة لصالح الدفعات الصغيرة وكثرة الخطوات، ولهذا يدرّب ‎SGD‎ بالدفعات الصغيرة، لا الانحدار بالدفعة الكاملة، كل النماذج الحديثة عمليًا.

والضجيج ليس مجانيًا. فبخطوة ثابتة لا يستقر المتكرِّر عند الأمثل أبدًا: كل خطوة تقبضه نحوه وتحقن فيه كذلك ضجيج معاينة جديدًا، وعند نصف قطر ما يتوازن الأمران. فيبلغ التنفيذ توزيعًا مستقرًا - كرةً حول الصغرى - ويلبث فيها. وتصغير الخطوة لا يصغّر الكرة إلا بجذره، فتنصيف معدّل التعلّم لا يشتري إلا نحو 30% من خفض الخطأ الباقي. والعلاج ليس خطوة ثابتة أصغر بل خطوة متضائلة.

كيفية الحساب

w_{t+1} = w_t − η_t · (1/B) Σ_{i ∈ B_t} ∇ℓ(w_t; x_i, y_i)

حيث

w_t
الوسائط عند الخطوة t
η_t
معدّل التعلّم، وقد يتضاءل مع t
B_t
الدفعة الصغيرة المسحوبة عند الخطوة t
B
حجم الدفعة الصغيرة
∇ℓ
تدرّج خسارة المثال الواحد

مثال على انحدار التدرّج العشوائي

في مسألة مربعات صغرى بـ400 نقطة ووسيطين، يساوي التدرّج الكامل عند نقطة الأصل ‎w = (0, 0)‎ القيمةَ ‎(−3.416495, 0.179597)‎. ومتوسط 20٬000 دفعة صغيرة مستقلة عند النقطة نفسها يعطي خطأ متوسط ‎0.032‎ عند ‎B = 8‎ و‎0.002‎ عند ‎B = 128‎ - بقيّة مونت كارلو تؤول إلى الصفر، وهذا ما يبدو عليه انعدام التحيّز حين يُقاس.

أما التشتّت فيسلك مسلكًا آخر. فالحجم المعتاد للضجيج ‎1.4382‎ عند ‎B = 8‎ و‎0.3027‎ عند ‎B = 128‎: ستة عشر ضعف الدفعة مقابل عامل ‎4.75‎ في الدقة، قريبًا من ‎√16 = 4‎ الذي يتنبأ به متوسط سحبات مستقلة، وفوقه لأن الدفعات تُسحب بغير إرجاع من ‎n = 400‎ نقطة فحسب، وذلك يتنبأ بـ‎4√(392/272) = 4.80‎.

وتشغيل المسألة نفسها إلى 120٬000 خطوة بخطوة ثابتة يكشف الأرضية. فمسافة جذر متوسط المربعات من الأمثل تستقر عند ‎0.109343‎ لـ‎η = 0.20‎ وعند ‎0.026497‎ لـ‎η = 0.0125‎. والملاءمة على هذا المدى ذي العامل ستة عشر تعطي أسًّا قدره ‎0.5090‎ - فنصف القطر ينمو بمقدار ‎√η‎. واستبدال ‎η_t = 0.20/(1 + t/500)‎ بالخطوة الثابتة يبلغ بالتنفيذ نفسه ‎0.009909‎، أي أقرب أحد عشر ضعفًا، دون تغيير في البيانات ولا في المعدّل الابتدائي.

المزايا والعيوب

المزايا

  • تتقدّم بعد حفنة أمثلة لا بعد مرور كامل على البيانات.
  • تتوسّع إلى بيانات لا تسع الذاكرة، إذ لا يُحمَّل في كل مرة إلا دفعة.
  • ضجيج التدرّج يعين المسار على الإفلات من نقاط السرج، وهي الغالبة على سطوح الخسارة عالية الأبعاد.

العيوب

  • بخطوة ثابتة لا تتقارب قط، بل تستقر في كرة ضجيج فحسب.
  • الخطأ الباقي لا يتناقص إلا بجذر حجم الخطوة، وهي مقايضة رديئة.
  • تضيف حجم الدفعة إلى قائمة الوسائط الفائقة المتفاعلة مع معدّل التعلّم.

الأسئلة الشائعة

هل «انحدار التدرّج العشوائي» مثال واحد في الخطوة أم دفعة صغيرة؟

بالمعنى الدقيق تستعمل الطريقة الأصلية مثالًا واحدًا في الخطوة. أما عمليًا فيُطلق الاسم على صيغة الدفعات الصغيرة، بدفعات من عشرات إلى آلاف، وهي ما تنفّذه كل أطر التعلّم العميق. والرياضيات واحدة؛ ولا يختلف إلا مقدار الضجيج.

لماذا لا نكتفي بمعدّل تعلّم ثابت صغير جدًا؟

لأن الخطأ الباقي ينمو بجذر حجم الخطوة، فخفضٌ بعامل ستة عشر لا يشتري إلا تحسّنًا بعامل أربعة - ويبطئ الاقتراب بالعامل ستة عشر نفسه. أما الجدول المتضائل فيحصّل الأمرين: خطوات كبيرة مبكرًا للسفر، وصغيرة متأخرًا للاستقرار.

هل الدفعة الأكبر تدرّب دائمًا تدريبًا أفضل؟

تدرّب بضجيج أقل في الخطوة، لكن الضجيج لا يتناقص إلا بالجذر بينما تنمو كلفة الخطوة خطيًا، فالحساب نفسه يبلغ أبعد عادةً بخطوات أكثر وأشد ضجيجًا. كما تحتاج الدفعات الكبيرة جدًا إلى رفع معدّل التعلّم تعويضًا، وضجيج التدرّج الذي تزيله جزء مما يعين على التعميم.

الخلاصة

ينجح انحدار التدرّج العشوائي لأن تدرّج الدفعة الصغيرة هو التدرّج الكامل زائد ضجيج، لا تدرّجًا آخر. وكل ما يميّزه - رخص الخطوة، وأرضية الضجيج التي تستقر عندها الخطوة الثابتة، والجدول الذي يزيل تلك الأرضية - يتبع هذه الحقيقة وحدها.