افزودن لایههای جدید به شبکههای عصبی عمیق، از نظر تئوری باید صرفاً به معنای افزایش ظرفیت مدل برای یادگیری نگاشتهای پیچیدهتر باشد. اما در عمل، مهندسان و پژوهشگران همواره با یکی از مخربترین موانع در مسیر آموزش مدلها روبهرو میشوند: مسئله محوشدن گرادیان (Vanishing Gradient Problem). این پدیده نوعی رفتار ناپایدار است که میتواند فرایند یادگیری یک مدل را بیسروصدا متوقف کند و شبکههای عمیق را در مسیر همگرایی زودهنگام به راهحلهای نامطلوب سوق دهد.
برای درک دقیق این چالش، باید بررسی کنیم که گرادیانها چگونه در طول شبکه حرکت میکنند، چه عواملی باعث ضعف آنها میشود و چرا تابع فعالسازی واحد خطی یکسوشده (ReLU) در کنار تکنیکهای مقداردهی اولیه وزنها، به استاندارد طلایی امروز برای رفع این مشکل تبدیل شده است.
علت بروز محوشدن گرادیان چیست؟
هسته اصلی آموزش شبکههای عصبی بر پایه الگوریتم نزول گرادیان تصادفی (SGD) استوار است. در این فرایند، مدل خطای پیشبینی خود را محاسبه کرده و از این خطا برای ایجاد یک گرادیان استفاده میکند تا وزنهای شبکه را بهروزرسانی کند. نکته کلیدی در اینجا روش انتشار این گرادیان است؛ سیگنال خطا باید بهصورت پسرو (Backpropagation) از لایه خروجی تا لایههای ابتدایی ورودی طی کند.
مشکل محوشدن گرادیان دقیقاً در همین مسیر بازگشتی رخ میدهد. در یک شبکه عصبی پیشخور چندلایه یا شبکههای بازگشتی (RNN)، سیگنال گرادیان توانایی انتقال اطلاعات مفید از لایه خروجی به لایههای نزدیک به ورودی را از دست میدهد. هنگام عبور از لایههای متعدد، مقدار گرادیان بهشدت افت میکند و در نهایت تأثیر خود را بر وزنهای لایههای اولیه از دست میدهد.
«گرادیانهای محوشونده، تشخیص جهتی را که پارامترها باید برای بهبود تابع هزینه در آن حرکت کنند، دشوار میسازند.» (منبع: کتاب یادگیری عمیق، 2016)
ریاضیات پشت این ناپایداری
ریشه این پدیده در قاعده زنجیرهای حساب دیفرانسیل نهفته است. هنگام محاسبه گرادیان تابع زیان نسبت به یک وزن در لایههای ابتدایی، فرمولی بهصورت ضرب طولانی مشتقهای جزئی تشکیل میشود:
∂L/∂wᵢ = (∂L/∂aₙ) · (∂aₙ/∂aₙ₋₁) · (∂aₙ₋₁/∂aₙ₋₂) ··· (∂a₁/∂wᵢ)
اگر هر یک از این مشتقهای جزئی عددی کوچکتر از 1 باشند، ضرب مکرر آنها در یکدیگر باعث میشود گرادیان نهایی بهصورت نمایی (Exponentially) کوچک شود. این موضوع مدل را در گرفتن تصمیمات صحیح برای تنظیم پارامترها دچار سردرگمی مطلق میکند.
انفجار گرادیان؛ پسر عموی مخرب محوشدن
در نقطه مقابل محوشدن، پدیدهای به نام انفجار گرادیان (Exploding Gradient) قرار دارد. اگر مشتقها یا وزنها بهاشتباه بزرگتر از 1 تنظیم شده باشند، ضرب مکرر آنها باعث رشد نمایی گرادیان میشود. در این حالت و بر اساس قاعده بهروزرسانی وزنها (wₜ₊₁ = wₜ − η · (∂L/∂wₜ))، گرادیانهای غولآسا باعث جهشهای بسیار مخرب در مقادیر وزنها شده و تابع زیان کاملاً واگرا میشود.
چرا شبکههای بازگشتی (RNN) بیشتر آسیب میبینند؟
چالش محوشدن گرادیان در شبکههای عصبی بازگشتی (RNN) یک بحران تمامعیار است. برای آموزش یک RNN، شبکه برای هر گام زمانی (Time Step) ورودی باز (Unroll) میشود. این کار عملاً یک شبکه عصبی فوقعمیق را شبیهسازی میکند.
یک شبکه بازگشتی متوسط ممکن است 200 تا 400 گام زمانی را پردازش کند؛ یعنی گرادیان باید مسیری به این طول را بهسمت عقب طی کند تا وزنها را تنظیم نماید. در چنین عمقی، بقای سیگنال گرادیان تقریباً غیرممکن میشود.
در شبکههای پرسپترون چندلایه (MLP) نیز این مشکل خود را به شکل سرعت آموزش بسیار پایین یا همگرایی زودهنگام به یک حداقل محلی نامطلوب نشان میدهد، بهطوریکه ادامه آموزش هیچ تغییر ساختاری در مدل ایجاد نمیکند.
راهکار طلایی: تابع فعالسازی ReLU
برای مقابله با افت شدید گرادیان، محققان دریافتند که توابع فعالسازی سنتی مانند سیگموید (Sigmoid) یا تانژانت هیپربولیک (Tanh) بهسادگی برای شبکههای عمیق مناسب نیستند. این توابع در نقاطی با ورودیهای بزرگ، شیب بسیار نزدیک به صفر دارند که عامل اصلی در ضربهای مکرر کوچکتر از 1 است.
در اینجا بود که تابع ReLU (Rectified Linear Unit) پا به عرصه گذاشت. رفتار این تابع بسیار ساده است:
- اگر ورودی بزرگتر از 0 باشد، خروجی همان ورودی است.
- اگر ورودی کوچکتر یا مساوی 0 باشد، خروجی 0 خواهد بود.
مهمترین ویژگی ReLU، داشتن شیب ثابت 1 برای ورودیهای مثبت است. این ویژگی تضمین میکند که ضرب مشتقها در طول لایهها باعث افت نمایی گرادیان نشود و سیگنال یادگیری بدون تحلیل به لایههای اولیه برسد. استفاده از این تابع در کنار تکنیکهای پیشرفته مقداردهی اولیه وزنها (Weight Initialization) مثل روشهای Xavier یا He، باگ محوشدن گرادیان را عملاً در معماریهای مدرن برطرف کرده است.




