رفتن به محتوای اصلی
Koohestun
پژوهش کوهستانمعماری شبکه عصبیبسته شواهد· 5 دقیقه مطالعه· در هوش مصنوعی

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

شبکه‌های عصبی عمیق در گذشته، هنگامی که تعداد لایه‌هایشان از چند ده لایه فراتر می‌رفت، در یادگیری شکست می‌خوردند؛ زیرا سیگنال‌های ریاضی که آن‌ها را هدایت می‌کردند، تا حد صفر کاهش می‌یافتند. ترکیب واحدهای خطی یکسوساز (ReLU) و اتصالات پرشی باقی‌مانده (Residual Skip Connections) این گلوگاه را دور زد و معماری‌های بالای ۱۰۰ لایه را که نیروی محرکه هوش مصنوعی مدرن هستند، ممکن ساخت.

به قلم آرش رضایی

محققان هوش مصنوعی کاربردی 40%ریاضی‌دانان نظری 35%مهندسان سیستم 25%
محققان هوش مصنوعی کاربردی
اولویت دادن به نتایج تجربی، عمق مدل، و عملکرد معیارها مانند نرخ خطای ImageNet.
ریاضی‌دانان نظری
تمرکز بر حساب دیفرانسیل و انتگرال پس‌انتشار، با تأکید بر اینکه چگونه نگاشت‌های هویت و مشتقات، حفظ سیگنال را دیکته می‌کنند.
مهندسان سیستم
بررسی دینامیک‌های آموزش عملی، با تمرکز بر اینکه چگونه نورون‌های در حال مرگ و اتصالات پرشی بر سرعت بهینه‌سازی تأثیر می‌گذارند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • طراحان سخت‌افزار که سیلیکون را برای اتصالات پرشی بهینه‌سازی می‌کنند

نکات کلیدی

  • مشکل محو شدن گرادیان زمانی رخ می‌دهد که سیگنال‌های خطا در طول پس‌انتشار (Backpropagation) به صورت تصاعدی کوچک می‌شوند و مانع از یادگیری شبکه‌های عمیق می‌گردند.
  • توابع فعال‌ساز سنتی سیگموئید (Sigmoid) باعث این کاهش می‌شدند، زیرا حداکثر مشتق آن‌ها تنها ۰/۲۵ است.
  • فعال‌ساز ReLU با حفظ مشتق دقیقاً ۱ برای ورودی‌های مثبت، این مشکل را در سطح گره (Node) کاهش می‌دهد.
  • بلوک‌های باقی‌مانده (Residual Blocks) با فراهم کردن اتصالات پرشی (Skip Connections) که به گرادیان‌ها اجازه می‌دهند به طور کامل از لایه‌ها عبور کنند، این مشکل را در سطح معماری حل می‌کنند.

چرا مهم است

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

شبکه‌های عصبی عمیق بر مشکل محو شدن گرادیان از طریق دو مداخله ریاضی مشخص غلبه می‌کنند: توابع فعال‌ساز واحد خطی یکسوساز (ReLU) که از کوچک شدن سیگنال‌ها در هر گره جلوگیری می‌کنند، و اتصالات باقی‌مانده (Residual Connections) که مسیرهای فیزیکی میان‌بر برای پرش آن سیگنال‌ها از روی لایه‌های کامل فراهم می‌آورند. قبل از این نوآوری‌ها، اضافه کردن لایه به یک شبکه عصبی به طرز متناقضی یادگیری آن را بدتر می‌کرد، زیرا سیگنال‌های خطایی که برای به‌روزرسانی مدل استفاده می‌شدند، به صورت تصاعدی کاهش می‌یافتند تا کاملاً ناپدید شوند.[2][4][7]

برای درک اینکه چرا گرادیان‌ها محو می‌شوند، باید به پس‌انتشار (Backpropagation) نگاه کرد، الگوریتمی که نیروی محرکه تمام یادگیری عمیق مدرن است. در طول آموزش، شبکه یک پیش‌بینی انجام می‌دهد، خطای خود را محاسبه می‌کند و آن خطا را به عقب از طریق لایه‌هایش ارسال می‌کند تا وزن‌های داخلی خود را تنظیم کند. این گذر به عقب متکی بر قاعده زنجیره‌ای حساب دیفرانسیل و انتگرال است که گرادیان‌ها—شیب‌های ریاضی که نشان می‌دهند هر وزن چقدر باید تغییر کند—را لایه به لایه از خروجی به سمت ورودی ضرب می‌کند.[2][7]

در گذشته، محققان از توابع فعال‌ساز مانند منحنی سیگموئید (Sigmoid) برای تعیین اینکه آیا یک نورون مصنوعی باید فعال شود یا خیر، استفاده می‌کردند. تابع سیگموئید هر ورودی را می‌گیرد و آن را به مقداری بین ۰ و ۱ فشرده می‌کند. با این حال، همانطور که KDnuggets در یک بررسی فنی در سال ۲۰۲۳ اشاره می‌کند، حداکثر مقدار مشتق تابع سیگموئید دقیقاً ۰/۲۵ است.[4]

