النزول أو الانحدار المتدرج | Gradient Descent

الأحد 18 صفر 1445ھ الأحد 3 سبتمبر 2023م
فيسبوك
إكس
واتساب
تيليجرام
لينكدإن

746 كلمة

11 دقيقة

المحتوى

النزول أو الانحدار المتدرج (Gradient Descent) هي خوارزمية لإيجاد الحل الأمثل عن طريق تعديل قيمة المتغيرات للنموذج (model) للتقليل من قيمة دالة التكلفة في مرحلة تدريب النموذج وتستخدم في تدريب أنواع مختلفة من النماذج سواءً كانت في التعلم العميق أو غيره من أنواع تعلم الآلة.

خطوات عمل الخوارزمية

نبدأ بقيمة أولية للمتغير باختيار رقم عشوائيًا، وتسمى هذه العملية بالتهيئة العشوائية (Random Initialization)، ويوضح (الشكل 1) طريقة عمل الخوارزمية.

نقوم بتحسين قيمة المتغير وذلك عن طريق أخذ خطوات في اتجاه القيمة الصغرى العامة والتي تقلل قيمة دالة التكلفة، وتوضح الأشكال (2، 3، 4، 5) المعادلات.

نحسب حجم الخطوة وحجم الخطوة يعتمد على معامل سرعة التعلم مضروبًا في المَيْل، والميل يحسب من اشتقاق دالة التكلفة للمتغيرات.

نحسب القيمة الجديدة للمتغير عن طريق قيمة المتغير حاليا مطروحًا منها حجم الخطوة.

نكرر هذه العملية (عدد مرات التكرار) إلى أن نصل للقيمة الصغرى العامة.

Gradient Descent Figure 1
الشكل 1. يوضح طريقة عمل الخوارزمية
متجه لخوارزمية الانحدار
\nabla MSE(\theta)=\begin{vmatrix}\frac{\partial}{\partial\theta_0}MSE\left(\theta\right)\\ \vdots\\ \frac{\partial}{\partial\theta_{n}}MSE(\theta)\end{vmatrix}=\frac{2}{m}X^{T}\left(X\theta-y\right)
حساب الخطوة التالية
\theta^{next\:step}=\theta-\eta\nabla MSE(\theta)
الشكل 2. المعادلات المستخدمة في عمل الخوارزمية
Gradient Descent Figure 3
الشكل 3. شرح المعادلات المستخدمة (1) في عمل الخوارزمية
Gradient Descent Figure 4
الشكل 4. شرح المعادلات المستخدمة (2) في عمل الخوارزمية
Gradient Descent Figure 5
الشكل 5. شرح المعادلات المستخدمة (3) في عمل الخوارزمية
عدد مرات التكرار

عدد مرات التكرار غالبا يكون رقم كبير لِتُعطى الخوارزمية وقتًا لإيجاد ، لكن عند ما تكون قيمة الانحدار المتدرج (GD) قيمة صغيرة، أي أصغر من قيمة التسامح (tolerance) ويرمز لها \epsilon وهي قيمة صغيرة جدا، تتوقف الخوارزمية لأنها تكون قد اقتربت جدا من .

أنواع خوارزمية الانحدار المتدرج

حزمة الانحدار المتدرج (Gradient Descent/Batch Gradient Descent): سميت بحزمة إلا أنها تتعامل مع كل البيانات الموجودة في كل دورة كحزمة من البيانات، وتكون بطيئةً جدا للوصول إلى القيمة الصغرى العامة إذا كانت البيانات كبيرة إلى حدٍ ما.

عشوائية الانحدار المتدرج (Stochastic Gradient Descent): يتم اختيار حالة واحدة فقط، وتنفذ العمليات الحسابية عليها، ويكون اختيار هذه الحالة عشوائيا، ولذلك سميت عشوائية الانحدار المتدرج، وتكون سريعة جدا ولا تواجه المشاكل إذا كانت البيانات كبيرة لأنها تتعامل في كل لحظة مع حالة واحدة فقط، إلا أنها تكون أقل انتظامًا من (BGD).

