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

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

يمكن تتبع الفكرة الأساسية وراء التقريب العشوائي إلى خوارزمية روبنز-مونرو في خمسينيات القرن العشرين. واليوم، أصبح الانحدار العشوائي التدرّجي أداة تحسين مهمة في تعلم الآلة.

## الخلفية
تتناول كل من إحصاء تقدير M وتعلم الآلة مسألة استمثال دالة الخسارة التي تأخذ شكل مجموع:

Q(w) = \frac{1}{n}\sum\_{i=1}^n Q\_i(w),

حيث إن w هو إحصاء معلمي يُراد تقديره من خلال تقليل Q(w). وغالبًا ما تكون كل دالة جزئية Q\_i مرتبطة بـوحدة رصد معينة في مجموعة بيانات (تُستخدم للتدريب).

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

كما تظهر مسألة تقليل المجموع أيضًا في تقليل المخاطر التجريبي، حيث إن Q\_i(w) تمثل قيمة دالة الخسارة في المثال رقم i، وQ(w) تمثل المخاطرة التجريبية.

عند استخدام خوارزمية خوارزمية أصل التدرج التقليدية (أو "الدفعة الكاملة") لتقليل الدالة أعلاه، فإنها تُجري التكرارات التالية:

w := w - \eta,\nabla Q(w) = w - \frac{\eta}{n} \sum\_{i=1}^n \nabla Q\_i(w).

حيث ترمز \eta إلى حجم الخطوة (ويُطلق عليه أحيانًا *[[معدل التعلم]]* في تعلم الآلة)، بينما يشير ":=" إلى تحديث قيمة المتغير في الخوارزمية.

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

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

## طريقة تكرارية
تصغير|يسار|تقلبات في دالة الهدف الكلية أثناء اتخاذ خطوات الانحدار بالنسبة إلى الدفعات الصغيرة.

في الانحدار العشوائي التدرجي (أو "عبر الإنترنت")، يتم تقريب التدرج الحقيقي لـ Q(w) بواسطة تدرج لعينة واحدة:
w := w - \eta\, \nabla Q_i(w).
بينما يجتاز الخوارزم مجموعة التدريب، فإنه يُجري التحديث أعلاه لكل عينة تدريب. يمكن إجراء عدة مرات مرور على مجموعة التدريب حتى تتقارب الخوارزمية. وإذا تم ذلك، يمكن خلط البيانات لكل مرور لمنع التكرار. قد تستخدم التطبيقات النموذجية معدل التعلم حتى تتقارب الخوارزمية.

في الشيفرة الكاذبة، يمكن تقديم الانحدار التدرجي العشوائي على النحو التالي:


* اختر متجهًا ابتدائيًا للمعاملات w ومعدل تعلم \eta.
* كرر حتى يتم الحصول على حد أدنى تقريبي:
** قم بخلط عينات مجموعة التدريب عشوائيًا.
** من أجل  i=1, 2, ..., n، قم بما يلي:
***  w := w - \eta\, \nabla Q_i(w).



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

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

## الانحدار الخطي
لنفترض أننا نرغب في ملاءمة خط مستقيم \hat y = w_1 + w_2 x لمجموعة تدريب تحتوي على مشاهدات ((x_1, y_1), (x_2, y_2) \ldots, (x_n, y_n)) والاستجابات المقدرة المقابلة (\hat y_1, \hat y_2, \ldots, \hat y_n) باستخدام طريقة المربعات الدنيا. دالة الهدف المطلوب تقليلها هي:
Q(w) = \sum_{i=1}^n Q_i(w) = \sum_{i=1}^n \left(\hat y_i - y_i\right)^2 = \sum_{i=1}^n \left(w_1 + w_2 x_i - y_i\right)^2.

