موضوع این پست Activation Function در شبکه‌های عصبی است. در ابتدا با مفهوم Activation Function آشنا شده و سپس انواع آن را بررسی می‌کنیم.

یک نورون، دارای یک یا چند ورودی است. ابتدا نورون به هرکدام از ورودی‌ها، وزنی اختصاص می‌دهد. سپس این ورودی‌های وزن‌دار با یکدیگر جمع می‌شوند. نورون باید با توجه به این ورودی‌ها و متناسب با آن‌ها، یک خروجی بدهد. تابعی که مشخص می‌کند که خروجی نورون چه باید باشد، Activation Function نامیده می‌شود.

Activation Function در شبکه‌های عصبی

همانطور که مشاهده می‌شود، این activation function یک خط است. بنابراین خروجی این تابع، در بازه خاصی محدود نخواهد شد و بازه خروجی از منفی بی‌نهایت تا بی‌نهایت است.

می‌توان اثبات نمود، یک شبکه عصبی که تمامی نورون‌ها دارای  activation function خطی هستند، درواقع یک نورون واحد است. این تابع در داده‌های با پارامترهای مختلف و شبکه‌های پیچیده قابل استفاده نیست. در پست‌های آینده این موضوع بررسی خواهد شد.موضوع این پست Activation Function در شبکه‌های عصبی است.

Activation Function در شبکه‌های عصبی

activation function‌های غیرخطی بسیار مورد استفاده قرار می‌گیرند. این غیرخطی بودن، کمک می‌کند تا مدل به راحتی با داده تطبیق پیدا کند و خاصیت تعمیم‌پذیری (Generalization) بهتری داشته باشد.

در ادامه با چند activation function غیرخطی آشنا خواهیم شد.

Activation Function در شبکه‌های عصبی

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

Activation Function در شبکه‌های عصبی

تابع tanh، شبیه به Sigmoid و بهتر از آن است. بازه خروجی تابع tanh، بین ۱- و ۱ بوده و مانند Sigmoid، منحنی آن به شکل S است.

مزیت tanh به Sigmoid در این است که در tanh، مقادیر منفیِ ورودی، به مقادیری منفی نگاشت می‌شوند و مقدار ورودی صفر، نزدیک به صفر نگاشت می‌شود. این در حالی است که در sigmoid، مقادیر منفی به مقادیری نزدیک به صفر نگاشته می‌شوند. تابع tanh نیز مشتق‌پذیر و یکنوا صعودی است.

در حال حاضر، ReLU تقریبا در تمامی شبکه‌های عصبی جدید و یادگیری عمیق استفاده می‌شود.

 Activation Function در شبکه‌های عصبی

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

اما ReLu یک مشکل بزرگ دارد و آن مشکل این است که این تابع بلافاصله ورودی‌های منفی را صفر می‌کند و این امر موجب می‌شود که مدل نتواند به خوبی روی داده‌ها فیت شود و آموزش ببیند.

این تابع برای حل مشکل ReLU ارائه شده است.

Activation Function در شبکه‌های عصبی

مقدار a معمولا ۰٫۰۱ در نظر گرفته می‌شود. اگر a=0.01 نباشد، به آن Randomized ReLU گفته می‌شود. بازه‌ی خروجی این تابع از منفی بی‌نهایت تا بی‌نهایت است و یکنوا صعودی است.

 

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