نام پژوهشگر: احمد نیک آبادی

طراحی شبکه های عصبی پیمانه ای هم تکاملی
پایان نامه وزارت علوم، تحقیقات و فناوری - دانشگاه صنعتی امیرکبیر(پلی تکنیک تهران) - دانشکده مهندسی کامپیوتر 1385
  احمد نیک آبادی   رضا صفابخش

شبکه های عصبی پیمانه ای دسته خاصی از شبکه های عصبی هستند که به جای یک شبکه عصبی یکپارچه بزرگ از تعدادی شبکه عصبی کوچکتر تشکیل می شوند. این شبکه ها نسبت به شبکه های عصبی یکپارچه دارای مزایایی همچون کاهش پیچیدگی مدل، یادگیری سریعتر، مصونیت از تداخل مکانی و زمانی، قابلیت تفسیر بیشتر دانش کسب شده و شباهت بیشتر به شبکه های عصبی طبیعی هستند. از جمله انواع شبکه های پیمانه ای می توان به شبکه های حاصل از پیمانه ای کردن ورودی، پیمانه ای کردن خروجی و ترکیب سلسله مراتبی خبرگان اشاره کرد. در این شبکه ها با تقسیم یک کار بزرگ به تعدادی کار کوچکتر و انجام هر یک از این کارها توسط یک شبکه عصبی کوچک و سپس ترکیب راه حل های جزیی، راه حل نهایی مسأله به دست می آید.با توجه به مزایای فراوان شبکه های عصبی پیمانه ای نسبت به شبکه های عصبی یکپارچه، در این پروژه از دو نوع پیمانه ای کردن ورودی و خروجی برای طراحی شبکه های عصبی پیمانه ای جهت یادگیری دو بازی ox و اتلو استفاده شده است. در مورد بازی ox به دلیل سادگی مسأله از خروجی شبکه عصبی طراحی شده مستقیماً برای تعیین حرکت انتخابی استفاده می شود و در بازی اتلو از شبکه طراحی شده برای ارزیابی حالت های مختلف بازی در کنار الگوریتم جستجوی minimax استفاده می شود. در هر دو مورد شبکه های عصبی به شکل دلخواه و بر اساس تعریف مسأله طراحی می شوند. برای یادگیری وزن های شبکه های عصبی استفاده شده، پس از بررسی الگوریتم های تکاملی، از استراتژی تکامل نوع دوم استفاده شد. پس از طراحی شبکه های عصبی از الگوریتم هم تکاملی رقابتی برای یادگیری وزن های مناسب پیمانه های مختلف استفاده می شود. نتایج بدست آمده با دو شبکه عصبی یکپارچه متناظر مقایسه شده است. نتایج بدست آمده بیانگر آن است که با وجود اینکه تعداد پارامترهای آزاد شبکه های عصبی پیمانه ای کمتر از شبکه های عصبی یکپارچه نظیر است اما کارآیی این شبکه ها نسبت به شبکه های عصبی یکپارچه بیشتر است. همچنین در شبکه عصبی پیمانه ای می توان به راحتی از دانش موجود برای افزایش سرعت یادگیری استفاده کرد. دانش استخراج شده توسط این شبکه ها نیز قابلیت تفسیر و استفاده مجدد بیشتری دارد. در این پروژه همچنین چارچوب هم تکاملی رقابتی جدیدی پیشنهاد شده است. یکی از مشکلات مدل هم تکاملی رقابتی موجود، یادگیری نقش های متفاوت دخالت کننده در فرآیند تکامل در قالب یک فرد است. این امر سبب می شود، یادگیری سریع یکی از نقش ها باعث غلبه آن نقش بر نقش یا نقش های مقابل و عدم تکامل افراد جمعیت تکاملی شود. در چارچوب پیشنهادی به ازاء هر یک از نقش هایی که قرار است با استفاده از الگوریتم هم تکاملی یاد گرفته شود، جمعیت مجزایی در نظر گرفته می شود. در هر تولید نسل تعدادی از افراد هر جمعیت انتخاب و به مخزن فرد مربوطه افزوده می شوند. برای ارزیابی جمعیت های مختلف در کنار هر جمعیت تکامل یابنده جمعیت ارزیابی نیز تشکیل می شود. اعضای این جمعیت از افراد موجود در مخزن فرد انتخاب می شوند. سطح شایستگی افراد موجود در هر جمعیت ارزیاب بر اساس جمعیت رقیب افزایش داده می شود. به این ترتیب رشد سریع یک جمعیت نمی تواند مانع تکامل جمعیت ها شود. همچنین با حذف افراد ناکارآمد از جمعیت ارزیاب سرعت همگرایی الگوریتم به جواب بهینه نسبت به الگوریتم های متداول به مراتب افزایش می یابد. ارزیابی الگوریتم پیشنهادی در بازی های ox و اتلو نشان دهنده کارآیی بالای این الگوریتم است.