السطر الأخير في الشيفرة الكاذبة أعلاه، لهذا المثال المحدد، سيصبح:
\begin{bmatrix} w_1 \\ w_2 \end{bmatrix} \leftarrow
 \begin{bmatrix} w_1 \\ w_2 \end{bmatrix}
 - \eta \begin{bmatrix} \frac{\partial}{\partial w_1} (w_1 + w_2 x_i - y_i)^2 \\
   \frac{\partial}{\partial w_2} (w_1 + w_2 x_i - y_i)^2 \end{bmatrix} =
 \begin{bmatrix} w_1 \\ w_2 \end{bmatrix}
 -  \eta  \begin{bmatrix} 2 (w_1 + w_2 x_i - y_i) \\ 2 x_i(w_1 + w_2 x_i - y_i) \end{bmatrix}.

لاحظ أنه في كل تكرار أو خطوة تحديث، يتم حساب التدرج فقط عند نقطة واحدة x_i. وهذا هو الفرق الجوهري بين الانحدار التدرجي العشوائي والانحدار التدرجي المجمع (الدفعي).

بشكل عام، بالنظر إلى مسألة انحدار خطي \hat y = \sum_{k\in 1:m} w_k x_k، يتصرف الانحدار التدرجي العشوائي بشكل مختلف عندما m  (أقل من المطلوب) وعندما m \geq n (زيادة في المعلمات). في حالة زيادة المعلمات، يتقارب الانحدار التدرجي العشوائي إلى
\arg\min_{w: w^T x_k =y_k \forall k \in 1:n} \|w - w_0\|،
أي أنه يتقارب إلى حل التقاطع الذي يكون أقرب ما يكون إلى نقطة البدء w_0. هذا صحيح حتى عندما يبقى معدل التعلم ثابتًا. أما في حالة قلة المعلمات، فلا يتقارب الانحدار التدرجي العشوائي إذا بقي معدل التعلم ثابتًا.

## التاريخ
في عام 1951، قدم هربرت روبنز وساتون مونرو أوائل طرق التقريب العشوائي، والتي سبقت خوارزمية التدرج العشوائي. وبناءً على هذا العمل، نشر جاك كيفر ويعقوب وولفوفيتز بعد عام واحد خوارزمية كيفر–وولفوفيتز، وهي خوارزمية تحسين شبيهة جداً بخوارزمية التدرج العشوائي، مستخدمين الفرق المحدود كطريقة تقريبية للمشتقة. لاحقاً في خمسينيات القرن العشرين، استخدم فرانك روزنبلات خوارزمية التدرج العشوائي لتحسين أداء بيرسيبترون الخاص به، مظهراً أول تطبيق عملي لها على الشبكات العصبية.

تم وصف الانتشار الخلفي لأول مرة عام 1986، باستخدام التدرج العشوائي لتحسين معلمات الشبكات العصبية ذات الطبقات المتعددة بكفاءة. وسرعان ما تم تطوير تحسين آخر: التدرج باستخدام دفعات صغيرة ، حيث يتم استبدال العينة الواحدة بدفعات صغيرة من البيانات. في عام 1997، تم استكشاف الفوائد العملية من التفرعة  التي توفرها هذه الدفعات الصغيرة لأول مرة، مما مهد الطريق لتحسينات فعالة في تعلم الآلة. وحتى عام 2023، لا يزال هذا الأسلوب (الدفعات الصغيرة) هو السائد في تدريب الشبكات العصبية، لأنه يجمع بين مزايا التدرج العشوائي وخوارزمية أصل التدرج التقليدية.

بحلول الثمانينيات، كان الزخم في تعلم الآلة قد أُدخل مسبقاً، وتم دمجه في تقنيات تحسين التدرج العشوائي عام 1986. ومع ذلك، كانت هذه الأساليب تفترض ثوابت المعلمات الفائقة. أي أن معدل التعلم ومعامل الزخم ثابتان. في العقد الثاني من القرن الحادي والعشرين، ظهرت أساليب تكيفية لتطبيق التدرج العشوائي مع معدلات تعلم مخصصة لكل معلمة، مثل خوارزمية AdaGrad ("التدرج التكيفي") عام 2011 وخوارزمية RMSprop ("جذر متوسط التربيع للتدرج") عام 2012. وفي عام 2014، ظهرت خوارزمية Adam ("تقدير العزم التكيفي") التي دمجت خصائص RMSprop والزخم؛ وقد طُورت منها لاحقاً عدة تحسينات وفروع مثل Adadelta وAdagrad وAdamW وAdamax.

