کاهش تلفات: نزول گرادیان تصادفی

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

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

اگر بتوانیم گرادیان مناسب را به طور متوسط ​​برای محاسبات بسیار کمتر بدست آوریم چه می شود؟ با انتخاب نمونه‌هایی به‌طور تصادفی از مجموعه داده‌های خود، می‌توانیم میانگین بزرگی را از یک میانگین کوچکتر تخمین بزنیم (البته به طور پر سر و صدا). نزول گرادیان تصادفی ( SGD ) این ایده را به نهایت می رساند - در هر تکرار فقط از یک مثال واحد (اندازه دسته ای 1) استفاده می شود. با توجه به تکرارهای کافی، SGD کار می کند اما بسیار پر سر و صدا است. اصطلاح "تصادفی" نشان می دهد که یک نمونه شامل هر دسته به طور تصادفی انتخاب شده است.

نزول گرادیان تصادفی مینی دسته ای ( مینی دسته ای SGD ) مصالحه ای بین تکرار دسته ای کامل و SGD است. یک مینی بچ معمولا بین 10 تا 1000 نمونه است که به صورت تصادفی انتخاب می شوند. SGD مینی دسته ای میزان نویز در SGD را کاهش می دهد اما همچنان کارآمدتر از فول دسته است.

برای ساده‌تر شدن توضیح، ما روی نزول گرادیان برای یک ویژگی واحد تمرکز کردیم. مطمئن باشید که نزول گرادیان روی مجموعه ویژگی هایی که دارای ویژگی های متعدد هستند نیز کار می کند.