یکسوساز (شبکه عصبی)

از testwiki
پرش به ناوبری پرش به جستجو

در چاچوب شبکه عصبی مصنوعی، یکسوساز یک تابع فعال‌سازی که به صورت

f(x)=x+=max(0,x),

تعریف شده که در آن x ورودی یک نورون است.[۱] این تابع به تابع شیب نیز شناخته می‌شود و قابل مقایسه با یکسوساز نیم‌موج در مهندسی برق است. در سال 2000 در مقاله‌ای در نیچر این تابع فعال‌سازی با انگیزه‌های زیست‌شناسی و توجیه ریاضی قوی توسط هانلوزر و همکاران ارائه شد. این تابع در شبکه‌های عصبی پیچشی به صورت بهینه‌تری نسبت به تابع لجستیک سیگموئید (که بر اساس نظریه احتمالات الهام گرفته شده‌است. برای اطلاعات بیشتر به رگرسیون لجستیک مراجعه شود) و تابع مشابه ولی کاربردی‌تر تانژانت هذلولوی استفاده شده‌است. یکسوساز در حال حاضر از پرطرفدارترین توابع فعال‌سازی برای شبکه‌های عمیق است.[۲]

به واحدی که از تابع یکسوساز استفاده می‌کند واحد یکسو شده‌ی خطی(ReLU) نیز می‌گویند.

واحدهای یکسو شده‌ی خطی در بینایی کامپیوتر و بازشناسی گفتار توسط شبکه‌های عمیق کاربرد دارند.[۳][۴]

انواع

واحد یکسو شده‌ی نویز دار

واحدهای یکسو شده‌ی خطی می‌توانند تعمیم داده شوند تا شامل یک نویز گاوسی باشد.

f(x)=max(0,x+Y)، با داشتن Y𝒩(0,σ(x))

واحدهای یکسو شده‌ی نویز دار در ماشین‌های محدود شده‌ی بلتزمن با موفقیت نسبی برای وظیفه‌های بینایی کامپیوتر استفاده شده‌اند.

واحد یکسو شده‌ی بانشت

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

f(x)={xif x>00.01xotherwise

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

f(x)={xif x>0axotherwise

توجه شود که برای a1، عبارت بالا معادل است با

f(x)=max(x,ax)

و از این رو با شبکه‌های مکس‌اوت ربط دارند.[۵]

انواع غیر خطی

نمودار GELU و ReLU در نزدیکی الگو:Nobr

واحد خطی خطای گاوسی (Gaussian-Error Linear Unit)

واحد خطی خطای گاوسی (GELU) یک واحد تقریب هموارکننده است[۶]:

f(x)=xΦ(x)

که Φ(x) تابع توزیع تجمیعی برای توزیع نرمال استاندارد است.

واحد خطی سیگموئید (SiLU)

این تابع نیز یک واحد تقریب هموار است:

f(x)=xsigmoid(x)

که sigmoid(x) تابع سیگموئید است.

سافت‌‌پلاس

یک تقریب هموار برای یکسوساز تابع تحلیلی زیر است

f(x)=ln(1+ex)

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

f(x)=ex1+ex=11+ex، یا همان تابع لجستیک.

تعمیم چندمتغیره سافت‌پلاس، LogSumExp می‌باشد به شرطی که آرگومان اول آن صفر قرار داده شده باشد.

LSE0+(x1,,xn):=LSE(0,x1,,xn)=ln(1+ex1++exn)

مشتق تابع LogSumExp، همان بیشینه هموار است؛ بیشینه هموار با آرگومان اول صفر، تعمیم چندمتغیره تابع لجستیک است. هم LogSumExp هم بیشینه هموار در یادگیری ماشین کاربرد دارند.

واحد نمایی خطی (Exponential Linear Unit)

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

f(x)={xif x>0a(ex1)otherwise

در این معادله، a یک ابرپارامتر قابل یادگیری به شرط a0 می‌باشد.

Mish

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

f(x)=xtanh(softplus(x))

که از سافت‌پلاس و تانژانت هایپربولیک تشکیل شده است.[۷]

برتری‌ها

  • همخوانی با زیست‌شناسی:یک طرفه، درمقایسه‌ی با تابع پادمتقارن تانژانت هذلولولی
  • فعال بودن پراکنده:‌ برای مثال، در یک شبکه‌ی راه‌اندازی شده به صورت تصادفی تنها 50% واحدهای پنهان فعالیت دارند(خروجی غیر صفر دارند).
  • انتشار مشتق بهینه: عدم وجود مشکل گرادیان محو شونده.
  • محاسبه‌ی سریع: تنها مقایسه، جمع و ضرب.
  • مستقل از مقیاس: max(0,ax)=amax(0,x)

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

مشکلات احتمالی

  • مشتق‌ناپذیر در صفر: گرچه در هر نقطه‌ی دیگر مشتق‌پذیر است، شامل نقاط مخالف ولی نزدیک به صفر.
  • مرکز غیر صفر.
  • بدون کران.
  • مشکل مرگ واحدهای یکسوساز خطی: عصب‌های یکسوساز ممکن است به یک وضعیت که در آن به ازای تمام ورودی‌ها غیر فعال باشند سوق داده شوند. در این حالت، هیچ مشتقی به سمت عقب عصب جریان پیدا نمی‌کند و به همین دلیل عصب به صورت دائم در یک وضعیت غیر فعال گیر می‌کند و به اصطلاح می‌میرد. در بعضی از موارد، تعداد زیادی از عصب‌ها در یک شبکه می‌توانند در این وضعیت گیر کنند و به صورتی مؤثری توانایی مدل را کاهش دهند. این مشکل در حالتی که ضریب یادگیری بالا است می‌تواند رخ دهد. این مشکل می‌تواند با استفاده از واحدهای یکسو شده‌ی با نشت به جای واحدهای سده کاهش پیدا کند.[۸]

جستارهای وابسته

منابع

الگو:پانویس