این حداکثر ۰/۲۵ ریشه مشکل محو شدن گرادیان است. هنگامی که پس‌انتشار گرادیان‌ها را در ده‌ها لایه ضرب می‌کند، ضرب کسرها در کسرها باعث می‌شود سیگنال به صورت تصاعدی کوچک شود. اگر یک شبکه ۱۰ لایه داشته باشد، گرادیان در لایه اول ممکن است ده بار در ۰/۲۵ ضرب شود و سیگنال یادگیری را تقریباً به ۰/۰۰۰۰۰۰۹ کاهش دهد. لایه‌های اولیه شبکه عملاً منجمد می‌شوند، هیچ به‌روزرسانی معناداری دریافت نمی‌کنند و در یادگیری ویژگی‌های اساسی شکست می‌خورند.[2][4]

از آنجایی که مشتق سیگموئید حداکثر به ۰/۲۵ می‌رسد، گرادیان‌ها به صورت تصاعدی در طول لایه‌ها کوچک می‌شوند. ReLU برای ورودی‌های مثبت، مشتق ۱/۰ را حفظ می‌کند.

اولین اصلاح ساختاری عمده، پذیرش گسترده واحد خطی یکسوساز یا ReLU بود. برخلاف منحنی سیگموئید، ReLU یک قانون ریاضیاتی به شدت ساده را اعمال می‌کند: اگر ورودی منفی است، خروجی صفر باشد؛ اگر ورودی مثبت است، ورودی را دقیقاً همانطور که هست، بدون فشرده‌سازی، خروجی دهد.[2][6]

از آنجایی که ReLU مقادیر مثبت را فشرده نمی‌کند، مشتق آن برای هر ورودی مثبت دقیقاً ۱ است. ضرب در ۱ در طول پس‌انتشار، گرادیان را کوچک نمی‌کند. این امر به سیگنال‌های خطا اجازه داد تا بدون تضعیف شدن، از طریق لایه‌های بسیار بیشتری به عقب جریان یابند و عمق قابل قبول شبکه‌های عصبی را از تک رقمی به ده‌ها لایه افزایش داد.[4][7]

از آنجایی که ReLU مقادیر مثبت را فشرده نمی‌کند، مشتق آن برای هر ورودی مثبت دقیقاً ۱ است.

با این حال، ReLU آسیب‌پذیری خاص خود را معرفی کرد که توسط متخصصان در Data Science Stack Exchange به طور گسترده مستند شده است. اگر یک به‌روزرسانی بزرگ وزن، ورودی‌های یک نورون را به قلمرو منفی سوق دهد، تابع ReLU خروجی صفر می‌دهد و مشتق آن نیز صفر می‌شود. از آنجایی که ضرب در صفر گرادیان را به طور کامل از بین می‌برد، آن نورون دیگر هرگز نمی‌تواند بازیابی شود. این مشکل "ReLU در حال مرگ" (Dying ReLU) به این معنی است که بخش‌هایی از شبکه می‌توانند در طول آموزش به طور دائمی غیرفعال شوند.[6]

حتی با وجود اینکه ReLU محو شدن گرادیان را کاهش داد، محققان به یک سقف سخت برخورد کردند. هنگامی که شبکه‌ها از حدود ۳۰ لایه فراتر می‌رفتند، عملکردشان کاهش می‌یافت. آن‌ها داده‌های آموزشی را بیش‌برازش (Overfit) نمی‌کردند؛ بلکه به سادگی در بهینه‌سازی شکست می‌خوردند. گرادیان‌ها از گره‌های منفرد جان سالم به در می‌بردند، اما پیچیدگی محض عبور از ده‌ها تبدیل متوالی همچنان سیگنال یادگیری را درهم می‌ریخت.[1][5]

راه‌حل قطعی در دسامبر ۲۰۱۵ فرا رسید، زمانی که کایمینگ هه (Kaiming He) و تیمش در مایکروسافت ریسرچ مقاله "یادگیری باقی‌مانده عمیق برای تشخیص تصویر" (Deep Residual Learning for Image Recognition) را در arXiv منتشر کردند. آن‌ها بلوک باقی‌مانده (Residual Block) را معرفی کردند، یک تغییر ساختاری که اساساً نحوه جریان اطلاعات در یک شبکه را دگرگون کرد.[1]

به جای مجبور کردن سیگنال به عبور متوالی از تک تک لایه‌ها، یک بلوک باقی‌مانده شامل یک "اتصال پرشی" (Skip Connection) یا "میان‌بر" است. این اتصال ورودی یک لایه را می‌گیرد و مستقیماً به خروجی لایه‌ای در پایین‌تر از پشته اضافه می‌کند. همانطور که در تحلیل‌های معماری AI Stack Exchange توضیح داده شده است، اگر لایه‌های میانی نتوانند چیز مفیدی یاد بگیرند، شبکه می‌تواند به سادگی به اتصال پرشی تکیه کند تا ماتریس هویت اصلی را به جلو منتقل کند.[1][5]

