معرفی تابع‌ فعال‌سازی در یادگیری عمیق

معرفی تابع فعال‌سازی در یادگیری عمیق

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

شبکه عصبی (Neural Network) چیست؟

شبکه عصبی، ماشینی است که از مغز انسان الگوبرداری شده است. هر لایه از گره تشکیل شده است. اتصالات بین گره‌ها جریان اطلاعات را از یک لایه به لایه بعدی انتقال می‌دهد. نورون‌ها (neuron) با کمک وزن‌ها به یکدیگر متصل می‌شوند. سپس ورودی‌ها به یک نورون تغذیه می‌شود. پس از این، داده‌ها پردازش شده و یک خروجی به‌دست می‌آید.

در تصویر زیر نمونه‌ای از یک شبکه عصبی پایه را مشاهده می‌کنید.

شبکه عصبی

یک شبکه عصبی دارای سه لایه اصلی است.

  1. لایه ورودی: این لایه وظیفه پذیرش ورودی‌ها را بر عهده دارد.
  2. لایه پنهان: این لایه داده‌های ورودی را پردازش می‌کند تا اطلاعات پنهان را پیدا کند و استخراج ویژگی را انجام می‌دهد.
  3. لایه خروجی: این لایه خروجی مورد نظر را می‌دهد.

تابع فعال‌سازی در یادگیری عمیق

قصد داریم در ادامه به معرفی توابع فعالع‌سازی در یادگیری عمیق بپردازیم.

عملیات زیر در هر نورون انجام می‌شود:

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

تابع فعال‌سازی

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

تابع سیگموئید (Sigmoid)

تابع سیگموئید برای مدل‌هایی استفاده می‌شود که باید احتمال را به عنوان خروجی پیش‌بینی کنیم. مقدار آن بین ۰ و ۱ وجود دارد.

تابع سیگموئید

تابع آستانه (Threshold)

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

تابع آستانه

تابع یکسو کننده (Rectifier)

پرکاربردترین تابع فعال‌سازی است و در صورت مثبت بودن X خروجی X و در غیر این صورت ۰ می‌دهد.

تابع یکسوکننده

 

تابع تانژانت هایپربولیک

این تابع مشابه تابع Sigmoid است و به محدوده (-۱، ۱) محدود می‌شود.

تابع تانژانت هایپربولیک

تابع هزینه (cost)

تابع Cost تفاوت بین خروجی پیش‌بینی‌شده شبکه عصبی و خروجی واقعی از مجموعه‌ای از داده‌های آموزشی برچسب‌گذاری شده را برمی‌گرداند. کمترین هزینه را می‌توان با تنظیم وزن‌ها و بایاس‌ها به طور مکرر در طول فرآیند تمرین به دست آورد.

فرمول تابع هزینه به صورت زیر است:

تابع هزینه

آزمون

۱- کدام گزینه برای مدل‌هایی استفاده می‌شود که باید احتمال را به عنوان خروجی پیش‌بینی کنیم؟
۲- کدام تابع مشابه تابع Sigmoid است و به محدوده (-۱، ۱) محدود می‌شود؟
۳- ........... ماشینی است که از مغز انسان الگوبرداری شده است.

 

منبع: https://www.simplilearn.com/tutorials/deep-learning-tutorial/deep-learning-with-python

4 thoughts on “معرفی تابع‌ فعال‌سازی در یادگیری عمیق

  1. Jade میگوید:

    چه نوشته‌ی خوب و پرمغزی! اشتیاق شما به موضوع واقعاً مشخصه و این باعث می‌شه خوندنش لذت‌بخش باشه. به همین روند خوب ادامه بده!

  2. Kidd میگوید:

    خیلی خوب مفاهیم پیچیده رو ساده می‌کنید، بدون اینکه از عمقش کم بشه. این نوشته هم یه کار عالی دیگه است – آموزنده، خوب دسته بندی شده و استفاده ازش آسونه. ممنون که دانشتون رو به اشتراک می‌ذارید!

  3. Adelyn میگوید:

    عمق تحقیق و وضوح در نوشته شما واقعا چشمگیر است. من این مقاله را بسیار مفید یافتم و قطعاً برخی از این ایده ها را به کار خواهم گرفت.

دیدگاه‌ها

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای ضروری علامت گذاری شده اند.