إرشادات للتّعلم العميق في الشّبكات العصبونيّة Recommendations for Deep Learning Neural Network Practitioners

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

التدقيق العلمي: م.محمّد سرميني – د.حسن قزّاز
التدقيق اللغوي: هبة الله فلّاحة

مقدّمة

لقد دفع تطوّر التّكنولوجيا الإنسانيّة إلى مستويات لم يسبق لها مثيل، و حصل التّعلم العميق على كثير من الاهتمام حيث حقّق نتائج لم تكن ممكنة من قبل، واعتُبِر ثورة في تطوّر الشّبكات العصبونيّة عند ظهوره، ففي التّعلم العميق يتعلّم النّموذج أداء مهامّ التّصنيف مباشرةً من الصّور أو النّص أو الصّوت، كما يمكن لنماذج التّعلم العميق أن تُحَقّق دقّة متطوّرة تتجاوز في بعض الأحيان الأداء على المستوى البشريّ، و يتمّ تدريب النّماذج باستخدام مجموعة كبيرة من البيانات المصنّفة وبُنيات الشّبكات العصبونيّة التي تحتوي على طبقات متعدّدة، وتُعدّ الشّبكات العصبونيّة للتّعلم العميق سهلة نسبيًّا للتّعريف والإنشاء نظرًا للاعتماد الواسع للمكتبات مفتوحة المصدر، ومع ذلك لا تزال الشّبكات العصبونيّة صعبة التّكوين والتّدريب، وسنقدّم لكم في هذه المقالة أهمّ التّوصيات عند استخدام التّعلّم العميق التي ذُكِرَت في الورقة البحثيّة لعام 2012 بعنوان “توصيات عمليّة للتّدريب القائم على الانحدار للبنى العميقة”

(“Practical Recommendations for Gradient-Based Training of Deep Architectures”) 

والتي نُشرت كورقة بحثيّة أوّليّة وفصل من كتاب 2012 الشّهير

“الشّبكات العصبونيّة: حيل التّجارة “(“Neural Networks: Tricks of the Trade”)،

للعالم الذي فاز بجائزة تورنغ لعام 2018 يوشوا بنجيو (Yoshua Bengio) أحد آباء مجال التّعلم العميق؛ حيث يُقدّم في هذه الورقة البحثيّة توصيات عمليّة لتكوين وضبط نماذج الشّبكة العصبونيّة.

في هذه المقالة، سنتصفّح هذه الورقة الطّويلة والمثيرة للاهتمام ونختار النّصائح والحيل الأكثر صلة لمستخدمي التّعلّم العميق الحديث.

بعد قراءة هذه المقالة سنتعرّف:

  1. الأسس المبكّرة لنهضة التّعلّم العميق.
  2. توصيات للتّكوين الأوّليّ لنطاق المُعاملات الأساسِيَّة للشّبكة العصبونيّة و تهيئة الشبكات العصبونيّة.
  3. تحسين المعاملات في الشبكة العصبونية و كيفيّة ضبط المُعامِلات الأساسِيَّة للشّبكة العصبونيّة بكفاءة عالية وبفعاليّة لضبط النّماذج بشكل أكثر كفاءة.

هيا بنا نبدأ….

نظرة عامّة على الورقة البحثية

الهدف من الورقة البحثيّة هو تزويد مستخدمي التّعلّم العميق بتوصيات عمليّة لتطوير نماذج الشّبكات العصبونيّة.

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

ينصبّ تركيز هذه التّوصيات على تكوين المعاملات الأساسيّة للنّموذج (hyper-parameters)، وتحديدًا تلك المتعلّقة بخوارزميّة تعلّم الانحدار المتدرّج العشوائيّ (the stochastic gradient descent learning algorithm).

