خوارزمية تحسين Adam – بلغة بسيطة

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

يعد اختيار خوارزمية التحسين الصحيحة لنموذج التعلم العميق أمرًا مهمًا للغاية وله تأثير كبير على الوقت للوصول إلى النتيجة المرجوة. خوارزمية Adam الأمثل هي نسخة معممة من خوارزمية Stochastic Gradient Descent (SGD) ، والتي تم استخدامها مؤخرًا على نطاق واسع لتطبيقات التعلم العميق في مجال رؤية الكمبيوتر ومعالجة اللغة الطبيعية. في هذه المقالة التعليمية ، تم تقديم خوارزمية تحسين Adam لاستخدامها في التعلم العميق على مستوى تمهيدي. بعد قراءة هذا المقال ، سوف تتعرف على خوارزمية Adam ، وبعض مزايا استخدام وكيف تعمل خوارزمية تحسين Adam . أيضًا ، سيتم ذكر اختلافها مع المناهج المماثلة وذات الصلة مثل AdaGrad و RMSProp ، وكيفية تكوين خوارزمية Adam والمعلمات المشتركة في خوارزمية Adam.

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

خوارزمية Adam هي خوارزمية تحسين يمكن استخدامها بدلاً من طريقة نزول التدرج العشوائي الكلاسيكي لتحديث أوزان الشبكة بناءً على التكرارات في بيانات التدريب. يمكن اعتبار خوارزمية Adam على أنها مزيج من RMSprop ونسب التدرج العشوائي مع الزخم (Momentum).

تم تقديم خوارزمية تحسين Adam بواسطة Diederik Kingma من OpenAI و Jimmy Ba من جامعة Tonto في ورقة بعنوان “Adam: طريقة للتحسين العشوائي” وأطلق عليها اسم “آدام”. تم استخدام هذه المقالة كمصدر رئيسي لتجميع هذه المقالة. اسم هذه الخوارزمية هو “آدام”. اسم Adam مشتق من مصطلح “تقدير اللحظة التكيفية | Adaptive Moment Estimation”.

ملاحظة: Adam ليس اختصارًا لأي عبارة وبالتالي لا يتم كتابته بالأحرف الكبيرة كـ “ADAM”.

ما هي مزايا خوارزمية Adam الأمثل؟

المزايا المثيرة لاستخدام هذه الخوارزمية في مشاكل التحسين غير المحدبة مذكورة أدناه:

  • يتم تنفيذ هذه الخوارزمية بسهولة.
  • خوارزمية Adam هي الأمثل حسابيًا.
  • يحتاج آدم إلى ذاكرة قليلة.
  • لا تتغير خوارزمية التحسين الخاصة بآدم ولا تعتمد على إعادة القياس القطري للتدرجات.
  • آدم مناسب جدًا للمشكلات التي تعتبر كبيرة من حيث البيانات أو المعلمات.
  • خوارزمية آدم مناسبة للأهداف غير المستقرة.
  • آدم هو خوارزمية جيدة للمشاكل ذات التدرجات الصاخبة أو الرقيقة جدًا.
  • “Hyper-Parameters” في خوارزمية التحسين الخاصة بآدم لها تفسير بصري وعادة ما تتطلب القليل من ضبط المعلمات.

كيف تعمل خوارزمية تحسين Adam؟

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

يتم الحفاظ على معدل التعلم في خوارزمية Adam الأمثل لكل من أوزان الشبكة (المعلمات) ويتم تكييف هذا المعدل بشكل فردي في بداية عملية التعلم.

