ابرپارامتر (یادگیری ماشین)

در یادگیری ماشینی، ابرپارامتر یا فراپارامتر یا هایپرپارامتر پارامتری است که از آن برای کنترل فرایند یادگیری استفاده می‌شود. در مقابل، مقادیر سایر پارامترها (معمولاً وزن گره‌ها) از طریق آموزش به دست می‌آیند.

ابرپارامترها را می‌توان به عنوان ابرپارامترهای مدل در نظر گرفت، که نمی‌توان آنها را در حین اتصال ماشین به مجموعه آموزشی تخمین زد، زیرا به انتخاب مدل یا ابرپارامترهای الگوریتم اشاره دارد. ابرپارامترها در اصل تأثیری بر عملکرد مدل ندارند بلکه باعث افزایش سرعت و کیفیت فرایند یادگیری می‌شوند. نمونه‌ای از ابرپارامتر مدل، توپولوژی و اندازه یک شبکه عصبی است. سرعت یادگیری و اندازهٔ دسته و همچنین اندازهٔ کوچک دسته (اندازهٔ دسته می‌تواند به همهٔ نمونهٔ داده‌ها اشاره داشته باشد و اندازهٔ کوچک دسته به مجموعهٔ نمونهٔ کوچکتری اشاره دارد) نمونه‌هایی از ابرپارامترهای الگوریتم هستند.

مدل‌های مختلف الگوریتم‌های آموزش به ابرپارامترهای متفاوتی نیاز دارند، برخی از الگوریتم‌های ساده (مانند کمترین مربعات معمولی در مدل رگرسیون) نیازی به هیچ ابرپارامتری ندارند. با توجه به این ابرپارامترها، الگوریتم آموزش پارامترهای دیگر مدل را از طریق داده‌های پارامترها یادمی‌گیرد. برای مثال، لسو الگوریتمی است که یک ابرپارامتر منظم‌سازی را به کمترین مربعات معمولی رگرسیون اضافه می‌کند، که باید قبل از تخمین پارامترها از طریق الگوریتم آموزشی تنظیم شود.[۱]

ملاحظات

زمان مورد نیاز برای آموزش و آزمایش یک مدل می‌تواند به انتخاب ابرپارامترهای آن بستگی داشته باشد.[۲] یک ابرپارامتر به‌طور معمول از نوع پیوسته یا عدد صحیح است که منجر به مسئله بهینه‌سازی ترکیبی می‌شود.[۲] وجود برخی ابرپارامترها وابسته به مقدار سایرین است، به عنوان مثال اندازه هر لایه پنهان در یک شبکه عصبی می‌تواند وابسته به تعداد لایه‌ها باشد.[۲]

پارامترهای قابل‌یادگیری دشوار

ابرپارامترها را معمولاً نمی‌توان با استفاده از روش‌های شناخته شده مبتنی بر گرادیان (مانند شیب نزولی، LBFGS) که معمولاً برای یادگیری پارامترها استفاده می‌شود، یادگرفت. این ابرپارامترها آن دسته از پارامترهایی هستند که یک نمایش مدل را توصیف می‌کنند که با روش‌های بهینه‌سازی رایج قابل یادگیری نیستند، اما با این وجود بر تابع ضرر تأثیر می‌گذارند. هایپر پارامتر تحمل برای خطاها در ماشین‌های بردار پشتیبان می‌تواند یک مثال از این قضیه باشد.

پارامترهای غیرقابل‌یادگیری

گاهی اوقات، ابرپارامترها نمی‌توانند از داده‌های آموزشی یادگرفته بشوند، زیرا آنها به شدت ظرفیت یک مدل را افزایش می‌دهند (مدل پیچیده می‌شود) و برخلاف نقشه‌برداری صحیح از غنای داده‌ها می‌توانند تابع تلفات را به حداقل برسانند (مانند تطبیق بیش از حد و دریافت نویز در داده‌ها). برای مثال، اگر درجه یک معادله چند جمله‌ای برازش مدل رگرسیونی را به‌عنوان یک پارامتر قابل آموزش در نظر بگیریم، این درجه تا زمانی افزایش می‌یابد که مدل کاملاً با داده‌ها مطابقت داشته باشد که در پی آن خطای آموزشی کم، اما عملکرد تعمیم ضعیفی را به همراه دارد.

تنظیم‌پذیری