“”يُقصد بهذا الفصل أن يكون دليلًا عمليًّا مع توصيات لبعض المعاملات الأساسيّة الأكثر استخدامًا، لا سيّما في سياق خوارزميّات التّعلّم مثل الانحدار في الانتشار الخلفيّ (backpropagated gradient) والتّحسين القائم على الانحدار (gradient-based optimization).””

يتمّ تقديم التّوصيات في سياق بزوغ مجال التّعلّم العميق، حيث سهّلت الأساليب الحديثة ووحدة معالجة الرّسوميّات GPU السّريعة تطوير الشّبكات العصبونيّة بمزيد من العمق، وبالتّالي قدرة أكبر ممّا تمّ رؤيته من قبل، ويعيد بنجيو (Bengio) هذه النّهضة إلى عام 2006 (ستّة أعوام قبل وقت كتابة الورقة البحثيّة) وتطوير أساليب التّدريب المسبق الجَشِع للطّبقة، والتي تمّ استبدالها لاحقًا (بعد كتابة هذه الورقة) بالاستخدام المكثف لـ وحدة التَّصحيح الخطِّيّ ReLU، و تعطيل عمل العُصبُونات Dropout، و تقييس الدُّفعَة BatchNorm، وغيرها الأساليب التي ساعدت في تطوير نماذج عميقة للغاية.

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

  • الملخّص
  • 1 المقدّمة
    • 1.1 التّعلّم العميق والتّدريب المسبق الجشع الطّبقيّ (Greedy Layer-Wise Pretraining)
    • 1.2 تقليل الضّوضاء والتّشفير التّلقائيّ الانقباضيّ (Contractive AutoEncoders)
    • 1.3 التّعلّم عبر الإنترنت وتحسين أخطاء التّعميم (Optimization of Generalization Error)
  • 2 الانحدار (Gradients)
    • 2.1 الانحدار المتدرّج ومعامل التّعلّم
    • 2.2 حساب الانحدار والتّفاضل التّلقائيّ
  • 3 المعاملات الأساسيّة
    • 3.1 المعاملات الأساسيّة للشّبكة العصبونيّة 
      • 3.1.1 المعاملات الأساسيّة للتّحسين التّقريبيّ
    • 3.2 المعاملات الأساسيّة للنّموذج ومعيار التّدريب
    • 3.3 البحث اليدويّ والبحث الشّبكيّ
      • 3.3.1 إرشادات عامّة لاستكشاف المعاملات الأساسيّة
      • 3.3.2 تنسيق النّسب و البحث عن الدّقة المتعدّدة
      • 3.3.3 بحث شبكيّ آليّ و بحث شبكيّ شبه آليّ
      • 3.3.4 تحسين طبقة المعاملات الأساسيّة
    • 3.4 أخذ عيّنات عشوائيّة من المعاملات الأساسيّة
  • 4 التّصحيح والتّحليل
    • 4.1 فحص الانحدار والتّحكّم في الملاءمة الزّائدة
    • 4.2 التّمثيلات المرئيّة والإحصاء
  • 5 توصيات أخرى
    • 5.1 الآلات متعدّدة النّواة، برامج الجبر الخطّيّ الأساسيّة BLAS و وحدات معالجة الرّسومات GPUs
    • 5.2 مدخلات متفرّقة فائقة الأبعاد
    • 5.3 المتغيّرات الرّمزيّة والتّضمينات والتّعلّم متعدّد المهامّ والتّعلّم متعدّد العلاقات
  • 6 أسئلة مفتوحة
    • 6.1 بشأن الصّعوبة المضافة للتّدريب على بنى أعمق
    • 6.2 معدّلات التّعلّم التّكيّفيّ وطرق الدّرجة الثّانية
    • 6.3 الخاتمة

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

لماذا التّعلّم العميق؟

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

“”يعتمد أحد الأساليب الأكثر استخدامًا لتدريب الشّبكات العصبونيّة العميقة على التّدريب المسبق الطّبقيّ الجشع Greedy Layer-Wise Pre Training.””

