دانلود با لینک مستقیم و پر سرعت .
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 24
مقدمه
شبکه های عصبی چند لایه پیش خور1 به طور وسیعی د ر زمینه های متنوعی از قبیل طبقه بندی الگوها، پردازش تصاویر، تقریب توابع و ... مورد استفاده قرار گرفته است.
الگوریتم یادگیری پس انتشار خطا2، یکی از رایج ترین الگوریتم ها جهت آموزش شبکه های عصبی چند لایه پیش خور می باشد. این الگوریتم، تقریبی از الگوریتم بیشترین تنزل3 می باشد و در چارچوب یادگیری عملکردی 4 قرار می گیرد.
عمومیت یافتن الگوریتمBP ، بخاطر سادگی و کاربردهای موفقیت آمیزش در حل مسائل فنی- مهندسی می باشد.
علیرغم، موفقیت های کلی الگوریتم BP در یادگیری شبکه های عصبی چند لایه پیش خور هنوز، چندین مشکل اصلی وجود دارد:
- الگوریتم پس انتشار خطا، ممکن است به نقاط مینیمم محلی در فضای پارامتر، همگرا شود. بنابراین زمانی که الگوریتم BP همگرا می شود، نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.
- سرعت همگرایی الگوریتم BP، خیلی آهسته است.
از این گذشته، همگرایی الگوریتم BP، به انتخاب مقادیر اولیه وزنهای شبکه، بردارهای بایاس و پارامترها موجود در الگوریتم، مانند نرخ یادگیری، وابسته است.
در این گزارش، با هدف بهبود الگوریتم BP، تکنیک های مختلفی ارائه شده است. نتایج شبیه سازیهای انجام شده نیز نشان می دهد، الگوریتم های پیشنهادی نسبت به الگوریتم استاندارد BP، از سرعت همگرایی بالاتری برخوردار هستند.
خلاصه ای از الگوریتم BP
از قانون یادگیری پس انتشار خطا (BP)، برای آموزش شبکه های عصبی چند لایه پیش خور که عموماً شبکه های چند لایه پرسپترون 5 (MLP) هم نامیده می شود، استفاده می شود، استفاده می کنند. به عبارتی توپولوژی شبکه های MLP، با قانون یادگیری پس انتشار خطا تکمیل می شود. این قانون تقریبی از الگوریتم بیشترین نزول (S.D) است و در چارچوب یادگیری عملکردی قرار می گیرد.
بطور خلاصه، فرایند پس انتشار خطا از دو مسیر اصلی تشکیل می شود. مسیر رفت6 و مسیر برگشت 7 .
در مسیر رفت، یک الگوی آموزشی به شبکه اعمال می شود و تأثیرات آن از طریق لایه های میانی به لایه خروجی انتشار می یابد تا اینکه
_________________________________
1. Multi-Layer Feedforward Neural Networks
2. Back-Propagation Algorithm
3. Steepest Descent (S.D)
4. Performance Learning
5. Multi Layer Perceptron
6. Forward Path
7. Backward Path
نهایتاً خروجی واقعی شبکه MLP، به دست می آید. در این مسیر، پارامترهای شبکه (ماتریس های وزن و بردارهای بایاس)، ثابت و بدون تغییر در نظر گرفته می شوند.
در مسیر برگشت، برعکس مسیر رفت، پارامترهای شبکه MLP تغییر و تنظیم می گردند. این تنظیمات بر اساس قانون یادگیری اصلاح خطا1 انجام می گیرد. سیگنال خطا، رد لایه خروجی شبکه تشکیل می گردد. بردار خطا برابر با اختلاف بین پاسخ مطلوب و پاسخ واقعی شبکه می باشد. مقدار خطا، پس از محاسبه، در مسیر برگشت از لایه خروجی و از طریق لایه های شبکه به سمت پاسخ مطلوب حرکت کند.
در شبکه های MLP، هر نرون دارای یک تابع تحریک غیر خطی است که از ویژگی مشتق پذیری برخوردار است. در این حالت، ارتباط بین پارامترهای شبکه و سیگنال خطا، کاملاً پیچیده و و غیر خطی می باشد، بنابراین مشتقات جزئی نسبت به پارامترهای شبکه به راحتی قابل محاسبه نیستند. جهت محاسبه مشتقات از قانون زنجیره ای2 معمول در جبر استفاده می شود.
فرمول بندی الگوریتم BP
الگوریتم یادگیری BP، بر اساس الگوریتم تقریبی SD است. تنظیم پارامترهای شبکه، مطابق با سیگنالهای خطا که بر اساس ارائه هر الگو به شبکه محاسبه می شود، صورت می گیرد.
الگوریتم بیشترین تنزل با معادلات زیر توصیف می شود:
(1)
(2)
به طوری WLji و bLj، پارامترهای نرون j ام در لایه iام است. α، نرخ یادگیری2 و F، میانگین مربعات خطا می باشد.
(3)
(4)
(5)
به طوریکه SLj(k)، حساسیت رفتار شبکه در لایه L ام است.
_________________________________
1. Error-Correctting Learning Rule
2. Chain Rule
3. Learning Rate
معایب الگوریتم استاندارد پس انتشار خطا1 (SBP)
الگوریتم BP، با فراهم آوردن روشی از نظر محاسباتی کارا، رنسانسی در شبکه های عصبی ایجاد نموده زیرا شبکه های MLP، با قانون یادگیری BP، بیشترین کاربرد را در حل مسائل فنی- مهندسی دارند.
با وجود، موفقیت های کلی این الگوریتم در یادگیری شبکه های عصبی چند لایه پیش خود، هنوز مشکلات اساسی نیز وجود دارد:
- اولاً سرعت همگرایی الگوریتم BP آهسته است.
همانطور که می دانیم، تغییرات ایجاد شده در پارامترهای شبکه (ماتریس های وزن و بردارهای بایاس)، پس از هر مرحله تکرار الگوریتم BP، به اندازه ، است، به طوریکه F، شاخص اجرایی، x پارامترهای شبکه و α، طول قدم یادگیری است.
از این، هر قدر طول قدم یادگیری، α، کوچکتر انتخاب گردد، تغییرات ایجاد شده در پارامترهای شبکه، پس از هر مرحله تکرار الگوریتم BP، کوچکتر خواهد بود، که این خود منجر به هموار گشتن مسیر حرت پارامترها به سمت مقادیر بهینه در فضای پارامترها می گردد. این مسئله موجب کندتر گشتن الگوریتم BP می گردد. بر عکس با افزایش طول قدم α، اگرچه نرخ یادگیری و سرعت یادگیری الگوریتم BP افزایش می یابد، لیکن تغییرات فاحشی در پارامترهای شکه از هر تکراربه تکرار بعد ایجاد می گردد، که گاهی اوقات موجب ناپایداری و نوسانی شدن شبکه می شود که به اصطلاح می گویند پارامترهای شبکه واگرا شده اند:
در شکل زیر، منحنی یادگیری شبکه برای جدا سازیالگوها در مسأله XOR، به ازای مقادیر مختلف نرخ یادگیری، نشان داده شده است. به ازای مقادیر کوچک، α، شبکه کند اما هموار، یاد نمی گیرد الگوهای XOR را از هم جدا نماید، ددر صورتی که به ازای 9/0= α شبکه واگرا می شود.
_________________________________
1. Standard Back-Propagation Algorithm
شکل (1). منحنی یادگیری شبکه برای نرخ های یادگیری مختلف در مسأله XOR
- ثانیاً احتمالاً به دام افتادن شبکه در نقاط مینیمم محلی وجود دارد.
در شبکه های MLP، میانگین مجوز خطا، در حالت کلی خیلی پیچیده است و از تعداد زیادی نقطه اکسترمم در فضای پارامترهای شبکه برخوردار می باشد. بنابراین الگوریتم پس انتشار خطا با شروع از روی یک سری شرایط اولیه پارامترهای شبکه، به نقطه مینیمم سراسری و با شروع از یک مجموعه شرایط اولیه دیگر به تقاط مینیمم محلی در فضای پارامترها همگرا می گردد، بنابراین زمانی که الگوریتم BP همگرا می شود، نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.
- ثالثاً: همگرایی الگوریتم BP، به یقین مقادیر اولیه پارامترهای شبکه عصبی MLP وابسته است، بطوری که یک انتخاب خوب می تواند کمک بزرگی در همگرایی سریعتر الگوریتم BP فراهم آورد. برعکس انتخاب اولیه نادرست پارامترهای شبکه MLP، منجر به گیر افتادن شبکه در نقاط مینیمم محلی در فضای برداری پارامترهای شبکه می گردد که این خود منجر به این می شود که شبکه خیلی زودتر از معمول به موضعی بیفتد که منحنی یادگیری شبکه برای تعداد بزرگی از دفعات تکرار، تغییر نکند.
به عنوان مثال، فرض می کنیم مقدار اولیه پارامترهای شبکه خیلی بزرگ باشند، در حالی که می دانیم توابع تبدیل نرونها مخصوصاً در لایه های میانی از نوع زیگموئید هستند. در این حالت برای نرون i ام، اندازه ورودی تابع تبدیل (ni) خیلی بزرگ می باشد و خروجی نرون (ai) به مقدار 1± میل می کند. لذا مشتق بردار خروجی شبکه، a ، خیلی کوچک می باشد. فرض کنیم که باید مقدار واقعی ai، 1 باشد