رفتن به محتوای اصلی
Koohestun
توضیح کوهستانبهینه‌سازی مدلمجموعه شواهد· 5 دقیقه مطالعه· در هوش مصنوعی

جریمه L2: چگونه کاهش وزن و دراپ‌اوت از بیش‌برازش شبکه‌های عصبی جلوگیری می‌کنند

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

به قلم آرش رضایی

متخصصان یادگیری عمیق 45%دانشمندان علوم کامپیوتر نظری 35%پژوهشگران بهینه‌سازی 20%
متخصصان یادگیری عمیق
تعمیم تجربی و همگرایی سریع را در اولویت قرار می‌دهند و AdamW را به‌طور گسترده به‌عنوان بهینه‌ساز پیش‌فرض برای مدل‌های ترانسفورمر پذیرفته‌اند.
دانشمندان علوم کامپیوتر نظری
بر هم‌ارزی ریاضی تکنیک‌های منظم‌سازی و پایه‌های آن‌ها در نظریه فیلترینگ بیزی تمرکز دارند.
پژوهشگران بهینه‌سازی
چشم‌اندازهای ابرپارامتر الگوریتم‌های تطبیقی را بررسی می‌کنند تا نرخ‌های یادگیری را از عبارات جریمه تفکیک کنند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • مهندسان بهینه‌سازی سخت‌افزار

در سال ۲۰۱۴، در آزمایشگاهی در دانشگاه تورنتو، پژوهشگرانی به نام‌های نیتیش سریواستاوا و جفری هینتون یک حالت شکست مداوم را در شبکه‌های عصبی عمیق مشاهده کردند: هرچه مدل‌ها بزرگ‌تر می‌شدند، صرفا داده‌های آموزشی را حفظ می‌کردند. ظرفیت این شبکه‌ها برای تقریب توابع پیچیده، از توانایی آن‌ها برای تعمیم به نمونه‌های جدید پیشی گرفته بود. این پژوهشگران در مجله تحقیقات یادگیری ماشین نوشتند: «شبکه‌های عصبی عمیق با تعداد زیادی پارامتر، سیستم‌های یادگیری ماشین بسیار قدرتمندی هستند. با این حال، بیش‌برازش یک مشکل جدی در چنین شبکه‌هایی است.»[2]

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

برای شکستن این هم‌سازگاری‌ها، پژوهشگران تکنیک دراپ‌اوت (Dropout) را معرفی کردند. این مکانیزم یک متغیر برنولی را به هر نورون متصل می‌کند و به آن احتمال p می‌دهد تا در یک مرحله آموزشی خاص حفظ شود. نویسندگان توضیح دادند: «ایده اصلی این است که در حین آموزش، واحدها (به همراه اتصالاتشان) به‌طور تصادفی از شبکه عصبی حذف شوند.»[2]

در پیکربندی استاندارد، مقدار p برابر با ۰.۵ برای واحدهای پنهان تنظیم می‌شود، به این معنی که ۵۰ درصد از نورون‌های لایه به همراه اتصالات ورودی و خروجی‌شان به‌طور موقت حذف می‌شوند. واحدهای مرئی که ورودی خام را پردازش می‌کنند، معمولا از نرخ دراپ‌اوت ۲۰ درصد استفاده می‌کنند. این حذف تصادفی، شبکه را مجبور می‌کند تا بازنمایی‌های اضافی و پشتیبان را یاد بگیرد.[2]

دراپ‌اوت به‌طور تصادفی نورون‌ها را در حین آموزش حذف می‌کند تا از هم‌سازگاری‌های پیچیده جلوگیری کند.

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

در حالی که دراپ‌اوت معماری شبکه را به‌طور پویا تغییر می‌دهد، تکنیک دوم یعنی کاهش وزن (Weight Decay)، مستقیما روی تابع زیان عمل می‌کند تا رشد پارامترها را محدود کند. با آموزش شبکه‌های عصبی، آن‌ها اغلب وزن‌های بسیار بزرگی ایجاد می‌کنند تا خطا را در نمونه‌های آموزشی خاص و نویزدار به حداقل برسانند.[1]

