دانلود تحقیق و پایان نامه رشته هوش مصنوعی

مبانی شبکه های عصبی مصنوعی ساختارها، الگوریتم ها و کاربردها

 

 


شبکه های عصبی مصنوعی ( ANNs )  

2-10-1- مقدمه 
در سالیان اخیر شاهد حرکتی مستمر از تحقیقات صرفاٌ تئوری به تحقیقات کاربردی علی الخصوص در پردازش اطلاعات برای مسائلی که یا برای آن ها راه حلی موجود نیست و یا به راحتی قابل حل نیستند ، بوده ایم . با عنایت به این حقیقت ، علاقه فزاینده ای در توسعه تئوریک سیستم های دینامیکی هوشمند مدل – آزاد که مبتنی بر داده های تجربی هستند ، ایجاد شده است . " شبکه های عصبی مصنوعی " جزء این دسته از سیستم های دینامیکی قرار دارند که با پردازش روی داده ها تجربی دانش یا قانون نهفته در ورای داده ها را به ساختار شبکه منتقل می کنند . به همین خاطر به این سیستم ها هوشمند گویند چرا که براساس محاسبات روی داده ها عددی یا مثال ها قوانین کلی را فرا می گیرند . این سیستم های مبتنی بر هوش محاسباتی سعی در مدل سازی ساختار نرو – سیناپتیکی مغز بشر دارند . 

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

 


شبکه عصبی
جانوران پرسلولی برای ایجاد هماهنگی بین اعمال سلول ها و اندام های مختلف بدن خود نیاز به عوامل و دستگاه های ارتباطی دارند.دستگاه عصبی با ساختار و کار ویژه ی ای که دارد،در جهت ایجاد این هماهنگی به وجود آمده است. نورون ها پیام عصبی را به بافت ها و اندام های بدن ،مانند ماهیچه ها غده هاو نیز نورون های دیگر میفرستد و از این طریق با آنها ارتباط برقرار میکند. رشته هایی که از جسم سلولی نورون ها بیرون زده اند دو نوع اند:دندریت و آکسون دندریت ها پیام هارا دریافت میکنند و به جسم سلولی میبرند،آکسون ها پیام عصبی را از جسم سلولی به تا پایانه های آکسون هدایت میکند. وظایف دستگاه عصبی به ارتباط متقابل بین میلیون ها نورون وابسته است.در دستگاه عصبی دو بخش اصلی وجود دارد;دستگاه عصبی مرکزی و دستگاه عصبی محیطی.دستگاه عصبی مرکزی شامل مغز و نخاع است که مراکز نظارت بر اعمال بدن اند.

این دستگاه اطلاعات دریافتی از محیط و درون بدن را تفسیر میکند و به آنها پاسخ میدهد.دستگاه عصبی مرکزی از دو بخش ماده ی خاکستری که بیشتر محتوی جسم سلولی نورون هاست و ماده ی سفید که اجتماع بخش های میلین دار نورون هاست،تشکیل شده است. دستگاه عصبی محیطی شامل تعداد زیادی عصب است که اطلاعات را جمع آوری میکند و به دستگاه عصبی مرکزی میبرد. مغز حدود۱۰۰میلیارد نورون  است و حدود ۱.۵کیلوگرم وزن دارد.مغز شامل :مخ،مخچه و ساقه مغز است. مخ بزرگترین بخش مغز است وتوانایی یادگیری ،حافظه،وعملکرد هوشمندانه را دارد.مخچه مهمترین مرکز یادگیری حرکات لازم برای تنظیم حالت بدن و تعادل است. ساقه ی مغز در قسمت پایینی مغز قرار دارد و شامل مغز میانی،پل مغز و بصل النخاع است . نخاع درون ستون مهره ها از بصل النخاع تا کمر امتداد دارد.نخاع مغز را به دستگاه عصبی محیطی وصل میکند. دستگاه عصبی محیطی شامل۳۱جفت عصب نخاعی و ۱۲جفت عصب مغزی است.دستگاه عصبی محیطی شامل دو بخش پیکری که ارادی است و خودمختار که اعمال غیر ارادی مارا بر عهده دارد.دستگاه عصبی خود مختار شامل اعصاب پارا سمپاتیک و سمپاتیک میباشد که اعصاب پارا سمپاتیک باعث برقراری ارامش و اعصاب سمپاتیک در مواقع هیجانی روانی یا جسمی فعال میشوند. ]13[

 


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


در این حافظه یا شبکه عصبی نورونها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گره‌ها) دارای یک وزن می‌باشد. یال‌های با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی می‌شوند و یال‌های با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) می کنند .]12[

 

 


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


1.    یادگیری تطبیقی: توانایی یادگیری اینکه چگونه وظایف خود را بر اساس اطلاعات داده شده به آن و یا تجارب اولیه انجام دهد در واقع اصلاح شبکه را گویند.
2.    خود سازماندهی: یک شبکه عصبی مصنوعی به صورت خودکار سازماندهی و ارائه داده‌هایی که در طول آموزش دریافت کرده را انجام دهد. نورون‌ها با قاعدهٔ یادگیری سازگار شده و پاسخ به ورودی تغییر می‌یابد.
3.    عملگرهای بی‌درنگ: محاسبات در شبکه عصبی مصنوعی می‌تواند به صورت موازی و به وسیله سخت‌افزارهای مخصوصی که طراحی و ساخت آن برای دریافت نتایج بهینه قابلیت‌های شبکه عصبی مصنوعی است انجام شود.
4.    تحمل خطا: با ایجاد خرابی در شبکه مقداری از کارایی کاهش می‌یابد ولی برخی امکانات آن با وجود مشکلات بزرگ همچنان حفظ می‌شود.
5.    دسته بندی : شبکه‌های عصبی قادر به دسته بندی ورودی‌ها بر ای دریافت خروجی مناسب می‌باشند.
6.    تعمیم دهی : این خاصیت شبکه را قادر می‌سازد تا تنها با برخورد با تعداد محدودی نمونه، یک قانون کلی از آن را به دست آورده، نتایج این آموخته‌ها را به موارد مشاهده از قبل نیز تعمیم دهد. توانایی که در صورت نبود آن سامانه باید بی نهایت واقعیت‌ها و روابط را به خاطر بسپارد.
7.    پایداری-انعطاف پذیری: یک شبکه عصبی هم به حد کافی پایدار است تا اطلاعات فراگرفته خود را حفظ کند و هم قابلیت انعطاف و تطبیق را دارد و بدون از دست دادن اطلاعات قبلی می‌تواند موارد جدید را بپذیرد.

 

شبکه‌های عصبی در مقایسه با کامپیوترهای سنتی
یک شبکه عصبی به طور کلی با یک کامپیوتر سنتی در موارد زیر تفاوت دارد:
1.    شبکه‌های عصبی دستورات را به صورت سری اجرا نکرده، شامل حافظه‌ای برای نگهداری داده و دستورالعمل نیستند.
2.    به مجموعه‌ای از ورودی‌ها به صورت موازی پاسخ می‌دهند.
3.    بیشتر با تبدیلات و نگاشت‌ها سروکار دارند تا الگوریتم‌ها و روش‌ها.
4.    شامل ابزار محاسباتی پیچیده نبوده، از تعداد زیادی ابزارساده که اغلب کمی بیشتر از یک جمع وزن دار را انجام می‌دهند تشکیل شده‌اند.

 

 ساختار شبکه‌های عصبی
یک شبکه عصبی شامل اجزای سازنده لایه‌ها و وزن‌ها می‌باشد. رفتار شبکه نیز وابسته به ارتباط بین اعضا است. در حالت کلی در شبکه‌های عصبی سه نوع لایه نورونی وجود دارد:
•    لایه ورودی : دریافت اطلاعات خامی که به شبکه تغذیه شده‌است.
•    لایه‌های پنهان : عملکرد این لایه‌ها به وسیله ورودی‌ها و وزن ارتباط بین آنها و لایه‌های پنهان تعیین می‌شود. وزن‌های بین واحدهای ورودی و پنهان تعیین می‌کند که چه وقت یک واحد پنهان باید فعال شود.
•    لایه خروجی : عملکرد واحد خروجی بسته به فعالیت واحد پنهان و وزن ارتباط بین واحد پنهان و خروجی می‌باشد.

شبکه‌های تک لایه و چند لایه‌ای نیز وجود دارند که سازماندهی تک لایه که در آن تمام واحدها به یک لایه اتصال دارند بیشترین مورد استفاده را دارد و پتانسیل محاسباتی بیشتری نسبت به سازماندهی‌های چند لایه دارد. در شبکه‌های چند لایه واحدها به وسیله لایه‌ها شماره گذاری می‌شوند (به جای دنبال کردن شماره گذاری سراسری).
هر دو لایه از یک شبکه به وسیله وزن‌ها و در واقع اتصالات با هم ارتباط می‌یابند. در شبکه‌های عصبی چند نوع اتصال و یا پیوند وزنی وجود دارد: پیشرو: بیشترین پیوندها از این نوع است که در آن سیگنال‌ها تنها در یک جهت حرکت می‌کنند. از ورودی به خروجی هیچ بازخوردی (حلقه) وجود ندارد. خروجی هر لایه بر همان لایه تاثیری ندارد.
ن    پسرو: داده‌ها از گره‌های لایه بالا به گره‌های لایه پایین بازخورانده می‌شوند.
•    جانبی: خروجی گره‌های هر لایه به عنوان ورودی گره‌های همان لایه استفاده می‌شوند. ] 10[

 

 


فهرست مطالب
2-10- شبکه های عصبی مصنوعی ( ANNs )     12
2-10-1- مقدمه    12
2-10-2- شبکه عصبی    13
2-10-3- معرفی شبکه عصبی مصنوعی    14
2-10-4- تاریخچه شبکه‌های عصبی مصنوعی    15
2-10-5- چرا از شبکه‌های عصبی استفاده می‌کنیم؟    17
2-10-7- ساختار شبکه‌های عصبی    19
2-10-8- تقسیم بندی شبکه‌های عصبی    20
2-10-9- کاربرد شبکه‌های عصبی    21
2-10-10- معایب شبکه‌های عصبی    22
2-10-11- مسائل مناسب برای یادگیری شبکه های عصبی    23
2-11- یادگیری یک پرسپترون    24
2-11-1- آموزش پرسپترون    26
2-11-2- الگوریتم یادگیری پرسپترون    27
2-12- مقایسه آموزش یکجا و افزایشی    28
2-13- شبکه های چند لایه    28
2-14- الگوریتم   Back propagation    29
2-15- شبکه های عصبی چند لایه پیش خور    34
2-16- انواع شبکه های عصبی :    37
2-16-1-  شبکه عصبی پرسپترون    37
2-16-2- شبکه همينگ    39
2-16-3- شبکه هاپفيلد    41
2-16-4- شبکه عصبی خود سازمانده مدل کوهنن    42
2-16-5- شبکه عصبی تأ خير زمانی    43
2-17- مدل ترکیبی شبکه های عصبی مصنوعی و تحلیل پوششی داده ها (NEURO/DEA )    44
2-17-1- مقدمه    44
2-17-2- الگوریتم تحلیل کارایی    47
2-17-3- نرمال سازی داده ها    48
2-18- مفاهیم کارایی ، بهره وری و اثربخشی    52
2-19- مروری بر مطالعات انجام شده    54


منابع و مراجع    
منابع فارسی    
منابع انگلیسی