موضوع مقاله: بهینه‌سازی ابرپارامترها | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # بهینه‌سازی ابرپارامترها | مقدمه: یک ابرپارامتر، پارامتری است که با استفاده از مقدار آن، فرایند یادگیری کنترل می‌شود. | ## بخش 1: بهینه‌سازی ابرپارامترها | در مقابل آن، مقادیر سایر پارامترها (معمولاً وزن گره‌ها) از طریق آموزش بدست می‌آیند. برای عمومی‌سازی و تعمیم از الگو داده‌های مختلف، مدل‌های یکسان یادگیری ماشین می‌توانند به اعمال انواع محدودیت‌ها، وزن‌ها و نرخ‌های یادگیری متفاوتی نیاز داشته باشند که آن‌ها را ابرپارامتر می‌نامیم. این ابرپارامتر‌ها باید به گونه‌ای تنظیم شوند تا مسئله‌ٔ یادگیری ماشین به صورت بهینه حل شود. روش‌ها جستجوی شبکه‌ای روش سنتی اجرای بهینه‌سازی ابرپارامتر‌ها، جستجوی شبکه‌ای بوده‌ که در اصل یک جستجوی فراگیر، در زیرمجموعه‌ای از فضای ابرپارامترهای الگوریتم‌ یادگیری که به صورت دستی مشخص می‌شود، است. برای هر ابرپارامتر، ۱۰ مقدار مختلف در نظر گرفته شده است، پس در مجموع ۱۰۰ ترکیب مختلف ارزیابی و مقایسه شده‌اند. خطوط تراز آبی نواحی که نتایج قوی داشته‌اند و خطوط تراز سرخ نواحی که نتایج ضعیف داشته‌اند را نمایان می‌کنند.برای نمونه، یک بردار ماشین بردار پشتیبانی رده‌بندی کننده با حاشیهٔ نرم، با استفاده از هستهٔ تابع پایهٔ شعاعی، حداقل دو ابرپارامتر دارد که برای عملکرد مناسب بر روی داده‌های دیده نشده، نیازمند بهینه‌سازی و میزان‌سازی می‌باشد: یک ثابت تنظیم و یک ابرپارامتر هسته . هر دوی این پارامترها پیوسته هستند، پس برای اینکه بتوانیم جستجوی شبکه‌ای را انجام دهیم، یک مجموعهٔ متناهی از مقادیر منطقی و معقول را برای هر یک از آن‌ها تعریف می‌کنیم: حال جستجوی شبکه‌ای به ازای هر جفت حاضر در ضرب کارتزین این دو مجموعه، یک ماشین بردار پشتیبانی را آموزش داده و عملکرد آن‌ها را بر روی یک مجموعه از داده‌های اعتبارسنجی از پیش کنار گذاشته شده (یا روش اعتبارسنجی متقابل درونی بر روی مجموعهٔ‌ داده‌های آموزشی، که در این صورت چندین ماشین بردار پشتیبانی به ازای هر جفت آموزش داده می‌شوند)، ارزیابی می‌کند. در نهایت الگوریتم جستجوی شبکه‌ای، ابرپارامتر‌هایی که به ازای آن‌ها بیشترین امتیاز در مرحلهٔ اعتبارسنجی بدست آمده است را به عنوان خروجی برمی‌گرداند. میله‌های سبز رنگ نشان می‌دهند که در مقایسه با جستجوی شبکه‌ای، تعداد مقادیر بیشتری برای هر ابرپارامتر در نظر گرفته شده‌اند. جستجوی تصادفی جستجوی تصادفی به‌جای جستجوی فراگیر بر روی همهٔ ترکیب‌های ممکن، به صورت تصادفی حالاتی را انتخاب و بررسی می‌کند. این کار در حالت گسسته بودن که بالا شرح داده شد، به راحتی قابل انجام است ولی در فضاهای پیوسته و ترکیبی نیز کار می‌کند. این روش می‌تواند از روش جستجوی شبکه‌ای، به خصوص هنگامی که تعداد کمی از ابرپارامترها بر روی عملکرد نهایی الگوریتم یادگیری اثر می‌گذارند، بهتر عمل کند. | ## بخش 2: بهینه‌سازی ابرپارامترها | جستجوی تصادفی نیز همانند جستجوی شبکه‌ای به آسانی می‌تواند به صورت موازی پردازش می‌شود. همچنین در این روش می‌توان با تعریف توزیعی که قرار است از آن نمونه‌گیری کنیم، بر اساس دانش پیشین، عملکرد بهتری داشت. با وجود سادگی این روش، جستجوی تصادفی هنوز از مبناهای مهم به حساب می‌آید که برای مقایسهٔ عملکرد روش‌های جدید بهینه‌سازی ابرپارامترها، از آن استفاده می‌شود. بهینه‌سازی بیزی بهینه‌سازی بیزی، یک روش بهینه‌‌سازی مطلق برای توابع جعبه‌ سیاه دارای نویز است. با به‌کارگیری این روش در بهینه‌سازی ابرپارامترها، بهینه‌ساز بیزی یک مدل احتمالاتی از تابعی که مقدار ابرپارامترها را به هدف ارزیابی شده بر روی مجموعه‌ داده‌های اعتبارسنجی نگاشت می‌کند، می‌سازد. سپس با ارزیابی یک ترکیب امیدبخش از ابرپارامترها بر اساس مدل فعلی، و بروزرسانی آن به صورت مکرر، بهینه‌ساز بیزی تلاش می‌کند با جمع‌آوری مشاهدات، بیشترین میزان اطلاعات ممکن را در رابطه با این تابع، و به‌طور خاص نقاط بهینهٔ آن، کسب کند. بهینه‌ساز بیزی تلاش می‌کند تا میان اکتشاف (ابرپارامترهایی که به ازایشان خروجی دارای بیشترین عدم قطعیت است) و استخراج (ابرپارامترهایی که انتظار می‌رود به نقطهٔ بهینه نزدیک باشند) تعادل ایجاد کند. به صورت عملی نشان داده شده است که در مقایسه با جستجوی شبکه‌ای و تصادفی، بهینه‌سازی بیزی با ارزیابی‌های کمتر، نتایج بهتری می‌گیرد چرا که قادر به استدلال دربارهٔ کیفیت آزمایش‌ها، پیش از اجرایشان است. بهینه‌سازی مبتنی بر گرادیان برای برخی از الگوریتم‌های یادگیری خاص، امکان محاسبهٔ گرادیان نسبت به ابرپارامتر‌ها، و سپس بهینه‌سازی آن‌ها از راه گرادیان کاهش وجود دارد. یک روش دیگر برای بدست آوردن گرادیان نسبت به ابرپارامترها، مشتق‌گیری از مراحل یک الگوریتم‌ بهینه‌سازی تکرار شونده، به کمک مشتق‌گیری خودکار است.Domke, Justin (2012). یک روش جدیدتر در همین راستا، استفاده از قضیهٔ تابع ضمنی برای محاسبهٔ ابرگرادیان‌ها و ارائهٔ یک تخمین پایدار از وارون هسین است. این روش با وجود میلیون‌ها ابرپارامتر نیز قابل اجرا است و تنها به حافظهٔ ثابت نیاز دارد. | ## بخش 3: بهینه‌سازی ابرپارامترها | یک نسخه از این روش است که با به‌کارگیری از یک نمای فشرده از ابرشبکه، در استفاده از حافظه، کارآمد است. همچنین، Δ-STN با خطی‌سازی شبکه در وزن‌هایش، تخمین بهتری از ژاکوبین بهترین واکنش ارائه می‌دهد، چرا که آثار غیرضروری غیرخطی حاصل از تغییرات بزرگ در وزن‌ها از بین می‌رود. این روش‌ها به‌طور گسترده در بهینه‌سازی ابرپارامتر‌های معماری در جستجوی معماری عصبی استفاده شده‌اند. بهینه‌سازی فرگشتی بهینه‌سازی فرگشتی، یک روش بهینه‌‌سازی مطلق برای توابع جعبه‌ سیاه دارای نویز است. در بهینه‌سازی ابرپارامترها، بهینه‌سازی فرگشتی با استفاده از الگوریتم‌های فرگشتی، در فضای ابرپارامترهای الگوریتم یادگیری داده‌ شده به جستجو می‌پردازد. بهینه‌سازی فرگشتی ابرپارامترها، از فرایندی که برگرفته از مفهوم فرگشت در زیست‌شناسی است، پیروی می‌کند: ساخت یک جمعیت اولیه از پاسخ‌های تصادفی (تولید چندتایی‌های تصادفی از ابرپارامترها، معمولاً بیش از ۱۰۰ عضو) ارزیابی عضوهای جمعیت (چندتایی‌ ابرپارامتر‌ها) و بدست آوردن تابع شایستگی آن‌ها رتبه‌بندی عضو‌های جمعیت (چندتایی ابرپارامتر‌ها) بر اساس شایستگی نسبی آن‌ها جایگزینی عضو‌هایی از جمعیت (چندتایی ابرپارامتر‌ها) که بدترین عملکرد را داشته‌اند با چند‌تایی‌های جدید از ابرپارامتر‌ها که از طریق تقاطع و جهش ایجاد شده‌اند تکرار مراحل ۲ تا ۴، تا هنگامی که به خروجی خرسند کننده‌ای برسیم، یا تا هنگامی که در خروجی پیشرفتی مشاهده نکنیم بهینه‌سازی فرگشتی در بهینه‌سازی ابرپارامترها برای الگوریتم‌های آماری یادگیری ماشین، یادگیری ماشین خودکاره، شبکه‌های عصبی معمولی و جستجوی معماری شبکه‌های عصبی ژرف، و همچنین در آموختن وزن‌های شبکه‌های عصبی ژرف بکار گرفته شده‌ است. جمعیت-پایه آموزش جمعیت-پایه یا مبتنی بر جمعیت (PBT) هم از مقادیر ابرپارامتر‌ها و هم از وزن‌های شبکه می‌آموزد. همانند روش‌های فرگشتی، مدل‌هایی که عملکرد ضعیفی دارند، به‌طور مکرر توسط مدل‌هایی که مقادیر ابرپارامتر‌ها و وزن‌های برگرفته از مدل‌های با عملکرد برتر دارند، جایگزین می‌شوند. PBT به ابرپارامتر‌ها اجازهٔ تغییر را می‌دهد و به همین علت، نیاز به بهینه‌سازی آن‌ها به صورت دستی، از بین می‌رود. این فرایند هیچ فرضی دربارهٔ معماری مدل، توابع هزینه یا فرایند‌های یادگیری نمی‌کند. PBT و نسخه‌های مختلف آن از روش‌های سازوارپذیر هستند: مقدار ابرپارامترها را به هنگام آموزش مدل‌ها بروزرسانی می‌کنند. | ## جمع‌بندی | در مقابل روش‌های سازوارناپذیر از راهبرد غیر بهینهٔ تخصیص یک مجموعه از مقادیر ثابت به عنوان ابرپارامترها در تمام طول فرایند یادگیری، بهره می‌برند.