Dropout و منظمسازی شبکههای عمیق
Dropout معکوس را درست پیاده کنی و تفاوت وزنکاهی، توقف زودهنگام و هموارسازی برچسب را بهعنوان روشهای منظمسازی بشناسی.
13 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته
Dropout
در Dropout هنگام آموزش، هر واحد با احتمال صفر میشود. ایده: شبکه نمیتواند به یک واحد خاص تکیه کند، پس ویژگیها کمتر به هم وابسته (Co-adapted) میشوند. از نگاه دیگر، هر دسته یک زیرشبکهی تصادفی را آموزش میدهد و در آزمون عملاً میانگین تقریبی تعداد نمایی زیرشبکه را داریم.
برای اینکه امید ریاضی خروجی تغییر نکند، در Dropout معکوس (Inverted Dropout) واحدهای باقیمانده را در آموزش بر تقسیم میکنیم:
در نتیجه و در زمان استنتاج هیچ کاری لازم نیست: Dropout خاموش است و مقیاسدهی هم نمیخواهد.
وزنکاهی و AdamW
وزنکاهی (Weight Decay) در هر قدم وزنها را کمی به سمت صفر میکشد:
برای SGD ساده، این دقیقاً معادل افزودن جریمهی به زیان است.
ولی در بهینهسازهای تطبیقی مثل Adam این معادلبودن از بین میرود: اگر جریمهی را به گرادیان اضافه کنیم، آن هم بر تقسیم میشود و وزنهایی که گرادیان بزرگ دارند کمتر منظم میشوند. AdamW (Loshchilov و Hutter) وزنکاهی را جدا از بهروزرسانی تطبیقی و مستقیم روی وزنها اعمال میکند و امروزه انتخاب استاندارد برای آموزش ترنسفورمرهاست.
توقف زودهنگام، دادهافزایی و هموارسازی برچسب
- توقف زودهنگام (Early Stopping): خطای اعتبارسنجی را دنبال میکنیم و بهترین نقطه را نگه میداریم. برای مدلهای خطی با زیان درجهدوم، اثرش مشابه جریمهی است.
- دادهافزایی (Data Augmentation): تبدیلهایی که برچسب را عوض نمیکنند (برش، چرخش، تغییر رنگ) ناوردایی مطلوب را به مدل یاد میدهند.
- هموارسازی برچسب (Label Smoothing): بهجای هدف one-hot، با کلاس از
استفاده میکنیم. این مدل را از تولید لاجیتهای بینهایت مطمئن باز میدارد. در ترنسفورمر اصلی بود.