لم يكن نهج التّعلم العميق مهمًّا فقط لأنّه سَمح بتطوير نماذج أعمق للتّعليم بإشراف، ولكن التّعليم غير الخاضع للإشراف والتّعلّم شبه الخاضع للإشراف أيضًا سَمح التّعلّم العميق باستخدام أمثلة بدون عنوان Unlabeled examples، والذي كان أيضًا تقدّمًا كبيرًا.

“”الدّافع المهمّ الآخر للتّعلّم المميّز والتّعلّم العميق هو أنّه يمكن القيام بهما بأمثلة بدون عنوان Unlabeled examples …””

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

“”تحدّد النّتائج النّظريّة بوضوح مجموعات الوظائف بأنّ الشّبكات العصبونيّة العميقة أكثر كفاءة بشكل كبير من الشّبكات العصبونيّة غير العميقة بدرجة كافية.””

التّعلّم عن طريق الانحدار المتدرّج Gradient Descent

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

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

  • الانحدار المتدرّج على شكل دفعات: يتمّ حساب الانحدار المتدرّج باستخدام كلّ الأمثلة الموجودة في مجموعة بيانات التّدريب.
  • الانحدار المتدرّج على شكل دفعات صغيرة: يتمّ حساب الانحدار المتدرّج باستخدام مجموعة جزئيّة من الأمثلة الموجودة في مجموعة بيانات التّدريب.
  • الانحدار المتدرّج العشوائيّ: يتمّ حساب الانحدار المتدرّج العشوائيّ باستخدام كلّ نمط فرديّ في مجموعة بيانات التّدريب.

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

أحجام الدُّفعات الكبيرة تبطئ سرعة التّقارب.

“”من ناحية أخرى، مع زيادة حجم الدُفعة، يتناقص عدد التّحديثات لكلّ حساب يتمّ إجراؤه، ممّا يؤدّي إلى إبطاء التّقارب (من حيث الخطأ مقابل عدد عمليّات الإضافة المتعدّدة التي يتمّ إجراؤها) لأنّه يمكن إجراء تحديثات أقلّ في نفس الزّمن الحسابيّ.””

توفّر أحجام الدُفعات الأصغر تأثيرًا منتظمًا بسبب إدخال الضّجيج الإحصائيّ في تقدير التّدرّج.

“”… قد تستفيد القيم الأصغر لحجم الدُّفعة من استكشاف فضاء المعاملات بسبب الضّجيج المضاف في الانحدار المتدرّج، ممّا  يفسّر أنّ أفضل نتائج الاختبار يتمّ الحصول عليها من خلال حجم دفعات أصغر.””

“”يمكن حساب التّدرّج إمّا يدويًّا أو من خلال التّفاضل التّلقائيّ.””

كان هذا ذا أهميّة خاصّة لـ Bengio نظرًا لمشاركته في تطوير مكتبة Theano Python الرّياضيّة ومكتبة التّعلّم العميق pylearn2، وكلاهما لم يعد موجودًا الآن وقد نجح كلٌّّ من تنسر فلو TensorFlow وكيراس Keras وباي تورتش pytorch على التّوالي بالسّيطرة.

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

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

إرشادات للمعاملات الأساسيّة

ينصبّ التّركيز الرّئيسيّ للمقالة على تكوين المعاملات الأساسيّة التي تتحكّم في تقارب النّموذج وتعميمه في ظلّ الانحدار المتدرّج العشوائيّ.

أوّلًا : استخدام مجموعة بيانات التّحقّق (Validation Dataset)

يبدأ القسم بأهميّة استخدام مجموعة بيانات تحقّق منفصلة عن مجموعة التّدريب ومجموعات الاختبار لضبط المعاملات الأساسيّة للنّموذج.

“”يمتلك أيّ مُعامِل أساسيّ القدرة في التّأثير على عمليّة التّعلّم، فمن المنطقيّ والضروريّ اختيار قيم هذا المُعامل من خارج مجموعة بيانات التّدريب.””

