الگوریتم بهینهساز Adam، که مخفف "Adaptive Moment Estimation" است، برای کمینهسازی تابع هزینه در آموزش شبکههای عصبی به کار میرود. این الگوریتم ترکیبی از روشهای RMSprop و گرادیان نزولی تصادفی (SGD) با مومنتوم است و توسط Diederik P. Kingma و Jimmy Ba در سال ۲۰۱۴ توسعه یافته است. Adam از گرادیانهای مربع برای تنظیم نرخ یادگیری مشابه RMSprop استفاده کرده و بهجای خود گرادیان، از میانگین متحرک گرادیان بهره میبرد. این ترکیب به دستیابی به حداقلهای جهانی کمک میکند و آن را به گزینهای محبوب در میان پژوهشگران یادگیری ماشین تبدیل کرده است.
الگوریتم بهینهساز Adam چگونه کار میکند
این الگوریتم به بهینهسازی پارامترهای شبکه کمک میکند تا عملکرد آن در وظایفی مانند تشخیص تصاویر و درک متن بهبود یابد.
نحوه محاسبه وزن، بایاس و قدمها در الگوریتم Adam :
برای درک الگوریتمهای SGD و AdamW، ابتدا باید تفاوت بین L2 Regularization و Weight Decay را بشناسیم.
L2 Regularization و Weight Decay هر دو تکنیکهایی هستند که برای جلوگیری از تطابق بیش از حد (overfitting) در مدلهای یادگیری ماشین به کار میروند.
L2 Regularization
منظمسازی L2، که بهعنوان L2 Regularization یا منظمساز رایج نیز شناخته میشود، یکی از روشهای متداول در یادگیری ماشین است که با جریمه کردن اندازه ضرایب، از بروز تطابق بیش از حد (overfitting) جلوگیری میکند. برخلاف منظمسازی L1 که مقادیر مطلق ضرایب را به تابع هزینه اضافه میکند، منظمسازی L2 مجذور ضرایب را به تابع هزینه میافزاید. این تفاوت در رویکرد منجر به ویژگیها و اثرات متفاوتی بر روی مدل میشود.
عبارت منظمسازی L2 بهصورت مجموع مجذورهای ضرایب تعریف میشود که در یک پارامتر منظمسازی λλ ضرب میشود. این پارامتر تعیینکننده شدت جریمه است و میتواند به تنظیم مدل کمک کند تا تعادل مناسبی بین دقت و پیچیدگی برقرار کند.
Weight Decay
کاهش وزن یا Weight Decay یک تکنیک کلیدی در یادگیری عمیق است که به منظور بهبود عملکرد مدلها به کار میرود. این روش بهعنوان یک تنظیمکننده عمل میکند و وزنهای بزرگ را در شبکه جریمه میکند، که این امر منجر به چندین مزیت میشود:
- کاهش بیشبرازش (Overfitting)
- بهبود پایداری مدل
- ترویج اشتراکگذاری ویژگیها
- بهبود تعمیمپذیری در مدلهای پر پارامتر
چگونگی عملکرد Weight Decay
کاهش وزن با افزودن یک جمله جریمه به تابع هزینه (loss function) که متناسب با مجموع مجذور وزنهای مدل است، عمل میکند. این جمله جریمه، مدل را تشویق میکند تا در طول فرآیند آموزش، وزنهای کوچکتری را یاد بگیرد.
نکته مهم
در کاهش وزن، تابع هزینه اصلی تغییر نمیکند و همانطور باقی میماند. در عوض، تنها مرحله بهروزرسانی وزنها اصلاح میشود. به این ترتیب، با افزودن جریمهای به تابع هزینه، وزنها به سمت مقادیر کوچکتر میل میکنند. این رویکرد به بهبود تعمیمپذیری مدل و جلوگیری از بیشبرازش (overfitting) کمک میکند.
نتیجهگیری
کاهش وزن و تنظیم L2 ممکن است در ظاهر مشابه به نظر برسند و در واقع برای گرادیان نزولی ساده (SGD) یکسان هستند. اما به محض افزودن مومنتوم یا استفاده از یک بهینهساز پیچیدهتر مانند Adam، تفاوتهای قابل توجهی بین تنظیم L2 و کاهش وزن به وجود میآید.
Weight Decay != L2 regularization
همچنین میتوان نتیجه گرفت که الگوریتم Adam از تنظیم L2 استفاده میکند، در حالی که AdamW از کاهش وزن بهره میبرد. با این حال، فرمول و روند کار این دو الگوریتم بهطور کلی مشابه است. در نهایت، درک این تفاوتها به ما کمک میکند تا بهطور مؤثرتری از این تکنیکها در بهینهسازی مدلهای یادگیری ماشین و یادگیری عمیق استفاده کنیم.
آشنایی با الگوریتمهای بهینهسازی پیشرفته Adam و AdamW