شبکه های عصبی: آموزش با استفاده از پس انتشار

پس‌انتشار رایج‌ترین الگوریتم آموزشی برای شبکه‌های عصبی است. این الگوریتم، گرادیان نزولی را برای شبکه‌های عصبی چندلایه امکان‌پذیر می‌کند. بسیاری از کتابخانه‌های کد یادگیری ماشین (مانند Keras ) به طور خودکار پس‌انتشار را مدیریت می‌کنند، بنابراین نیازی نیست خودتان هیچ یک از محاسبات اساسی را انجام دهید. برای یک مرور کلی مفهومی از نحوه عملکرد پس‌انتشار، ویدیوی زیر را بررسی کنید:

بهترین روش‌ها برای آموزش شبکه عصبی

این بخش موارد شکست پس‌انتشار و رایج‌ترین روش برای منظم‌سازی یک شبکه عصبی را توضیح می‌دهد.

گرادیان‌های محوشونده

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

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

تابع فعال‌سازی ReLU می‌تواند به جلوگیری از محو شدن گرادیان‌ها کمک کند.

گرادیان‌های انفجاری

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

نرمال‌سازی دسته‌ای می‌تواند به جلوگیری از انفجار گرادیان‌ها کمک کند، همانطور که می‌تواند نرخ یادگیری را کاهش دهد.

واحدهای ReLU از کار افتاده

زمانی که مجموع وزنی برای یک واحد ReLU به زیر ۰ برسد، واحد ReLU می‌تواند گیر کند. خروجی آن ۰ است و هیچ کمکی به خروجی شبکه نمی‌کند و گرادیان‌ها دیگر نمی‌توانند در طول پس‌انتشار از آن عبور کنند. با قطع منبع گرادیان‌ها، ورودی ReLU ممکن است هرگز به اندازه کافی تغییر نکند تا مجموع وزنی را به بالای ۰ برگرداند.

کاهش نرخ یادگیری می‌تواند به جلوگیری از نابودی واحدهای ReLU کمک کند.

منظم‌سازیِ افت تحصیلی

با این حال، نوع دیگری از منظم‌سازی، به نام منظم‌سازی حذفی ، برای شبکه‌های عصبی مفید است. این روش با حذف تصادفی فعال‌سازی‌های واحد در یک شبکه برای یک گام گرادیان واحد عمل می‌کند. هرچه تعداد بیشتری حذف شوند، منظم‌سازی قوی‌تر می‌شود:

  • ۰.۰ = بدون منظم‌سازی حذف داده.
  • ۱.۰ = حذف همه گره‌ها. مدل هیچ چیزی یاد نمی‌گیرد.
  • مقادیر بین ۰.۰ و ۱.۰ = مفیدتر.