وحول أهميّة عدم تضمين مجموعة بيانات التّحقّق في تقييم أداء النّموذج.

“”يُسهِم استخدام قيم لبعض المُعامِلات الأساسيّة من خارج مجموعة بيانات التدريب، في تقييم أداء خوارزمية التعلّم بشكل عامّ من خلال بيانات الاختبار(أو من خلال التّحقّق المتقاطع المزدوج (double cross-validation) في حالة مجموعة البيانات الصّغيرة).””

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

“”لا يُستخدَم التّحقّق المُتقاطِع في الشّبكات العصبونيّة التي تستغرق مدّة تدريبها فترات طويلة لأيّام أو أشهر، أمّا في مجموعات البيانات الصّغيرة يمكن استخدام التّحقّق المتقاطِع؛ حيث يتمّ إجراء عمليّة ضبط قيم المُعاملات الأساسيّة عند كلّ دورة تحقّق.

يُستخدم التّحقق المتقاطع المُزدوج  بشكل تعاوديّ فكرة التّحقق المُتقاطِع، حيث يتمّ استخدام حلقة خارجيّة من أجل حساب الخطأ العام، ومن ثمّ يتمّ استخدام حلقة داخليّة داخل كلّ حلقة خارجيّة من أجل التّحقّق من مجموعة فرعيّة من مجموعات بيانات التّدريب(أي يتمّ تقسيم البيانات إلى بيانات تدريب وتحقّق عند كلّ دورة) وذلك لاختيار المُعاملات الأساسيّة لكلّ قسم.””

ثانيًا : تعلّم المعاملات الأساسيّة

المعاملات الأساسيّة في الشّبكات العصبونيّة وتوصيات خاصّة بقيمها الابتدائيّة

المعاملات الأساسيّة هي:

  • معدّل التعلّم الابتدائيّ: تُعتبر عمليّة تحديث الأوزان بنسبة 0.01 بداية جيّدة في عمليّة تدريب الشّبكة العصبونيّة.
  • جدولة إشباع التّعلّم: يُعتبر انخفاض معدّل التّعلّم بمرور الوقت بمقدار T / 1 بداية جيّدة.
  • حجم الدّفعة الأصغريّ: عدد العيّنات المستخدمة من أجل حساب الانحدار ؛32 يعتبر بداية جيدة.
  • عدد دورات التّدريب: حيث يتمّ في كلّ دورة تحديث الأوزان ويتمّ ضبطها بقيم كبيرة وتستخدم من أجل التّوقف المُبكِر.
  • زخم الحركة: مقدار التّغيّر الحاصل في قيم الأوزان عن القيم الابتدائيّة وتُضبط بقيم كبيرة (على سبيل المثال 0.9).
  • المعاملات الخاصّة بكلّ طبقة: والتي تكون نادرة الحدوث.

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

“”يُعتبر معامل مُعدّل  التعلّم من أهمّ المُعاملات الواجب ضبطها كنقطةِ بداية لانطلاق عمل أيّ شبكة عصبونيّة ومن أفضل القيم الابتدائيّة لهذا العامل هو 0.01، حيث تُعتبر هذه القيمة قيمة قياسيّة مُناسبة لكلّ الشّبكات العصبونيّة مُتعدّدة الطّبقات.””

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

“”من النّاحية النّظرية يجب أن يؤثّر هذا المعامل الأساسيّ على وقت التّدريب ولا يؤثّر على وقت الاختبار كثيرًا، لذلك يمكن تحسينها بشكل منفصل عن المعاملات الأساسيّة الأخرى، من خلال مقارنة منحنيات التّدريب (خطأ التّدريب والتّحقّق من الصّحّة مقابل مقدار وقت التّدريب)””

ثالثًا : نموذج المعاملات الأساسيّة

أهمّ نموذج للمعاملات الأساسيّة مع بعض التّوصيات:

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

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