في عام 2023، تهيمن خوارزميات التحسين المستمدة من Adam على أساليب التحسين في تعلم الآلة. وتعد مكتبتا TensorFlow وPyTorch أشهر مكتبتين في هذا المجال، حيث تدعمان في الغالب خوارزميات من نوع Adam، بالإضافة إلى الخوارزميات السابقة مثل RMSprop والتدرج العشوائي التقليدي. كما تدعم PyTorch جزئياً خوارزمية *L-BFGS*، وهي طريقة تعتمد على البحث الخطي، لكن فقط في الحالات التي تستخدم جهازاً واحداً ولا تتضمن مجموعات من المعلمات.

## التطبيقات البارزة

يُعد الانحدار العشوائي التدرجي خوارزمية شائعة لتدريب مجموعة واسعة من النماذج في مجال تعلم الآلة، بما في ذلك آلات شعاع الدعم الآلي (الخطية)، والانحدار اللوجستي، والنماذج الرسومية. وعند دمجه مع خوارزمية انتشار خلفي، فإنه يُعد الخوارزمية المعيارية *de facto* لتدريب الشبكات العصبية الاصطناعية. وقد تم الإبلاغ عن استخدامه أيضًا في مجتمع فيزياء الأرض، وتحديدًا في تطبيقات الانعكاس الكامل لشكل الموجة (FWI).

يتنافس الانحدار العشوائي التدرجي مع خوارزمية الذاكرة المحدودة BFGS، والتي تُستخدم أيضًا على نطاق واسع. وقد استُخدم الانحدار العشوائي التدرجي منذ ستينيات القرن العشرين على الأقل في تدريب نماذج الانحدار الخطي، وكان يُعرف في الأصل باسم ADALINE.

ومن الخوارزميات الأخرى المرتبطة بالانحدار العشوائي التدرجي مرشح المتوسطات الأقل تربيعًا التكيفي.

## الامتدادات والمتغيرات
تم اقتراح العديد من التحسينات على خوارزمية الانحدار التدرجي العشوائي الأساسية واستخدامها. في مجال تعلم الآلة خصوصًا، اعتُرف بأن الحاجة إلى تعيين معدل التعلم (حجم الخطوة) تمثل مشكلة. فإذا كان هذا المعامل كبيرًا جدًا فقد يؤدي إلى تباعد الخوارزمية، وإذا كان صغيرًا جدًا فسيجعلها بطيئة في التقارب.
امتداد بسيط من الناحية المفاهيمية للانحدار التدرجي العشوائي يجعل معدل التعلم دالة تناقصية \eta_t لعدد التكرارات t، مما يعطي ما يُعرف بـ"جدول معدل التعلم"، بحيث تؤدي التكرارات الأولى إلى تغييرات كبيرة في المعلمات، بينما تقوم التكرارات اللاحقة بالتنقيح فقط. وقد عُرفت هذه الجداول منذ عمل ماكوين على خوارزمية تصنيفية. إرشادات عملية لاختيار حجم الخطوة في عدة متغيرات من SGD قدمها سبال.

### التحديثات الضمنية
كما ذُكر سابقًا، فإن الانحدار التدرجي العشوائي التقليدي حساس عمومًا لمعدل التعلم \eta. فالتقارب السريع يتطلب معدلات تعلم كبيرة، لكن هذا قد يسبب عدم استقرار عددي. يمكن حل هذه المشكلة إلى حد كبير من خلال استخدام "تحديثات ضمنية"، حيث يُقيّم التدرج العشوائي عند التكرار التالي بدلًا من الحالي:

