مستخدم:Ghadeerghazimig/فرط المعلمة الأمثل

من ويكيبيديا، الموسوعة الحرة

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

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

نهج[عدل]

شبكة البحث[عدل]

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

نظرًا لأن مساحة المعلمة الخاصة بالمتعلم في الآلة قد تتضمن مسافات ذات قيمة حقيقية أو غير محدودة لبعض المعلمات ، فقد يكون من الضروري تعيين حدود وتقدير يدويًا قبل تطبيق بحث الشبكة.

على سبيل المثال ، يحتوي مصنف SVM ذو الهامش النموذجي المجهز بنواة RBF على اثنين على الأقل من المعلمات الفائقة التي تحتاج إلى ضبط للحصول على أداء جيد في البيانات غير المرئية: ثابت تنظيري C ومعيار فرط نواة γ. كلا المعلمتين مستمرتان ، لذلك لإجراء بحث الشبكة ، يختار المرء مجموعة محدودة من القيم "المعقولة" لكل منها ، على سبيل المثال

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

بحث الشبكة يعاني من لعنة الأبعاد, ولكن غالبا ما يكون محرج موازية لأن hyperparameter إعدادات يقيم عادة ما تكون مستقلة عن بعضها البعض.[2]

بحث عشوائي[عدل]

بحث عشوائي يستبدل سردا كافة تركيبات من قبل اختيارها عشوائيا. هذا يمكن أن يكون ببساطة تطبيق الإعداد المنفصلة المذكورة أعلاه ، ولكن أيضا يعمم المستمر ويخلط المساحات. يمكن أن يتفوق شبكة البحث ، وخاصة عند عدد صغير فقط من hyperparameters يؤثر على الأداء النهائي من الجهاز خوارزمية التعلم.[2] في هذه الحالة فإن الحل الأمثل هو أن يكون هناك انخفاض جوهري أبعاد ، بالإضافة إلى ذلك يتيح إدراج المعرفة السابقة عن طريق تحديد التوزيع من العينة.

النظرية الافتراضية[عدل]

تحسين Bayesian هو أسلوب تحسين عالمي لوظائف الصندوق الأسود الصاخب. مطبقًا على أمثلية المعلمة الفائقة ، يبني أمثلية بايز نموذجًا احتماليًا لتعيين الوظيفة من قيم المعلمات الفائقة إلى الهدف الذي تم تقييمه على مجموعة التحقق من الصحة. من خلال التقييم التكراري لتهيئة المعلمة الفائقة الواعدة القائمة على النموذج الحالي ، ثم تحديثه ، يهدف Bayesian optimization ، إلى جمع الملاحظات التي تكشف عن أكبر قدر ممكن من المعلومات حول هذه الوظيفة . يحاول تحقيق التوازن بين الاستكشاف في الممارسة العملية ، تم عرض تحسين Bayesian [3] [4] [5] للحصول على نتائج أفضل في تقييمات أقل مقارنةً بالبحث في الشبكة والبحث العشوائي ، نظرًا لقدرتك على التفكير في جودة التجارب قبل تشغيلها .

الأمثل القائم على التدرج[عدل]

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

تتمثل الطريقة المختلفة للحصول على التدرج اللوني فيما يتعلق بالمعلمات الفائقة في تمييز خطوات خوارزمية التحسين التكراري باستخدام التمايز التلقائي . [9] [10]

التحسين التطوري[عدل]

التحسين التطوري هو منهجية للتحسين العالمي لوظائف الصندوق الأسود الصاخبة. في أمثلية hyper parameter ، يستخدم التحسين التطوري خوارزميات تطورية للبحث في مساحة المعلمات الفائقة لخوارزمية معينة. [3] تتبع التطوّر الفائق المتطور تطوّر عملية مستوحاة من المفهوم البيولوجي للتطور :

  1. إنشاء مجموعة أولية من الحلول العشوائية
  2. تقييم tuples المعلمات hyper parameter واكتساب دالة اللياقة الخاصة بهم
  3. ترتيب tuples hyper parameter حسب لياقتهم النسبية
  4. استبدال أسوأ tuples معلمات ذات الأداء العالي tuples معلمة جديدة ولدت من خلال كروس وتحور
  5. كرر الخطوات من 2-4 حتى يتم الوصول إلى أداء خوارزمية مرضية أو لم يعد أداء الخوارزمية يتحس

تم استخدام التحسين التطوري في تحسين مقياس الفائق لوغاريتمات تعلم الآلة الإحصائية ، [3] تعلم الآلة الآلي ، البحث العميق في هندسة الشبكات العصبية ، [11] [12] بالإضافة إلى تدريب الأوزان في الشبكات العصبية العميقة. [13]

السكانية[عدل]

التدريب القائم على السكان (PBT) يتعلم كلاً من قيم hyperparameter وأوزان الشبكة. تعمل عمليات التعلم المتعددة بشكل مستقل ، باستخدام معلمات تشعبية مختلفة. يتم استبدال التكرارات ذات الأداء الضعيف بشكل متكرر بنماذج تعتمد قيم المعلمة الفائقة المعدلة من أداء أفضل.

الآخرين[عدل]

كما تم تطوير نهج RBF [14] والطيفي [15] .

البرمجيات مفتوحة المصدر[عدل]

شبكة البحث[عدل]

  • الكاتب هو نظام Kubernetes أصلية والذي يتضمن بحث الشبكة.
  • scikit-Learn عبارة عن حزمة Python تتضمن البحث على الشبكة .
  • Tune هي مكتبة بيثون لضبط المعلمة ذات التوزيع الفائق الموزعة وتدعم البحث في الشبكة.
  • يتضمن Talos شبكة البحث عن Keras .
  • يوفر H2O AutoML البحث عن الشبكة عبر خوارزميات في مكتبة تعلم الآلة مفتوحة المصدر.

بحث عشوائي[عدل]

  • hyperopt ، أيضا عن طريق hyperas و hyperopt-sklearn ، هي حزم بيثون التي تشمل بحث عشوائي.
  • الكاتب هو نظام Kubernetes أصلية والذي يتضمن بحث عشوائي.
  • scikit-Learn هي حزمة بيثون تتضمن بحثًا عشوائيًا .
  • Tune هي مكتبة بيثون لضبط المعلمة ذات التوزيع الفائق الموزعة وتدعم البحث العشوائي على توزيعات المعلمات التعسفية.
  • يتضمن Talos بحثًا عشوائيًا قابلًا للتخصيص لـ Keras .

النظرية الافتراضية[عدل]

  • Auto-sklearn [16] عبارة عن طبقة أمثلية لبرمجية Bayesian على قمة تعلم scikit .
  • Axe [17] عبارة عن منصة تجريبية تستند إلى Python تدعم تحسين Bayesian وتحسين قطاع الطرق كاستراتيجيات استكشاف.
  • BOCS عبارة عن حزمة Matlab تستخدم برمجة شبه محددة لتقليل وظيفة الصندوق الأسود على مدخلات منفصلة. [18] تم تضمين تطبيق Python 3 أيضًا.
  • HpBandSter هي حزمة Python تجمع بين التحسين البايزي والأساليب القائمة على قطاع الطرق. [19]
  • الكاتب هو نظام Kubernetes أصلية والتي تشمل تحسين النظرية الافتراضية.
  • mlrMBO ، أيضًا مع mlr ، عبارة عن حزمة R لتحسين نماذج الصندوق الأسود القائمة على النموذج / بايزي.
  • scikit-optimize عبارة عن حزمة بيثون أو تحسين متسلسل قائم على النموذج مع واجهة scipy.optimize. [20]
  • SMAC SMAC هي مكتبة بيثون / جافا تنفذ تحسين بايزي. [21]
  • tuneRanger عبارة عن حزمة R لضبط الغابات العشوائية باستخدام التحسين القائم على النموذج.
  • optuna هي حزمة بيثون لتحسين الصندوق الأسود ، وهي متوافقة مع الوظائف التعسفية التي تحتاج إلى التحسين.

