برنامه نویسی

توابع فعال سازی در PyTorch (4)

برای من یک قهوه بخر☕

*یادداشت ها:

(1) GELU (واحد خطی خطای گاوسی):

  • می تواند یک مقدار ورودی را تبدیل کند(x) به یک مقدار خروجی با احتمال مقدار ورودی تحت یک توزیع گاوسی با Tanh اختیاری. *0 انحصاری است به جز زمانی x = 0.
  • فرمول آن است. *هر دوی آنها تقریباً نتایج یکسانی دریافت می کنند:
    توضیحات تصویر
    یا:
    توضیحات تصویر
  • GELU() در PyTorch است.
  • استفاده می شود در:
    • ترانسفورماتور. *Transformer() در PyTorch.
    • NLP (پردازش زبان طبیعی) مبتنی بر ترانسفورماتور مانند ChatGPT، BERT (بازنمایی رمزگذار دوطرفه از ترانسفورماتور)، و غیره.
  • جوانب مثبت:
    • تخفیف می دهد مشکل ناپدید شدن گرادیان.
    • تخفیف می دهد مشکل ReLU در حال مرگ. *0 هنوز برای مقدار ورودی 0 تولید می شود مشکل ReLU در حال مرگ به طور کامل اجتناب نمی شود.
  • معایب:
    • به دلیل عملیات پیچیده از جمله Erf (عملکرد خطا) یا Tanh از نظر محاسباتی گران است.
  • نمودار در Desmos:

توضیحات تصویر

(2) میش:

  • می تواند یک مقدار ورودی را تبدیل کند(x) به یک مقدار خروجی توسط x * Tanh(Softplus(x)). *0 انحصاری است به جز زمانی x = 0.
  • فرمول این است:
    توضیحات تصویر
  • Mish() در PyTorch است.
  • جوانب مثبت:
    • تخفیف می دهد مشکل ناپدید شدن گرادیان.
    • تخفیف می دهد مشکل ReLU در حال مرگ. *0 هنوز برای مقدار ورودی 0 تولید می شود مشکل ReLU در حال مرگ به طور کامل اجتناب نمی شود.
  • معایب:
    • به دلیل عملکرد Tanh و Softplus از نظر محاسباتی گران است.
  • نمودار در Desmos:

توضیحات تصویر

(3) SiLU (واحدهای خطی وزنی سیگموئید):

  • می تواند یک مقدار ورودی را تبدیل کند(x) به یک مقدار خروجی توسط x * Sigmoid(x). *0 انحصاری است به جز زمانی x = 0.
  • فرمول y = است x / (1 + ex).
  • Swish نیز نامیده می شود.
  • SiLU() در PyTorch است.
  • جوانب مثبت:
    • تخفیف می دهد مشکل ناپدید شدن گرادیان.
    • تخفیف می دهد مشکل ReLU در حال مرگ. *0 هنوز برای مقدار ورودی 0 تولید می شود مشکل ReLU در حال مرگ به طور کامل اجتناب نمی شود.
  • معایب:
    • از نظر محاسباتی به دلیل Sigmoid گران است.
  • نمودار در Desmos:

توضیحات تصویر

(4) سافت پلاس:

  • می تواند یک مقدار ورودی را تبدیل کند(x) به مقدار خروجی بین 0 و ∞. *0 انحصاری است.
  • فرمول y = log(1+ex).
  • Softplus() در PyTorch است.
  • جوانب مثبت:
    • مقادیر ورودی را عادی می کند.
    • همگرایی پایدار است.
    • تخفیف می دهد مشکل گرادیان ناپدید شدن.
    • تخفیف می دهد مشکل گرادیان انفجاری.
    • اجتناب می کند مشکل ReLU در حال مرگ.
  • معایب:
    • از نظر محاسباتی گران است به دلیل عملیات ثبت و نمایی.
  • نمودار در Desmos:

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا