دانلود تحقیق با موضوع شبکه های عصبی، شبکه عصبی، شبکه عصبی مصنوعی، شبکه های عصبی مصنوعی

دانلود پایان نامه ارشد

را با هم جمع می کند. اگر اين مقدار به مقدار آستانه برسد نرون آتش می گيرد و به آکسون خود يک ولتاژ خروجی ارسال می نمايد و آکسون نيز با توجه به شدت آن، ممکن است يک سيگنال را توسط سيناپس، به دندريت نرون های ديگر بفرستد يا اينکه به دليل ضعيف بودن آن، هيچگونه سيگنالی را عبور ندهد. و به همين ترتيب تمامی فعاليت های مغزی انسان انجام می شود (ناجب، 2014). 9

شکل 2-2 : ساختار يک سلول عصبی انسان

شكل2-3: يك نمونه عصب واقعي

يك نرون مصنوعي در حقيقت مدلي محاسباتي است كه از نرون هاي عصبي واقعي انسان، الهام گرفته است. نرون هاي طبيعي، ورودي خود را از طريق سيناپس دريافت مي كنند. اين سيناپس ها برروي دندريت ها يا غشاء عصب قرار دارند. در يك عصب واقعي، دندريت ها دامنه پالس هاي دريافتي را تغيير مي دهند كه نوع اين تغيير در طول زمان يكسان نمي ماند و در اصطلاح، توسط عصب ياد گرفته مي شود. اگر سيگنال دريافتي به حد كافي قوي باشد(از يك مقدار آستانه بيشتر شود)، عصب فعال شده و سيگنالي را در طول اكسون منتشر مي كند. اين سيگنال نيز به نوبه خود مي تواند به يك سيناپس ديگر وارد شده و ساير اعصاب را تحريك كند. شبکه های عصبی با قابلیت در خور توجه در استنتاج معانی از داده های پیچیده یا مبهم، می توانند برای استخراج الگوها و شناسایی روش هایی که آگاهی از آنها برای انسان و دیگر تکنیک های کامپیوتری بسیار پیچیده و دشوار است به کار گرفته شود. یک شبکه عصبی تربیت یافته می تواند به عنوان یک متخصص در مقوله اطلاعاتی که برای تجزیه و تحلیل به آن داده می شود به حساب آید. با اين ديد اجمالی از نحوه عملکرد نرون، بايد سيستمی طراحی شود که دارای تعدادی ورودی باشد که با توجه به اهميت هر يک، آن ها را با يکديگر جمع ساده جبری نمايد و توسط يک تابع موسوم به تابع تبديل، آن ها را به نورون های ديگر ارسال نمايد (همان،2014).
شکل 3 الگويی از يک واحد پردازش با توجه به نحوه عملکرد يک نرون ارائه می دهد. همانگونه که مشاهده ی شود، آکسون را می توان به خروجی، وزن را به ولتاژ و ورودی ها را به دندريت ها تشبيه نمود.

شکل 2-4. ساختار يک نورون عصبی مصنوعی

