در این روش وزن مسیر متصل شده به ورودی یک نرون ، زمانی افزایش می یابد که سیگنال ورودی وخروجی هر دو بالا باشند . این به واقع دادن یک نوع جایزه و یا به عبارتی تقویت کردن یک مسیر است . در نرونهای بیولوژیکی هم همین روند انجام می شود .
قانون یادگیری Delat یا Root Mean Square Error (RMSE)
این الگوریتم که بعضا ً یادگیری مربع خطا نیز نامیده می شود ، وقتی استفاده می گردد که سیگنال خطا، که به واقع اختلاف بین خروجی شبکه و خروجی مورد انتظار می باشد، بوسیله یک روش Least-square می نیمم شود . در این روش سیگنال خطا جهت اصلاح وزنها و بایاسهای نرونها به عقب منتشر می شود . الگوریتم پس انتشار خطا Back propagation معمولی ترین روش پیاده سازی از قانون یادگیری Delta است که دست کم در ۷۵% از کاربردهای شبکه عصبی استفاده می شود .
یادگیری رقابتی (Competive)
در این روش عناصر پردازشی جهت اصلاح وزنها و بایاسهای خودشان ، با هم رقابت می کنند . عناصری که الگوی خروجی آنها شباهت بیشتری به الگوی ورودی داشته باشد ، بیشترین وزن پردازشی را به خود اختصاص می دهند . در نهایت این مقادیر وزنی به صورت حافظه ای برای شبکه باقیمانده ، و از آن، جهت شناسایی الگوی ورودی استفاده می شود. این روش جهت یادگیری Unsupervised کاربرد دارد .
( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
لایه ها و انواع توابع فعالیت آنها
یکی از پارامترهایی که روی خروجی یک نرون تاثیر دارد ، تابع فعالیت ونحوه اتصالاتی است که توسط آنها، نرونها سیگنالها را دریافت و یا ارسال می کنند . معمولاً شبکه های عصبی از چندین لایه تشکیل می شوند. لایه اول به دلیل این که روی سیگنال ورودی هیچگونه تاثیری نمی گذارد ،در شمارش تعداد لایه ها به حساب نمی آید . لایه خروجی نیز با توجه به کاری که می خواهد انجام دهد شامل یک نرون یا تعداد بیشتری می باشد . مابقی لایه ها که در بین لایه ورودی وخروجی قرار می گیرند ، به نام لایه پنهان نامیده می شوند . حالت درونی یک نرون که بر اثر فعالیت ایجاد می شود ، به نام سطح فعالیت موسوم است . در کل هر نرون فعالیت خود را به یک یا چند نرون دیگر به صورت سیگنال واحدی ارسال می کند . معمولاً توابع فعالیت نرونهای یک لایه یکسان بوده ، ولی این مورد الزامی نیست . همچنین این توابع فعالیت در نرونهای لایه پنهان به صورت غیر خطی بوده و برای نرونهای لایه ورودی تابع همانی می باشد .باید توجه داشت که اگر سیگنالی غیر خطی از درون چند نرون خطی یا به عبارتی از درون چند نرون با توابع فعالیت خطی عبور کند ،.در کل اثری روی سیگنال غیر خطی نمی گذارد و این یعنی عبور سیگنال از شبکه های خطی چند لایه مثلاً سیگنالهای مخابراتی برای حمل شدن به نقاط دوردست روی امواج مایکرویو سوار شده و در مقصد هم این امواج مایکرویو حذف شده وسیگنال مخابراتی بازیابی می شود . این همانند عبور سیگنال از شبکه های خطی چند لایه هست . در کل توابع فعالیت متداولی که در شبکه عصبی استفاده می شوند عبارتند از :
تابع همانی
این تابع که در لایه ورودی استفاده می شود، هیچگونه تاثیری روی سیگنال ورودی نمی گذارد .
( الف – ۵) F(x)=x for all x
شکل ( الف -۲) تابع همانی را نشان می دهد .
تابع پله ای دوتایی با آستانه θ
این تابع که در شکل ( الف -۳) نشان داده شده است از فرمول ( الف -۶) تبعیت می کند
( الف -۶)
تابع پله ای دو طرفه با آستانه θ
این تابع که در شکل ( الف -۴) نشان داده شده و از فرمول ( الف -۷) تبعیت می کند .
( الف ـ ۷)
تابع زیگموید
این تابع که در شکل ( الف -۵) نشان داده شده از فرمول ( الف -۸) تبعیت می کند .
( الف -۸)
ومشتق این تابع طبق فرمول ( الف -۹)هست :
(الف ـ ۹)
شکل(الف-۵) تابع زیگمویید یک طرفه
تابع زیگموید دو طرفه
فرمول ( الف ـ ۱۰) وشکل ( الف ـ ۶ ) تابع زیگموید دو طرفه را نشان می دهد .
( الف ـ ۱۰)
ومشتق این تابع عبارتست از :
( الف -۱۱)
با توجه به این که تابع زیگموید دو طرفه تقریباً شبیه تابع تانژانت هایپربولوک می باشد گاهاً از این تابع نیز استفاده می شود .
معماری شبکه عصبی
تاکنون مطالبی پیرامون اتصالات یک نرون ، توابع فعالیت ، سطح فعالیت هر نرون ونحوه یادگیری نرونها ، که همان روش تنظیم وزنهای منتسب شده به هراتصال است ، بیان شد . اما مقصود از معماری شبکه برای حل یک مسأله عبارتست از انتخاب تعداد لایه های مناسب و تعداد نرونها در هر لایه ، نحوه برقراری اتصال بین نرونها لایه ها، انتخاب توابع فعالیت مناسب برای نرونها ودر نهایت تعیین الگوریتم یادگیری ونحوه تنظیم وزنها می باشد. از طرف دیگر می بایستی جهت نشان دادن نحوه کار یک مدل از روابط ریاضی استفاده کرد . بدیهی است هر چه تعداد لایه های شبکه زیادتر باشد وتعداد نرونهای هر لایه نیز زیاد باشد ، آنگاه بیان روابط ریاضی مشکل تر می شود . لذا سیاستی که در اینجا اتخاذ می شود، انتخاب بالانویس و زیرنویسهایی بروی حروف می باشد که از قوانین حاکم بر فضای ماتریسها نیز استفاده می گردد. برای شروع ، کار را با یک نرون ساده که r تا ورودی دارد ، آغاز می کنیم .
شکل ( الف ـ۷) این نرون r ورودی را با نامهای ….. و که در کل ماتریس p را تشکیل داده ، به همراه ماتریس وزن W که شامل عناصر …..و و می باشد ، را نشان می دهد. به نحوه زیرنویس عناصر ماتریس W توجه شود.
اولین عدد نماینده شماره نرون مقصد و دومین عدد نماینده شماره نرون مبدا است . مثلاً می گویند که این وزن به اولین نرون از سومین نرون منبع ( سومین نرون لایه ماقبل ) مربوط است . مجدداً یادآوری می شود که لایه ورودی در شمارش لایه ها مد نظر قرار نمی گیرد . با این توضیحات ، ابعاد ماتریس P=r*1 و ماتریس W=1*r و ماتریس b=1*1 است و خروجی هم به صورت زیر محاسبه می شود:
( الف ـ ۱۲)
بنابراین نمایش ماتریسی خروجی این نرون بسیار ساده هست :
( الف -۱۳)
خوشبختانه برای نمایش شبکه های عصبی اکثراً از ماتریسها استفاده می شود .
حال موضوع را کمی گسترش می دهیم . این بار شبکه ای را تصور می کنیم که اولاً یک لایه ای باشد. ثانیاً در این لایه چندین نرون وجود داشته باشد .ثالثاً هر نرون هم چندین ورودی داشته باشد ، ملاحظه می شود که این شبکه بسیار پیچیده ومطالعه آن هم بسیار سخت می باشد . بنابراین ما باید با روش های بتوانیم علایمی را برای خلاصه کردن به دست آوریم .
قانون یادگیری شبکه (B.P) Back Propagation
هسته مرکزی الگوریتم یادگیری B.P برای شبکه های تطبیقی، چگونگی ایجاد بردارgradient می باشد . این بردار در هر قسمت به عنوان مشتق میزان خطا در رابطه با پارامتری مطرح می شود ، که بوسیله قانون مشتق زنجیره ای محاسبه می گردد. چون در این روش بردار gradient در جهت خلاف مسیر خروجی هر گره منتشر می شود ، لذا به آن « قانون یادگیری پسانتشار خطا(B.P) » می گویند . فرض کنید یک شبه تطبیقیfeed forward طبق شکل( الف -۸) با L لایه داشته باشیم . که هر لایه بوسیله L نمایش داده شده و L و…….۲و۱و۰= L باشد .