ما هي ميزات خوارزمية Adam؟

في هذه المقالة ، يتم سرد بعض ميزات خوارزمية تحسين Adam:

  • طول الخطوة الفعلي الذي اتخذه Adam في كل تكرار يحده تقريبًا المعلمة الفائقة لطول الخطوة. تضيف هذه الميزة الإدراك البصري إلى المعلمة الفائقة لمعدل التعلم غير المرئي سابقًا.
  • لا يتغير طول خطوة قاعدة تحديث آدم فيما يتعلق بقيمة التدرج ، مما يساعد كثيرًا عند اجتياز المناطق ذات التدرج اللوني الصغير (مثل أدنى النقاط بين قمتين أو وديان).
  • تم تصميم خوارزمية التحسين الخاصة بآدم لتجمع بين مزايا Adagrad ، التي تعمل بشكل جيد مع التدرجات المتفرقة ، وخوارزمية RMSprop ، التي تعمل بشكل جيد في الإعدادات عبر الإنترنت. يساعد وجود هذه القدرات في خوارزمية Adam على استخدام هذه الخوارزمية لمجموعة واسعة من المهام. يمكن أيضًا اعتبار خوارزمية Adam مزيجًا من خوارزميات RMSprop و SGD مع عزم الدوران.

ما هي عيوب خوارزمية Adam؟

تعاني خوارزمية Adam من مشاكل أدت إلى تراجع شعبيتها. عندما تم تقديم خوارزمية آدام لأول مرة ، اندهش الخبراء من قوتها. كما تمت مناقشته سابقًا ، تحتوي الورقة التي تقدم خوارزمية Adam على بعض الرسوم البيانية المتفائلة جدًا التي تُظهر مكاسب كبيرة في الأداء من حيث سرعة التدريب. ثم قدمت مقالة Nadam رسومًا بيانية تظهر نتائج أفضل. هذه الرسوم البيانية في القسم التالي:

ميزات وعیوب خوارزمية Adam

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

أظهر ويلسون وآخرون في ورقتهم التي تحمل عنوان “طريقة التدرج التكيفي المقدر بأقل من قيمتها في التعلم الآلي” بشكل أكثر دقة أن الطرق التكيفية (مثل آدام أو Adadelta) تؤدي إلى جانب أسلوب التدرج العشوائي مع اللحظات المعممة عند اختبارها على مجموعة متنوعة من لم يتم العثور على مهام التعلم وهذه الورقة لا تشجع الخبراء على استخدام خوارزميات التحسين الشائعة هذه. بعد ذلك ، تم إجراء الكثير من الأبحاث لتحليل التعميم الضعيف لـAdam ، والذي يحاول أن يأخذ Adam إلى اتجاه يمكن فيه تقليل تباينه الكبير بواسطة خوارزمية النسب العشوائي للتدرج.

أطلق الباحثون على اسم Nitish Shirish Keskar و Richard Socher في مقال بعنوان “تحسين أداء التعميم من خلال تغيير آدام إلى التدرج العشوائي” أظهروا أنه أثناء التعلم عن طريق تغيير الخوارزمية إلى التدرج العشوائي المتناقص مقارنة باستخدام خوارزمية Adam فقط ، يحققون قوة تعميم أفضل. اقترحوا حلاً بسيطًا يستخدم فكرة بسيطة جدًا. ووجدوا أنه في المراحل الأولى من التدريب ، لا يزال أداء Adam أفضل من النسب المتدرج العشوائي ، لكنه يتشبع مع استمرار التعلم. اقترحوا سياسة بسيطة تسمى SWATS. في هذه الإستراتيجية ، بدأوا تدريب الشبكة العصبية العميقة باستخدام خوارزمية Adam ، لكن عندما وصلوا إلى معايير معينة ، قاموا بتغيير الخوارزمية إلى نزول متدرج. تمكنوا من تحقيق نتائج مماثلة مع تقليل تدرج التصادم مع عزم الدوران.

تقارب خوارزمية تحسين Adam

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

تم نشر مقالة بحثية أخرى حديثة من قبل موظفي Google في ICLR 2018 وفازت حتى بجائزة أفضل مقال. من أجل التعمق في هذه المقالة ، يجب أولاً شرح الإطار المستخدم لإثبات تقارب Adam في الوظائف المحدبة.

الإطار المستخدم لإثبات تقارب آدم في الوظائف المحدبة

في عام 2003 ، قدم مارتن زينكوفيتش مشكلة “البرمجة المحدبة على الإنترنت” (Online Convex Programming). في الإعدادات المقدمة ، هناك سلسلة من الوظائف المحدبة c2 و c1 ووظائف أخرى (يتم تنفيذ وظيفة التكلفة في الفئة الفرعية i-th من تحسين التعلم العميق). هذه الخوارزمية ، التي تحل مشكلة Adam في كل طابع زمني t ، تحدد نقطة x [t] (معلمة النموذج) ثم تحصل على دالة التكلفة c للطابع الزمني الحالي. لفهم مدى جودة عمل الخوارزمية ، يتم تعريف ندم الخوارزمية (Regret) بعد فترات T على النحو التالي:

R(T)=T∑t=1[ct(wt)−ct(wt)]

في الصيغة أعلاه ، R هي رمز الندم (regret | تأسف)، c هي دالة التكلفة على الدفعة الصغيرة من t ، w هي متجه معلمات النموذج (الوزن) و w ∗ هي القيمة المثلى لمتجه الوزن. الهدف هنا هو إثبات أن ندم الخوارزمية يساوي R (T) = O (T). أو أقل من ذلك ؛ هذا يعني أن تقارب النموذج يتقارب في المتوسط ​​إلى الحل الأمثل.

أثبت Martin Zinkevich في ورقته البحثية أن الانحدار المتدرج يتقارب مع الحل الأمثل في الإعداد باستخدام خاصية الوظائف المحدبة. السمة المعروفة للوظائف المحدبة هي كما يلي:

ct(x)≥(ct(xt))(x−xt)+ct(xt)

استخدم منشئو Adam إطارًا ونهجًا مشابهين لإثبات أن خوارزميتهم تتقارب مع الحل الأمثل. لاحظ Reddi وزملاؤه أيضًا عدة أخطاء في إثباتهم ، أحد أهمها في الكمية. يوجد هذا الخطأ أيضًا في المقالة التي تثبت تقارب آدام والمقالات التي تحسن إثبات تقارب Adam:

Vt+1/ηt+1−Vt/ηt

في العلاقة أعلاه ، يتم تعريف V على أنها وظيفة مجردة تقيس معدل التعلم للمعلمات المختلفة لكل خوارزمية فريدة. هذه القيمة (V) لخوارزمية آدم هي المتوسط ​​المتحرك لتدرجاتها التربيعية السابقة ، وبالنسبة لخوارزمية Adagrad فهي مجموع كل تدرجاتها الحالية والسابقة ، وبالنسبة للنسب التدرج العشوائي ، فإنها تصبح واحدة فقط. لاحظ المؤلفون أنه من أجل إثبات هذه النقطة ، يجب أن تكون هذه القيمة موجبة. من السهل ملاحظة أنه بالنسبة لخوارزميات SGD و Adagrad ، تكون هذه القيمة إيجابية دائمًا ، ولكن بالنسبة لخوارزمية Adam (أو RMSprop) ، يمكن أن تتصرف قيمة V بشكل غير متوقع. في نفوسهم ، قدموا مثالًا يوضح أن خوارزمية آدم لا يمكن أن تتقارب. هذا المثال معطى أدناه:

ft(x)={Cxfortmod3=3,−x,otherwise
ft(x)={Cx for t mod 3=3−x, otherwise 

فشلت خوارزمية آدم في الإثبات أعلاه. بالنسبة لهذا التسلسل ، الحل الأمثل هو x = -1 ، لكن خوارزمية آدم تتقارب مع الحل الأمثل المحلي لأحدها ، وفي هذه الحالة ، لم تتمكن خوارزمية آدم من الوصول إلى الحل الأمثل العالمي. مرة واحدة كل 3 خطوات ، تحصل الخوارزمية على تدرج C كبير ، بينما ينتج عن الخطوتين الأخريين تدرج -1 ، مما يشير إلى أن الخوارزمية تتحرك في الاتجاه الخاطئ. نظرًا لأن قيم طول الخطوة في معظم الأوقات تنخفض بمرور الوقت ، فقد اقترحوا حل الحفاظ على القيم القصوى لـ V واستخدامها بدلاً من المتوسط ​​المتحرك لتحديث المعلمات. الخوارزمية الناتجة كانت تسمى Amsgrad. في ما يلي ، تم تنفيذ هذه الخوارزمية ، مما يدل على أن الخوارزميات المختلفة تتقارب في تسلسل الوظيفة المذكورة أعلاه.

for t in range(num_iterations):
g = compute_gradient(x, y)
    m = beta_1 * m + (1 - beta_1) * g
    v = beta_2 * v + (1 - beta_2) * np.power(g, 2)
    v_hat = np.maximum(v, v_hat)
    w = w - step_size * m / (np.sqrt(v_hat) + epsilon)

   

يتم تنفيذ الكود أعلاه للخوارزمية دون تصحيح اختلاف المعيار.

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

منشور ذات صلة
PCA 3 Minutes

تنفیذ تحليل العنصر الرئيسي (Principal Component Analysis) باستخدام البایثون

حسن خنفري

تحليل العنصر الرئيسي (PCA) هو إجراء إحصائي يستخدم لتخفیض الأبعاد. يستخدم تحويلًا متعامدًا لتحويل مجموعة من الملاحظات للمتغيرات المرتبطة المحتملة إلى مجموعة من مقادیر المتغيرات غير المرتبطة خطيًا یسمى العناصر الأساسية.

اترك تعليقاً

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

السلة