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

  • 2021-03-16

​​نزول گرادیان تصادفی یک روش تکراری برای بهینه سازی یک تابع هدف با خواص صافی مناسب (به عنوان مثال قابل تفکیک یا قابل تفکیک) است. این می تواند به عنوان یک تقریب تصادفی بهینه سازی گرادیان نزولی در نظر گرفته شود زیرا گرادیان واقعی (محاسبه شده از کل مجموعه داده) را با تخمین (محاسبه شده از زیر مجموعه داده های تصادفی انتخاب شده) جایگزین می کند. به خصوص در مشکلات بهینه سازی با ابعاد بالا, این باعث کاهش بار محاسباتی می شود, دستیابی به تکرارهای سریعتر در تجارت برای نرخ همگرایی پایین تر.

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

Stochastic gradient descent

چه تفاوتی بین دسته ای گرادیان نزول و تصادفی گرادیان تبار است?

نزول گرادیان

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

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

با این حال, چند جنبه های منفی به الگوریتم گرادیان نزول وجود دارد. بگویید ما 10000 نقطه داده و 10 ویژگی داریم. مجموع مربع باقی مانده متشکل از عنوان بسیاری از شرایط به عنوان نقاط داده وجود دارد, بنابراین 10000 شرایط در مورد ما. ما نیاز به محاسبه مشتق از این تابع با توجه به هر یک از ویژگی های, بنابراین در اثر, ما انجام خواهد شد 10000 * 10 = 100,000 محاسبات در هر تکرار. این معمول است به 1000 تکرار, در اثر, ما باید 100,000 * 1000 = 100000000 محاسبات برای تکمیل الگوریتم. این تقریبا سربار است و از این رو شیب نزولی در داده های عظیم کند است.

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

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

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

چت بات واتس اپ خود را فقط با 5 دلار در روز دریافت کنید

مزایای استفاده از تبار گرادیان تصادفی چیست?

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

امیدوارم بتوان گفت که فرایند اول نزول گرادیان وانیلی و مرحله دوم نزول گرادیان است.

معایب نزول گرادیان تصادفی چیست?

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

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

همانطور که در طرح مشاهده می کنید نوع سوم نزول گرادیان وجود دارد که به عنوان نزول گرادیان مینی دسته ای شناخته می شود. این فرایندی است که از انعطاف پذیری گازهای گلخانه ای و دقت تفاضل استفاده می کند. در این حالت یک عدد ثابت(معروف به اندازه دسته) از نمونه های تمرینی را در یک زمان می گیریم و هزینه و گرادیان مربوطه را محاسبه می کنیم. سپس وزنه ها را به روز می کنیم و همین روند را برای دسته بعدی ادامه می دهیم. اگر اندازه دسته = 1 شود و اگر اندازه دسته = متر شود به تفاضل طبیعی تبدیل می شود.

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.