“”بيّنت العديد من الدّراسات السّابقة أنّ استخدام نفس عدد العقد في كل الطّبقات المخفية يعمل بشكل أفضل من استخدام العدد المتناقص (الشكل الهرميّ) أو العدد المتزايد (الشكل الهرميّ المعكوس)، ويبقى العامل الأهمّ في تحديد عدد العقد مجموعة البيانات.””

كما يوصى باستخدام تكوين مكتمل (أي عدد العقد في الطبقة المخفيّة أكبر من طبقة الدّخل) للطّبقة المخفيّة الأولى.

“”في العديد من المهامّ التي عملنا عليها، وجدنا أنّه عندما تكون الطّبقة المخفية الأولى مكتملة أيّ عدد العقد فيها أكبر من عدد العقد في طبقة الدّخل، تعمل بشكل أفضل من الطّبقة المخفيّة غير المكتملة أي عدد العقد فيها أقلّ من عدد العقد في طبقة الدّخل.””

لقد ذُكر في تعداد نموذج للمعاملات الأساسيّة تنظيم الوزن فما هو التّنظيم؟

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

يوجد ثلاث تقنيّات تنظيم فعّالة وشائعة جدًّا تسمّى L1 و L2 وتعطيل عمل العُصبُونات؛ والتي تقوم خصّيصًا بتقليل أخطاء الاختبار غالبًا على حساب زيادة خطأ التّدريب.

رابعًا : ضبط المعاملات الأساسيّة

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

تمثّل عمليّة ضبط المعاملات تحدّيًا كبيرًا بسبب القدرات الحسابيّة المطلوبة لتلك العمليّة، ومن الممكن أن تتلاءم بشكل كبير مع بيانات التّحقّق وتؤدّي إلى نتائج غير صحيحة.

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

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

غالبًا ما يؤدّي ضبط معامل أساسيّ واحد لنموذج ما  ورسم النّتائج إلى منحنى على شكل حرف U؛ يوضّح نمط الأداء الضّعيف والأداء الجيّد  (على سبيل المثال تقليل الخسارة أو الخطأ). الهدف هو العثور على الجزء السّفليّ من “U”.

المشكلة هي أنّ العديد من المعاملات الأساسيّة تتفاعل عند الجزء السّفليّ من “U” وغالبًا ما يكون هذا الجزء  متعرّجًا بشكل كبير

“”نتوقّع عند التّقريب الأوّل أن نحصل على منحنى له شكل الحرف “U” (وذلك عند أخذ معامل أساسيّ واحد واعتبار باقي المعاملات عبارة عن ثوابت)، يمكن أن يعاني هذا المنحني من العديد التّعرّجات وذلك بسبب استخدام مجموعة محدودة أو صغيرة من البيانات.””

للمساعدة في هذا البحث، يقدّم بعد ذلك ثلاث نصائح قيّمة يجب مراعاتها بشكل عامّ عند ضبط المعاملات الأساسيّة للنّموذج:

  • أفضل قيمة على الخطّ البيانيّ: ضع في اعتبارك توسيع البحث إذا تمّ العثور على قيمة جيّدة على حافة الفاصل الزّمنيّ الذي تمّ البحث فيه.
  • مقياس القيم يُؤخذ بعين الاعتبار: ضع في اعتبارك البحث على مقياس لوغاريتميّ، على الأقلّ في البداية (على سبيل المثال 0.1 ، 0.01 ، 0.001 ، إلخ).
  • الاعتبارات الحسابيّة: ضع في اعتبارك التّخليّ عن دقّة النّتيجة لتسريع البحث.

تمّ اقتراح ثلاث استراتيجيّات بحثيّة منهجيّة للمعاملات الأساسيّة:

  • البحث الّتنازليّ: وفيه يتمّ التّعامل مع كلّ مُعامل على حدة.
  • البحث متعدد الدّقة: وفيه يتمّ تكبير فاصل البحث بشكل متكرّر.
  • البحث على شكل شبكة: وفيه يتمّ تعريف شبكة بـ n  بعد من القيم وتُختبر كل قيمة على حدة.

