paint-brush
درک گرادیان میانگین تصادفیتوسط@kustarev
31,726 قرائت
31,726 قرائت

درک گرادیان میانگین تصادفی

توسط Andrey Kustarev4m2024/06/06
Read on Terminal Reader
Read this story w/o Javascript

خیلی طولانی؛ خواندن

گرادیان نزول یک بهینه سازی محبوب است که برای مکان یابی حداقل های جهانی توابع هدف ارائه شده استفاده می شود. الگوریتم از گرادیان تابع هدف برای عبور از شیب تابع تا رسیدن به پایین ترین نقطه استفاده می کند. نزول گرادیان کامل (FG) و شیب تصادفی نزول (SGD) دو نوع محبوب الگوریتم هستند. FG از کل مجموعه داده در طول هر تکرار استفاده می کند و نرخ همگرایی بالایی را با هزینه محاسباتی بالا ارائه می دهد. در هر تکرار، SGD از زیر مجموعه ای از داده ها برای اجرای الگوریتم استفاده می کند. بسیار کارآمدتر اما با همگرایی نامشخص است. گرادیان میانگین تصادفی (SAG) تغییر دیگری است که مزایای هر دو الگوریتم قبلی را فراهم می کند. از میانگین گرادیان های گذشته و زیرمجموعه ای از مجموعه داده برای ارائه نرخ همگرایی بالا با محاسبات کم استفاده می کند. الگوریتم را می توان برای بهبود کارایی آن با استفاده از بردارسازی و مینی دسته ها اصلاح کرد.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - درک گرادیان میانگین تصادفی
Andrey Kustarev HackerNoon profile picture
0-item


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


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

بهینه سازی اهداف یادگیری ماشین با نزول گرادیان

هر الگوریتم ML دارای یک تابع ضرر مرتبط است که هدف آن به حداقل رساندن یا بهبود عملکرد مدل است. از نظر ریاضی، ضرر را می توان به صورت زیر تعریف کرد:


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


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


نزول گرادیان ساده

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



معادله به روز رسانی وزن به صورت زیر است:

جایی که W وزن مدل را نشان می‌دهد و dJ/dW مشتق تابع کاهش با توجه به وزن مدل است. روش مرسوم نرخ همگرایی بالایی دارد، اما زمانی که با مجموعه داده های بزرگی که میلیون ها نقطه داده را شامل می شود، از نظر محاسباتی گران می شود.

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

روش SGD مانند GD ساده باقی می ماند، اما به جای استفاده از کل مجموعه داده برای محاسبه گرادیان ها، از یک دسته کوچک از ورودی ها استفاده می کند. این روش بسیار کارآمدتر است، اما ممکن است بیش از حد در اطراف حداقل های جهانی حرکت کند، زیرا هر تکرار فقط از بخشی از داده ها برای یادگیری استفاده می کند.

گرادیان میانگین تصادفی

رویکرد گرادیان میانگین تصادفی (SAG) به عنوان یک حد وسط بین GD و SGD معرفی شد. یک نقطه داده تصادفی را انتخاب می کند و مقدار آن را بر اساس گرادیان در آن نقطه و میانگین وزنی گرادیان های گذشته ذخیره شده برای آن نقطه داده خاص به روز می کند.


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



نرخ همگرایی

بین دو الگوریتم محبوب، گرادیان کامل (FG) و گرادیان نزولی تصادفی (SGD)، الگوریتم FG نرخ همگرایی بهتری دارد زیرا از کل مجموعه داده در طول هر تکرار برای محاسبه استفاده می کند.

اگرچه SAG ساختاری مشابه SGD دارد، اما نرخ همگرایی آن قابل مقایسه و گاهی بهتر از رویکرد گرادیان کامل است. جدول 1 زیر نتایج حاصل از آزمایشات را خلاصه می کند اشمیت و. al .

منبع: https://arxiv.org/pdf/1309.2388

اصلاحات بیشتر

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


  • وزن دهی مجدد در تکرارهای اولیه: همگرایی SAG در طول چند تکرار اول کند باقی می ماند زیرا الگوریتم جهت را با n (تعداد کل نقاط داده) عادی می کند. این یک تخمین نادرست ارائه می دهد زیرا الگوریتم هنوز نقاط داده زیادی را مشاهده نکرده است. این اصلاحیه پیشنهاد می کند که به جای n، با m به حالت عادی درآید، جایی که m تعداد نقاط داده ای است که حداقل یک بار تا آن تکرار خاص دیده می شود.
  • مینی دسته ها: رویکرد گرادیان تصادفی از مینی دسته ها برای پردازش چندین نقطه داده به طور همزمان استفاده می کند. همین رویکرد را می توان برای SAG نیز اعمال کرد. این امکان بردارسازی و موازی سازی را برای بهبود کارایی رایانه فراهم می کند. همچنین بار حافظه را کاهش می دهد که چالشی برجسته برای الگوریتم SAG است.
  • آزمایش اندازه گام: اندازه گامی که قبلاً ذکر شد (116 لیتر) نتایج شگفت انگیزی را ارائه می دهد، اما نویسندگان با استفاده از اندازه گام 1 لیتر بیشتر آزمایش کردند. دومی همگرایی حتی بهتری را فراهم کرد. با این حال، نویسندگان قادر به ارائه تجزیه و تحلیل رسمی از نتایج بهبود یافته نبودند. آنها به این نتیجه رسیدند که اندازه گام باید برای یافتن بهینه برای مسئله خاص آزمایش شود.


افکار نهایی

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

نزول گرادیان کامل (FG) و شیب تصادفی نزول (SGD) دو نوع محبوب الگوریتم هستند. FG از کل مجموعه داده در طول هر تکرار استفاده می کند و نرخ همگرایی بالایی را با هزینه محاسباتی بالا ارائه می دهد. در هر تکرار، SGD از زیر مجموعه ای از داده ها برای اجرای الگوریتم استفاده می کند. بسیار کارآمدتر اما با همگرایی نامشخص است.


گرادیان میانگین تصادفی (SAG) تغییر دیگری است که مزایای هر دو الگوریتم قبلی را فراهم می کند. از میانگین گرادیان های گذشته و زیرمجموعه ای از مجموعه داده برای ارائه نرخ همگرایی بالا با محاسبات کم استفاده می کند. الگوریتم را می توان برای بهبود کارایی آن با استفاده از بردارسازی و مینی دسته ها اصلاح کرد.