در این پست یک جزوه آموزشی مفید در خصوص آموزش جعبه ابزار شبکه عصبی در MATLAB برای دانلود شما قرار گرفته است. جزوه حاضر به شرح ساختار و اجزای یک شبکه عصبی و نحوه پیاده سازی آن در محیط نرم افزار MATLAB، با تکیه بر شبکه های عصبی پرسپترون چند لایه (MLP) پرداخته است . در پایان نیز نحوه به کارگیری شبکه عصبی مذکور با ارائه یک مثال مربوط به طبقه بندی اطلاعات بازار بورس توصیف گردیده است.
آشنایی با شبکه های عصبی زیستی
معرفی شبکه های عصبی مصنوعی (ANNها)
مبانی شبکه های عصبی مصنوعی
توپولوژی شبکه
نرم افزارهای شبکه های عصبی
مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی
فرآیند یادگیری شبکه
تجزیه و تحلیل داده ها توسط شبکه های عصبی مصنوعی
ایده ی اصلی شبکه های عصبی مصنوعی
مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر
شبکه های عصبی در مقابل کامپیوترهای معمولی
معایب شبکه های عصبی مصنوعی
کاربردهای شبکه های عصبی مصنوعی
آشنایی با شبکه های عصبی زیستی
این شبکه ها مجموعه ای بسیار عظیم از پردازشگرهایی موازی به نام نورون اند که به صورت هماهنگ برای حل مسئله عمل می کنند و توسط سیناپس ها(ارتباط های الکترومغناطیسی)اطلاعات را منتقل می کنند.در این شبکه ها اگر یک سلول آسیب ببیند بقیه ی سلولها می توانند نبود آنرا جبران کرده و نیز در بازسازی آن سهیم باشند.
این شبکه ها قادر به یادگیری اند.مثلا با اعمال سوزش به سلولهای عصبی لامسه، سلولها یاد می گیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم می آموزد که خطای خود را اصلاح کند.back propagation of error))
یادگیری در این سیستم ها به صورت تطبیقی صورت می گیرد، یعنی با استفاده ازمثال ها وزن سیناپس ها به گونه ای تغییر می کند که در صورت دادن ورودی های جدید سیستم پاسخ درستی تولید کند.
معرفی ANN ها
یک سیستم پردازشی داده ها که از مغز انسان ایده گرفته و پردازش داده ها را به عهده ی پردازنده های کوچک و بسیار زیادی سپرده که به صورت شبکه ای به هم پیوسته و موازی با یکدیگر رفتار می کنند تا یک مسئله را حل کنند.
در این شبکه ها به کمک د انش برنامه نویسی ، ساختا ر داده ای طراحی می شود که می تواند هما نند نورون عمل کند.که به این ساختارداده node یا گره نیزگفته می شود.بعد باایجاد شبکه ای بین این node ها و اعمال یک الگوریتم آموزشی به آ ن، شبکه را آموزش می دهند .
در این حافظه یا شبکه ی عصبی node ها دارای دو حالت فعال(on یا 1) وغیرفعال( offیا 0) اند و هر یال (سیناپس یا ارتباط بین node ها)دارای یک وزن می باشد.یالهای با وزن مثبت ،موجب تحریک یا فعال کردن node غیر فعال بعدی می شوند و یالهای با وزن منفی node متصل بعدی را غیر فعال یا مهار(در صورتی که فعال بوده باشد) می کنند.
به طور خلاصه یک شبکه عصبی باید خصوصیات زیر را داشته باشد:
بتواند الگوها را طبقه بندی کند.
به اندازه کافی کوچک باشد تا از نظر فیزیکی واقع گرایانه باشد.
با به کار گیری آموزش، قابل برنامه ریزی باشد و قدرت یادگیری داشته باشد. یعنی توانایی تنظیم پارامترهای شبکه ( اوزان سیناپتیکی )، در مسیر زمان که محیط شبکه تغییر می کند و شبکه وارد شرایط جدیدی می شود. هدف از این کار این است که اگر شبکه برای یک وضعیت خاص آموزش دید و تغییر کوچکی در شرایط محیطی شبکه رخ داد، شبکه بتواند با آموزش مختصر، برای شرایط جدید نیز کارآمد باشد. دیگر این که اطلاعات در شبکه های عصبی در سیناپس ها ذخیره و هر نرون در شبکه به صورت بالقوه از کل فعالیت سایر نرون ها تأثیر می پذیرد. در نتیجه اطلاعات از نوع مجزا از هم نبوده و متأثر از کل شبکه می باشد.
توانایی تعمیم را با استفاده از مثال های ارائه شده در فرآیند آموزش، داشته باشد.
نرم افزارهای شبکه های عصبی
نرم افزارهایی برای شبیه سازی ،مطالعه و تحقیق سیستمهای عصبی زیستی و گسترش شبکه های عصبی مصنوعی وAdaptive system ها .
شبیه سازها: نرم افزارهایی برای شبیه سازی رفتار شبکه های عصبی زیستی و مصنوعی که به صورت مستقل عمل می کنند و قادرند فرآیند آموزش شبکه ی عصبی را به شکل تصویری نمایش دهند.
شبیه سازهای تحقیقاتی :برای مطالعه ی الگوریتم ها و ساختارهای شبکه ی عصبی که به فهم بهتر رفتارها و خصوصیات شبکه ی عصبی کمک می کنند.(مطالعه ی ویژگی های شیمیایی و زیستی بافتهای عصبی و پالس های الکترومغناطیسی بین نورونها).
رایجترین شبیه سازهای ANN ها :
SNNS(stuttgart neural network simulator),PDP++(parallel distribution processing),JavaNNS
رایجترین شبیه سازهای شبکه های زیستی:
XNBC,BNN ToolBox
شبیه سازهای آنالیز داده :علی رغم دسته ی اول ،کاربردهای عملی شبکه های عصبی را مطالعه میکنند.استفا ده از آنها نسبتا ساده است در عوض تواناییهاشان محدود است . بر روی Data miningوپیش بینی ها کار می کنند.
بعضی از آنها عبارتند از:
Microsoft Excel,Matlab
Development Environment ها:برای گسترش و آرایش شبکه های عصبی به کار می روند.
رایج ترین نرم افزارهای این دسته عبارتند از:
MathWorks NN ToolBox,GBlearn2
توپولوژی شبکه
وضعیت نسبی سلولها در شبکه(تعداد و گروه بندی و نوع اتصالات آنها)را توپولوژی شبکه گویند.توپولوژی در واقع سیستم اتصال سخت افزار نورونها به یکدیگر است که توام با نرم افزار مربوطه (یعنی روش ریاضی جریان اطلاعات و محاسبه ی وزنها)نوع عملکرد شبکه ی عصبی را تعیین می کند.
در این توپولوژی یک لایه ی ورودی وجود دارد که اطلاعات را دریافت می کند،تعدادی لایه یمخفی وجود دارد که اطلاعات را از لایه های قبلی می گیرند و در نهایت یک لایه ی خروجی وجود دارد که نتیجه ی محاسبات به آنجا میرود و جوابها در آن قرار میگیرند.
FeedForward topology
Recurrent topology
مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی
مدل سازی کلاسیک:
این مدل از نخستین قدم خطای بزرگی مرتکب می شود که فقط در سیستمهای ساده (خطی یا نزدیک به خطی )قابل صرفنظر است و آن محاسبه ی شاخصهای تمایل به مرکز و پراکندگی است که به این ترتیب راهمیت فردی تک تک داده ها از بین می رود و در نتیجه سیستم قادر به کشف پیچیدگی ها نخواهد بود.
مدل سازی شبکه ی عصبی :
در این مدل هر یک از کانالهای ورودی دارای یک ضریب عددی هستند که وزن سیناپسی نامیده می شود.شدت تحریک الکتریکی در این ضریب ضرب می شود و به جسم سلولی می رسد.
اگر مجموع تحریکات وارد به جسم سلولی به حد آستانه ی خاصی رسیده باشد،نورون شلیک می کند و در مسیرهای خروجی جریان الکتریکی ثابتی را ایجاد می کند.تحریکات لایه ی ورودی به یک یا چند لایه ی واسط می رود .ادامه ی جریان تحریکات در این لایه ها طوری هدایت میشود که پیچیدگیهای تاثیرات جریان ورودی را شبیه سازی می کند .سپس تحریکات به لایه ی خروجی می روند که هدف نهایی ماست.
فرآیند یادگیری شبکه
وظیفه ی شبکه های عصبی یادگیری است.تقریبا چیزی شبیه به یادگیری کودک خردسال.
انواع آموزش شبکه:
یادگیری تحت نظارت(یا supervised ) : با تمرکز روی یک موضوع خاص و ارائه ی مثالهای مختلفی از آن صورت می گیرد .شبکه اطلاعات ورودی و مثال ها را تجزیه و تحلیل خواهد کرد به طوری که پس از مدتی قادر خواهد بود یک نوع جدید از آن دسته مثال ها را که قبلا هرگز ندیده بود شناسایی کند.
یادگیری بدون نظارت(یا unsupervised ) :یادگیری سطح بالاتری است که کاربرد آن امروزه کمتر است.
یادگیری تقویتی(یا reinforcement):
مدل پنهانی مارکوف(MDP):اجزای اصلی یک مدل مارکوف عبارتند از :مجموعه ی حالتها،مجموعه ی عملها،گذرها،ارزش افزوده ی فوری هر عمل
مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر
يكی از مهمترين تفاوتهای حافظه انسان با حافظه كامپيوتر در نوع آدرس دهی اين دو نوع حافظه میباشد. در حافظه كامپيوتر اساس كار بر پايه آدرس خانههای حافظه يا آدرس اطلاعات بر روی حافظه دائم میباشد. به عنوان مثال برای دستيابی به يك تصوير يا متن خاص، بايد آدرس حافظه يا فايل مربوط به آن تصوير يا متن را داشته باشيد. اما با داشتن خودتصوير يا متن نمیتوانيد به سادگی آدرس حافظه مربوطه را بيابيد (البته به اين معنی كه اين كار با يك قدم قابل انجام نيست، وگرنه میتوانيد تصوير يا متن مورد نظر را با تمام موارد موجود در حافظه مقايسه كرده و در صورت تطبيق آدرس را بيابيد. ناگفته پيداست كه انجام چنين كاری بسيار زمان بر و پر هزينه میباشد).
اما به سازوكار همين عمل در ذهن انسان دقت كنيد. با ديدن يك تصوير ناقص اغلب بلافاصله كامل آنرا به خاطر میآوريد يا با ديدن تصوير يك شخص سريعا نام او را میگوييد، يا با خواندن يك متن سريعا تمامی مطالب مربوط به آن را به ذهن میآوريد. در واقع ذهن انسان يك نوع حافظه آدرسدهی شده بر اساس محتواست (Content Addressable Memory). همانگونه كه از اين نام مشخص است در اين نوع حافظه، با دادن محتوای يك خانه حافظه، بلافاصله آدرس آن به عنوان خروجی داده میشود.
یک فیلم آموزشی جامع از شبکه های عصبی تهیه شده است که با کلیک بر روی عکس زیر می توانید آنرا سفارش دهید.
این فیلم آموزشی حاصل چندین سال تجربه ما در برنامه نویسی متلب شبکه های عصبی می باشد.
دانشجویان زیادی از سراسر ایران تقاضای تدریس شبکه های عصبی در متلب MATLAB را داشتند اما ما به دلیل دوری راه و نداشتن زمان خالی نمی توانستیم به این نیاز انها پاسخ درستی بدهیم. لذا ما تصمیم گرفتیم که یک فیلم آموزشی کامل برای شبکه های عصبی مصنوعی تهیه کنیم که تمامی مطالب کلاس خصوصی شبکه عصبی را شامل شود. این فیلم آموزشی هم اکنون آماده سفارش است که می توانید با کلیک بر روی تصویر زیر آنرا سفارش دهید.
تشكر از ايران متلب
خيلي خوب بود
مرسی
خیلی عالی بود