بنابراين اجزای يک شبکه عصبی عبارتند از :
ورودی ها: ورودي ها مي توانند خروجي ساير لايه ها بوده و يا آنكه به حالت خام در اولين لايه و به صورت هاي زير باشد:
داده هاي عددي و رقمي
متون ادبي، فني و …
تصوير و يا شكل
وزن ها: ميزان تاثيرورودي xi بر خروجي ،y توسط وزن اندازه گيري مي شود.
تابع جمع: در شبکه های تک نرونی، تابع جمع در واقع خروجی مسئله را تا حدودی مشخص می کند و در شبکه های چند نرونی نیز تابع جمع میزان سطح فعالیت نرون j در لایه های درونی را مشخص می کند.
تابع تبديل: بدیهی است که تابع جمع پاسخ مورد انتظار شبکه نیست، تابع تبدیل عضوی ضروری در شبکه های عصبی مصنوعی محسوب می گردد. انواع و اقسام متفاوتی از توابع تبدیل وجود دارد که بنا به ماهیت مسئله کاربرد دارند. این تابع توسط طراح مساله انتخاب می گردد و بر اساس انتخاب الگوریستم یادگیری پارامتر های مساله (وزن ها) تنظیم می گردد.
خروجی: منظور از خروجي، پاسخ مسئله است.
2-6: مفهوم شبكه
يكي از روش هاي كارآمد در حل مسائل پيچيده، شكستن آن به زيرمسأله هاي ساده تر است كه هر كدام از اين زيربخش ها به نحو ساده تري قابل درك و توصيف باشند. در حقيقت يك شبكه، مجموعه اي از اين ساختارهاي ساده است كه در كنار يكديگر سيستم پيچيده نهايي را توصيف مي كنند. شبكه ها انواع مختلفي دارند اما همگي آنها از دو مؤلفه تشكيل مي شوند:
مجموعه اي از گره ها؛ هر گره در حقيقت واحد محاسباتي شبكه است كه ورودي ها را گرفته و برروي آن پردازش انجام مي دهد تا خروجي بدست آيد. پردازش انجام شده توسط گره مي تواند از ساده ترين نوع پردازش ها نظير جمع كردن ورودي ها تا پيچيده ترين محاسبات را شامل شود. در حالت خاص، يك گره مي تواند خود، شامل يك شبكه ديگر باشد.
اتصالات بين گره ها؛ اين اتصالات نحوه گذر اطلاعات بين گره ها را مشخص مي كند. در حالت كلي اتصالات مي توانند تك سويه یا دو سویه باشند.
تعامل بين گره ها از طريق اين اتصالات سبب بروز يك رفتار كلي از سوي شبكه مي گردد كه چنين رفتاري به تنهايي در هيچ يك از شبكه ديده نمي شود. جامع بودن اين رفتار كلي بر عملكرد موجود در هر گره سبب تبديل شبكه به يك ابزار توانمند مي شود. به عبارت ديگر، مجموعه ساده اي از المان ها وقتي در قالب يك شبكه باشند مي توانند رفتاري از خود بروز دهند كه هيچ يك از آن المان ها به تنهايي قادر به بروز چنين مشخصه اي نبود.
2-7: مدل رياضي شبكه عصبي مصنوعي
به هنگام مدل كردن اعصاب، از پيچيدگي هاي آن ها صرف نظر مي شود و تنها به مفاهيم پايه اي بها داده مي شود، چرا كه در غير اين صورت رويكرد مدلسازي بسيار دشوار خواهد شد. ردر يك نگاه ساده، مدل يك عصب بايد شامل ورودي هايي باشد كه در نقش سيناپس انجام وظيفه كنند. اين ورودي ها در وزن هايي ضرب مي شوند تا قدرت سيگنال را تعيين كنند. نهايتاً يك عملگر رياضي تصميم گيري مي كند كه آيا نرون فعال شود يا خير و اگر جواب مثبت باشد، ميزان خروجي را مشخص مي سازد. بنابراين شبكه عصبي مصنوعي با استفاده از مدل ساده شده عصب واقعي به پردازش اطلاعات مي پردازد. با توجه به اين توضيحات، مي توان مدل ساده اي براي توصيف يك نرون (يك گره در شبكه عصبي مصنوعي) پيشنهاد كرد. اين مدل در شكل فوق نشان داده شده است. جداي از ساده سازي هاي اعمال شده، تفاوت اصلي اين مدل با واقعيت در اين است كه در شبكه واقعي، ورودي ها سيگنال هاي زماني هستند حال آن كه در اين مدل، اعداد حقيقي ورودي اند.
در مدل ارائه شده در شكل دو، تنوع هاي بسياري وجود دارد. از جمله اين كه وزن هاي يك شبكه عصبي، كه مقدار خروجي را منتقل مي كنند، مي توانند مثبت يا منفي باشند . از طرفي، توابع مورد استفاده براي آستانه گذاري مي توانند بسيار متنوع باشند. از جمله مشهورترين اين توابع مي توان به تابع هايي نظير arcsin, arctan, sigmoid اشاره كرد. اين توابع بايد پيوسته و هموار بوده و مشتق پذير باشند. همچنين تعداد گره هاي ورودي مي تواند متغير باشد. البته با زياد شدن تعداد اين گره ها، به وضوح تعيين وزن ها را با مشكل روبرو مي كند. لذا بايد به دنبال روش هايي براي حل اين موضوع باشيم. روند تعين وزن هاي بهينه و تنظيم مقادير آنها عمدتاً به صورت بازگشتي انجام مي شود. بدين منظور شبكه را با استفاده از قواعد و داده ها آموزش داده و با استفاده از قابليت يادگيري شبكه، الگوريتم هاي متنوعي پيشنهاد مي گردد كه همگي سعي در نزديك كردن خروجي توليد شده توسط شبكه به خروجي ايده آل و مورد انتظار دارند(اولاتونگ، 2013).10
2-8: شبکه های عصبی تک نرونه، تک لايه، چند لايه
معمولا يک نرون با ورودی های زياد، به تنهايی برای حل مسائل فنی-مهندسی کافی نيست. مثلاً برای مدل سازی نگاشت هايی که دو خروجی دارند ما احتياج به دو نرون داريم که بصورت موازی عمل کنند، بنابراين يک لايه خواهيم داشت که از اجتماع چند نرون تشکيل شده است. در شکل ٣ نمونه ای از يک شبکه تک لايه را نشان می دهد.

