خرید ودانلود پایان نامه شبکه های عصبی مصنوعی
خرید ودانلود پایان نامه شبکه های عصبی مصنوعی
الگوریتم ها در کامپیوتر ها اعمال مشخص و واضحی هستند که بصورت پی در پی و در جهت رسیدن به هدف خاصی انجام می شوندحتی در تعریف الگوریتم این گونه آمده است که الگوریتم عبارت است از مجموعه ای ازاعمال واضح که دنبال ای از عملیات را برای رسیدن به هدف خاصی دنبال می کنندآنچه در این تعریف خود نمایی می کند کلمه دنباله می باشد که به معنای انجام کار ها بصورت گام |
دسته بندی | هوش مصنوعی |
فرمت فایل | docx |
حجم فایل | 5270 کیلو بایت |
تعداد صفحات فایل | 85 |
مقدمه
الگوریتم ها در کامپیوتر ها اعمال مشخص و واضحی هستند که بصورت پی در پی و در جهت رسیدن به هدف خاصی انجام می شوند.حتی در تعریف الگوریتم این گونه آمده است که الگوریتم عبارت است از مجموعه ای ازاعمال واضح که دنبال ای از عملیات را برای رسیدن به هدف خاصی دنبال می کنند.آنچه در این تعریف خود نمایی می کند کلمه دنباله می باشد که به معنای انجام کار ها بصورت گام به گام می باشد. این امر مشخص می کند که همه چیز در الگوریتم های سنتی باید قدم به قدم برای کامپیوتر مشخص و قابل فهم و درک باشد.حتی در اولین الگوریتمهای هوش مصنوعی نیز بر همین پایه و کار قدم به قدم بنا نهاده شده اند.
در اواخرقرن بیستم رویکرد به الگوریتم های جدید صورت گرفت که علتهای مختلفی داشت مثل حجیم بودن میزان محاسبات برخی مسایل و بالا بودن مرتبه زمانی الگوریتم های سنتی در مورد این مسایل باعث شد نیاز به الگوریتمهای جدید احساس شود.همچنین برخی کارهای انسان که هنوز قابل انجام توسط کامپیوتر نبودندو یا به بخوبی توسط کامپیوتر انجام نمی شدند باعث این رویکرد شد.
مهمترین الگوریتمهای جدید عبارتند از :1- شبکه های عصبی 2- منطق فازی 3- محاسبات تکاملی
شبکه عصبی چیست ؟
این سوال که آیا انسان توانا تر است یا کامپیوتر موضوعی است که ذهن بشر را به خود مشغول کرده است.
اگر جواب این سوال انسان است چرا کامپیوتر اعمالی مانند جمع و ضرب و محاسبات پیچیده را در کسری از ثانیه انجام می دهد، حال آنکه انسان برای انجام آن به زمان زیادی نیازمند است. واگر جواب آن کامپیوتر است چرا کامپیوتر از اعمالی مانند دیدن و شنیدن که انسان به راحتی آنها را انجام می دهدعاجزاست.جواب این مسئله را باید در ذات اعمال جستجو کرد . اعمال محاسباتی اعمالی هستند سریالی و پی در پی به همین دلیل توسط کامپیوتر به خوبی انجام می شوند.حال آنکه اعمالی مانند دیدن وشنیدن کارهای هستند موازی که مجمو عه ای از داده های متفاوت و متضاد در آنها تفکیک و پردازش می شوندو به همین دلیل توسط انسان به خوبی انجام می شوند. در واقع مغز انسان اعمال موازی را به خوبی درک و آنها را انجام می دهدو کامپیوتر اعمال سریالی را بهتر انجام می د هد.حال باید دیدآیا می توان این اعمال موازی و در واقع ساختار مغز انسان را به نوعی در کامپیوتر شبیه سازی کرد و آیا می توان امکان یادگیری که از جمله توانایی های انسان است به نوعی در کامپیوتر مدل سازی نمود.این کار به نوعی در انسان هم انجام می شود و زمان انجام آن عمدتا در کودکی است.به عنوان مثال یک کودک ممکن است یک شی مانند چکش را نشناسد اما هنگامی که آن را می بیند واسم آن را یاد می گیرد و سپس چند چکش متفاوت را می بینداین شی را بخوبی می شناسدو اگر بعد از مدتی چکشی را که تا کنون آن را ندیده است ببیند به راحتی تشخیص می دهد که شی مورد نظر یک چکش است و تنها از نظر جزئیات با چکش های مشابه که قبلا دیده است تفاوت دارد.
لازم به ذکر است که شبکه های عصبی تنها در یادگیری کاربرد ندارند، بلکه تمام مسائل جدید وکلاسیک توسط آنها قابل حل می باشد.اما آنچه شبکه های عصبی بدان نیازمند است مثالها و نمونه های مفید وکافی است که بتواند به خوبی فضای مسئله را پوشش دهند.حال باید دیدچگونه می توان شبکه عصبی انسان را به نوعی شبیه سازی نمود، برای این کار نخست به ساختار مغز و سیستم عصبی انسان نگاهی گذرا می اندازیم.
مغز انسان یکی از پیچیده ترین اعضای بدن است که تا کنون نیز به درستی شناخته نشده است و شاید اگر روزی به درستی شناخته شودبتوان شبیه سازی بهتری از آن انجام داد و به نتایج بهتری درباره هوش مصنوعی رسید.تحقیقات در مورد شبکه های عصبی نیز از زمانی آغاز شد که رامون سگال درباره ساختار مغز و اجزای تشکیل دهنده آن اطلاعات و نظراتی ارائه کرد. او در اوایل قرن بیستم مغز را به عنوان اجتماعی از اجزای کوچک محاسباتی دانست و آنها را نرون نامید.امروزه ما می دانیم که بیشتر فعالیتهای انسان را نرونها انجام می دهندو در کوچکترین فعالیتهای حیاتی انسان مانند پلک زدن نیز نقش حیاتی و اساسی دارند.این نکته هم بسیار جالب است بدانید که در بدن ما حدودنرون وجود دارد که هر کدام از این نرونها با نرون دیگر در ارتباط هستند.نرونها شکلها و انواع مختلفی دارند، اما به طور عمده در سه دسته تقسیم بندی می شوند. اما نرون ها از نظری دیگر به دو دسته تقسیم می شوند:1- نرونهای داخلی مغز که در فاصله های حدود 100میکرون به یکدیگر متصلند ونرونهای خارجی که قسمتهای مختلف مغز را به یکدیگر و مغز را به ماهیچه ها و اعضای حسی را به مغز متصل می کنند.اما همانطور که گفتیم نرونها از نظری دیگر به سه دسته تقسیم می شوند که عبارتند از:
1- نرونهای حسی : کاری که این نرونها انجام می دهند این است که اطلاعات را از اندام های حسی بدن به مغز و نخاع می رسانند.
2- نرونهای محرک :این نرونهافرمانهای مغز و نخاع را به ماهیچه ها و غدد و سایر اندام های حسی و تحت فرمان مغز می رسانند.
3- نرونهای ارتباطی : این نرونها مانندیک ایستگاه ارتباطی بین نرونهای حسی ونرونهای محرک عمل می کنند .
گفتنی است که نرون ها در همه جای بدن هستند وبه عنوان عنصر اصلی مغز محسوب می شوندوبه تنهایی مانند یک واحد پردازش منطقی عمل می کنند نحوه عملیات نرون بسیار پیچیده است و هنوز در سطح میکروسکوپی چندان شناخته شده نیست ، هر چند قوانین پایه آن نسبتا روشن است. هر نرون ورودی های متعددی را پذیرا است که با یکدیگر به طریقی جمع می شوند. اگر در یک لحظه تعداد ورودی های فعال
نرون به حد کفایت برسدنرون نیز فعال شده و آتش می کند. در غیر این صورت نرون به صورت غیر فعال و آرام باقی می ماند.حال به بررسی اجزاءخود نرون می پردازیم:
نرون از یک بدنه اصلی تشکبل شده است که به آن سوما گفته می شود. به سوما رشته های نا منظم طولانی متصل است که به آنها دندریت می گویند. قطر این رشته ها اغلب از یک میکرون نازکتر است و اشکال شاخه ای پیچیده ای دارند.شکل ظریف آنها شبیه شاخه های درخت بدون برگ است که هر شاخه بارها وبارها به شاخه های نازکتری منشعب می شود.دندریت ها نقش اتصالاتی را دارندکه ورودی هارا به نرون ها می رساند.این سلولها می توانندعملیاتی پیچیده تر از ععملیات جمع ساده را بر ورودی های خود انجام دهند، از این رو عمل جمع ساده را می توان به عنوان تقریب قابل قبولی از عملیات واقعی نرون به حساب آورد.
یکی از عناصر عصبی متصل به هسته نرون آکسون نامیده می شود.این عنصر بر خلاف دندریت از نظر الکتریکی فعال است و به عنوان خروجی نرون عمل می کند. آکسون همیشه در روی خروجی سلولها مشاهده می شوند لیکن اغلب در ار تباط های بین نرونی غایب اند.در این مواقع خروجی ها و ورودی ها هر دو بر روی دندریت هاواقع می شوند. آکسون وسیله ای غیر خطی است که در هنگام تجاوز پتانسیل ساکن داخل هسته از حد معینی پالس ولتاژی را به میزان یک هزارم ثانیه ، به نام پتانسیل فعالیت ، تولید می کند. این پتانسیل فعالیت در واقع یک سری از پرش های سریع ولتاژ است.رشته آکسون در نقطه تماس معینی به نام سیناپس قطع می شود ودر این مکان به دندریت سلول دیگر وصل می گردد. در واقع این تماس به صورت اتصال مستقیم نیست بلکه از طریق ماده شیمیایی موقتی صورت می گیرد.سیناپس پس از آنکه پتانسیل آن از طریق پتانسیل های فعالیت در یافتی از طریق آکسون به اندازه کافی افزایش یافته از خود ماده شیمیایی منتقل کننده عصبی ترشح می کند.برای این ترشح ممکن است به دریافت بیش از یک پتانسیل فعالیت نیاز باشد. منتقل کننده عصبی ترشح شده در شکاف بین آکسون ودندریت پخش می شودو باعث می گرددمی گردد که دروازه های موجود در دندریت ها فعال شده و باز شود و بدین صورت یون های شارژ شده وارد دندریت می شوند. این جریان یون است که باعث می شود پتانسیل دندریت افزایش یافته و باعث یک پالس ولتاژ در دندریت شودکه پس از آن منتقل شده و وارد بدن نرون دیگر می گردد. هر دندریت ممکن است تحت تأثیرتعداد زیادی سیناپس باشد وبدین صورت اتصالات داخلی زیادی را ممکن می سازد. در اتصالات سیناپسی تعداد دروازه های باز شده بستگی به مقدار منتقل کننده عصبی آزاد شده داردو همچنین به نظر می رسدکه پاره ای سیناپس ها باعث تحریک دندریت ها می شوند در صورتی که پاره ای سیناپس ها دندریت ها را از تحریک باز می دارند. این به معنای تغییر پتانسیل محلی دندریت ها در جهت مثبت یا منفی می باشد.یک نرون خود به تنهایی می تواند دارای ورودی های سیناپسی متعددی در روی دندریت های خود باشد و ممکن است با خروجی های سیناپسی متعددی به دندریت های نرون دیگر وصل شود.
یادگیری در سیستم های بیولوژیک
تصور می شود یادگیری هنگامی صورت می گیرد که شدت اتصال یک سلول و سلول دیگر در محل سیناپس ها اصلاح می گردد.به نظر می رسد که این مقصود از طریق ایجاد سهولت بیشتر در میزان آزاد شدن
ناقل شیمیایی حاصل می گردد. این حالت باعث می شود که دروازه های بیشتری روی دندریت های سمت مقابل باز شود و به این صورت باعث افزایش میزان اتصال دو سلول شود. تغییر میزان اتصال نرون ها به صورتی که باعث تقویت تماس های مطلوب شود از مشخصه های مهم در مدل های شبکه های عصبی است.
سازمان مغز
مغز از قسمتهای مختلفی تشکیل شده و هر کدام از این قسمت ها مسئولیت انجام وظایف متفاوتی را به عهده دارد. در اانسان این سازماندهی کاملا مشهود است. بزرگترین قسمت مغز نیمکره های مخ است که قسمت عمده فضای داخلی جمجمه را اشغال می کند. مخ ساختار لایه ای دارد.آخرین لایه خارجی آن قشر مغز نامیده می شود ، جایی که سلولهای نرون برای تسهیل اتصالات داخلی کاملا به هم فشرده شده اند.نقش این قشر در انسان و حیوان کاملا شناخته نشده است ولی می توانیم شواهدی از آن نقش رااز طریق تحقیقاتی به دست آوریم که بر روی حیواناتی صورت گرفته که این بخش از مغز آنها خارج شده است. برای مثال یک سگ در این حالت می تواند به خوبی راه برود، غذا بخورد و بخوابد و حتی پارس کند . ولی در همان حال سگ کور می شودو احساس بویایی خود را از دست می دهد . به ویژه اینکه تمامی علاقه خود را به محیط اطراف از دست می دهد ، نسبت به افراد و شنیدن نام خود عکس العملی نشان نمی دهد و نسبت به سگ های دیگر حتی حتی از جنس مخالف بی تفاوت می ماند. در ضمن قدرت یادگیری را از دست می دهد. در واقع ویژگیهایی را که ما اصطلاحا هوش می نامیم از دست می دهد ،ویژگی هایی چون آگاهی ، علاقه ، تعامل با محیط و قدرت سازگاری و یادگیری. بنابراین به نظر می رسد که مخ بستر وظایف عالی تر مغز و هسته هوش مرکزی است.
پژوهشگران سالها در مورد لایه قشر خارجی مغز تحقیق کرده اند و به تدریج به اسرار آن پی بردهاند . به نظر می رسدکه تقسیم وظایف در این قسمت از مغز حالت منطقه ای دارد،به طوری که هر قسمت ازقشر مغز نقش جداگانه ای مانند کنترل دست ،شنیدن ودیدن را ایفا می کند.به ویژه قسمت بینایی مغز جالب است. در قسمت بینایی ،تحریکات الکتریکی سلولها می تواند حالت احساس نور را موجب شود. تحلیل دقیق نشان داده است که لایه های مخصوص از نرون ها به جهت های معینی از تحریکات نوری حساس اند ، به طوری که مثلا یک لایه اکثرا به خطوط افقی و لایه دیگر اکثرا به خطوط عمودی حساسیت نشان می دهد. گر چه قسمت عمده ای از این ساختار به طور ژنتیکی از پیش تعیین شده است ، به نظر می رسد که آرایش سلولها و گرایش آن ها به جهات مختلف در سالهای اولیه زندگی فرا گرفته می شود. حیواناتی که در محیط صرفا دارای خطوط افقی پرورش می یابند در نهایت دارای ساختار نرونی نخواهند بود که نسبت به خطوط عمودی حساس باشد. این امر نشان می دهد که ساختار های مغزی از داده های محیطی تاثیر می پذیرند وصرفا از طرف عوامل ژنتیکی تعیین نمی شوند. این حالت در کورتکس بینایی اصطلاحا خود سازمان دهی نامیده می شود، زیرا هیچ آموزگار خارجی برای آموزش مغز مداخله ندارد.
نرون پایه
در مطالب گذشته دیدیم که مغز از مکانیزم بسیار پیشرفته ای برخوردار است که هنوز چندان شناخته شده نیست و توانایی انجام اعمال بسیار شگرف را دارد. همچنین دیدیم بسیاری از کارهایی که آرزو داریم کامپیوتر توانایی انجامشان را داشته باشند ، توسط مغز انجام می شود.در واقع فلسفه اصلی محاسبات شبکه های عصبی این است که با مدل کردن ویژگی عمده مغز و نحوه عملکرد آن بتوان کامپیو ترهایی را ساخت که اکثر ویژگی های مفید مغز را از خود نشان دهد.به پیچیدگی ساختار مغز اشاره کردیم و گفتیم که مغز را می توان به صورت مجموعه بسیار متصل وشبکه ای از عناصر پردازشی نسبتا ساده در نظر گرفت. به مدلی نیاز داریم که بتواند ویژگی های مهم سیستم های عصبی را کسب کند ، به این منظور که بتواند رفتار مشابهی را از خود بروز دهد. لیکن اگر بخواهیم این مدل به اندازه کافی برای فهمیدن و به کارگیری ساده باشد باید بسیاری از جزئیات را عمدا نادیده بگیریم . استخراج تعداد محدودی ویژگی های مهم و نادیده گرفتن بقیه ویژگی ها از ضروریت های معمول مدل سازی است . هدف مدل سازی اصولا ایجاد نمونه ساده تری از سیستم است که رفتار عمومی سیستم را حفظ کرده و کمک کند که سیستم با سهولت بیشتر قابل درک باشد.
عملیات شبکههای عصبی
تا اینجا تمام توجه ما معطوف ساختار درونی یک نرون مصنوعی یا المان پردازشی بود. اما بخش مهم دیگری در مراحل طراحی یک شبکه عصبی نیز وجود دارد. در واقع هنر یک طراح شبکههای عصبی میتواند در چگونگی ترکیب نرونها در یک شبکه (neuran Clustering)، متجلی شود. علوم بیولوژی نشان دادهاند که کلاسترینگ نرونها در شبکه عصبی مغز ما بهگونهای است که ما را قادر میسازد تا اطلاعات را به صورتی پویا، تعاملی و خودسامان (selforganizing) پردازش کنیم. در شبکههای عصبی بیولوژیک، نرونها در ساختاری سه بعدی به یکدیگر اتصال یافتهاند. اتصالات بین نرونها در شبکههای عصبی بیولوژیک آنقدر زیاد و پیچیدهاست که به هیچ وجه نمیتوان شبکه مصنوعی مشابهی طراحی کرد. تکنولوژی مدارات مجتمع امروزی به ما امکان میدهد که شبکههای عصبی را در ساختارهای دو بعدی طراحی کنیم. علاوه بر این، چنین شبکههای مصنوعی دارای تعداد محدودی لایه و اتصالات بین نرونها خواهند بود. بدین ترتیب، این واقعیات و محدودیتهای فیزیکی تکنولوژی فعلی، دامنه کاربردهای شبکههای عصبی مبتنیبر تکنولوژی سیلیکونی را مشخص میسازند.
ساختار شبکههای عصبی امروزی، از لایههای نرونی تشکیل شده است. در چنین ساختاری، نرونها علاوه بر آنکه در لایه خود به شکل محدودی به یکدیگر اتصال داده شدهاند، از طریق اتصال بین لایهها نیز به نرونهای طبقات مجاور ارتباط داده میشوند. در شکل 1 نمونهای از ساختار لایهای یک شبکه عصبی مصنوعی نمایش داده شده است (تعداد اتصالات ممکن بین نرونها را در چنین ساختاری با تعداد اتصالات بین نرونهای مغز انسان، مقایسه کنید). در این توپولوژی، گروهی از نرونها از طریق ورودیهای خود با جهان واقعی ارتباط دارند. گروه دیگری از نرونها نیز از طریق خروجیهای خود، جهان خارج را میسازند. در واقع این <جهان خارج> تصویری است که شبکه عصبی از ورودی خود میسازد یا میتوان چنین گفت که جهان خارج <تصوری> است که شبکه عصبی از ورودی خود دارد. خلاصه آنکه در توپولوژی فوق، مابقی نرونها از دید پنهان هستند.تلاش محققان در زمینه شبکههای عصبی نشان داده است که شبکههای عصبی، چیزی بیشتر از یک مشت نرون که به یکدیگر اتصال داده شدهاند، هستند. حتی گروهی از محققان سعی داشتهاند که از اتصالات تصادفی برای ارتباط دادن نرون به یکدیگر استفاده کنند که در این زمینه به نتایج جالب توجهی دست نیافتند. امروزه مشخص شده است که در سادهترین مغزهای بیولوژیک مانند مغز مارها هم ارتباطات بین نرونها بسیار ساختیافته است. در حال حاضر یکی از سادهترین روشهای ارتباط دهی نرونها در شبکههای عصبی، آن است که ابتدا نرونها در گروههای مشخصی به صورت لایههای نرونی سازماندهی میشوند و پس از تامین ارتباطات بیننرونی در هر لایه، ارتباطات بین لایهها نیز برقرار میشوند. اگرچه در کاربردهای مشخصی میتوان با موفقیت از شبکههای عصبی تک لایه استفاده کرد، اما رسم بر آن است که شبکههای عصبی حداقل دارای سه لایه باشند (همانطور که قبلاً اشاره شد، لایه ورودی، لایه خروجی و نهایتاً لایه پنهان یا لایه میانی). در بسیاری از شبکههای عصبی، اتصالات بیننرونی به گونهای است که نرونهای لایههای میانی، ورودی خود را از تمام نرونهای لایه پایینی خود (به طور معمول لایه نرونهای ورودی) دریافت میکنند. بدین ترتیب در یک شبکه عصبی، سیگنالها به تدریج از یک لایه نرونی به لایههای بالاتر حرکت میکنند و در نهایت به لایه آخر و خروجی شبکه میرسند. چنین مسیر در اصطلاح فنی feed forward نامیده میشود. ارتباطات بیننرونی در شبکههای عصبی از اهمیت بسیار زیادی برخوردار هستند و به نوعی قدرت یک شبکه عصبی را تعیین میکنند. قاعده آن است که ارتباطات بین نرونی را به دو گروه تقسیمبندی میکنند. یک نوع از ارتباطات بین نرونی، بهگونهای هستند که باعث جمع شدن سیگنال در نرون بعدی میشوند. گونه دوم ارتباطات بین نرونی باعث تفریق سیگنال در نرون بعدی میشوند. در اصطلاح محاورهای گروهی از ارتباطات انگیزش ایجاد میکنند و گروه دیگر ممانعت به عمل میآورند