في طريقة تحسين Adam، يتم حساب كل من معدلات التعلم للمعلمات المختلفة من اللحظات الأولى والثانية من التدرجات. توصف خوارزمية Adam بأنها نسخة هجينة من مزايا اثنين من خوارزميات النسب العشوائية المعممة الأخرى. يتم سرد هاتين الخوارزميتين ووصفهما أدناه:

  • خوارزمية التدرج التكيفي (Adaptive Gradient Algorithm | AdaGrad ): إنها طريقة تحافظ على معدل التعلم لكل معلمة. يؤدي استخدام هذه الطريقة إلى تحسين الأداء في مشاكل التدرجات المتفرقة. على سبيل المثال ، يمكننا الرجوع إلى القضايا المتعلقة بمعالجة اللغة الطبيعية ورؤية الكمبيوتر.
  • خوارزمية الانتشار التربيعي لمتوسط ​​الجذر (RMSProp | Root Mean Square Propagation): في هذه الطريقة ، يتم الاحتفاظ بمعدلات التعلم لكل معلمة. يتم تعديل هذه المعدلات بناءً على متوسط ​​قيم التدرجات الحديثة للأوزان. هذا يعني أن خوارزمية RMSProp تعمل جيدًا في المشكلات المتصلة بالإنترنت وغير الثابتة (مثل المشكلات الصاخبة).

في خوارزمية Adam الأمثل ، يتم استخدام كل من مزايا خوارزمية AdaGrad ونقاط القوة في خوارزمية RMSProp. في Adam ، بدلاً من تكييف معدلات التعلم للمعلمات التي تعتمد فقط على متوسط ​​اللحظة الأولى (أي Mean) كما هو الحال في خوارزمية RMSProp ، فإن متوسط ​​اللحظة الثانية للتدرجات (التباين غير المركزي) هو أيضًا مستخدم. تحسب خوارزمية Adam حصريًا المتوسط ​​المتحرك الأسي للتدرج اللوني والتدرج التربيعي ، وتتحكم المعلمات beta1 و beta2 في معدل الانحلال لهذه المتوسطات المتحركة.

تؤدي القيم الأولية للمتوسطات المتحركة وقيم beta1 و beta2 القريبة من واحد (القيمة الموصى بها) إلى انحراف معياري لتقديرات اللحظات نحو الصفر. في القسم التالي ، يتم فحص ما إذا كانت خوارزمية تحسين Adam فعالة أم لا.

هل خوارزمية Adam الأمثل فعالة وكفؤة؟

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

في المقالة الأصلية ، تم تنفيذ خوارزمية Adam على ما يلي:

  • الانحدار اللوجستي (logistic regression) مع مجموعة بيانات MNIST (للتعرف على الأرقام)
  • الانحدار اللوجستي مع مجموعة بيانات IMDB (لتحليل المشاعر)
  • خوارزمية متعددة الطبقات (Multilayer Perceptron) مع مجموعة بيانات MNIST
  • الشبكات العصبية التلافيفية (Convolutional Neural Networks) مع مجموعة بيانات CIFAR-10 (المتعلقة بالتعرف على الصور)

خلص مؤلفو المقال الرئيسي إلى ما يلي من تنفيذ خوارزمية تحسين Adam في الحالات المذكورة أعلاه:

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

خوارزمية تحسين Adam
مقارنة خوارزمية Adam مع خوارزميات أخرى في تدريب منظور متعدد الطبقات

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

قدم سيباستيان رودر (Sebastian Ruder) مراجعة شاملة لخوارزميات تحسين النسب المتدرجة الحديثة بعنوان “نظرة عامة على خوارزميات تحسين نزول التدرج” ، وقد نُشر لأول مرة كمدونة ثم كتقرير تقني في عام 2016. وقد تم في هذه المقالة ، يتم التحقيق في الأساليب الحديثة بشكل أساسي. في جزء من هذه المقالة بعنوان “أي مُحسِّن يجب استخدامه؟” اقترحت خوارزمية التحسين الخاصة بآدم:

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

في دورة Stanford Deep Learning for Computer Vision (دورة CS231n) التي قدمها Andrej Karpathy et al. ، يوصى مرة أخرى بخوارزمية Adam كأسلوب التحسين الافتراضي لتطبيقات التعلم العميق:

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

أيضًا ، في إطار استمرار دورة ستانفورد التدريبية ، يتم شرحها بشكل أكثر وضوحًا على النحو التالي:

هناك تحديثان يوصى باستخدامهما هما SGD + Nesterov Momentum أو خوارزميات Adam.