بیشتر تغییرات در عملکرد را می‌توان تنها به چند ابرپارامتر نسبت داد.[۳][۲][۴] تنظیم پذیری یک الگوریتم، ابرپارامتر یا ابرپارامترهای متقابل، معیاری است که نشان می‌دهد با تنظیم آنچه میزان عملکرد می‌توان به دست آورد.[۵] برای یک LSTM، در حالی که نرخ یادگیری و اندازه شبکه مهم‌ترین ابرپارامترهای آن هستند،[۶] دسته‌بندی و تکانه تأثیر قابل‌توجهی بر عملکرد آن ندارند.[۷]

اگرچه برخی از تحقیقات استفاده از اندازه‌های دسته ای کوچک را در هزاران مورد، حمایت کردند، اما کارهای دیگر بهترین عملکرد را با اندازه‌های دسته ای کوچک بین ۲ تا ۳۲ پیدا کرده‌اند.[۸]

استوارمندی

یک تصادف ذاتی در یادگیری به‌طور مستقیم نشان می‌دهد که عملکرد تجربی ابرپارامتر، لزوماً عملکرد واقعی آن نیست.[۲] روش‌هایی که نسبت به تغییرات ساده در ابرپارامترها، دانه‌های تصادفی، یا حتی پیاده‌سازی‌های مختلف یک الگوریتم استوار نیستند، بدون ساده‌سازی و استوارسازی قابل توجه نمی‌توانند در سامانه‌های کنترل با عامل حیاتی ادغام شوند.[۹]

الگوریتم‌های یادگیری تقویتی، به صورت خاص، احتیاج دارند که کارایی آنها روی تعداد زیادی از دانه‌های تصادفی ارزیابی بشود و همچنین حساسیت‌شان نسبت به انتخاب ابرپارامترها اندازه‌گیری شود.[۹] ارزیابی آنها با تعداد کمی از دانه‌های تصادفی به دلیل واریانس بالا عملکرد مناسبی را نشان نمی‌دهد.[۹] برخی از روش‌های یادگیری تقویتی، به عنوان مثال DDPG (گرادیان ترفند تعینی عمیق) نسبت به انتخاب‌های ابرپارامتر حساس تر از سایرین است.[۹]

بهینه‌سازی

بهینه‌سازی ابرپارامترها چندین ابرپارامتر را پیدا می‌کند که حاصل آن، یک مدل بهینه می‌شود تا یک تابع تلفات از پیش تعریف‌شده را در داده‌های آزمایشی به حداقل برساند.[۲] تابع هدف، چندین ابرپارامتر را می‌گیرد و ضرر مربوطه را برمی‌گرداند.[۲]

بازتولیدپذیری

جدا از تنظیم ابرپارامترها، یادگیری ماشینی شامل ذخیره و سازماندهی پارامترها و نتایج، و اطمینان از بازتولیدپذیری آنها است.[۱۰] در نبود زیرساخت قوی برای این منظور، کد تحقیق اغلب به سرعت تکامل می‌یابد و جنبه‌های ضروری مانند حسابداری و تکرارپذیری را به خطر می‌اندازد.[۱۱] پلتفرم‌های همکاری آنلاین برای یادگیری ماشین با اجازه دادن به دانشمندان برای اشتراک‌گذاری خودکار، سازماندهی و بحث در مورد آزمایش‌ها، داده‌ها و الگوریتم‌ها، باعث پیشرفت و بهبود الگوریتم یادگیری ماشین می‌شود.[۱۲] تکرارپذیری می‌تواند به ویژه برای مدل‌های یادگیری عمیق دشوار باشد.[۱۳]

تعدادی سرویس مرتبط و نرم‌افزار منبع باز وجود دارد:

خدمات

نامرابط‌ها
Comet.ml[۱۴]Pyhton[۱۵]
OpenML[۱۲][۱۶][۱۷]REST, Python, Java, R[۱۸]
وزن‌ها و سوگیری‌ها[۱۹]Python[۲۰]

نرم‌افزار

ناماینترفیس‌هافروشگاه
DeterminedREST, Pythonپستگرس‌کیوال
OpenML Docker[۱۲][۱۶][۱۷]REST, Python, Java, R[۱۸]MySQL
sacred[۱۰][۱۱]Python[۲۱]file، مانگودی‌بی , TinyDB, SQL

جستارهای وابسته

منابع