وتستخدم عشوائية الانحدار المتدرج جدول التعلم (Learning Schedule) حيث أن جدول التعلم يختار قيم معامل التعلم، ويبدأ بقيمة كبيرة وبعدها تبدأ قيمة المعامل بأن تصبح أصغر شيئا فشيئا إلى أن تصل الخوارزمية إلى القيمة الصغرى العامة، ويوضح (الشكل 6) نسبة الحالة للبيانات.

حزمة الانحدار المتدرج المصغرة (Mini-batch Gradient Descent): سميت بحزمة، وفي هذه الحالة المقصود بحزمة هنا جزء من البيانات في كل مرة، وليست كــحزمة الانحدار المتدرج التي تأخذ كل البيانات. وليست مثل عشوائية الانحدار المتدرج التي تأخذ حالة واحدة فقط، وتستخدم أيضا جدول التعلم لتحديد قيمة معامل التعلم، ويوضح (الشكل 7) مقارنة بين أنواع الخوارزمية.

Gradient Descent Figure 6
الشكل6. يوضح نسبة البيانات إلى حزمة البيانات إلى الحالات
Gradient Descent Figure 7
الشكل 7. مقارنة بين الأنواع في كيفيتها للوصول إلى القيمة الصغرى العامة (المصدر)

مقارنة بين أنواع الانحدار المتدرج

حزمة الانحدار المتدرج
Gradient Descent
عشوائيــــــة الانحــــدار المتــــــــــدرج
Stochastic Gradient Descent
حزمـة الانحـدار المتدرج المصغــرة
Mini-batch Gradient Descent
تكون بطيئة جدا في وصولها إلى القيمة الصغرى العامة • تستطيع الوصول إلى القيمة الصغرى العامة
تكون أقل انتظامًا (مشوشة) في طريقها للوصول إلى القيمة الصغرى • قد تَعْلَق في القيمة الصغرى المحلية
تكون أسرع من النوع (GD) وأقل تشويشًا من النوع (SGD)
معامل التعلم

من العوامل التي تأثر على حساب الانحدار المتدرج (GD) إذا كان معامل سرعة التعلم صغيرًا جدًا يستوجب على الخوارزمية المرور بكثير من التكرارات إلى أن تصل إلى القيمة التي تجعل دالة التكلفة أقل ما يمكن، وتسمى هذه القيمة بــ .

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

أما إذا كان معامل التعلم ثابتًا ستصل إلى الحل الأمثل في عدد من الخطوات تتمثل في \epsilon/1 واعتمادا أيضا على شكل دالة التكلفة، وتوصف هذه الحالة تحت مسمى (Convergence Rate).

التحديات

إذا كانت القيمة الابتدائية خطأ فهذا قد يقودنا إلى نتيجتين هما إما أن نصل إلى القيمة الصغرى المحلية أو نأخذ وقتًا طويلًا جدًا إلى أن نصل إلى القيمة الصغرى العامة.

اختفاء/انفجار قيمة التدرج (GD) في التعلم العميق، ويعود هذا إلى أن القيمة الابتدائية كانت صغيرة أو كبيرة، وعند اشتقاقات الدالة قد تصل إلى أن المَيْل يكون صفرًا أو رقما كبيرًا جدًا.

وفي الحالتين السابقتين يتم حلّهما نوعا ما عن طريق اختيار قيمة عشوائية كقيمة ابتدائية (التهيئة العشوائية).

المصطلحات

الانحدار المتدرج
Gradient Descent
الدالة التكلفة
Cost Function
المعاملات
Parameters
جدول التعلم
Learning Schedule
معامل التعلم
Learning Rate
القيمة الصغرى العامة
Global Minimum
تحسين
Optimize
اختفاء/انفجار قيمة التدرج
Vanishing/Exploding Gradients
نشرة فهم البريدية
لتبقى على اطلاع دائم على كل ما هو جديد مما تقدمه منصة فهم، انضم لنشرتنا البريدية.
خريجة علوم الحاسب، أعمل مطورة تطبيقات مهتمة بالذكاء الاصطناعي وبصناعة ونشر المحتوى التقني

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *