ابرپارامتر (یادگیری ماشین)
در یادگیری ماشینی، ابرپارامتر یا فراپارامتر یا هایپرپارامتر پارامتری است که از آن برای کنترل فرایند یادگیری استفاده میشود. در مقابل، مقادیر سایر پارامترها (معمولاً وزن گرهها) از طریق آموزش به دست میآیند.
ابرپارامترها را میتوان به عنوان ابرپارامترهای مدل در نظر گرفت، که نمیتوان آنها را در حین اتصال ماشین به مجموعه آموزشی تخمین زد، زیرا به انتخاب مدل یا ابرپارامترهای الگوریتم اشاره دارد. ابرپارامترها در اصل تأثیری بر عملکرد مدل ندارند بلکه باعث افزایش سرعت و کیفیت فرایند یادگیری میشوند. نمونهای از ابرپارامتر مدل، توپولوژی و اندازه یک شبکه عصبی است. سرعت یادگیری و اندازهٔ دسته و همچنین اندازهٔ کوچک دسته (اندازهٔ دسته میتواند به همهٔ نمونهٔ دادهها اشاره داشته باشد و اندازهٔ کوچک دسته به مجموعهٔ نمونهٔ کوچکتری اشاره دارد) نمونههایی از ابرپارامترهای الگوریتم هستند.
مدلهای مختلف الگوریتمهای آموزش به ابرپارامترهای متفاوتی نیاز دارند، برخی از الگوریتمهای ساده (مانند کمترین مربعات معمولی در مدل رگرسیون) نیازی به هیچ ابرپارامتری ندارند. با توجه به این ابرپارامترها، الگوریتم آموزش پارامترهای دیگر مدل را از طریق دادههای پارامترها یادمیگیرد. برای مثال، لسو الگوریتمی است که یک ابرپارامتر منظمسازی را به کمترین مربعات معمولی رگرسیون اضافه میکند، که باید قبل از تخمین پارامترها از طریق الگوریتم آموزشی تنظیم شود.
ملاحظات
زمان مورد نیاز برای آموزش و آزمایش یک مدل میتواند به انتخاب ابرپارامترهای آن بستگی داشته باشد. یک ابرپارامتر بهطور معمول از نوع پیوسته یا عدد صحیح است که منجر به مسئله بهینهسازی ترکیبی میشود. وجود برخی ابرپارامترها وابسته به مقدار سایرین است، به عنوان مثال اندازه هر لایه پنهان در یک شبکه عصبی میتواند وابسته به تعداد لایهها باشد.
پارامترهای قابلیادگیری دشوار
ابرپارامترها را معمولاً نمیتوان با استفاده از روشهای شناخته شده مبتنی بر گرادیان (مانند شیب نزولی، LBFGS) که معمولاً برای یادگیری پارامترها استفاده میشود، یادگرفت. این ابرپارامترها آن دسته از پارامترهایی هستند که یک نمایش مدل را توصیف میکنند که با روشهای بهینهسازی رایج قابل یادگیری نیستند، اما با این وجود بر تابع ضرر تأثیر میگذارند. هایپر پارامتر تحمل برای خطاها در ماشینهای بردار پشتیبان میتواند یک مثال از این قضیه باشد.
پارامترهای غیرقابلیادگیری
گاهی اوقات، ابرپارامترها نمیتوانند از دادههای آموزشی یادگرفته بشوند، زیرا آنها به شدت ظرفیت یک مدل را افزایش میدهند (مدل پیچیده میشود) و برخلاف نقشهبرداری صحیح از غنای دادهها میتوانند تابع تلفات را به حداقل برسانند (مانند تطبیق بیش از حد و دریافت نویز در دادهها). برای مثال، اگر درجه یک معادله چند جملهای برازش مدل رگرسیونی را بهعنوان یک پارامتر قابل آموزش در نظر بگیریم، این درجه تا زمانی افزایش مییابد که مدل کاملاً با دادهها مطابقت داشته باشد که در پی آن خطای آموزشی کم، اما عملکرد تعمیم ضعیفی را به همراه دارد.
تنظیمپذیری
بیشتر تغییرات در عملکرد را میتوان تنها به چند ابرپارامتر نسبت داد. تنظیم پذیری یک الگوریتم، ابرپارامتر یا ابرپارامترهای متقابل، معیاری است که نشان میدهد با تنظیم آنچه میزان عملکرد میتوان به دست آورد. برای یک LSTM، در حالی که نرخ یادگیری و اندازه شبکه مهمترین ابرپارامترهای آن هستند، دستهبندی و تکانه تأثیر قابلتوجهی بر عملکرد آن ندارند.
اگرچه برخی از تحقیقات استفاده از اندازههای دسته ای کوچک را در هزاران مورد، حمایت کردند، اما کارهای دیگر بهترین عملکرد را با اندازههای دسته ای کوچک بین ۲ تا ۳۲ پیدا کردهاند.
استوارمندی
یک تصادف ذاتی در یادگیری بهطور مستقیم نشان میدهد که عملکرد تجربی ابرپارامتر، لزوماً عملکرد واقعی آن نیست. روشهایی که نسبت به تغییرات ساده در ابرپارامترها، دانههای تصادفی، یا حتی پیادهسازیهای مختلف یک الگوریتم استوار نیستند، بدون سادهسازی و استوارسازی قابل توجه نمیتوانند در سامانههای کنترل با عامل حیاتی ادغام شوند.
الگوریتمهای یادگیری تقویتی، به صورت خاص، احتیاج دارند که کارایی آنها روی تعداد زیادی از دانههای تصادفی ارزیابی بشود و همچنین حساسیتشان نسبت به انتخاب ابرپارامترها اندازهگیری شود. ارزیابی آنها با تعداد کمی از دانههای تصادفی به دلیل واریانس بالا عملکرد مناسبی را نشان نمیدهد. برخی از روشهای یادگیری تقویتی، به عنوان مثال DDPG (گرادیان ترفند تعینی عمیق) نسبت به انتخابهای ابرپارامتر حساس تر از سایرین است.
بهینهسازی
بهینهسازی ابرپارامترها چندین ابرپارامتر را پیدا میکند که حاصل آن، یک مدل بهینه میشود تا یک تابع تلفات از پیش تعریفشده را در دادههای آزمایشی به حداقل برساند. تابع هدف، چندین ابرپارامتر را میگیرد و ضرر مربوطه را برمیگرداند.
بازتولیدپذیری
جدا از تنظیم ابرپارامترها، یادگیری ماشینی شامل ذخیره و سازماندهی پارامترها و نتایج، و اطمینان از بازتولیدپذیری آنها است. در نبود زیرساخت قوی برای این منظور، کد تحقیق اغلب به سرعت تکامل مییابد و جنبههای ضروری مانند حسابداری و تکرارپذیری را به خطر میاندازد. پلتفرمهای همکاری آنلاین برای یادگیری ماشین با اجازه دادن به دانشمندان برای اشتراکگذاری خودکار، سازماندهی و بحث در مورد آزمایشها، دادهها و الگوریتمها، باعث پیشرفت و بهبود الگوریتم یادگیری ماشین میشود. تکرارپذیری میتواند به ویژه برای مدلهای یادگیری عمیق دشوار باشد.
تعدادی سرویس مرتبط و نرمافزار منبع باز وجود دارد:
خدمات
نام | رابطها |
---|---|
Comet.ml | Pyhton |
OpenML | REST, Python, Java, R |
وزنها و سوگیریها | Python |
نرمافزار
نام | اینترفیسها | فروشگاه |
---|---|---|
Determined | REST, Python | پستگرسکیوال |
OpenML Docker | REST, Python, Java, R | MySQL |
sacred | Python | file، مانگودیبی , TinyDB, SQL |
جستارهای وابسته
- فرا اکتشافی
- بحران تکرار
- بهینهسازی ابرپارامترها
منابع
- ↑ Yang, Li; Shami, Abdallah (2020-11-20). "On hyperparameter optimization of machine learning algorithms: Theory and practice". Neurocomputing (به انگلیسی). 415: 295–316. doi:10.1016/j.neucom.2020.07.061. ISSN 0925-2312.
- ↑ "Claesen, Marc, and Bart De Moor. "Hyperparameter Search in Machine Learning." arXiv preprint arXiv:1502.02127 (2015)". arXiv:1502.02127. Bibcode:2015arXiv150202127C.
- ↑ Leyton-Brown, Kevin; Hoos, Holger; Hutter, Frank (January 27, 2014). "An Efficient Approach for Assessing Hyperparameter Importance": 754–762 – via proceedings.mlr.press.
- ↑ "van Rijn, Jan N. , and Frank Hutter. "Hyperparameter Importance Across Datasets." arXiv preprint arXiv:1710.04725 (2017)". arXiv:1710.04725. Bibcode:2017arXiv171004725V.
- ↑ "Probst, Philipp, Bernd Bischl, and Anne-Laure Boulesteix. "Tunability: Importance of Hyperparameters of Machine Learning Algorithms." arXiv preprint arXiv:1802.09596 (2018)". arXiv:1802.09596. Bibcode:2018arXiv180209596P.
- ↑ Greff, K.; Srivastava, R. K.; Koutník, J.; Steunebrink, B. R.; Schmidhuber, J. (October 23, 2017). "LSTM: A Search Space Odyssey". IEEE Transactions on Neural Networks and Learning Systems. 28 (10): 2222–2232. arXiv:1503.04069. doi:10.1109/TNNLS.2016.2582924. PMID 27411231.
- ↑ "Breuel, Thomas M. "Benchmarking of LSTM networks." arXiv preprint arXiv:1508.02774 (2015)". arXiv:1508.02774. Bibcode:2015arXiv150802774B.
- ↑ "Revisiting Small Batch Training for Deep Neural Networks (2018)". arXiv:1804.07612. Bibcode:2018arXiv180407612M.
- ↑ "Mania, Horia, Aurelia Guy, and Benjamin Recht. "Simple random search provides a competitive approach to reinforcement learning." arXiv preprint arXiv:1803.07055 (2018)". arXiv:1803.07055. Bibcode:2018arXiv180307055M.
- ↑ "Greff, Klaus, and Jürgen Schmidhuber. "Introducing Sacred: A Tool to Facilitate Reproducible Research."" (PDF). 2015.
- ↑ "Greff, Klaus, et al. "The Sacred Infrastructure for Computational Research."" (PDF). 2017.
- ↑ "Vanschoren, Joaquin, et al. "OpenML: networked science in machine learning." arXiv preprint arXiv:1407.7722 (2014)". arXiv:1407.7722. Bibcode:2014arXiv1407.7722V.
- ↑ Villa, Jennifer; Zimmerman, Yoav (25 May 2018). "Reproducibility in ML: why it matters and how to achieve it". Determined AI Blog. Retrieved 31 August 2020.
- ↑ "Comet.ml – Machine Learning Experiment Management".
- ↑ Inc, Comet ML. "comet-ml: Supercharging Machine Learning".
- ↑ "Vanschoren, Joaquin, Jan N. van Rijn, and Bernd Bischl. "Taking machine learning research online with OpenML." Proceedings of the 4th International Conference on Big Data, Streams and Heterogeneous Source Mining: Algorithms, Systems, Programming Models and Applications-Volume 41. JMLR. org, 2015" (PDF).
- ↑ "van Rijn, J. N. Massively collaborative machine learning. Diss. 2016". 2016-12-19.
- ↑ "OpenML". GitHub.
- ↑ "Weights & Biases for Experiment Tracking and Collaboration".
- ↑ "Monitor your Machine Learning models with PyEnv".
- ↑ Greff, Klaus (2020-01-03). "sacred: Facilitates automated and reproducible experimental research".