کاهش وزن که اغلب به‌عنوان منظم‌سازی L2 پیاده‌سازی می‌شود، یک عبارت جریمه متناسب با مجموع مربعات وزن‌ها اضافه می‌کند. با جریمه کردن وزن‌های بزرگ، بهینه‌ساز پارامترها را به سمت صفر سوق می‌دهد، مگر اینکه کاهش قابل‌توجهی در زیان اولیه ایجاد کنند.[1]

این محدودیت ریاضی منجر به توابع هموارتری می‌شود که بهتر به داده‌های جدید تعمیم می‌یابند. بهینه‌ساز مجبور می‌شود یادگیری را در میان بسیاری از وزن‌های کوچک توزیع کند، به‌جای اینکه به چند اتصال عظیم وابسته باشد.[1][3]

این محدودیت ریاضی منجر به توابع هموارتری می‌شود که بهتر به داده‌های جدید تعمیم می‌یابند.

در روش استاندارد گرادیان کاهشی تصادفی (SGD)، کاهش وزن و منظم‌سازی L2 از نظر ریاضی کاملا یکسان هستند. جریمه L2 قبل از اعمال به‌روزرسانی گرادیان، وزن را با یک ضریب ثابت کوچک می‌کند. سال‌ها، متخصصان یادگیری ماشین این دو عبارت را کاملا قابل تعویض می‌دانستند.[3][5]

با این حال، هنگام استفاده از بهینه‌سازهای تطبیقی مانند Adam که نرخ یادگیری هر پارامتر را بر اساس اندازه گرادیان‌های گذشته تنظیم می‌کنند، یک تفاوت اساسی پدیدار می‌شود. روش‌های تطبیقی میانگین متحرکی از گرادیان‌های گذشته را برای تسریع همگرایی حفظ می‌کنند که اساسا نحوه اعمال جریمه‌ها را تغییر می‌دهد.[5]

در مقاله‌ای در سال ۲۰۱۷، پژوهشگرانی به نام‌های ایلیا لوشچیلوف و فرانک هاتر نشان دادند که اعمال جریمه L2 در Adam، منظم‌سازی را بر اساس گرادیان تاریخی مقیاس‌بندی می‌کند. آن‌ها خاطرنشان کردند: «منظم‌سازی L2 و منظم‌سازی کاهش وزن برای گرادیان کاهشی تصادفی استاندارد معادل هستند، اما همان‌طور که نشان می‌دهیم، این موضوع در مورد الگوریتم‌های گرادیان تطبیقی صدق نمی‌کند.»[5]

از آنجا که Adam گرادیان‌ها را بر اساس اندازه‌های تاریخی‌شان مقیاس‌بندی می‌کند، جریمه L2 اضافه‌شده به تابع زیان، به‌طور ناخواسته برای وزن‌هایی با گرادیان‌های تاریخی بزرگ، کاهش می‌یابد. فعال‌ترین پارامترها که بیشترین احتمال بیش‌برازش را دارند، کمترین منظم‌سازی را دریافت می‌کنند.[5]

تفکیک کاهش وزن از به‌روزرسانی گرادیان در AdamW، منجر به بهبود نسبی ۱۵ درصدی در خطای تست می‌شود.

برای رفع این مشکل، آن‌ها AdamW را معرفی کردند که کاهش وزن را از به‌روزرسانی گرادیان تفکیک می‌کند. با جدا کردن جریمه از گرادیان تابع زیان، بهینه‌ساز تضمین می‌کند که عبارت منظم‌سازی توسط مکانیزم نرخ یادگیری تطبیقی رقیق نمی‌شود.[4][5]

در پیاده‌سازی PyTorch، الگوریتم استاندارد Adam وزن‌ها را با استفاده از فرمول weight = weight - lr * (grad + weight_decay * weight) به‌روز می‌کند. این کار، کاهش وزن را به گام گرادیان متصل کرده و نقصی را که لوشچیلوف و هاتر شناسایی کرده بودند، در خود جای می‌دهد.[4]

