تابع rectified linear unit (ReLU) یک تابع فعال سازی رایج در شبکههای عصبی است. این تابع به صورت
f(x) = max(0, x)
تعریف میشود، که به این معنی است که برای ورودیهای منفی 0 و برای ورودیهای غیر منفی خود ورودی را برمیگرداند. در حالی که تابع ReLU دارای چندین مزیت است، مانند کارایی محاسباتی و کمک به کاهش مشکل گرادیان ناپدید شونده، همچنین دارای برخی مشکلات است.
یکی از اصلیترین مشکلات تابع ReLU این است که میتواند منجر به مشکلی به نام "ReLU مرده" یا "ReLU در حال مرگ" شود. این اتفاق میافتد زمانی که یک نورون با تابع فعال سازی ReLU در منطقه منفی گیر میکند (به عبارت دیگر، خروجی آن همیشه 0 است) و در حین آموزش وزنهای خود را بهروزرسانی نمیکند. این میتواند در صورتی رخ دهد که وزنها بهطور ضعیف مقداردهی اولیه شوند یا اگر نرخ یادگیری خیلی زیاد باشد. هنگامی که یک نورون تبدیل به یک ReLU مرده میشود، بعید است که بهبود یابد و این میتواند منجر به کمبرازش و عملکرد ضعیف مدل شود.
برای کاهش این مشکل، برخی از تغییرات تابع ReLU پیشنهاد شدهاند، مانند Leaky ReLU یا واحد خطی نمایی (ELU). این توابع دارای شیب غیر صفر کوچکی برای ورودیهای منفی هستند که به جلوگیری از گیر افتادن نورونها در منطقه منفی کمک میکند. با این حال، این توابع ممکن است مشکلات و مصالحههای خاص خود را نیز داشته باشند، مانند این که از نظر محاسباتی گرانتر از تابع ReLU استاندارد هستند.