Filter by دسته‌ها
chatGTP
ابزارهای هوش مصنوعی
اخبار
گزارش
تیتر یک
چندرسانه ای
آموزش علوم داده
اینفوگرافیک
پادکست
ویدیو
دانش روز
آموزش‌های پایه‌ای هوش مصنوعی
اصول هوش مصنوعی
یادگیری بدون نظارت
یادگیری تقویتی
یادگیری عمیق
یادگیری نیمه نظارتی
آموزش‌های پیشرفته هوش مصنوعی
بینایی ماشین
پردازش زبان طبیعی
پردازش گفتار
چالش‌های عملیاتی
داده کاوی و بیگ دیتا
رایانش ابری و HPC
سیستم‌‌های امبدد
علوم شناختی
دیتاست
رویدادها
جیتکس
کاربردهای هوش مصنوعی
کتابخانه
اشخاص
شرکت‌های هوش مصنوعی
محصولات و مدل‌های هوش مصنوعی
مفاهیم
کسب‌و‌کار
تحلیل بازارهای هوش مصنوعی
کارآفرینی
هوش مصنوعی در ایران
هوش مصنوعی در جهان
مقاله
 مقدمه‌ای بر توابع پایه شعاعی: کرنل‌ها  و شبکه‌های RBF

مقدمه‌ای بر توابع پایه شعاعی: کرنل‌ها و شبکه‌های RBF

زمان مطالعه: 4 دقیقه

در این مقاله قصد داریم مقدمه‌ای بر تابع‌های پایه شعاعی را ارائه دهیم. در مقابل، مجموعه‌ای از داده‌های تک بُعدی را مشاهده می‌کنید. کاری که باید انجام دهید این است که راهی بیابید و این داده‌ها را به وسیله یک خط به دو کلاس جداگانه تقسیم کنید.

شعاعی

شاید در نگاه اول این کار غیرممکن به نظر برسد، اما فقط تا زمانی‌ اینگونه است که خودمان را به یک بُعد محدود کنیم.

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

پایه شعاعی

این راهکار کمی زیرکانه به نظر می رسد اما  با استفاده از توابع پایه شعاعی (RBF) می‌توانیم آن را تعمیم دهیم. با اینکه این توابع موارد کاربرد خاصی دارند اما نقاط آن‌ها فقط بر مبنای فاصله از مرکز تعریف می‌شوند. الگوی یادگیری میان تمامی متدهایی که از توابع RBF استفاده می‌کنند، یکسان است، اما با الگوی استاندارد ML تفاوت دارد و همین موضوع باعث قدرتمند شدن این توابع می‌شود.

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

تابع پایه شعاعی

توجه داشته باشید که double pipe (در این مورد) بدون در نظر گرفتن ابعاد x، نمایان‌گر «فاصله» است. برای مثال می‌تواند:

  • مقدار مطلق در یک بُعد باشد: f(-3) = f(3) فاصله تا مبدأ (0) ،بدون در نظر گرفتن علامت، برابر با 3 خواهد بود.
  • فاصله اقلیدسی در دو بُعد باشد: f([-3,4]) = f([3,-4]) . فاصله تا مبدأ ، بدون در نظر گرفتن موقعیت دقیق نقطه، برابر با 5 واحد خواهد بود.

 

این مورد همان «شعاعِ» توابع پایه شعاعی است. RBFها در اطراف مبدأ متقارن هستند.

مسئله‌ای که در قسمت بالا از آن صحبت کردیم – تقسیم نقاط با یک خط- با عنوان کرنل RBF شناخته می‌شود و در الگوریتم‌های Support Vector Machine (SVM) کاربرد دارد. هدف تکنیک «کَلَک کرنل» این است که نقاط را به فضایی با ابعاد بیشتر نگاشت کند و در فضای جدید با استفاده از متدهای خطی آن‌ها را جدا کند.

به این مثال ساده توجه کنید. فرض کنید فقط سه نقطه دارید و باید آن‌ها را از هم جدا کنید:

دابل پایپ

در این قسمت ، در مرکز هر یک از این نقاط یک توریع نرمال (یا یک تابع RBF دیگر) رسم می‌کنیم:

توزیع نرمال دابل پایپ

سپس می‌توانیم تمامی توابع RBF را برای نقطه‌داده‌های موجود در یک کلاس معکوس می‌کنیم:

کلاس معکوس

در صورتی‌که تمامی مقادیر توابع RBF را به نقاط x اضافه کنیم، یک تابع میانجی global به شکل زیر به دست می‌آوریم:

میانجی پایه شعاعی

تابع kernel trick موج‌دار (که آن را g(x) می‌نامیم) به دلیل ماهیت تابع RBF می‌تواند با هر نوع داده‌ای کار کند.

 

تابع RBF انتخابی ما، یعنی توزیع نرمال، در یکی از نواحی مرکزی چگالی بیشتری دارد و در نواحی دیگر چگالی کمتری دارد. به همین دلیل، زمانی‌که مقادیر x به موقعیت g(x)  نزدیک باشند، محاسبه مقدار آن همراه با نوسان خواهد بود و هرچه این فاصله افزایش پیدا کند، نوسان کمتر می‌شود. همین ویژگی باعث قدرتمند شدن توابع RBF می‌شود.

چنانچه تک تک نقاط اصلی در موقعیت x را به نقاط موجود در فضای دو بُعدی (xg(x)) نگاشت کنیم، می‌توانیم داده‌ها را به سادگی و بدون اینکه نویز زیادی داشته باشند جدا کنیم. به دلیل همپوشانی توابع RBF نقاط اصلی بر طبق چگالی داده‌ها به نقاط جدید نگاشت می‌شوند.

در واقع، با استفاده از ترکیب خطی – ضرب و تقسیم- توابع RBF تقریباً می‌توانیم هر نوع تابعی را تخمین بزنیم.

تخمین تابع پایه شعاعی

تابعی (سیاه) که برای مدل‌سازی نقطه‌داده‌ها (بنفش) استفاده شده، شامل چندین تابع RBF است.

شبکه‌های پایه شعاعی، با اتکا بر همین مفهوم، «نورون‌های پایه شعاعی» را در یک شبکه دو لایه ساده به کار می‌گیرند:

نورون های پایه شعاعی

بُردار ورودی یک ورودی n بُعدی است که عملیات طبقه‌بندی یا رگرسیون (فقط در نورون خروجی) در آن انجام می‌شود. یک کپی از بردار ورودی به نورون‌های شعاعی بعدی فرستاده می‌شود.

هر یک از نورون‌های RBF یک بُردار «مرکزی» را ذخیره می‌کند؛ بُردار مرکزی، بُرداری از دیتاست آموزشی است. بُردار ورودی با بُردار مرکزی مقایسه می‌شود و تفاوت آن‌ها در تابع RBF به کار می‌رود. برای مثال، اگر میان بُردار مرکزی و بُردار ورودی هیچ تفاوتی وجود نداشته باشد، میزان تفاوت برابر با صفر خواهد بود. توزیع نرمال در  x = 0 برابر با 1 است، لذا خروجی نورون نیز 1 خواهد بود.

بُردار «مرکزی» در مرکز تابع RBF قرار دارد، زیر این بردار همان ورودی‌ای‌ است که رأس توزیع را خروجی می‌دهد.

بردار مرکزی

علاوه بر این، در صورت متفاوت بودن بُردارهای ورودی و مرکزی  ، خروجی نورون به صورت نمایی در جهت صفر کاهش می‌یابد. نورون RBF را می‌توان نوعی معیار غیرخطی برای اندازه‌گیری میزان شباهت میان بُردارهای ورودی و مرکزی در نظر گرفت. با توجه به اینکه نورون شعاعی مبتنی بر شعاع است میزان تفاوت بُردار و نه جهت آن اهمیت دارد.

نکته آخر اینکه، آنچه گره‌های RBF آموخته‌اند از طریق یک اتصاال ساده به لایه خروجی، وزن‌دهی و متعاقباً جمع‌ بسته می‌شوند. گره‌های خروجی مقادیر وزنی بزرگی را به نورون‌های RBF، که اهمیت ویژه‌ای در یک دسته دارند، نسبت می‌دهند و در مقابل برای نورون‌هایی که خروجی‌شان اهمیت کمتری دارد، وزن کمتری در نظر می‌گیرند.

چرا شبکه پایه شعاعی بر پایه «تشابه» مدل‌سازی می‌کند؟ به دیتاست دو بُعدی مقابل توجه کنید؛ در این دیتاست بُردارهای مرکزیِ 20 گره RBF با علامت + نشان داده شده‌اند.

تشابه پایه مرکزی

نقشه کانتور  فضای پیش‌بینیِ شبکه آموزش دیده RBF را نشان می‌دهد: تقریباً اطراف تمامی بُردارهای مرکزی ( یا گروهی از بُردارهای مرکزی) یک قله یا دره وجود دارد.  فضای ویژگی این شبکه به وسیله این بُردارها «تعریف می‌شود». تابع جهانی g(x) که پیش از این راجع به آن صحبت کردیم نیز به همین روش و به وسیله توابع RBF که در مرکز هر یک از نقطه‌داده‌ها قرار دارند، تشکیل می‌شود.

آر بی اف

ایجاد گره RBF برای تک تک نمونه‌های موجود در دیتاست آموزشی عملاً غیرممکن است (همانند کاری که کرنل انجام می‌دهد)، به همین دلیل شبکه‌های پایه شعاعی با استفاده از بُردارهای مرکزی نمای landscape شبکه را ایجاد می‌کنند. این بُردارهای مرکزی را معمولاً می‌توان با استفاده از الگوریتم‌های خوشه‌بندی (همچون K-Means) و یا نمونه‌برداری تصادفی پیدا کرد.

اگر بخواهیم فضای ویژگی را بر مبنای ارتفاع ترسیم کنیم، نموداری به شکل زیر خواهیم داشت:

فضای ویژگی

شبکه‌های پایه شعاعی به دلیل استفاده از توابع RBF برای حل مسائل طبقه‌بندی رویکرد متفاوتی (در مقایسه با شبکه‌های عصبی استاندارد) اتخاذ می‌کنند؛ توابع RBF را می‌توان معیاری برای اندازه‌گیری میزان چگالی در نظر گرفت. شبکه‌های عصبی استاندارد، داده‌ها را از طریق عملیات‌های خطیِ توابع فعال‌سازی جدا می‌کنند، در مقابل شبکه‌های پایه شعاعی سعی دارند داده‌ها را بر مبنای تبدیلات مبتنی بر «چگالی» گروه‌بندی کنند.

چگالی

به همین دلیل، شبکه‌های پایه شعاعی معماری ساده و غیرخطی فوق‌‌العاده‌ای دارند و رقیب سرسختی برای شبکه‌های عصبی مصنوعی(Artificial Neural Networks) هستند.

استفاده از توابع RBF به مفهمومی موسم به «درون‌یابی تابع شعاعی» بستگی دارد که یکی از موضوعات پرطرفدارِ نظریه تقریب و یا مطالعه توابع تقریب است.

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

نکات کلیدی

  • تابع پایه شعاعی (RBF) تابعی است که بر مبنای فاصله از یک مرکز تعریف می‌شود. در این توابع، موقعیت‌های نسبی (نه موقعیت دقیق) اهمیت دارد.
  • این توابع یک ویژگی منحصر به فرد دارند: در مرکز، (تأثیر) خروجی به بالاترین حد ممکن می‌رسد و هر چه از مرکز فاصله بگیریم (در تمامی جهات) تأثیرات کاهش پیدا می‌کنند.
  • کرنل‌های RBF یک تابع RBF در مرکز هر یک از نقاط قرار می‌دهند و با انجام عملیات‌های خطی نقاط را به فضاهایی با ابعاد بیشتر نگاشت کنند؛ در این فضاها به سادگی می‌توان نقطه‌ها را جدا کرد.
  • شبکه‌های پایه شعاعی معماری‌هایی ساده‌ای با دو لایه هستند؛ یک لایه از نورون‌های RBF و یک لایه از نورون‌های خروجی. به هر یک از نورون‌های RBF یک «بُردار مرکزی» نسبت داده می‌شود که بُردارهای ورودی با آن‌ها مقایسه می‌شوند. این توابع از چگالی استفاده می‌کنند و به همین دلیل می‌توانند غیرخطی‌های پیچیده را با ساختارهای خیلی کوچک، مدل‌سازی کنند.

 

میانگین امتیاز / 5. تعداد ارا :

مطالب پیشنهادی مرتبط

اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
[wpforms id="48325"]