يمكن استخدام هذه الاستراتيجيّات بشكل منفصل أو حتّى مجتمعة.

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

“”تتمثّل ميزة البحث في الشّبكة، مقارنةً بالعديد من استراتيجيّات التّحسين الأخرى (مثل البحث التّنازليّ)، في أنّها قابلة للتّفريغ بشكل كامل.””

في كثير من الأحيان، تتكرّر العمليّة عبر عمليّات بحث الشّبكة التكراريّة والجمع بين البحث متعدّد الدّقّة والبحث الشّبكيّ.

“”بشكلٍ عامّ لا يكتفي بشبكة بحث واحدة ويميل مستخدمو الشّبكات العصبونيّة إلى استخدام سلسلة من شبكات البحث، حيث يتمّ في كلّ مرة ضبط مجالات القيم بالاعتماد على النّتائج السّابقة التي تمّ الحصول عليها.””

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

“”يمكن للعامل البشريّ أن يلعب دورًا هاًّا في عمليّة البحث عن المُعاملات الأساسيّة، واكتشاف الأخطاء ومراقبة السّلوك غير المتوقّع لخوارزميّة التّعلّم.””

ومن المهمّ العمل على أتمتة عمليّة البحث من أجل الاستخدام وتكرار هذه العمليّة في المستقبل مع نماذج جديدة.

بحث الشّبكة شامل وبطيء.

“”هناك مشكلة خطيرة في نهج بحث الشّبكة للعثور على تكوينات جيّدة للمعاملات الأساسيّة؛ وهي أنّه يتوسّع بشكل سيّئ مع عدد المعاملات الأساسيّة التي تمّ أخذها في الاعتبار.””

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

“”فكرة أخذ العيّنات العشوائيّة هي استبدال الشّبكة العاديّة بأخذ عيّنات عشوائيّة (موحّد عادة)، يتمّ تحديد كلّ تكوين للمعامل الأساسيّ الذي تمّ اختباره عن طريق أخذ عيّنات بشكل مستقل لكلّ معامل من توزيع سابق (موحّد عادةً في مجال السّجل داخل فاصل زمنيّ محدّد).””

تنتهي الورقة بتوصيات أكثر عموميّة بما في ذلك تقنيّات تصحيح أخطاء عمليّة التّعلّم، وتسريع التّدريب باستخدام وحدات GPU.

خاتمة

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

المراجع

  1. Recommendations for Deep Learning Neural Network Practitioners – 
  2. Neural Networks: Tricks of the Trade
  3. Neural Networks: Tricks of the Trade (Lecture Notes in Computer Science, 7700)
  4. [1206.5533] Practical recommendations for gradient-based training of deep architectures
  5. Deep Learning (Adaptive Computation and Machine Learning series) Kindle Edition
  6. Automatic differentiation – Wikipedia
  7. Learning Process of a Deep Neural Network | by Jordi TORRES.AI | Towards Data Science
  8. A Gentle Introduction to Exploding Gradients in Neural Networks – MachineLearningMastery.com
  9. Initializing neural networks – deeplearning.ai
  10. Parameter optimization in neural networks – deeplearning.ai
  11. Learning Rate Decay and Local Optima – Andrea Perlato
  12. Improving Deep Neural Networks, Week 2

الكاتب

  • عبد الفتاح اسبير

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

0 Shares:
تعليقان
  1. ما شاء الله .. تبارك الله
    بحث متقن يستحق الاطلاع وهو مرجع للباحثين
    اتمنى ان يتعمق شبابنا العربي والاسلامي في هذا المجال لانه علم المستقبل .. والحكمة ضالة المؤمن اينما وجدها فهو احق بها
    التحية والتقدير للقائمين على هذا البحث

اترك تعليقاً

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

You May Also Like