پیوست ۱:
شبکه های عصبی مصنوعی
شبکه عصبی مصنوعی سیستم پردازش کامپیوتری است که سعی دارد با ارائه هر واحد ، رفتاری شبیه شبکه های عصبی بیولوژیکی را ارائه نماید .این شبکه با ترکیب تعداد بسیار زیاد عناصر پردازشی همانند ساختار مغز، می تواند کارهای کنترلی، تصمیم گیری و تشخیص را شبیه سازی نماید. برای تهیه مدل ریاضی یک واحد پردازشی که معادل یک نرون بیولوژیکی است، می بایستی فرضیاتی را مد نظر داشت که عبارتند از :
( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
الف ـ به طور کلی پردازش اطلاعات در واحدهای بسیار زیادی تحت عنوان نرون صورت می گیرد . ب ـ همانند نرونهای طبیعی عامل انتقال اطلاعات ، سیگنالهای الکتریکی هستند .
ج ـ هر اتصال به نرون دارای عددی است که وزن آنها اتصال را مشخص می کند . به هنگام انتقال سیگنالهای اطلاعاتی ، این اطلاعات در وزن اتصال ضرب می شوند .
د ـ هر دوی نرونهای بیولوژیکی ومصنوعی، درون خود توابع محاسباتی دارند که به نام تابع فعالیت (Activation Function) نامیده می شوند. این توابع معمولاً غیر خطی می باشند. پس از ورود همه سیگنالها به یک نرون، آنها با هم جمع شده و در نهایت، خروجی از این تابع عبور داده شده ، وسیگنال خروجی فراهم می گردد .
با توجه به مطالب فوق می توان پارامترهای را برای یک شبکه عصبی در نظر گرفت که عبارتند از :
ساختار شبکه : نحوه متصل شدن نرونها به یگدیگر تحت عنوان توپولوژی یا ساختار شبکه موسوم می باشد انواع این ساختارها عبارتند از :
Fully Connected Network
Locally Connected Network
Sparsely Connected Network
توابع تحریک نرونها : الگوی یادگیری یا روشی که به توسط آن وزنهای اتصالات تنظیم می گردند ، این الگو خود مشخصه یک شبکه عصبی است .
نکته ای که در ارتباط با فعالیت یک نرون باید گفت ، این است که هر نرون تنها یک سیگنال جهت ارسال به خروجی یا خروجی های دیگر ایجاد می کند. عناصر پردازشی مطرح شده در ANN معمولاً در لایه های متوالی با اتصالاتی که بین آنها برقرار شده سازماندهی می شوند .به طور کلی هر شبکه عصبی از حداقل سه لایه تشکیل شده است که شامل یک لایه ورودی است که همانند یک بافر عمل می کند و به عبارت دیگر هیچ تغییری در سیگنال ورودی ایجاد نمی کند . یک لایه خروجی دارد که این هم پاسخ شبکه به سیگنالهای ورودی را ارائه می کند، و یک لایه پنهان یا لایه میانی دارد. شکل ( الف ـ ۱) نمایانگر یک شبکه عصبی است .
در کل عملکرد یک شبکه عصبی مصنوعی با دو پروسه درگیر است :
یادگیری و به یاد آوردن (Learning & recall)
در پروسه یادگیری ، بر طبق سیگنالهای وارده شده به نرون و جواب خروجی و مقایسه آن با جواب مورد نظر اتصالات نرونها تعدیل می شوند . به یاد آوردن عکس العمل به یک ورودی و دادن پاسخ مورد نظر می باشد . این عمل با تنظیم شدن وزنهای متصل شده به نرون میسر می گردد .
اصول کار یک نرون
هر عنصر یا واحد پردازشی یا سلول ، کار نسبتاً ساده ای را انجام می دهد . بدین صورت که سیگنالهای ورودی را از همسایه های مجاور خود یا منابع خارجی به وسیله اتصالات دریافت کرده و پس از اعمال یک کار پردازشی خروجی خود را به صورت یک سیگنال بوسیله اتصالاتش به نرونهای مجاور منتشر می کند .البته در این رهگذر دٍر اثرنیاز، امکان دارد بایاس و وزنهای مربوط به اتصالاتش تغییر کرده وتنظیم شوند. اساساً سیستم به صورت موازی کار می کند . یعنی واحدها به طور همزمان می تواند سیگانالهایی را حس کرده ومحاسباتی را نیز انجام دهند . همچنین در حین عمل ، واحدها می توانند هر کدام به طور همزمان یا غیر همزمان، به هنگام شوند . در به هنگام شدن همزمان (سنکرون) کلیه واحدها به طور همزمان فعالیتشان به هنگام شده ، ولی در به هنگام شدن در زمان t ، همیشه فقط یک واحد آن با هم داشتن احتمالی از به هنگام شدن به هنگام می شود .
اتصال بین نرونها
در اکثر حالات فرض بر این است که هر نرون همکاری زیادی با واحدهایی که به ورودی اش متصل هستند، انجام می دهد . همانگونه که بیان شد هر اتصال به نرون دارای وزنی است و نهایتاً محل ورودی به یک نرون حاصل جمع حاصلضرب وزنهای هر اتصال ورودی در سیگنال وارده شده به آن است . به بیان ریاضی :
در این فرمول یک سیگنال Threshold هست و (t) سیگنال ورودی به نرون i ام از لایه قبلی است و هم، وزن منتسب شده به اتصال نرون از لایه j ام به لایه iام است . اگر۰< باشد این حالت به عنوان یک تحریک یا همکاری محسوب شده واگر <0 باشد این حالت به عنوان ایجاد یک مانع در مسیر انتقال سیگنال از لایه j ام به لایه iام محسوب می گردد .
توابع فعالیت وقوانین خروجی
یکی از عوامل ضروری در یک نرون داشتن تابع فعالیت است . کار این تابع این است که حاصل جمع سیگنالهای ورودی یه یک نرون را گرفته ومقداری جدید تولید نموده وبه عنوان سیگنال خروجی نرون ارائه می کند ، بنابراین :
( الف ـ۲)
اغلب توابع فعالیت به صورت غیر کاهشی انتخاب می شوند.
( الف ـ ۳)
درشبکه های عصبی اغلب از تابع Sigmoid (S شکل ) استفاده می شود . بنابراین :
( الف ـ۴)
در همه شبکه ها ، اساساً خروجی یک نرون با سطح فعالیت آن نرون تطابق دارد .
توپولوژی شبکه
از نقطه نظر نحوه اتصال خروجی نرونها یه یگدیگر، سه نوع آرایش شبکه ارائه می گردد :
-
- شبکهFeed forward
-
- شبکهrecurrent
-
- شبکه بازگشتی جزیی(partial recurrent)
در آرایش Feed forward سیگنال خروجی هر نرون به طرف نرونهای لایه بعد از خود انتشار می یابد. به عبارتی در این نوع هم بندی سیگنالی به طرف نرونهای لایه عقب تر برگشت داده نمی شود .
درآرایش recurrent امکان فیدبک شدن سیگنال خروجی یک نرون ، به نرونهای لایه قبل تر از خودش وجود دارد . در این حالت اساساً ویژگی دینامیکی شبکه مهم است . به عبارت ساده تر ،تغییر مقادیر فعالیت خروجی نرونها به رفتار دینامیکی خروجی شبکه بستگی دارد .
آرایش partial recurrentخود از دو نوع شبکه تشکیل می شود :
شبکه Jordan
شبکه Elman
این دو نوع شبکه تعمیم یافته شبکه Feed forward با واحدهای زمینه هست . اینها فعالیت گذشته را به یاد می آورند . بنابراین مقادیر گذشته در پردازش فعلی آن تاثیر دارد .
تنظیم کردن شبکه های عصبی مصنوعی
یکی از مسایل مهم در شبکه های عصبی نحوه تنظیم کردن وزنها و بایاسهای اتصالات است که به یادگیری شبکه موسوم است . بطور کلی دو روش برای این کار وجود دارد که عبارتند از :
یادگیری با معلم(Supervised) یا یادگیری اشتراکی
اساس کار در این روش استفاده از زوج داده ها به صورت ورودی ـ خروجی می باشد . این زوجها می توانند بوسیله یک فرد خبره یا معلم ایجاد شوند و یا بوسیله سیستم خود شبکه تنظیم شود ، یعنی به صورت خود آموز . لازم به ذکر است که شبکه وقتی تنظیم است که الگوی ورودی با الگوی خروجی یکسان باشد و یا به طور کلی خروجی شبکه ، همان مقدار مورد نظر در رابطه با زوج داده باشد .
یادگیری بدون معلم یا خود سازمانی (unsupervised)
در این روش واحد خروجی با واکنش به مجموعه ای از الگوهای ورودی سعی در تنظیم وزنهای شبکه می کند . در اینجا دیگر مجموعه قبلی از زوج داده ها وجود ندارد که کلاسه شده باشد و برعکس سیستم باید براساس جواب به ورودی تحریک شده ، خودش را تنظیم نماید . در این روش شبکه وقتی تنظیم می شود که به ازاء ورودهای مشابه ، خروجی یکسان داشته باشد .
الگوریتمهای یادگیری
همانگونه که بیان شد ، منظور از یادگیری در شبکه های عصبی نحوه تنظیم وزنها و بایاسهای شبکه می باشد . بر این اساس الگوریتم های متفاوتی بیان شده که معمولی ترین آنها عبارتند از:
یادگیریHabbian
[یکشنبه 1401-04-05] [ 11:07:00 ب.ظ ]
|