بهینهسازی یک مفهوم اساسی در یادگیری ماشین و هوش مصنوعی (AI) است. چهارچوبهای بهینهسازی در طراحی قریب به اتفاق الگوریتمهای یادگیری ماشین، بهینهسازی نقشی اساسی ایفا میکنند. در اصل، بهینهسازی فرآیند یافتن بهترین پاسخ ممکن برای یک مسئله با توجه به محدودیتها و اهداف معین است. “بهترین” پاسخ اغلب شامل به حداقل رساندن معیارهای خطا یا به حداکثر رساندن برخی معیارهای عملکرد در پیشبینی مقدارهای درست است.
بهینهسازی چیست؟
بهینهسازی در یادگیری ماشین به دنبال یافتن مجموعه بهینه پارامترها برای یک مدل پیشبینی است که به آن اجازه میدهد حدسهای دقیقتری روی دادههای ندیده انجام دهد. این فرآیند شامل به حداقل رساندن تابعی است که از آن به نام تابع هدف (Objective Function) یا تابع هزینه (Cost Function) یاد میشود. این تابع اختلاف بین پیشبینیهای مدل و مقادیر واقعی را محاسبه و در قالب یک کمیت ارائه میکند. هرچه مقدار تابع هزینه کمتر باشد، مطابقت خروجی مدل بهتر با دادهها دارد.
به بیان کلیتر ساختار مدل و مقدار بهینه پارامترها و هایپر پارامترهای مدل (تنظیماتی که رفتار الگوریتم را کنترل میکنند) همگی در چهارچوب بهینهسازی تعریف و تعیین میشوند.
به عنوان نمونه، در یادگیری بانظارت مثل مدلهای رگرسیون فرآیند برازش مدل و تعیین ضرایب مدل با کمینهسازی مقدار مربعات خطا یا به بیان کلیتر بهینهسازی تابع هدف انجام میشود. در ادبیات یادگیری ماشین هدف اصلی معمولا کمینهسازی مقدار خطاست تا بیشینهسازی میزان دقت، به همین دلیل معمولا از آن با عنوان «تابع هزینه» یاد میشود.
چرا بهینهسازی در یادگیری ماشین بسیار مهم است؟
بهینهسازی در یادگیری ماشین به چند دلیل حیاتی است:
- دقت و عملکرد: هدف اصلی یادگیری ماشینی ساختن مدلهایی است که به خوبی تعمیم داده شوند و روی مقادیر گوناگون عملکرد قابل قبولی ارائه دهند. بهینهسازی کلید دستیابی تنظیم پارامترهای مدل برای رسیدن به این هدف است.
- کارایی و مقیاسپذیری: روشهای بهینهسازی رویکردی ریاضیاتی و روشمند برای حل مسئله دارند و به مدلهای احتمالاتی اجازه میدهند تا از مجموعه دادههای بزرگ به صورت کارآمد یاد بگیرند و آموزش مدلهای پیچیده بر روی مقادیر زیادی از داده را امکانپذیر میسازند.
- استحکام و تعمیم: بهینهسازی چهارچوب کارآمدی برای تشویق عمکلرد مناسب مدل روی دادههای دیدهنشده و مقابله با بیشبرازش (Overfitting) دارد و قابلیت تعمیم مدل را حفظ میکند.
چالشهای بهینهسازی در یادگیری ماشین
علیرغم اهمیت بهینهسازی در یادگیری ماشین، استفاده از آن با چالشهایی نیز همراه است که لزوما ممکن است در دیگر مسائل بهینهسازی تا این اندازه وجود نداشته باشد.
-
- حداقلهای محلی (local minimum): برخی از الگوریتمها میتوانند در حداقلهای محلی متوقف میشوند، نقاطی که تابع هزینه کمتر از محیط پیرامون آن است اما لزوما کمینه مطلق نیست. این وضعیت از رسیدن مدل به پتانسیل کامل خود جلوگیری کند و به علت ماهیت پیچیده مدلهای یادگیری ماشین معمولا زیاد در آن رخ میدهد.
-
- ناپدید شدن و انفجار گرادیانها (Vanishing and Exploding Gradients): در بهینهسازی شبکههای عصبی بزرگ در یادگیری عمیق، گرادیانها میتوانند در مراحل میانی بهینهسازی با شیوه انتشار پسزمینه (Backpropagation)، بسیار کوچک (ناپدید) یا بسیار بزرگ (انفجار) شوند و بهینهسازی به سرانجام نرسد.
- تنظیم هایپرپارامتر (Hyperparameter): الگوریتمهای بهینهسازی دارای هایپرپارامترهایی هستند که رفتار آنها را کنترل میکنند. یافتن بهترین مجموعه هایپرپارامترها اغلب نیاز به آزمایشهای گسترده دارد و میتواند از نظر محاسباتی پرهزینه باشد.
استراتژیهای مختلف بهینهسازی در یادگیری ماشین
استراتژیهای مختلف بهینهسازی نقش مهمی در ساخت مدلهای یادگیری ماشین در سناریوهای متنوع ایفا میکنند. این استراتژیها فراتر از انتخاب یک الگوریتم هستند و شامل درکی عمیقتر از مسئله و الگوهای دروندادهای را شامل میشوند. به عنوان نمونه به موارد زیر توجه کنید:
- هرس درخت تصمیم (Decision Tree): این تکنیک شامل محدود کردن رشد درختان تصمیم برای جلوگیری از بیشبرازش است، پدیدهای که باعث میشود مدل روی دادههای آموزشی عملکرد خوبی داشته باشد اما روی دادههای ندیده عملکرد ضعیفی پیدا کند. هرس را میتوان با تنظیم پارامترهایی مانند min_samples_split (حداقل تعداد نمونههای مورد نیاز برای تقسیم یک گره داخلی) و min_samples_leaf (حداقل تعداد نمونههای مورد نیاز برای قرار گرفتن در یک گره برگ) انجام داد، و اطمینان حاصل کرد که درخت بیش از حد پیچیده نشده و دادههای آموزشی را حفظ نمیکند.
- مدیریت کلاسهای نامتعادل (Imbalanced datasets): مدلهای یادگیری ماشین میتوانند به طور قابلتوجهی تحت تأثیر مجموعه دادههای نامتعادل قرار گیرند. هنگام برخورد با مجموعهدادههایی که در آنها یک کلاس به طور قابلتوجهی بیشتر از سایرین کلاسهاست، تکنیکهای بهینهسازیِ استاندارد ممکن است منجر به مدلهایی شوند که به سمت کلاس اکثریت تعصب داشته باشند. برای رویارویی با مسئله، یک رویکرد این است که تابع هزینه را با وزندهی اصلاح کنیم تا خطاهای طبقهبندی کلاس اقلیت را بیشتر از خطاهای طبقهبندی کلاس اکثریت جریمه کند. این مدل را تشویق میکند تا در طول آموزش بیشتر به کلاس اقلیت توجه کند. رویکرد دیگر این است که با استفاده از نمونهبرداری از کلاس اکثریت، دادهها را متعادل کنیم. روشهای بهینهسازی انعطاف کافی برای حل این مسئله را دارند.
- تنظیم هایپر پارامتر Hyperparameter: این فرآیند شامل پیدا کردن بهترین تنظیمات برای پارامترهایی است که عملکرد مدل را کنترل میکنند. روشهایی مانند جستجوی شبکهای، جستجوی تصادفی و روشهای پیشرفتهتر وجود دارند. در روش جستجوی شبکهای، همه ترکیبهای ممکن از تنظیمات بررسی میشوند که دقیق است اما ممکن است زمانبر باشد. روش جستجوی تصادفی، به جای بررسی همه موارد، بهصورت تصادفی چند ترکیب را امتحان میکند که سریعتر است. روشهای پیشرفتهتر از مدلهایی استفاده میکنند که فرآیند جستجو را هدایت کرده و سریعتر به بهترین تنظیمات میرسند. هدف همه این روشها، پیدا کردن بهترین تنظیمات با کمترین تلاش ممکن است.
نگاهی فراتر از الگوریتمها: سایر استراتژیهای بهینهسازی
در حالی که الگوریتمهای بهینهسازی ضروری هستند، استراتژیها و ملاحظات دیگر به دستیابی به عملکرد بهینه مدل بسیار کمک میکنند:
-
- مهندسی ویژگیها (Feature Engineering): انتخاب دقیق و تبدیل ویژگیها (متغیرهای ورودی) میتواند به طور قابل توجهی بر عملکرد مدل تأثیر بگذارد و به آن اجازه میدهد تا به صورت مؤثرتری از دادهها یاد بگیرد.
-
- کیفیت دادهها و پیش پردازش: اطمینان از کیفیت بالای دادهها و به کارگیری مراحل پیش پردازش مناسب (تمیز کردن دادهها، عادیسازی، مدیریت مقادیر از دست رفته) برای بهینهسازی موثر بسیار مهم است.
-
- انتخاب و ارزیابی مدل: انتخاب معماری مدل مناسب و معیارهای ارزیابی همسو با اهداف کار برای بهینهسازی موفقیت آمیز اساسی است.
- دانش و تخصص دامنه: ترکیب دانش دامنه در طراحی مدل و فرآیند انتخاب ویژگی اغلب میتواند منجر به بهبود عملکرد قابل توجهی شود.
جمعبندی: بهینهسازی یک نیاز مداوم در یادگیری ماشین
بهینهسازی قلب تپنده یادگیری ماشین و به صورت پیوسته برای بهبود و پالایش مدلهای هوش مصنوعی مورد استفاده قرار میگیرد. بهینهسازی خطا در مسائل یادگیری ماشین نیازمند درکی عمیق از نحوهٔ ارتباط اجزای مسئله، الگوهای دروندادهای و عملکرد روشهای بهینهسازی است. با توجه به پیشرفتهای سریع در حوزهٔ یادگیری ماشین، محققان دائماً در حال توسعهٔ الگوریتمهای این حوزه و پیشنهاد تکنیکها و استراتژیهای پیشرفتهتری برای بهینهسازی خطا و استفادهٔ حداکثری از ظرفیت مدلهای یادگیری ماشین هستند.
متخصصان یادگیری ماشین تلاش میکنند تا با درک اصول بنیادینِ بهینهسازی مانند شرایط KKT، مدلهای قدرتمند و با کارایی بالا بسازند که پاسخگوی چالشهای جدید مدلهای یادگیری ماشین باشند و نوآوری را در عرصههای گوناگون رقم بزنند.
اگر دوست دارید آمادگی خود را برای به روز بودن در حوزه یادگیری ماشین بالا ببرید، آن را با عینک بهینهسازی یاد بگیرید.
منابع:
Optimization for Machine Learning, MIT Press, by Suvrit Sra, Sebastian Nowozin and Stephen J. Wright (+)
Understanding Optimization Algorithms in Machine Learning, Supriya Secherla, Towards Data Science (+)
دوره آموزشی مرتبط: