اگر شبکه عصبی دارای تعداد لایه­ های بیشتری باشد، با بهره گرفتن از روندی مشابه با روند بالا می­توان میزان اصلاح وزن­های هر لایه را بدست آورد. در عمل می­توان نشان داد که یک شبکه­ عصبی با سه لایه می ­تواند راندمانی مشابه با شبکه ­های با لایه­ های بیشتر داشته باشد، بنابراین از آنجا که افزایش تعداد لایه ­ها، الگوریتم یادگیری را پیچیده­تر می­ کند، مرسوم است که از شبکه ­های عصبی با سه لایه­ی ورودی، نهان و خروجی استفاده گردد[۲۷].
پایان نامه - مقاله - پروژه

شکل۳-۴ ) ساختار شبکه­ پرسپترون چند لایه با مدل یادگیری پس انتشار خطا
پس با توجه به شکل ۳-۴ مراحل الگوریتم پس انتشار خطا به شکل زیر است[۲۹]:

 

    • شبکه ای با ninگره ورودی، nhidden گره مخفی، و nout گره خروجی ایجاد کنید.

 

    • همه وزن­ها را با یک مقدار تصادفی کوچک مقدار دهی کنید.

 

    • تا رسیدن به شرط پایانی ) کوچک شدن خطا( مراحل زیر را انجام دهید:

 

برای هر xمتعلق به مثالهای آموزشی: مثال X را به سمت جلو در شبکه انتشار دهید
خطای E را به سمت عقب در شبکه انتشار دهید.
هر مثال آموزشی بصورت یک زوج (x,t) ارائه میشود که بردار x مقادیر ورودی و بردار t مقادیر هدف برای خروجی شبکه را تعیین می­ کنند.

 

    • انتشار به سمت جلو یعنی برای هر مثال X مقدار خروجی هر واحد را محاسبه کنید تا به گره­های خروجی برسید.

 

    • انتشار به سمت عقب یعنی

 

 

 

    1. برای هر واحد خروجی جمله خطا را به­ صورت زیر محاسبه کنید:

 

δk = Ok (۱-Ok)(tk – Ok)

 

    1. برای هر واحد مخفی جمله خطا را بصورت زیر محاسبه کنید:

 

δh = Oh (۱-Oh) Σk Wkh δk

 

    1. مقدارهر وزن را بصورت زیر تغییر دهید:

 

Wji = Wji + ΔWji
که در آن :
ΔWji = η δj Xji
η عبارت است از نرخ یادگیری

 

    • شرط خاتمه

 

معمولاً الگوریتم پس­انتشار خطا، پیش از خاتمه، هزاران بار با استفاده همان داده ­های آموزشی تکرار می­گردد. شروط مختلفی را میتوان برای خاتمه الگوریتم به­کار برد:

 

    • توقف بعد از تکرار به دفعات معین

 

    • توقف وقتی که خطا از یک مقدار تعیین شده کمتر شود.

 

    • توقف وقتی که خطا در مثال­های مجموعه­ تائید از قاعده­ی خاصی پیروی نماید.

 

اگر دفعات تکرار کم باشد خطا خواهیم داشت و اگر زیاد باشد مسئله Overfitting رخ خواهد داد. Overfitting، ناشی از تنظیم وزن­ها برای در نظر گرفتن مثال­های نادری است که ممکن است با توزیع کلی داده ­ها مطابقت نداشته باشند. تعداد زیاد وزن­های یک شبکه­ عصبی باعث می­ شود تا شبکه درجه آزادی زیادی برای انطباق با این مثال­ها داشته باشد. با افزایش تعداد تکرار، پیچیدگی فضای فرضیه­ یادگرفته شده توسط الگوریتم بیشتر و بیشتر می­ شود تا شبکه بتواند نویز و مثال­های نادر موجود در مجموعه­ آموزش را به درستی ارزیابی نماید.
راه حل جلوگیری از overfitting ، استفاده از یک مجموعه­ تأیید[۹۷] و توقف یادگیری هنگامی که خطا در این مجموعه به اندازه کافی کوچک می­ شود، می­باشد. راه­حل دیگر، بایاس[۹۸] کردن شبکه برای فضاهای فرضیه ساده تراست. مثلاً مقدار وزن­ها در هر بارتکرار به­اندازه خیلی کمی کاهش داده می­ شود. راه­کار دیگر این است که وقتی که تعداد مثال­های آموزشی کم باشد، می­توان m داده­ی آموزشی را به K دسته تقسیم بندی نموده و آزمایش را به تعداد k دفعه تکرار نمود. در هر دفعه یکی از دسته ها به­عنوان مجموعه­ تست و بقیه به­عنوان مجموعه­ آموزشی استفاده خواهند شد. تصمیم ­گیری بر اساس میانگین نتایج انجام می­ شود.

 

    • افزودن گشتاور

 

برای پرهیز از مینیمم محلی روش­های مختلفی وجود دارد که یکی از آن­ها افزودن جمله­ گشتاور است. به این صورت که می­توان قانون تغییر وزن­ها را طوری در نظر گرفت که تغییر وزن در تکرار n ام تا حدی به اندازه­ تغییر وزن در تکرار قبلی بستگی داشته باشد[۲۸].
ΔWji (n) = η δj Xji + αΔWji (n-1 )
عبارت گشتاور قانون تغییر وزن

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...