بالإضافة إلى ذلك ، تُستخدم خوارزمية آدم للمعايير في المقالات العلمية للتعلم العميق. على سبيل المثال ، يتم استخدام خوارزمية التحسين الخاصة بآدم في المقالتين التاليتين.

  • منتج ترجمات الصور باستخدام الانتباه البصري مع التركيز على مجال التعليق على الصورة Show, Attend and Tell: Neural Image Caption Generation with Visual Attention | (Image Captioning) | [+]
  • مقالة السحب هي شبكة عصبية متكررة لتوليد الصور رسم: DRAW: A Recurrent Neural Network For Image Generation | [+]

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

معلمات التكوين لخوارزمية تحسين Adam

تحتوي خوارزمية تحسين Adam على أربعة معلمات تكوين رئيسية ، كل منها مذكور أدناه:

  • alpha: يشار إليه أيضًا باسم “معدل التعلم” أو “طول الخطوة”. ألفا هي النسبة التي يتم بها تحديث الأوزان (على سبيل المثال 0.001). القيم الأكبر لمعلمة alpha (على سبيل المثال 0.3) تجعل التعلم الأولي أسرع ويتم تحديث المعدل المقابل. القيم الأصغر لمعلمة ألفا (مثل 1.0E-5) أثناء التدريب تبطئ التعلم.
  • beta1: معدل الانحلال الأسي لتقديرات اللحظة الأولى (على سبيل المثال ، يمكن أن تكون قيمتها 0.9).
  • beta2: معدل الانحلال الأسي لتقديرات اللحظة الثانية (على سبيل المثال ، يمكن أن تكون قيمتها 0.9). يجب أن تكون هذه القيمة قريبة من واحدة في مشاكل التدرجات الرقيقة (مثل البرمجة اللغوية العصبية “NLP”ومشاكل رؤية الكمبيوتر).
  • epsilon: رقم صغير جدًا (مثل 10E-8) يُستخدم في التطبيقات لتجنب القسمة على الصفر.

بالإضافة إلى ذلك ، يمكن أيضًا استخدام خفض معدل التعلم مع خوارزمية آدم. تستخدم الورقة الأصلية معدل الفشل alpha = alpha / sqrt (t) الذي يتم تحديثه كل فترة (t) لتمثيل الانحدار اللوجستي. تشرح المقالة الرئيسية الإعدادات الافتراضية على النحو التالي:

الإعدادات الافتراضية المناسبة لمشاكل التعلم الآلي المختبرة هي beta2 = 0.999 و alpha = 0.001 و epsilon = 1e-8

في وثائق TensorFlow ، تم اقتراح بعض الإعدادات الخاصة بمعامل epsilon:

بشكل عام ، قد لا تعطي القيمة الافتراضية 1e-8 لـ epsilon نتائج جيدة. على سبيل المثال ، وقت التدريب لشبكة Inception في ImageNet يمكن أن يكون الاختيار الجيد لمعامل epsilon بقيمة 1 أو 0.1.

يمكن ملاحظة أن مكتبات التعلم العميق الشائعة والشائعة تستخدم بشكل عام المعلمات الافتراضية الموصى بها في المقالة:

  • المعلمات الافتراضية في مكتبة TensorFlow:
    • learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08
  • المعلمات الافتراضية لمكتبة Keras:
    • lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0.
  • المعلمات الافتراضية في Blocks:
    • learning_rate=0.002, beta1=0.9, beta2=0.999, epsilon=1e-08, decay_factor=1.
  • Lasagne:
    • learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08
  • Caffe:
    • learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08
  • MxNet:
    • learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-8
  • Torch:
    • learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-8

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

خاتمة

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

منشور ذات صلة
ميزات وعیوب خوارزمية Adam 6 Minutes

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

منال ناصر

يساعد وجود هذه القدرات في خوارزمية Adam على استخدامها لمجموعة واسعة من المهام. يمكن أيضًا اعتبار خوارزمية Adam مزيجًا من خوارزميات RMSprop و SGD

اترك تعليقاً

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

السلة