تابع سیگموئید
تابع سیگموئید یا سیگماوار (به انگلیسی: Sigmoid function) تابعی حقیقی، یکنوا، کراندار و مشتقپذیر است که به ازای کلیه مقادیر حقیقی قابل تعریف بوده دارای مشتق نامنفی است[۱] که دارای یک نقطهی عطف است. این تابع به لحاظ گرافیکی شکلی شبیه حرف S انگلیسی و سیگما در یونانی دارد و دارای رابطه کلی زیر است:[۱]
دامنه توابع سیگموئید شامل تمامی اعداد حقیقی بوده و مقدار بازگشتی این تابع نیز به طور یکنواخت از 0 تا 1 یا باتوجه به نوع تابع از 1 تا 1- تغییر میکند. طیف گسترده ای از توابع سیگموئید از جمله توابع لجستیک و هذلولی به عنوان تابع فعالسازی در شبکههای عصبی استفاده میشود. منحنیهای سیگموئید نیز در آمار به عنوان توابع توزیع تجمعی مانند انتگرالهای چگالی لجستیک، چگالی نرمال و توابع چگالی تی-استیودنت رایج هستند.
خواص
[ویرایش]تابع سیگموئید لجستیک معکوسپذیر است و معکوس آن تابع لوجیت است.
تابع سیگموئید دارای مشتق مرتبه اول است که شکلی مشابه با زنگوله (bell shaped) دارد.
تابع سیگموئید برای مقادیر کمتر از یک نقطه خاص شکلی محدب و برای مقادیر بزرگتر از آن نقطه شکلی مقعر دارد.
تابع سیگموئید دارای دو مجانب افقی است:
مشتق این تابع برابر است با:[۲]
نمونههایی از توابع سیگموئید
[ویرایش]توابع سیگموئید به چندین شکل و فرم متفاوت وجود دارند و هر یک دارای خصوصیات منحصر به فرد خود میباشند. در زیر به برخی از مهمترین انواع توابع سیگموئید پرداخته شده است:
این تابع شاید معروف ترین شکل تابع سیگموئید باشد و به صورت زیر تعریف می شود:
تابع tanh
[ویرایش]بر خلاف تابع لجستیک، تابع tanh خروجیهایی بین -1 و 1 تولید می کند. این تابع به صورت زیر تعریف می شود:
تابع arctan
[ویرایش]این تابع یک نوع دیگر از تابع سیگموئید است که خروجیهای بین و تولید میکند.
تابع Gompertz
[ویرایش]تابع Gompertz یک تابع سیگموئید است که معمولاً در مدل سازی سیستمهایی که رشد اولیه سریع و در ادامه به کندی رشد میکند، مورد استفاده قرار میگیرد. فرمول آن به صورت زیر است:
این دو تابع اخیراً در حوزه یادگیری عمیق معرفی شده اند. تابع ISRU (Inverted Square Root Unit) و ISRLU (Inverted Square Root Linear Unit) بر اساس تابع سیگموئید هستند و به ترتیب فرمول زیر را دارند:
کاربردها
[ویرایش]بسیاری از فرآیندهای طبیعی، مانند منحنیهای فراگیری سیستم پیچیده، پیشرفتی را از ابتدای آغاز نشان میدهند که در طول زمان سرعت میگیرد و به اوج خود نزدیک میشود. هنگامی که یک مدل ریاضی خاص وجود ندارد، اغلب از یک تابع سیگموئید استفاده میشود.[۴]
در شبکه های عصبی مصنوعی، گاهی اوقات از توابع غیرساده برای افزایش بازدهی استفاده میشود که اینها به عنوان سیگموئیدهای سخت شناخته می شوند.
در پردازش سیگنال صوتی، از توابع سیگموئید به عنوان توابع انتقال شکل موج برای شبیه سازی صدای قطع الکترونیک آنالوگ استفاده می شود.
مشکلات و محدودیتها
[ویرایش]هرچند تابع سیگموئید بسیار کاربردی است، اما برخی محدودیت ها و مشکلاتی دارد:
اشباع و کشیدگی گرادیان
[ویرایش]وقتی ورودی های تابع سیگموئید خیلی بزرگ یا خیلی کوچک می شود، تابع سیگموئید به سرعت به سمت 1 یا 0 می رود. در این نقاط، مشتق تابع نزدیک به صفر است، به این معنی که تغییرات کوچک در ورودی تقریباً هیچ تأثیری بر خروجی ندارد. این موضوع می تواند به مشکلاتی در یادگیری ماشین منجر شود.
ورودی های منفی
[ویرایش]تابع سیگموئید فقط می تواند ورودی های حقیقی را بپذیرد. بنابراین، اگر داده ها ورودی منفی دارند، باید آنها را قبل از استفاده از تابع سیگموئید مقیاس(scale) کنید.
منابع
[ویرایش]- ↑ ۱٫۰ ۱٫۱ "From natural to artificial neural computation". Archive (به انگلیسی).
- ↑ "On Some Properties of the Sigmoid Function". ResearchGate (به انگلیسی).
- ↑ "Improving Deep Learning by Inverse Square Root Linear Units (ISRLUs)". Arxiv (به انگلیسی).
- ↑ "Variational Gaussian process classifiers". Semantic Scholar (به انگلیسی).