شکل 2-5: نمونه ای از يک شبکه ی تک لايه

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

شکل 2-6 . نمونه ای از يک شبکه سه لايه
2-9: انواع شبكه های عصبی مصنوعی از نظر برگشت پذيري
شبكه هاي پيش خور:
شبکه های پيش خور، شبكه هايي هستند که مسير پاسخ در آن ها، همواره رو به جلو پردازش مي شود و به نرون هاي لايه هاي قبل باز نمي گردد. در اين نوع شبکه ها به سيگنال ها اجازه می دهند تنها از مسير يکطرفه عبور کنند، يعنی از ورودی تا خروجی . بنابراين باز خوردی (فيدبکی) وجود ندارد به اين معنی که خروجی هر لايه تاثيری بر همان لايه ندارد . در بدن انسان نيز، پيام های عصبی به صورت يکطرفه حرکت می کنند: از دنريت به بدنه سلول و سپس به آکسون. ساده ترين اين شبکه ها شبکه های پرسپترون هستند که در ادامه بيشتر در مورد آن بحث می گردد .شکل بعد نمونه ای از يک شبکه پيشخور را نشان می دهد .

شکل 2-7 . نمونه ای از يک شبکه سه لايه

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

شکل 2-8 . نمونه ای از يک شبکه برگشتی

2-10: مراحل طراحی يک شبکه عصبی مصنوعی
مرحله ١ : طراحی معماری شبکه
اين مرحله شامل تعيين تعداد لايه های موجود در شبکه، تعداد نرون های هر لايه، تعيين برگشت پذير بودن يا نبودن شبکه و …است که با توجه به نوع مساله تعيين می گردد. (برای مثال شبکه های برگشتی در اغلب موارد برای مسائل پويا کاربرد دارند و يا اينکه شبکه های پرسپترون پيش خور، برای نگاشت های غيرخطی کاربرد دارند).
نکته قابل توجه: تعداد نرون های لايه ورودی از صورت مساله مورد بررسی مشخص می گردد. به عبارت ديگر تحت انتخاب طراح مسأله نيست بلکه بستگی به روش حل مسأله مورد نظر دارد. تعداد نرون های لايه خروجی بستگی به نوع جواب ما دارد. برای مثال چنانچه پاسخ ما به صورت يک عدد باشد يک نرون کافی است. تعداد لايه ها و تعداد نرون های لايه پنهان توسط کاربر تعيين می گردد اما در اکثر مسائل از يک تا سه لايه پنهان کفايت می کند. همچنين روش عملی ای برای تخمين تعداد نرون های لايه پنهان وجود ندارد به همين دليل از روش های سعی و خطا (در حين آموزش) استفاده می شود تا به مقدار ميانگين خطای مطلوب رسيد.
مرحله ٢. تعيين نوع تابع تبديل
می توان برای اينکه خروجی خاصی توليد شود از يک تابع تبديل استفاده کرد. اين تابع رنج وسيعی از مقادير ورودی را به مقدار خاصی نگاشت می کند. به عنوان مثال می توان هر مقدار خروجی را به مقدار باينری 0 و 1 نگاشت کرد. ولی پرکاربردترين آن ها، تابع تبديل سيگمويد مانند ANN مختلفی از اين توابع در که به صورت زير تعريف می شود:

تصویر شماره 2-9 : نوع تابع تبدیل

مرحله ٣. آموزش شبکه
الگوريتم های يادگيری، روندهايی هستد که توسط آن ها وزن های شبکه تنظيم می گردد. هدف از آموزش شبکه اين است که شبکه قانون کار را ياد بگيرد و پس از آموزش به ازای هر ورودی، خروجی مناسب را ارائه دهد. تاکنون بيش از ١٠٠ نوع الگوريتم يادگيری بوجود آمده است. که می توان آن ها را به طور کلی به دو دسته وسيع تقسيم بندی کرد :
يادگيري نظارت شده يا با ناظر:
در اين نوع آموزش، به الگوريتم يادگيری مجموعه ای از زوج داده که به داده های يادگيری موسوم هستند، داده می شود. هر داده يادگيری

پایان نامه
Previous Entries دانلود تحقیق با موضوع شبکه های عصبی، شبکه عصبی، پردازش اطلاعات، قابلیت یادگیری Next Entries منبع پایان نامه ارشد با موضوع ورشکستگی، بورس اوراق بهادار، تحلیل پوششی، پیش بینی ورشکستگی