نکته حیاتی این است که این اتصالات پرشی در طول پس‌انتشار به صورت معکوس عمل می‌کنند. آن‌ها مانند بزرگراه‌های ریاضی عمل می‌کنند و به گرادیان خطا اجازه می‌دهند تا از تبدیل‌های پیچیده لایه‌های میانی عبور کرده و بدون مانع مستقیماً به لایه‌های قبلی بازگردد. عملیات جمع در یک بلوک باقی‌مانده، گرادیان را به طور مساوی توزیع می‌کند و تضمین می‌کند که سیگنال محو نشود.[5][7]

معرفی بلوک‌های باقی‌مانده در سال ۲۰۱۵ به محققان اجازه داد تا شبکه‌هایی هشت برابر عمیق‌تر از معماری‌های قبلی را با موفقیت آموزش دهند.

نتایج تجربی این تغییر معماری فوری و خیره‌کننده بود. در مقاله سال ۲۰۱۵، محققان یک شبکه باقی‌مانده—معروف به ResNet—با ۱۵۲ لایه را نشان دادند. این شبکه هشت برابر عمیق‌تر از شبکه‌های VGG پیشرفته قبلی بود، با این حال پیچیدگی کمتری داشت و با نرخ خطای تنها ۳/۵۷٪ در رقابت ImageNet برنده شد.[1]

امروزه، ترکیب فعال‌سازهای خانواده ReLU و اتصالات باقی‌مانده در هوش مصنوعی پیشرو غیرقابل مذاکره است. معماری ترنسفورمر (Transformer)، که زیربنای هر مدل زبان بزرگ اصلی از GPT-۴ تا Claude است، به شدت به اتصالات باقی‌مانده متکی است تا جریان گرادیان را در صدها لایه توجه (Attention Layers) و میلیاردها پارامتر حفظ کند.[7]

در حالی که مشکل اصلی محو شدن گرادیان برای شبکه‌های پیش‌خور استاندارد و کانولوشنال تا حد زیادی حل شده تلقی می‌شود، تحقیقات در مورد موارد خاص ادامه دارد. مقاله‌ای در سال ۲۰۲۲ که در PMC منتشر شد، "روش‌های شبه نرمال‌سازی" را برای تثبیت بیشتر گرادیان‌ها در معماری‌های بازگشتی بسیار تخصصی بررسی کرد، که نشان می‌دهد با مقیاس‌پذیری مدل‌ها به تریلیون‌ها پارامتر، حفظ جریان سیگنال دست‌نخورده همچنان یک رشته مهندسی فعال است.[3]

اصطلاحات کلیدی

پس‌انتشار (Backpropagation)
الگوریتمی که برای آموزش شبکه‌های عصبی با محاسبه خطا در خروجی و ارسال آن به عقب برای به‌روزرسانی وزن‌های داخلی مدل استفاده می‌شود.
مشتق (Derivative)
یک معیار ریاضی برای اینکه خروجی یک تابع چقدر تغییر می‌کند وقتی ورودی آن تغییر می‌کند، که در هوش مصنوعی برای تعیین نحوه تنظیم وزن‌ها استفاده می‌شود.
تابع فعال‌ساز (Activation Function)
یک معادله ریاضیاتی متصل به هر نورون مصنوعی که تعیین می‌کند آیا باید بر اساس ورودی‌هایش فعال شود یا خیر.
اتصال پرشی (Skip Connection)
یک مسیر معماری در شبکه عصبی که به داده‌ها اجازه می‌دهد از یک یا چند لایه عبور کنند و سیگنال اصلی را حفظ کنند.

منابع

پوشش منابع

7 منبع

3 دیدگاه شناسایی‌شده

محققان هوش مصنوعی کاربردی 40%ریاضی‌دانان نظری 35%مهندسان سیستم 25%
  1. [1]arXivمحققان هوش مصنوعی کاربردی

    Deep Residual Learning for Image Recognition

    مطالعه در arXiv
  2. [2]DigitalOceanریاضی‌دانان نظری

    Vanishing Gradient Problem in Deep Learning: Explained

    مطالعه در DigitalOcean
  3. [3]PMCمحققان هوش مصنوعی کاربردی

    Mitigating the Vanishing Gradient Problem Using a Pseudo-Normalizing Method

    مطالعه در PMC
  4. [4]KDnuggetsریاضی‌دانان نظری

    Vanishing Gradient Problem: Causes, Consequences, and Solutions

    مطالعه در KDnuggets
  5. [5]AI Stack Exchangeمهندسان سیستم

    Why do ResNets avoid the vanishing gradient problem?

    مطالعه در AI Stack Exchange
  6. [6]Data Science Stack Exchangeمهندسان سیستم

    What is the "dying ReLU" problem in neural networks?

    مطالعه در Data Science Stack Exchange
  7. [7]تیم سردبیری کوهستانمهندسان سیستم

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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