تقليل الخسارة: انحدار التدرج العشوائي

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

من المحتمل أن تحتوي مجموعة البيانات الكبيرة التي تحتوي على أمثلة مأخوذة عشوائيًا على بيانات متكررة. في الواقع، يصبح التكرار أكثر احتمالاً مع زيادة حجم الدفعة. ويمكن أن يكون بعض التكرار مفيدًا لتخفيف التدرجات الصاخبة، إلا أن الدفعات الضخمة لا تحمل قيمة تنبؤية أكثر من الدفعات الكبيرة.

ماذا لو تمكّنا من الحصول على التدرج الصحيح في المتوسط لإجراء عمليات حسابية أقل بكثير؟ من خلال اختيار أمثلة عشوائية من مجموعة البيانات الخاصة بنا، يمكننا تقدير (وإن كان، بصوت مرتفع) متوسط كبير من أصغر بكثير. تأخذ دالة انحدار التدرج العشوائي (SGD) هذه الفكرة إلى أقصى الحدود، فهي تستخدم مثالاً واحدًا فقط (حجم كل دفعة 1) لكل تكرار. ومع التكرارات الكافية، تعمل SGD ولكنها مزعجة للغاية. ويشير مصطلح "stochastic" إلى أنه يتم اختيار المثال الوحيد الذي يتألف من كل دفعة بشكل عشوائي.

خوارزمية انحدار التدرج العشوائي لدفعة صغيرة (SGD بتصميم مصغّر) هو حلّ وسط بين التكرار الكامل للدفعة وتسديدة سنغافورة (SGD). عادةً ما تتراوح الدفعة الصغيرة بين 10 و1000 مثال، يتم اختيارها عشوائيًا. يقلل SGD الصغير من كمية التشويش في SGD ولكنه لا يزال أكثر كفاءة من الدفعة الكاملة.

لتبسيط التفسير، ركزنا على انحدار التدرج لميزة واحدة. أؤكد لك أنّ خوارزمية انحدار التدرج تعمل أيضًا على مجموعات الخصائص التي تحتوي على عدة خصائص.