گروه هوش مصنوعی
شبکه های عصبی
1) چکیده:
بسیاری از بررسی ها یک رشته بیت را با استفاده از الگوریتم ژنتیک به منظور بیان ساختار شبکه نگاشت داده اند تا کارایی شبکه های پس انتشار خطا را بهبود بخشند. زیرا محدودیت ها در تکنیک های جستجوی گرادیان که برای مسائل بهینه سازی غیر خطی پیچیده استفاده می شدند،اغلب کارایی متناقض و غیر قابل پیش بینی را نتیجه داده اند.این مقاله برروی چگونگی جمع آوری و ارزیابی مجدد ماتریس های وزن bpn تمرکز دارد، در حالیکه عملگرهای الگوریتم ژنتیک در هر نسل به منظور بهینه سازی ماتریس های وزن پردازش می شوند. در این روش over fitting، یک اشکال از bpn هاست که معمولا در طول مرحله بعد ازآموزش شبکه عصبی با نزول خطای آموزش و افزایش خطای پیش بینی اتفاق می افتد ، قابل حذف شدن می باشد .این مقاله هم چنین، پارامترها و توپولوژی شبکه عصبی را در جهت افزایش امکان پذیری اجرای فضای جواب برای مسائل غیرخطی پیچیده توسعه می دهد.
2) مقدمه:
مدل های شبکه عصبی مصنوعی (ANN ) به طور گسترده در کاربردهای متفاوتی استفاده شده اند. شبکه های پس انتشار خطا ، پرکاربردترین مورد استفاده در شبکه های عصبی مصنوعی،برای حل تعداد زیادی از مسائل واقعی بکار گرفته شده است.
در سال های اخیر بسیاری از الگوریتم های یادگیری به طور گسترده ای به منظور آموزش شبکه های عصبی برای حل مسائل پیچیده غیر خطی طراحی شده و توسعه یافته اند. یکی از نقص ها ی اساسی در شبکه های عصبی جاری این است که تحقیق و پژوهش وابسته به طراحی شبکه عصبی می باشد.طراحی یک شبکه عصبی شامل انتخاب یک مجموعه بهینه از پارامتر ها ی طراحی می باشدنحقخ تا همگرایی سریع را در طول آموزش و دقت مورد نیاز را هنگام فراخوانی بدست آورد.
محققان به طور معمول شبکه های عصبی با [1] BPN را بسیار آموزش داده اند.
دقت هر تقریب آموزش بستگی به انتخاب وزن های مناسب برای شبکه عصبی دارد.متاسفانه bp یک الگوریتم جستجوی محلی است. بنابراین موجب واقع شدن در تله می نیمم محلی می شود .اگر وزن های اولیه در یک شیب محلی واقع شود ، الگوریتم احتمالا در یک بهینه محلی قرار خواهد گرفت .محققان از روش های متفاوتی استفاده می کنند تا این ویژگی ها یbp را تنظیم کنند.
برای مثال در یک روش الگوریتم می تواند تنظیم شود تا مومنتم را تغییر دهد به طوریکه جستجو از بهینه محلی خارج شود و به سمت راه حل عمومی حرکت کند .مقادیر صحیح این پارامتر ها قیاسی و عمومی نمی باشند و اغلب برای یک مسئله خاص هستند .بنابراین برای هر مسئله داده شده تعداد زیادی از پارامترها باید آزمایش شوند تا اطمینان پیدا کنند که بهینه عمومی پیدا شده است .
روش عمومی دیگر برای پیدا کردن بهترین راه حل (شاید بهینه عمومی ) با استفاده از bp این است که آموزش دوباره از بسیاری از نقاط رندم شروع شود.دوباره تعداد نقاط شروع رندم مشخص نمی باشد و عموما به طور قابل توجهی برای مسائل پیچیده متفاوت می باشد.
روش سوم این است که ساختار شبکه عصبی بازسازی شود در چنین روشی احتمال رسیدن به بهینه عمومی بسیار زیاد می باشد .هر چند در این روش تخمین پذیرفته شده ای عمومی وجود ندارد و محققان روش های متفاوت دیگری را ترجیح می دهند .
یکی از معقول ترین روش ها ،استفاده از الگوریتم ژنتیک به منظور پیدا کردن یک ساختار بالقوه برای استفاده از bp می باشد .هر چه ساختار شبکه ساده تر باشد و پیچیدگی کمتری داشته باشد ، الگوریتم bp با احتمال بیشتری موفق می شود.
در این رویکرد اگر چه شبکه عصبی به طور فزاینده ای شکست می خورد ولی روش توانایی مدل کردن ارتباطات پیچیده را نیز دارد .
Bpn ها در عین محدودیت داشتن،هنگامیکه از تکنیک جستجوی گرادیان استفاده می کنند مشکل سرعت پایین همگرایی در رسیدن به جواب را دارا می باشند.
بنابراین یک bpn دارای دو اشکال عمده به شرح زیر است :
1.تکنیک جستجوی گرادیان به یک جواب بهینه با کارایی متناقض و غیر قابل پیش بینی برای بعضی از کاربردها همگرا می شود.
2.هنگامیکه در بعضی نواحی در مینیمم محلی واقع می شودتکنیک جستجوی گرادیان به طور ضعیفی دربدست آوردن یک جواب بهینه عمومی عمل می کند.
عمده ترین مسئله در طول پروسه آموزش شبکه عصبی احتمال 1OF در داده های آموزش می باشد.بدین معنا که در طول یک دوره آموزش معین شبکه ،قابلیت حل مسائل توسط آن بهتر نمی شود.OF همچنین هنگامی اتفاق می افتد که شبکه عصبی دارای درجات آزادی بیشترنسبت به حالتی است که می توانست به وسیله نمونه های آموزشی تحمیل شود.OF معمولا در طول مرحله بعد از آموزش شبکه عصبی با کاهش خطای آموزش وافزایش خطای پیش بینی رخ می دهد . بنابراین در توانایی عمومیت دادن یک شبکه بسیار ضعیف می باشد .OF داده های آموزش مخصوصا در شبکه هایی با یک لایه مخفی معمول می باشد .آموزش در یک مینیمم محلی متوقف می شود که به نتایج غیر موثر منجر می شود و یک تناسب سازی ضعیف از مدل را نشان می دهد .بهترین روش برای کاهش وزن ها در Riply,1993)) پیشنهاد شده بود تا از چنین OF دوری نماید .
در بررسی (Schittenk 1997) شبکه پس انتشار خطا روی مجموعه داده نشان داده شده موجب OF شد که بعد از تعداد تکرار مشخصی در مرحله آموزش شروع شد .دو استراتژی ارائه شدند تا مقدار اطلاعات انتقال داده شده را به وسیله یک شبکه feed forward،رو به جلو، که در آنالیز مولفه اصلی (PCA) استفاده شده بود محدود کنند .در 1997 zhang و همکارانش نشان دادند که OF همچنین هنگامیکه تقریب چند جمله ای های مرتبه بالا برای مناسب سازی تعداد کمی از نقاط استفاده شده بود اتفاق می افتد . در مقاله آنها یک شبکه عصبی بکار برده شده بود تا فلورانس داده ها را از یک سیستم تحمیلی چند مولفه ای به منظور انتخاب ساختاری بهینه مدل کند ،شبکه از یک[2] الگوریتم پیشنهادی هرس نود پنهان (HNPA) نیز استفاده می نمود .
با توجه به این موارد بهبود همگرایی bpn و دوری از OF داده ها در طی آموزش هر دو خیلی مهم هستند.
الگوریتم ژنتیک
الگوریتم ژنتیک متعلق به کلاسی از الگوریتم های جستجوی تصادفی بر پایه جمعیت می باشدکه الهام گرفته از فرضیه تکامل تدریجی که به صورت الگوریتم های تکاملی (EA) نامیده می شوند .دیگر الگوریتم های این کلاس شامل استراتژی های تکاملی (ES) و برنامه نویسی های ژنتیک (GP) می باشد.
GA یک روش جستجوی عمومی است که از یک جمعیت از راه حل ها به دیگری جستجو می کند . برای مسائل محدود [4] و برای مسائل پیچیده ، الگوریتم ژنتیک (GA) به طور استثنائی هنگام بهینه سازی توابع غیر خطی مشکل ،در بدست آوردن راه حل عمومی به گونه ای مناسب عمل می نماید.آنها هم چنین در [5],[7] اثبات کردند که GA نیز در بهینه سازی شبکه عصبی دارای کارایی بالاست .
به طور کلی الگوریتم با انتخاب تصادفی یک جمعیت اولیه از راه حل های ممکن آغاز می شود .این جمعیت ، نسل اول است که الگوریتم ژنتیک در آن ،راه حل بهینه را جستجو می کند .مقدار جمعیت اولیه 50 در نظر گرفته شده است .بنابراین برای یک الگوریتم ژنتیک مورد آموزش ، 50 مجموعه از وزن ها ، در هر نسل ارزیابی می شود .بر خلاف bp که از یک نقطه به نقطه ای دیگر حرکت می کند ،GA فضای وزن را از یک مجموعه از وزن ها به مجموعه ای دیگر ، به طور همزمان در بسیاری از جهت ها جستجو می کند .این احتمال یافتن بهینه عمومی را افزایش می دهد .برای هر یک از راه حل ها ، تابع ارزیاب محاسبه می شود .در این مقاله مجموع مربعات خطا به عنوان تابع هدف مورد استفاده قرار می گیرد که با bp سازگار می شود .یک احتمال به هر راه حل بر پایه مقدار تابع هدف آن اختصاص داده می شود .به عنوان مثال راه حل هایی که کمترین مقدار مجموع مربعات خطا را دارند ، بیشترین احتمال را به خود اختصاص می دهند و بدین نحونسل اول کامل می شود.نسل دوم به وسیله انتخاب تصادفی یک جمعیت جدید ایجاد می شود .50 راه حل با جایگذاری انتخاب می شوند چنانچه راه حل های خوب ، احتمال بیشتری دارند تا در جمعیت جدید نمایش داده شوند و بر عکس راه حل های ضعیف حذف خواهند شد،این بازتولید نامیده می شود.به عبارت دیگر ویژگی های مطلوب تر در بهینه سازی تابع هدف ،دوباره ساخته خواهند شد و در نسل ها ی بعد پیشرفت می کنند در حالیکه صفات ضعیفتر حذف می شوند..این جمعیت جدید از راه حل ها به صورت رندم به دو راه حل بهتر با مقدار تابع ارزیاب کمتر ، میزان خطای کمتر انتخاب می شوند و با توجه به احتمال ادغام عمل ادغام صورت می پذیرد. دوراه حل ممکن فرزند را تولید می کنند که هر یک با بعضی از پارامتر ها (وزن ها) را از راه حل های والد دارا هستند . سر انجام هر راه حل یک احتمال کوچک دارد هر یک از وزن ها های آن ممکن است به طور یکنواخت با یک مقدار انتخاب شده از محدوده پارامتر جایگزین شود (جهش).این مجموعه نتایج از راه حل ها اکنون یک جمعیت جدید یا نسل بعدی می باشد و پروسه تکرار می شود .این پروسه ادامه می یابد تا هنگامیکه جمعیت اولیه به صورت نسلی رشد کند که بهترین مسئله بهینه سازی ,بهینه مطلوب , را تولید کند.
الگوریتم ژنتیک به طور گسترده در شبکه های عصبی مصنوعی استفاده شده است . کاربرد الگوریتم های ژنتیک برای شبکه های عصبی در دو گروه مجزا تقسیم می شوند .
اول - الگوریتم های ژنتیک برای پیدا کردن معماری بهینه شبکه برای اهداف خاص استفاده می شود .در این روش معماری های متفاوت شبکه به صورت ماتریس های اتصال نمایش داده می شوند که مستقیما در یک رشته بیت نگاشت یافته اند .آنگاه عملگرهای استاندارد ژنتیک استفاده می شوند تا روی جمعیتی از این رشته بیت ها عمل کنند تا پی در پی سطوح ارزیابی بالاتری را تولید نمایند .
دوم – دیدگاه دوم بهینه سازی شبکه عصبی با استفاده از الگوریتم ژنتیک برای جستجو می باشد .این پژوهش نیز بر پایه این دیدگاه می باشد .این روش از نمایش باینری وزن ها استفاده می کند .در مقاله جاری ،همه وزن ها به صورت اعداد اعشاری در الگوریتم ژنتیک نمایش داده می شوندو به طور متوسط در دستیابی به راه حل های بهینه موفق شناخته شده است .الگوریتم های ژنتیک بهینه سازی کارایی bpn ، پارامتر ها و توپولوژی شبکه را تنظیم و تایید می کنند .چندین مقاله کارایی بهینه سازی bpn بدست آمده مبتنی بر GA را با bpn متداول مقایسه نموده اند .
در مطالعاتی دیگر (Arena, Capponetto,Fortuna 1992 , maniezzo 1994 ,sexton 1998)
GA ها استفاده می شوند تا ساختار شبکه بهینه را برای هدف مشخصی پیدا کنند .
بیشتر این مطالعات بر پایه تکنیک جستجوی گرادیان می باشند تا اتصال مقادیر وزن را در مدل دست آورند .هر چند ضررهای قرار گرفتن در یک می نیمم محلی و کارایی نامتناقض و غیر قابل پیش بینی نمی تواند حذف شود .بسیاری از مطالعات قبلی صحت پیش بینی برجسته ای راایجاد نمی کردند که این مورد تا حدی به دلیل ناتوانی پیدا نمودن نتایج سازگار بوده است .دلیل دیگر ممکن است همگرایی محلی در تکنیک جستجوی گرادیان باشد.
در 1998 sextone و همکارانش, یکی از امید بخش ترین راه حل های استفاده از یک الگوریتم جستجوی عمومی را ارائه دادند تا مقادیر وزن راه حل ها را ازساختار یک شبکه عصبی ثابت به طور مستقیم پیدا کنند.آنها از الگوریتم ها ی ژنتیک برای پیدا کردن مقایر وزن به طور مستقیم استفاده کردند و نشان دادند که این راه حل ها از روش های معمول مورد استفاده بهتر است .این مطالعات به طور مستقیم روی مقادیر وزن تمرکز داشته تا کارایی نتایج را تشخیص دهد .البته آنها bpn ها را با یک مدل توپولوژی ثابت شبکه ارزیابی کردند.اگر چه توانایی تنظیم پارامتر ها و توپولوژی bpn در طول پروسه بهینه سازی بسیار مهم است ,یک ساختار ثابت ممکن است فضای جستجو را برای راه حل های ممکن محدود کند .
به منظور بررسی کامل خاصیت مقادیر باید دانست هنگامیکه الگوریتم های ژنتیک اعمال می شود ،همانند مطالعه sextone و همکارانش ، آنگاه نیاز به بیت هایی در یک زیر رشته به طور چشمگیری افزایش می یابد زیرا مقادیر وزن توپولوژی به صورت اعداد اعشاری نمایش داده می شوند .هر ارتباط بین نرون ها در لایه های مختلف از شبکه یک زیر رشته را نیاز دارد .بنابراین زیر رشته ای طولانی, که به یک رشته الگوریتم ژنتیک باینری (کروموزوم) برای نگاشت ساختار شبکه عصبی توسعه داده شده نیازمند است, به وجود خواهد آمد، که این رشته طولانی موجب ایجاد مشکلاتی می گردد.
دراین مطالعه تاثیرات نامناسب و اشکالات OF در bpn بررسی شده اند .یک پروسه ارزیابی الگوریتم ژنتیک استفاده می شود تا تاثیرات آن را اندازه گیری کند و طرحی قوی از آزمایشات را بهبود بخشد.هر نسل GA ارزیابی شده و غربال می شوند تا دو روش بهتر bpn را با استفاده از ماتریس های وزن توپولوژی bpn تولید کند .بنابراین این مجموعه ماتریس های وزن غربال شده دوباره ارزیابی می شوند و با داده های آموزش دیگر مقایسه می شوند . مقاله حاضر ,مقالات قبلی را بر پایه تنظیم پویا پارامتر ها تکمیل نموده و توپولوژی bpn را گسترش می دهد تا فضا ی جستجوی راه حل های امکان پذیر را در جهت بهبود احتمال فرار از تله محلی توسعه دهد . بعضی فاکتورها مانند محدوده وزن های اولیه ،نرخ یادگیری و مومنتم می توانند شدیدا روی توانایی جستجوی راه حل یک bpn تاثیر گذاشته و بهینه سازی آنها می تواند موجب بهبود احتمال یافتن راه حل بهینه عمومی گردد.برای مثال اگر به صورت رندم مقادیر وزن رسم شده روی یک شی سراسری قرار گرفته باشند،الگوریتم از واقع شدن در بهینه محلی اجتناب می ورزد . در نتیجه این فاکتورها ، متغیرهای تصمیم در مقاله جاری ،با هدف بهینه سازی bpn خواهند بود.
فضای راه حل به وسیله تنظیم فاکتور های مهم bpn مانند محدوده وزن های اولیه ،تعداد نرون ها در لایه اول ، تعداد نرون ها در لایه دوم و تعداد نرون ها در لایه سوم به صورت پویا جستجو می شود.
لینک دانلود پروپوزال این پروژه