w^\text{new} := w^\text{old} - \eta\, \nabla Q_i(w^\text{new}).

هذه المعادلة ضمنية لأن w^\text{new} يظهر على كلا الجانبين. وهي تمثل صيغة تصادفية من طريقة التدرج القربي لأنها يمكن أن تُكتب أيضًا كالتالي:

w^\text{new} := \arg\min_w \left\{ Q_i(w) + \frac{1}{2\eta} \left\|w - w^\text{old}\right\|^2 \right\}.

كمثال، لنأخذ حالة المربعات الصغرى مع سمات x_1, \ldots, x_n \in\mathbb{R}^p ومشاهدات y_1, \ldots, y_n\in\mathbb{R}. نرغب في حل:

\min_w \sum_{j=1}^n \left(y_j - x_j'w\right)^2

حيث يشير x_j' w = x_{j1} w_1 + x_{j, 2} w_2 + ... + x_{j,p} w_p إلى الضرب الداخلي. لاحظ أن x يمكن أن يحتوي على "1" كأول عنصر لإدراج الحد الثابت. يعمل الانحدار التدرجي العشوائي التقليدي كالتالي:

w^\text{new} = w^\text{old} + \eta \left(y_i - x_i'w^\text{old}\right) x_i

حيث يُؤخذ i بشكل عشوائي منتظم بين 1 و n. على الرغم من أن التقارب النظري لهذه الطريقة يحدث في ظل افتراضات معتدلة نسبيًا، إلا أنها قد تكون غير مستقرة عمليًا. خصوصًا إذا تم تعيين \eta بشكل خاطئ بحيث أن I - \eta x_i x_i' له قيم ذاتية كبيرة نسبيًا، فقد تتباعد الطريقة عدديًا خلال بضع تكرارات. في المقابل، يمكن حل طريقة "الانحدار التدرجي العشوائي الضمني" (ISGD) بشكل مغلق كالتالي:

w^\text{new} = w^\text{old} + \frac{\eta}{1 + \eta \left\|x_i\right\|^2} \left(y_i - x_i'w^\text{old}\right) x_i.

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

على الرغم من أن الحل المغلق للتحديثات الضمنية ممكن فقط في حالة المربعات الصغرى، إلا أنه يمكن تنفيذ هذه الطريقة بكفاءة في مجموعة واسعة من النماذج. تحديدًا، لنفترض أن Q_i(w) تعتمد على w فقط من خلال توليفة خطية مع الميزات x_i، بحيث يمكننا كتابة \nabla_w Q_i(w) = -q(x_i'w) x_i، حيث q() دالة حقيقية وقد تعتمد على x_i, y_i ولكن ليس على w إلا من خلال x_i'w. تندرج المربعات الصغرى ضمن هذه القاعدة، وكذلك الانحدار اللوجستي، ومعظم النماذج الخطية المعممة. مثلًا، في المربعات الصغرى، q(x_i'w) = y_i - x_i'w، وفي الانحدار اللوجستي q(x_i'w) = y_i - S(x_i'w)، حيث S(u) = \frac{e^u}{1+e^u} هي الدالة اللوجستية. في انحدار بواسون، q(x_i'w) = y_i - e^{x_i'w}، وهكذا.

في مثل هذه الحالات، يتم تنفيذ ISGD ببساطة كما يلي. لنعرّف f(\xi) = \eta q(x_i'w^\text{old} + \xi \|x_i\|^2)، حيث \xi قيمة عددية.
عندئذ، يكون ISGD مكافئًا لـ:

w^\text{new} = w^\text{old} + \xi^\ast x_i,~\text{حيث}~\xi^\ast = f(\xi^\ast).

يمكن إيجاد عامل القياس \xi^\ast\in\mathbb{R} باستخدام طريقة التنصيف، حيث أن الدالة q() تناقصية في معظم النماذج المنتظمة، مثل النماذج الخطية المعممة المذكورة، وبالتالي فإن حدود البحث لـ \xi^\ast هي [\min(0, f(0)), \max(0, f(0))].

### الزخم

تشمل الاقتراحات الإضافية "طريقة الزخم" أو "طريقة الكرة الثقيلة"، والتي ظهرت في سياق التعلم الآلي في ورقة بحثية لروميلهارت، جيفري هينتون ورونالد ويليامز حول التعلم بالتراجع العكسي وقد استُعيرت الفكرة من مقال رياضي سوفيتي لبوريس بولياك عام 1964 حول حل المعادلات الدالية.
يتذكر الانحدار التدرجي العشوائي مع الزخم التحديث  في كل تكرار، ويحدد التحديث التالي كـ تركيب خطي من التدرج والتحديث السابق:

\Delta w := \alpha \Delta w - \eta\, \nabla Q_i(w)
w := w + \Delta w 

مما يؤدي إلى:
w := w - \eta\, \nabla Q_i(w) + \alpha \Delta w 

حيث أن الإحصاء المعلمي w الذي يقلل Q(w) يُقدَّر، و\eta هو حجم الخطوة (ويسمى أحيانًا *معدل التعلم* في التعلم الآلي)، و\alpha هو معدل تعلم أُسّي بين 0 و1 يحدد نسبة مساهمة التدرج الحالي والتدرجات السابقة في تغيير الوزن.

يأتي اسم "الزخم" من تشبيه بزخم الحركة في الفيزياء: حيث يُنظر إلى متجه الوزن w كجسيم يسير عبر فضاء المعلمات ويتعرض لتسارع من تدرج الخسارة ("قوة"). على عكس الانحدار التدرجي العشوائي الكلاسيكي، فإنه يميل إلى الاستمرار في نفس الاتجاه، مما يمنع التذبذب. وقد استخدم الزخم بنجاح من قبل علماء الحاسوب في تدريب شبكة عصبونية اصطناعية لعقود عدة.
ترتبط طريقة "الزخم" ارتباطًا وثيقًا بديناميكيات لانجيفين تحت المخمّدة، ويمكن دمجها مع تخمير محاكى.

في منتصف الثمانينيات، عدّل يوري نيستيروف الطريقة لاستخدام التدرج المتوقع عند النقطة التالية، والطريقة الناتجة التي تسمى "تدرج نيستروف المسرع" استُخدمت أحيانًا في التعلم الآلي في العقد 2010.

### التوسيط
"الانحدار التدرجي العشوائي المتوسط"، الذي اخترعه كل من روبيرت وبولياك بشكل مستقل في أواخر الثمانينيات، هو انحدار تدرجي عشوائي عادي يقوم بتسجيل متوسط متجه المعلمات على مدى الزمن. أي أن التحديث يكون كما في الانحدار التدرجي العشوائي العادي، لكن الخوارزمية تحتفظ أيضًا بـ

\bar{w} = \frac{1}{t} \sum_{i=0}^{t-1} w_i.

عند الانتهاء من عملية التحسين، يحل هذا المتجه المتوسط مكان .

### أداجراد
أداجراد (اختصاراً لـ "خوارزمية أصل التدرج التكيفية") هو تعديل لخوارزمية التدرج العشوائي مع معدل تعلم خاص بكل معامل، نُشر أول مرة عام 2011.
بشكل غير رسمي، تزيد هذه الطريقة معدل التعلم للمعاملات النادرة وتقلله للمعاملات الأكثر تكراراً. هذه الاستراتيجية تحسن غالباً أداء التقارب مقارنة بالتدرج العشوائي العادي في الحالات التي تكون فيها البيانات والمعاملات متناثرة، مثل معالجة اللغة الطبيعية والتعرف على الصور.

يبقى هناك معدل تعلم أساسي ، لكنه يُضرب في عناصر متجه  وهو قطر مصفوفة الضرب الخارجي:

G = \sum_{\tau=1}^t g_\tau g_\tau^\mathsf{T}

حيث g_\tau = \nabla Q_i(w) هو التدرج في التكرار . القطر هو:
G_{j,j} = \sum_{\tau=1}^t g_{\tau,j}^2.

يخزن هذا المتجه مجموع تربيعات التدرجات التاريخية لكل بُعد ويُحدث بعد كل تكرار. صيغة التحديث هي:
w := w - \eta\, \mathrm{diag}(G)^{-\frac{1}{2}} \odot g

أو كتعريف فردي لكل معامل:
w_j := w_j - \frac{\eta}{\sqrt{G_{j,j}}} g_j.

كل عنصر  يشكل عامل تعديل لمعدل التعلم للمعامل . حيث أن المقام \sqrt{G_i} = \sqrt{\sum_{\tau=1}^t g_\tau^2} هو معيار التدرجات السابقة، يتم تخفيف التحديثات الكبيرة ويتم زيادة معدلات التعلم للمعاملات التي تحصل على تحديثات قليلة أو صغيرة.

بالرغم من تصميمه للاستمثال المحدب، تم تطبيق أداجراد بنجاح في تحسينات غير محدبة.

### آر إم إس بروب
*آر إم إس بروب* (اختصارًا لـ *Root Mean Square Propagation*) هو طريقة اخترعها جيمس مارتينز وإيليا سوتسكيفر عام 2012، حين كانا طلاب دكتوراه في مجموعة جيفري هينتون، حيث يُكيف معدل التعلم لكل معامل كما في أداجراد. الفكرة هي قسمة معدل التعلم لوزن ما على متوسط متحرك لمقدار التدرجات الأخيرة لذلك الوزن.
تُحسب المتوسطات المتحركة بتربيع القيم كما يلي:

v(w,t):=\gamma v(w,t-1) + \left(1-\gamma\right) \left(\nabla Q_i(w)\right)^2

حيث \gamma هو عامل النسيان. تستعير آر إم إس بروب فكرة تخزين مجموع التربيعات التاريخية من أداجراد، لكن مع نسيان تدريجي لتجنب مشكلة تناقص معدل التعلم في أداجراد مع مشاكل غير محدبة.

يتم تحديث المعاملات كما يلي:

w:=w-\frac{\eta}{\sqrt{v(w,t)}}\nabla Q_i(w)

أظهر آر إم إس بروب تكيفًا جيدًا لمعدل التعلم في تطبيقات متعددة، ويمكن اعتباره تعميماً لطريقة آربروب وقادر على العمل مع دفعات صغيرة بدلاً من دفعات كاملة فقط.

### أدام
*أدام* (اختصارًا لـ Adaptive Moment Estimation) هو تحديث عام 2014 لمحسّن RMSProp يجمعه مع الخاصية الرئيسية لطريقة الزخم.
يستخدم متوسطات متحركة ذات نسيان أسي لكل من التدرجات واللحظات الثانية للتدرجات.

لتحديث المعامل  w^ {(t)}  في التكرار  t  مع دالة الخسارة  L ^ {(t)} :

m_w ^ {(t)} := \beta_1 m_w ^ {(t-1)} + \left(1 - \beta_1\right) \nabla _w L ^ {(t-1)} 
v_w ^ {(t)} := \beta_2 v_w ^ {(t-1)} + \left(1 - \beta_2\right) \left(\nabla _w L ^ {(t-1)} \right)^2 

\hat{m}_w ^ {(t)} = \frac{m_w ^ {(t)}}{1 - \beta_1^t} 
\hat{v}_w ^ {(t)} = \frac{ v_w ^ {(t)}}{1 - \beta_2^t} 

w ^ {(t)} := w ^ {(t-1)} - \eta \frac{\hat{m}_w^{(t)}}{\sqrt{\hat{v}_w^{(t)}} + \varepsilon} 

حيث \varepsilon عدد صغير (مثلاً 10^{-8}) لمنع القسمة على صفر، و\beta_1 (مثلاً 0.9) و\beta_2 (مثلاً 0.999) عوامل النسيان للتدرجات واللحظات الثانية على التوالي. العمليات تجرى عنصرًا عنصرًا.

نظرًا لأن المتوسطات المتحركة  m_w ^ {(t)} و v_w ^ {(t)} تبدأ من الصفر، يحدث انحياز نحو الصفر في البدايات، لذا تُستخدم عوامل تصحيح \tfrac{1}{1 - \beta_{1/2}^t} لتعويض هذا الانحياز والحصول على تقديرات أفضل.

على الرغم من أن الدليل الأولي على تقارب آدم كان ناقصًا، وكشفت تحليلات لاحقة أنه لا يتقارب لكل الأهداف المحدبة، إلا أن آدم لا يزال يستخدم على نطاق واسع نظرًا لأدائه القوي في الممارسة.

#### المتغيرات
أدى انتشار *آدم* إلى ظهور العديد من المتغيرات والتحسينات. من الأمثلة عليها:

* تدرجات محسنة بأسلوب نيستيروف: *NAdam*، *FASFA*
* تفسيرات متنوعة للمعلومات من الرتبة الثانية: *Powerpropagation* و*AdaSqrt*.
* استخدام معيار اللانهاية: *AdaMax*
* *AMSGrad*، الذي يحسن التقارب مقارنةً بـ*آدم* باستخدام أكبر تربيع للتدرجات السابقة بدلاً من المتوسط الأسي. و*AdamX* الذي يحسن التقارب أكثر من *AMSGrad*.
* *AdamW*، الذي يحسن تقنية تلاشي الوزن.

### نزول التدرج العشوائي مع الاعتماد على الإشارة
على الرغم من أن تحسينات تعتمد على الإشارة تعود إلى طريقة *آربروب* المذكورة سابقاً، حاول الباحثون في 2018 تبسيط آدم بإزالة حساب مقدار التدرج العشوائي وأخذ إشارة فقط في الاعتبار.

### البحث التراجعي عن معدل التعلم
*البحث التراجعي عن معدل التعلم* هو متغير آخر لانحدار التدرج. جميع المعلومات التالية مستمدة من الرابط المذكور. يعتمد على شرط يعرف بشرط أرميجو–غولدشتاين. كلا الطريقتين تسمحان بتغيير معدلات التعلم في كل تكرار؛ لكن طريقة التغيير تختلف. يستخدم البحث التراجعي تقييمات الدالة للتحقق من شرط أرميجو، ومن حيث المبدأ يمكن أن يكون التكرار في الخوارزمية لتحديد معدلات التعلم طويلاً وغير معروف مسبقًا. بالمقابل، لا يحتاج الانحدار العشوائي التكيفي إلى تكرار لتحديد معدلات التعلم. ومن ناحية أخرى، لا يضمن الانحدار العشوائي التكيفي خاصية "الانخفاض" التي يتمتع بها البحث التراجعي، وهي أن f(x_{n+1})\leq f(x_n) لكل n. إذا كان تدرج دالة التكلفة مستمرًا ليبشيتزياً مع ثابت ليبشيتز L، وتم اختيار معدل التعلم من رتبة 1/L، فإن النسخة القياسية من SGD هي حالة خاصة من البحث التراجعي.

### طرق الرتبة الثانية
يشكل التناظر العشوائي لخوارزمية نيوتن–رافسون القياسية (طريقة "الرتبة الثانية") شكلاً مثاليًا أو شبه مثالي من التحسين التكراري في إعداد التقريب العشوائي. تم تطوير طريقة تستخدم قياسات مباشرة لمصفوفة هيسية لمجاميع دالة المخاطر التجريبية بواسطة بيرد، هانسن، نوكدال وسينغر. لكن تحديد مصفوفات هيسية المطلوبة مباشرةً قد لا يكون عملياً. توجد طرق عملية ونظرية سليمة لنسخ الرتبة الثانية من SGD لا تتطلب معلومات هيسية مباشرة بواسطة سبال وآخرين. (طريقة أقل كفاءة تعتمد على الفروقات المنتهية بدلاً من التشويش المتزامن مقدمة من روبيرت.) طريقة أخرى لتقريب مصفوفة هيسية هي استبدالها بمصفوفة معلومات فيشر، التي تحول التدرج العادي إلى تدرج طبيعي. هذه الطرق التي لا تتطلب معلومات هيسية مباشرة تعتمد إما على قيم المجاميع في دالة المخاطر التجريبية أو على قيم تدرجات المجاميع (أي مدخلات SGD). على وجه الخصوص، يمكن تحقيق المثالية من الرتبة الثانية بشكل متقارب بدون حساب مباشر لمصفوفات هيسية المجاميع في دالة المخاطر. عندما يكون الهدف هو خسارة المربعات الصغرى غير الخطية
 Q(w) = \frac{1}{n} \sum_{i=1}^n Q_i(w) = \frac{1}{n} \sum_{i=1}^n (m(w;x_i)-y_i)^2, 
حيث m(w;x_i) هو النموذج التنبؤي (مثل شبكة عصبونية اصطناعية),
يمكن استغلال هيكل الهدف لتقدير معلومات الرتبة الثانية باستخدام التدرجات فقط. الطرق الناتجة بسيطة وغالبًا فعالة.

## التقريبات في الزمن المتصل
بالنسبة لقيمة صغيرة لمعدل التعلم \eta، يمكن اعتبار خوارزمية الانحدار التدرجي العشوائي (w_n)_{n \in \N_0} بمثابة تقريب متقطع للمعادلة التفاضلية العادية لحقل متجهات:

\frac{d}{dt} W_t = -\nabla Q(W_t)

مع وجود ضجيج عشوائي إضافي. هذا التقريب يكون صالحًا فقط على مدى زمني محدود بالمعنى التالي: لنفترض أن جميع المعاملات Q_i ناعمة بما فيه الكفاية. لنفترض T > 0 وg: \R^d \to \R دالة اختبار ناعمة بما فيه الكفاية. حينها، يوجد ثابت C > 0 بحيث أنه لكل \eta > 0:

\max_{k=0, \dots, \lfloor T/\eta \rfloor } \left|\mathbb E[g(w_k)] - g(W_{k \eta})\right| \le C \eta,

حيث \mathbb E ترمز إلى التوقع الرياضي بالنسبة للاختيار العشوائي للفهارس في خوارزمية الانحدار التدرجي العشوائي.

ونظرًا لأن هذا التقريب لا يلتقط التقلبات العشوائية حول السلوك الوسيط، فقد تم اقتراح حلول لمعادلات تفاضلية تصادفية (SDEs) كأدوات تقريب أكثر دقة. وتحديدًا، فإن حل المعادلة التفاضلية التصادفية التالية:

d W_t = - \nabla \left(Q(W_t)+\tfrac 1 4 \eta |\nabla Q(W_t)|^2\right)dt + \sqrt \eta \Sigma (W_t)^{1/2} dB_t,

حيث

\Sigma(w) = \frac{1}{n^2} \left(\sum_{i=1}^n Q_i(w) - Q(w)\right)\left(\sum_{i=1}^n Q_i(w) - Q(w)\right)^T،

وdB_t يرمز إلى تكامل إيتو بالنسبة إلى حركة براونية، هو تقريب أكثر دقة بالمعنى التالي: يوجد ثابت C > 0 بحيث أن:

\max_{k=0, \dots, \lfloor T/\eta \rfloor } \left|\mathbb E[g(w_k)] - \mathbb E[g(W_{k \eta})]\right| \le C \eta^2.

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

## انظر أيضًا
* تعلم الآلة المستمر

## المراجع

## قراءات إضافية
* 
* 
* 
* 

## وصلات خارجية
* 
*  ورقة تفاعلية تشرح مفهوم الزخم.

تصنيف:تقريبات إحصائية