تحقیق بهبود سرعت یادگیری شبکه های عصبی 27ص
دسته بندي :
دانش آموزی و دانشجویی »
دانلود تحقیق
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..doc) ( قابل ويرايش و آماده پرينت )
تعداد صفحه : 24 صفحه
قسمتی از متن word (..doc) :
مقدمه
شبکه های عصبی چند لایه پیش خور1 به طور وسیعی د ر زمینه های متنوعی از قبیل طبقه بندی الگوها، پردازش تصاویر، تقریب توابع و ... مورد استفاده قرار گرفته است.
الگوریتم یادگیری پس انتشار خطا2، یکی از رایج ترین الگوریتم ها جهت آموزش شبکه های عصبی چند لایه پیش خور می باشد. این الگوریتم، تقریبی از الگوریتم بیشترین تنزل3 می باشد و در چارچوب یادگیری عملکردی 4 قرار می گیرد.
عمومیت یافتن الگوریتمBP ، بخاطر سادگی و کاربردهای موفقیت آمیزش در حل مسائل فنی- مهندسی می باشد.
علیرغم، موفقیت های کلی الگوریتم BP در یادگیری شبکه های عصبی چند لایه پیش خور هنوز، چندین مشکل اصلی وجود دارد:
- الگوریتم پس انتشار خطا، ممکن است به نقاط مینیمم محلی در فضای پارامتر، همگرا شود. بنابراین زمانی که الگوریتم BP همگرا می شود، نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.
- سرعت همگرایی الگوریتم BP، خیلی آهسته است.
از این گذشته، همگرایی الگوریتم BP، به انتخاب مقادیر اولیه وزنهای شبکه، بردارهای بایاس و پارامترها موجود در الگوریتم، مانند نرخ یادگیری، وابسته است.
در این گزارش، با هدف بهبود الگوریتم BP، تکنیک های مختلفی ارائه شده است. نتایج شبیه سازیهای انجام شده نیز نشان می دهد، الگوریتم های پیشنهادی نسبت به الگوریتم استاندارد BP، از سرعت همگرایی بالاتری برخوردار هستند.
خلاصه ای از الگوریتم BP
از قانون یادگیری پس انتشار خطا (BP)، برای آموزش شبکه های عصبی چند لایه پیش خور که عموماً شبکه های چند لایه پرسپترون 5 (MLP) هم نامیده می شود، استفاده می شود، استفاده می کنند. به عبارتی توپولوژی شبکه های MLP، با قانون یادگیری پس انتشار خطا تکمیل می شود. این قانون تقریبی از الگوریتم بیشترین نزول (S.D) است و در چارچوب یادگیری عملکردی قرار می گیرد.
بطور خلاصه، فرایند پس انتشار خطا از دو مسیر اصلی تشکیل می شود. مسیر رفت6 و مسیر برگشت 7 .
در مسیر رفت، یک الگوی آموزشی به شبکه اعمال می شود و تأثیرات آن از طریق لایه های میانی به لایه خروجی انتشار می یابد تا اینکه
_________________________________
نهایتاً خروجی واقعی شبکه 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 باشد يعني ti = 1، ليكن به خاطر انتخاب بر مقادير اوليه، ai = -1 گردد. در اين حالت خطاي حداكثر را داريم در حالي كه چون ai ≈ 0 مي باشد تغييرات ناچيزي در پارامترهاي متناظر با نرون i ام داريم. اين چيزي است كه بيانگر رسيدن زودتر از معمول نرونها به حد اشباع خود مي باشند، جايي كه پاسخ واقعي با پاسخ شبكه كاملاً فرق دارد و زمان زيادي طول خواهد كشيد كه نرون از اين حالت خارج شود. از اين رو با پيشرفت پروسه يادگيري، پارامترهاي منتسب به نرورنهايي كه به مرز اشباع نرسيده اند، سريعتر تنظيم مي شوند، چرا كه سيگنال خطار گراديانهاي محلي از مقدار از اندازه بزرگتري برخوردار مي باشند. اين عمل منجر به كاهش در مجموع مربعات خطاي لحظه اي مي گردد و اگر در اين مرحله، نرونهاي به حد اشباع رسيده تغييري در وضعيت تحريكشان رخ ندهد، شبكه براي مدتي طولاني از يك شكل هموار منحني خطا برخوردار خواهدبود.
بهبود الگوريتم استاندارد پس انتشار خطا (SBP)
- الگوريتم BP از نوع دسته اي1 (BBP)
الگوريتم استاندارد BP، بر اساس فرم الگو به الگو است، بدين ترتيب كه پارامترهاي شبكه پس از ارائه هريك از الگوهاي يادگيري كه عموماً بطور تصادفي انتخاب مي شوند، تنظيم مي گردند، اما در الگوريتم BBP، تنظيم پارامترهاي شبكه پس از اعمال تمامي ورودي ها صورت مي پذيرد. پردازش دسته اي موجب مي شود كه گراديانهاي محلي به گراديان محلي واقعي نزديكتر باشند و نهايتاً الگوريتم BP به الگوريتم بيشترين نزول نزديكتر گردد كه اين خود موجب مي شود همگرايي الگوريتم BP افزايش يابد.
در شكل زير مسئله XOR با متد الگوريتم BP به فرم دسته اي پياده شده است. به راحتي مي توان ديد كه الگوريتم BBP از سرعت همگرايي بالاتري به الگوريتم SBP برخوردار است.
شكل (2). رفتار شبكه با الگوريتم BBP در مسأله XOR ( ـــ )
رفتار شبكه با الگوريتم SBP (0ـــ)
_________________________________
1. Batching Back-Propagation Algorithm
- روش ممنتم 1 براي الگوريتم BP (MBP)
همانطور كه مشاهده شد، اگر نرخ يادگيري α، كوچك انتخاب شود، متد BP كه در واقع همان تقريب الگوريتم SD است، بسيار كند مي گردد. و اگر α، بزرگتر انتخاب شود، شبكه نوساني خواهد بود.
يك راه ساده و مؤثر كه عموماً جهت افزايش و بهبود نرخ يادگيري، استفاده مي شود- جايي كه خطر ناپايداري و نوساني شدن شبكه جلوگيري مي گردد- افزودن يك جمله ممنتم در الگوريتم تقريبي SD مي باشد، يعني به هر پارامتر از شبكه MLP، يك مقدار اينرسي يا اندازه حركت اضافه مي شود تا اينكه پارامتر مورد نظر در مسيري تمايل به تغيير داشته باشد كه كاهش تابع انرژي احساس شود.