تفاوت روش های بروزرسانی وزن ها در یادگیری عمیق - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تفاوت روش های بروزرسانی وزن ها در یادگیری عمیق

0 امتیاز
سلام.

در یادگیری عمیق انواع روش های برزورسانی به چشم میخوره که از جمله آنها Stochastic Gradient Descent ، Batch و MiniBatch وجود داره اینها چه تفاوتی با هم دارند و چه تاثیری بر روی سرعت همگرایی دارند؟
سوال شده خرداد 30, 1396  بوسیله ی حبیب کاظمی (امتیاز 103)   7 12 15

1 پاسخ

+3 امتیاز
 
بهترین پاسخ
در روش کاهش گرادیان batch از تمام نمونه های موجود در مجموعه آموزشی برای بروزرسانی پارامترهای شبکه استفاده می گردد. این روش بسیار خوب است زیرا موجب می گردد تابع هزینه بصورت هموار و بدون نوسانات باشد. این روش بسیار کند است و در دو مورد زیر نمی توان از این روش استفاده نمود

1) مجموعه آموزشی در حافظه جا نشود

2) یادگیری برخط که به محض ورود نمونه های آموزشی جدید بروزرسانی پارامترها انجام ی شود

در روش کاهش آماری گرادیان برای هر نمونه بروزرسانی پارامترها انجام می شود. تابع هزینه در این روش بسیار ناهموار است اما این روش بسیار سریع می باشد. برای استفاده از مزایای این دو روش و جلوگیری از معایب آنها روش کاهش گرادیان دسته کوچک بکار می رود. در این روش مجموعه آموزشی به دسته های کوچک شکسته می شود و برای هر دسته گرادیان محاسبه می گردد و پارامترها بروز می شوند.
پاسخ داده شده تیر 21, 1396 بوسیله ی حسین راستگو (امتیاز 123)  
ویرایش شده آذر 26, 1396 بوسیله ی مصطفی ساتکی
...