فصل ششم: برازش مدل ها

black-swan-theory

مقدمه

در فصل‌های پیشین، مبانی مدل‌های یادگیری ماشین از جمله شبکه‌های عصبی کم‌عمق و عمیق و توابع از دست دادن معرفی شدند. این فصل به بررسی روش‌های بهینه‌سازی پارامترهای مدل می‌پردازد که هدف آن یافتن مقادیری برای پارامترها است که تابع از دست دادن را به حداقل برساند. این فرآیند که به عنوان آموزش مدل شناخته می‌شود، هسته اصلی یادگیری ماشین محسوب می‌گردد.

1. نزول گرادیان

۱.۱ اصول پایه

نزول گرادیان (Gradient Descent) یکی از ساده‌ترین و پرکاربردترین الگوریتم‌های بهینه‌سازی است. این روش شامل دو مرحله اساسی است:

  1. محاسبه گرادیان: مشتقات تابع از دست دادن نسبت به پارامترهای مدل محاسبه می‌شود.

  2. به‌روزرسانی پارامترها: پارامترها در جهت کاهش تابع از دست دادن به‌روز می‌شوند:

ϕϕαLϕ\phi \leftarrow \phi – \alpha \cdot \frac{\partial L}{\partial \phi}

که در آن α\alpha نرخ یادگیری است.

۱.۲ مثال رگرسیون خطی

برای مدل رگرسیون خطی:

y=ϕ0+ϕ1xy = \phi_0 + \phi_1 x

گرادیان تابع از دست دادن حداقل مربعات به صورت زیر محاسبه می‌شود:

Lϕ0=2i=1I(ϕ0+ϕ1xiyi)\frac{\partial L}{\partial \phi_0} = 2 \sum_{i=1}^I (\phi_0 + \phi_1 x_i – y_i) Lϕ1=2i=1Ixi(ϕ0+ϕ1xiyi)\frac{\partial L}{\partial \phi_1} = 2 \sum_{i=1}^I x_i (\phi_0 + \phi_1 x_i – y_i)

این گرادیان‌ها جهت بهینه‌سازی پارامترها را مشخص می‌کنند.

۱.۳ چالش‌های توابع غیرخطی

برای مدل‌های غیرخطی مانند شبکه‌های عصبی، تابع از دست دادن ممکن است دارای مینیمم‌های محلی و نقاط زینی باشد. این ویژگی‌ها باعث می‌شوند الگوریتم نزول گرادیان به دام بیفتد یا به نقاط بهینه ضعیف همگرا شود. برای مثال، در مدل گابور (معادله ۶.۸)، تابع از دست دادن چندین مینیمم محلی دارد که انتخاب نقطه شروع بر نتیجه نهایی تأثیر می‌گذارد.

 

2. نزول گرادیان تصادفی (SGD)

۲.۱ ایده اصلی

برای مقابله با چالش‌های توابع غیرخطی، از نزول گرادیان تصادفی (Stochastic Gradient Descent یا SGD) استفاده می‌شود. در این روش، به جای محاسبه گرادیان بر اساس تمام داده‌های آموزشی، در هر تکرار تنها یک زیرمجموعه تصادفی (مینی‌بچ) از داده‌ها مورد استفاده قرار می‌گیرد:

ϕϕαiBiϕ\phi \leftarrow \phi – \alpha \cdot \sum_{i \in B} \frac{\partial \ell_i}{\partial \phi}

که در آن BB مجموعه اندیس‌های مینی‌بچ است.

۲.۲ مزایای SGD

  1. افزایش سرعت محاسبات: کاهش حجم محاسبات در هر تکرار.

  2. فرار از مینیمم‌های محلی: نویز ناشی از انتخاب تصادفی مینی‌بچ‌ها امکان خروج از مناطق بهینه ضعیف را فراهم می‌کند.

  3. همگرایی بهتر در عمل: تجربیات نشان می‌دهد SGD در بسیاری از موارد به راه‌حل‌های تعمیم‌پذیرتری منجر می‌شود.

۲.۳ دوره و مینی‌بچ

  • دوره (Epoch): یک گذر کامل بر روی تمام داده‌های آموزشی.

  • اندازه مینی‌بچ: تعداد نمونه‌های استفاده‌شده در هر تکرار. اندازه‌های کوچک‌تر نویز بیشتری ایجاد می‌کنند، در حالی که اندازه‌های بزرگ‌تر به نزول گرادیان استاندارد نزدیک می‌شوند.

 

3. بهبودهای الگوریتم‌های بهینه‌سازی

۳.۱ تکانه (Momentum)

برای کاهش نوسانات و تسریع همگرایی، از تکانه استفاده می‌شود:

mt+1=βmt+(1β)Lϕm_{t+1} = \beta \cdot m_t + (1 – \beta) \cdot \frac{\partial L}{\partial \phi} ϕϕαmt+1\phi \leftarrow \phi – \alpha \cdot m_{t+1}

این روش با ترکیب گرادیان فعلی و جهت حرکت قبلی، مسیر بهینه‌سازی را هموار می‌کند.

۳.۲ روش‌های تطبیقی

  1. آدام (Adam): ترکیبی از تکانه و نرمال‌سازی گرادیان بر اساس میانگین متحرک نمایی:

mt+1=β1mt+(1β1)Lϕm_{t+1} = \beta_1 \cdot m_t + (1 – \beta_1) \cdot \frac{\partial L}{\partial \phi} vt+1=β2vt+(1β2)(Lϕ)2v_{t+1} = \beta_2 \cdot v_t + (1 – \beta_2) \cdot \left( \frac{\partial L}{\partial \phi} \right)^2

پس از تصحیح بایاس، به‌روزرسانی پارامتر به شکل زیر انجام می‌شود:

ϕϕαm~t+1v~t+1+ϵ\phi \leftarrow \phi – \alpha \cdot \frac{\tilde{m}_{t+1}}{\sqrt{\tilde{v}_{t+1}} + \epsilon}

  1. RMSProp و AdaGrad: روش‌های دیگری هستند که به شکل تطبیقی نرخ یادگیری را برای هر پارامتر تنظیم می‌کنند و در برخی شرایط خاص کاربردی‌ترند.

 

4. انتخاب فراپارامترها

فراپارامترهای الگوریتم‌های بهینه‌سازی، مانند نرخ یادگیری (α\alpha) و ضرایب تکانه (β\beta، γ\gamma)، تأثیر بسزایی در عملکرد مدل دارند. انتخاب این مقادیر معمولاً بر اساس آزمون و خطا یا روش‌های سیستماتیک مانند جستجوی فراپارامتر انجام می‌شود. یک روش متداول، استفاده از برنامه نرخ یادگیری است که در آن α\alpha به تدریج کاهش می‌یابد تا همگرایی بهبود یابد.

 

5. جمع‌بندی

این فصل به بررسی الگوریتم‌های بهینه‌سازی برای آموزش مدل‌های یادگیری ماشین پرداخت. از نزول گرادیان ساده تا روش‌های پیشرفته‌تری مانند SGD، تکانه، و آدام، هر کدام مزایا و چالش‌های خاص خود را دارند. انتخاب الگوریتم مناسب به ماهیت مسئله، اندازه داده‌ها، و پیچیدگی مدل بستگی دارد. در عمل، ترکیبی از این روش‌ها همراه با تنظیم دقیق فراپارامترها به دستیابی به نتایج بهینه کمک می‌کند.

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