مقایسه سیستمهای فازی و شبکههای عصبی
جهت کسب اطلاع در مورد رودمپ عمومی هوش مصنوعی روی لینک رو به رو کلیک کنید.
نروفازی
زمانی که محبوبیت سیستم های فازی در کنترل کنندههای فازی شروع به افزایش کرد در اوایل دهه ۱۹۹۰ میلادی محققین علاقه مند شدند تا توسعه فرآیند را با استفاده از پروسه یادگیری اتوماتیک حمایت کنند. تنها طی چند سال گذشته قانون یادگیری پس انتشار برای شبکههای عصبی چند لایه به عنوان ایده ای ناب، موجی از علاقه مندی را در شبکههای عصبی به راه انداخت. این الگو باعث شد تا ایده آموزش سیستمهای فازی به واسطه شبکههای عصبی ایجاد شود.
لغت سیستمهای نوروفازی(همچنین روشهای نورو فازی) به ترکیب تکنیکهایی از شبکه عصبی و سیستمهای فازی اشاره دارد. این به معنای استفاده ترکیبی هم زمان شبکه عصبی و سیستم فازی نیست. در واقع یک سیستم فازی از دادهها، با نوعی از روش های یادگیری (اکتشافی) ایجاد شده است که پروسه یادگیری آنها به واسطه روش های یادگیری استفاده شده در شبکههای عصبی انجام میگردد. فرآیند طراحی یک سیستم فازی، نیازمند مشخص کردن پارامترهای فازی برای هر متغیر و مجموعه ای از قوانین فازی (ساختار) است. اگر سیستم فازی عملکرد مطلوب نداشته باشد، ساختار یا پارامترها و یا هردو بایستی مجددا طبق آن اصلاح شوند. این فرآیند علاوه بر آنکه خود بسیار خطاپذیر است، بسیار طولانی و زمان بر بوده چرا که بر اساس آزمون وخطاست.
شاید مهمترین مزیت شبکههای عصبی قدرت تطبیق پذیری آنها باشد. شبکههای عصبی میتوانند به طور خودکار وزنهای خود را تنظیم کنند تا رفتاری بهینه برای شناسایی الگو، تصمیم سازی، کنترل کنندهها، پیش بینی کنندهها و غیره، بروز دهند. قوه تطبیق پذیری به شبکه عصبی کمک میکند که حتی در صورت متغیر بودن عملکرد سیستم با زمان و پیچیدگی کنترل آن عملکرد بهینه ای داشته باشد. بسیاری از مسائل کنترل پیچیده از طریق مدل سازی و سازگاری غیرخطی شبکههای عصبی قابل حل هستند.
زمانی که منطق فازی یک مکانیزم استنتاجی تحت نامعینیهای شناختی را ارائه میدهد، شبکههای عصبی محاسباتی مزایای هیجان انگیزی همچون یادگیری، تطبیق پذیری، تلورانس خطا، موازی بودن و تعمیم دهی را ارائه می دهند. یک مقایسه مختصر میان سیستمهای فازی و شبکههای عصبی در عملیات آنها در زمینه کسب دانش، عدم قطعیت، استدلال و سازگاری در جدول زیر ارائه شده است.
![نروفازی](https://ai4b.ir/wp-content/uploads/2023/03/fuzzy-vs-neural-networks.jpg)
برای طراحی یک سیستم برای مقابله با عدم قطعیت شناختی به شیوه ای شبیه به انسان، میتوان مفهوم منطق فازی را در شبکههای عصبی در نظر گرفت. سیستم ترکیبی حاصل به نام شبکه عصبی فازی، فازی عصبی، نروفازی یا فازی نورو شناخته خواهد شد.
شبکههای عصبی برای تنظیم توابع عضویت سیستم فازی جهت تصمیم گیری استفاده میشوند. منطق فازی میتواند با استفاده از قانونها به همراه برچسبهای زبان شناختی دانش خبره را به کار گیرد، توابع عضویت به صورت کمی این برچسبها را مشخص میکنند و معمولا طراحی و تنظیم توابع عضویت بسیار وقت گیر است درحالیکه تکنیکهای یادگیری شبکههای عصبی میتواند این فرایند را اتوماتیک انجام داده و در ضمن بهبود عملکرد، زمان و هزینه را بسیار کاهش دهد.
در تئوری، شبکههای عصبی و سیستمهای فازی از این منظر که آنها قابل تبدیل هستند، معادلند، اما در عمل هر کدام دارای نقاط مثبت و نقاط منفی خاص خود است. برای شبکههای عصبی دانش به طور خودکار توسط الگوریتم پس انتشار خطا به دست میآید، اما روند یادگیری نسبتا کند است و تجزیه و تحلیل شبکه آموزش دیده دشوار است(جعبه سیاه). امکان استخراج دانش ساختاری (قواعد) از شبکه عصبی آموزش دیده وجود ندارد و نمیتوانیم اطلاعات ویژه ای را برای حل این مشکل در شبکه عصبی به منظور ساده سازی روش یادگیری ادغام کنیم. به همین دلیل سیستمهای فازی بیشتر مطلوب هستند زیرا رفتار آنها میتواند بر اساس قوانین فازی توضیح داده شود و بنابراین می توان آنها را با ایجاد قوانین تنظیم کرد. اما از آنجا که در کل، کسب دانش از نظر فیزیکی است و همچنین جهان گفتمان هر متغیر ورودی باید به چندین فواصل تقسیم شود، برنامههای کاربردی سیستمهای فازی محدود به زمینههایی هستند که دانش کارشناس آن در دسترس است و تعداد متغیرهای ورودی کوچک است. برای حل مسئله کسب دانش، شبکههای عصبی به طور خودکار برای استخراج قانونهای فازی از دادههای عددی استفاده میشوند. رویکردهای Cooperative شبکههای عصبی برای بهینه سازی پارامترهای معینی از یک سیستم فازی عادی استفاده میکنند، یا با پیش پردازش دادهها و استفاده ازدادهها قوانین فازی را استخراج میکنند.
سيستم نروفازی يا ANFIS
میتوان گفت كه ANFIS همان سيستم فازی است به شرطی كه از سيستم sugeno درجه يك استفاده شود. یعنی خروجی بصورت تركيب خطی ورودی ها یا يك عدد ثابت باشد:
پس با فرض داشتن دو Rule برای يک سيستم فرضی بايد Ruleها بصورت زير نوشته شود:
Rule1: اگر ورودی دارای تابع عضويت و دارای تابع عضويت باشد، آنگاه y بصورت خواهد بود.
Rule2: اگر ورودی دارای تابع عضويت و دارای تابع عضويت باشد، آنگاه خروجی y بصورت خواهد بود.
با استفاده از روش mamdani برای محاسبه خروجی Ruleها، مقدار فازی خروجی متاثر از است يعنی چه مقدار از بايد برای نتيجه Rule1 نمايش داده شود. مثلا اگر باشد، بايد نصف مقدار در خروجی ظاهر شود.
![نروفازی](https://ai4b.ir/wp-content/uploads/2023/03/fuzzy-rules-structure.png)
ساختار قوانین فازی
حال بايد اين خروجيها را با يكديگر جمع نمود (مرحله aggregation). در ANFIS بطور معمول از روش مركز ثقل استفاده مي شود. یعنی:
همانطور که گفته شد، روش نروفازی در واقع شبكه ای از نرونها است كه در اين نرونها روابط فازی برقرار است. تفاوت عمده روش نروفازی با شبكه عصبی در برقراری روابط فازی درون نرونها است. شكل زیر يك شمای كلی از يك شبكه نروفازی را نشان می دهد.
![نروفازی](https://ai4b.ir/wp-content/uploads/2023/03/neuro-fuzzy.png)
نمای کلی از روش نرو فازی