الأمثل القائم على التدرج[عدل]

  • FAR-HO عبارة عن حزمة Python تحتوي على تطبيقات ومغلفة Tensorflow لتحسين مقياس التعرق الفائق القائم على التدرج مع تمايز حسابي للأمام والخلف.
  • XGBoost هي مكتبة برامج مفتوحة المصدر توفر إطارًا لتعزيز التدرج لـ C ++ و Java و Python و R و Julia.

تطوري[عدل]

آخر[عدل]

  • dlib [24] عبارة عن حزمة C ++ مع API Python والذي يحتوي على مُحسِّن خالٍ من المعلمات استنادًا إلى LIPO ومحسّنات منطقة الثقة يعملون جنبا إلى جنب. [25]
  • لحن هي مكتبة بيثون لتنفيذ ضبط hyperparameter ويدمج مع / جداول العديد من المكتبات hyperparameter الأمثل القائمة مثل hyperopt ، nevergrad ، و scikit-الأمثل .
  • Harmonica هي حزمة Python لتحسين مقياس الطيف الفائق. [15]
  • hyperopt ، أيضا عن طريق hyperas و hyperopt-sklearn ، هي حزم بيثون التي تشمل شجرة المقدرون Parzen أساس توزيع الأمثل hyperparameter.
  • الكاتب هو نظام Kubernetes الناطقين بها والتي تشمل الشبكة، بحث عشوائي، وتحسين النظرية الافتراضية، hyperband، وNAS على أساس تعزيز التعلم.
  • nevergrad [22] هي حزمة بيثون للتحسين الخالي من التدرج باستخدام تقنيات مثل التطور التفاضلي ، البرمجة التربيعية المتسلسلة ، fastGA ، تكيف مصفوفة التغاير ، طرق التحكم السكانية ، وتحسين سرب الجسيمات. [23]
  • nni عبارة عن حزمة Python والتي تتضمن توليف hyperparameter للشبكات العصبية في البيئات المحلية والموزعة. وتشمل تقنياتها TPE ، عشوائي ، صلب ، تطور ، SMAC ، دفعة ، الشبكة ، والنطاق العريض.
  • المعلمة-شيربا هي حزمة بيثون مماثلة والتي تشمل عدة تقنيات البحث الشبكة ، بايزي والتحسين الوراثي
  • pycma هو تطبيق بيثون لاستراتيجية تطور مصفوفة التغاير المشترك .
  • rbfopt عبارة عن حزمة Python تستخدم نموذج دالة أساس شعاعي [14]

خدمات تجارية[عدل]

  • يستخدم Amazon Sagemaker عمليات غوسية لضبط المقاييس الفوقية .
  • BigML OptiML يدعم مجالات البحث المختلطة
  • يدعم Google HyperTune مجالات البحث المختلطة
  • يدعم Indie Solver التحسين متعدد الأهداف والتعددية والقيود
  • العقل المدبر OPTaaS يدعم مجالات البحث المختلطة ، متعددة الأهداف ، القيود ، التحسين المتوازي والنماذج البديلة.
  • يدعم SigOpt مجالات البحث المختلطة ، متعددة الأهداف ، متعددة الحلول ، متعددة الأبعاد ، القيد (الخطي والمربع الأسود) ، والتحسين الموازي.

أنظر أيضا[عدل]

  • تعلم الآلة الآلي
  • بحث الهندسة المعمارية العصبية
  • ميتا الأمثل
  • اختيار النموذج
  • الضبط الذاتي
  • XGBoost

المراجع[عدل]

  1. ^ Chin-Wei Hsu, Chih-Chung Chang and Chih-Jen Lin (2010). A practical guide to support vector classification. Technical Report, National Taiwan University.
  2. ^ أ ب Bergstra، James؛ Bengio، Yoshua (2012). "Random Search for Hyper-Parameter Optimization" (PDF). Journal of Machine Learning Research. ج. 13: 281–305.
  3. ^ أ ب ت Algorithms for hyper-parameter optimization، 2011
  4. ^ Snoek، Jasper؛ Larochelle، Hugo؛ Adams، Ryan (2012). "Practical Bayesian Optimization of Machine Learning Algorithms" (PDF). Advances in Neural Information Processing Systems. arXiv:1206.2944. Bibcode:2012arXiv1206.2944S.
  5. ^ Thornton، Chris؛ Hutter، Frank؛ Hoos، Holger؛ Leyton-Brown، Kevin (2013). "Auto-WEKA: Combined selection and hyperparameter optimization of classification algorithms" (PDF). Knowledge Discovery and Data Mining. arXiv:1208.3719. Bibcode:2012arXiv1208.3719T.
  6. ^ Larsen، Jan؛ Hansen، Lars Kai؛ Svarer، Claus؛ Ohlsson، M (1996). "Design and regularization of neural networks: the optimal use of a validation set" (PDF). Proceedings of the 1996 IEEE Signal Processing Society Workshop.
  7. ^ Olivier Chapelle؛ Vladimir Vapnik؛ Olivier Bousquet؛ Sayan Mukherjee (2002). "Choosing multiple parameters for support vector machines" (PDF). Machine Learning. ج. 46: 131–159. DOI:10.1023/a:1012450327387.
  8. ^ Chuong B؛ Chuan-Sheng Foo؛ Andrew Y Ng (2008). "Efficient multiple hyperparameter learning for log-linear models" (PDF). Advances in Neural Information Processing Systems 20.
  9. ^ Domke، Justin (2012). "Generic Methods for Optimization-Based Modeling" (PDF). Aistats. ج. 22.
  10. ^ Franceschi، Luca؛ Donini، Michele؛ Frasconi، Paolo؛ Pontil، Massimiliano (2017). "Forward and Reverse Gradient-Based Hyperparameter Optimization" (PDF). Proceedings of the 34th International Conference on Machine Learning.
  11. ^ A bot will complete this citation soon. Click here to jump the queue أرخايف:1703.00548.
  12. ^ A bot will complete this citation soon. Click here to jump the queue أرخايف:1711.09846.
  13. ^ A bot will complete this citation soon. Click here to jump the queue أرخايف:1712.06567.
  14. ^ أ ب Diaz. "An effective algorithm for hyperparameter optimization of neural networks". arXiv:1705.08520. {{استشهاد بأرخايف}}: الوسيط |arxiv= مطلوب (مساعدة)
  15. ^ أ ب Hazan. "Hyperparameter Optimization: A Spectral Approach". arXiv:1706.00764. {{استشهاد بأرخايف}}: الوسيط |arxiv= مطلوب (مساعدة)
  16. ^ "Efficient and Robust Automated Machine Learning". Advances in Neural Information Processing Systems 28 (NIPS 2015): 2962–2970. 2015.
  17. ^ "Open-sourcing Ax and BoTorch: New AI tools for adaptive experimentation". 2019.
  18. ^ Baptista. "Bayesian Optimization of Combinatorial Structures". {{استشهاد بأرخايف}}: الوسيط |arxiv= مطلوب (مساعدة)
  19. ^ Falkner. "BOHB: Robust and Efficient Hyperparameter Optimization at Scale". {{استشهاد بأرخايف}}: الوسيط |arxiv= مطلوب (مساعدة)
  20. ^ "skopt API documentation". scikit-optimize.github.io.
  21. ^ "Sequential Model-Based Optimization for General Algorithm Configuration" (PDF). Proceedings of the Conference on Learning and Intelligent OptimizatioN (LION 5).
  22. ^ أ ب "[QUESTION] How to use to optimize NN hyperparameters · Issue #1 · facebookresearch/nevergrad". GitHub.
  23. ^ أ ب "Nevergrad: An open source tool for derivative-free optimization". 20 ديسمبر 2018.
  24. ^ "A toolkit for making real world machine learning and data analysis applications in C++: davisking/dlib". 25 فبراير 2019.
  25. ^ King، Davis. "A Global Optimization Algorithm Worth Using".

[[تصنيف:استمثال رياضي]] [[تصنيف:تعلم آلي]]