الگوریتم AdamW به‌طور کامل از مقیاس‌بندی گرادیان عبور کرده و جریمه را مستقیما اعمال می‌کند: weight = weight - lr * grad - lr * weight_decay * weight. مستندات PyTorch بیان می‌کند: «AdamW کاهش وزن را تفکیک کرده و آن را مانند SGD مستقیما روی وزن‌ها اعمال می‌کند.»[4]

این فریم‌ورک یک نرخ یادگیری معمول بین 1e-3 و 1e-4 با عبارت پایداری اپسیلون 1e-8 را برای AdamW توصیه می‌کند. این رویکرد تفکیک‌شده تضمین می‌کند که همه وزن‌ها بدون توجه به تاریخچه گرادیانشان، به‌طور مساوی منظم می‌شوند.[4]

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

در آزمایش‌های تجربی روی مجموعه داده‌های CIFAR-10 و ImageNet 32x32، الگوریتم AdamW به بهبود نسبی ۱۵ درصدی در خطای تست نسبت به Adam استاندارد دست یافت. این بهینه‌ساز تفکیک‌شده در بودجه‌های آموزشی از ۱۰۰ تا ۱۸۰۰ ایپاک، با عملکرد تعمیم SGD همراه با مومنتوم برابری کرد یا از آن فراتر رفت.[5]

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

نکات کلیدی

  1. دراپ‌اوت با حذف تصادفی درصدی از نورون‌ها در هر مرحله از آموزش، از بیش‌برازش شبکه عصبی جلوگیری می‌کند.
  2. پیکربندی استاندارد دراپ‌اوت، ۵۰ درصد از واحدهای پنهان و ۲۰ درصد از واحدهای مرئی را حذف می‌کند تا هم‌سازگاری‌های پیچیده را بشکند.
  3. کاهش وزن با افزودن مجموع مربعات وزن‌ها به تابع زیان، مقادیر بزرگ پارامترها را جریمه می‌کند.
  4. در روش استاندارد گرادیان کاهشی تصادفی (SGD)، کاهش وزن و منظم‌سازی L2 از نظر ریاضی کاملا یکسان هستند.
  5. بهینه‌سازهای تطبیقی مانند Adam جریمه‌های L2 را به‌درستی مقیاس‌بندی نمی‌کنند، که برای بازیابی قدرت تعمیم، به کاهش وزن تفکیک‌شده (AdamW) نیاز است.

اصطلاحات کلیدی

بیش‌برازش
حالت شکستی که در آن یک مدل یادگیری ماشین داده‌های آموزشی را حفظ می‌کند اما در نمونه‌های جدید و دیده‌نشده عملکرد ضعیفی دارد.
منظم‌سازی L2
تکنیکی که جریمه‌ای متناسب با مربع اندازه وزن‌ها را به تابع زیان اضافه می‌کند.
بهینه‌ساز تطبیقی
الگوریتمی مانند Adam که نرخ یادگیری هر پارامتر را بر اساس اندازه تاریخی گرادیان‌ها حفظ و تنظیم می‌کند.
متغیر برنولی
یک تابع ریاضی که با احتمال p مقدار ۱ و با احتمال 1-p مقدار ۰ را می‌گیرد.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

متخصصان یادگیری عمیق 45%دانشمندان علوم کامپیوتر نظری 35%پژوهشگران بهینه‌سازی 20%
  1. [1]Kudos AIمتخصصان یادگیری عمیق

    L2 Regularization (Ridge / Weight Decay) - A Beginner-Friendly Deep Dive

    مطالعه در Kudos AI
  2. [2]Journal of Machine Learning Researchدانشمندان علوم کامپیوتر نظری

    Dropout: A Simple Way to Prevent Neural Networks from Overfitting

    مطالعه در Journal of Machine Learning Research
  3. [3]Marc Päpperپژوهشگران بهینه‌سازی

    Understanding the difference between weight decay and L2 regularization

    مطالعه در Marc Päpper
  4. [4]PyTorchمتخصصان یادگیری عمیق

    AdamW (Adam with Decoupled Weight Decay)

    مطالعه در PyTorch
  5. [5]arXivدانشمندان علوم کامپیوتر نظری

    Decoupled Weight Decay Regularization

    مطالعه در arXiv
  6. [6]تیم سردبیری کوهستانپژوهشگران بهینه‌سازی

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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