دانلود مقاله شبکه های عصبی

WORD قابل ویرایش
24 صفحه
4900 تومان

مقدمه
شبکه های عصبی چند لایه پیش خور۱ به طور وسیعی د ر زمینه های متنوعی از قبیل طبقه بندی الگوها، پردازش تصاویر، تقریب توابع و … مورد استفاده قرار گرفته است.
الگوریتم یادگیری پس انتشار خطا۲، یکی از رایج ترین الگوریتم ها جهت آموزش شبکه های عصبی چند لایه پیش خور می باشد. این الگوریتم، تقریبی از الگوریتم بیشترین تنزل۳ می باشد و در چارچوب یادگیری عملکردی ۴ قرار می گیرد.
عمومیت یافتن الگوریتمBP ، بخاطر سادگی و کاربردهای موفقیت آمیزش در حل مسائل فنی- مهندسی می باشد.

علیرغم، موفقیت های کلی الگوریتم BP در یادگیری شبکه های عصبی چند لایه پیش خور هنوز، چندین مشکل اصلی وجود دارد:
– الگوریتم پس انتشار خطا، ممکن است به نقاط مینیمم محلی در فضای پارامتر، همگرا شود. بنابراین زمانی که الگوریتم BP همگرا می شود، نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.

– سرعت همگرایی الگوریتم BP، خیلی آهسته است.
از این گذشته، همگرایی الگوریتم BP، به انتخاب مقادیر اولیه وزنهای شبکه، بردارهای بایاس و پارامترها موجود در الگوریتم، مانند نرخ یادگیری، وابسته است.
در این گزارش، با هدف بهبود الگوریتم BP، تکنیک های مختلفی ارائه شده است. نتایج شبیه سازیهای انجام شده نیز نشان می دهد، الگوریتم های پیشنهادی نسبت به الگوریتم استاندارد BP، از سرعت همگرایی بالاتری برخوردار هستند.
خلاصه ای از الگوریتم BP
از قانون یادگیری پس انتشار خطا (BP)، برای آموزش شبکه های عصبی چند لایه پیش خور که عموماً شبکه های چند لایه پرسپترون ۵ (MLP) هم نامیده می شود، استفاده می شود، استفاده می کنند. به عبارتی توپولوژی شبکه های MLP، با قانون یادگیری پس انتشار خطا تکمیل می شود. این قانون تقریبی از الگوریتم بیشترین نزول (S.D) است و در چارچوب یادگیری عملکردی قرار می گیرد.

بطور خلاصه، فرایند پس انتشار خطا از دو مسیر اصلی تشکیل می شود. مسیر رفت۶ و مسیر برگشت ۷ .
در مسیر رفت، یک الگوی آموزشی به شبکه اعمال می شود و تأثیرات آن از طریق لایه های میانی به لایه خروجی انتشار می یابد تا اینکه
_________________________________
۱٫ 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 تغییر و تنظیم می گردند. این تنظیمات بر اساس قانون یادگیری اصلاح خطا۱ انجام می گیرد. سیگنال خطا، رد لایه خروجی شبکه تشکیل می گردد. بردار خطا برابر با اختلاف بین پاسخ مطلوب و پاسخ واقعی شبکه می باشد. مقدار خطا، پس از محاسبه، در مسیر برگشت از لایه خروجی و از طریق لایه های شبکه به سمت پاسخ مطلوب حرکت کند.
در شبکه های MLP، هر نرون دارای یک تابع تحریک غیر خطی است که از ویژگی مشتق پذیری برخوردار است. در این حالت، ارتباط بین پارامترهای شبکه و سیگنال خطا، کاملاً پیچیده و و غیر خطی می باشد، بنابراین مشتقات جزئی نسبت به پارامترهای شبکه به راحتی قابل محاسبه نیستند. جهت محاسبه مشتقات از قانون زنجیره ای۲ معمول در جبر استفاده می شود.

فرمول بندی الگوریتم BP
الگوریتم یادگیری BP، بر اساس الگوریتم تقریبی SD است. تنظیم پارامترهای شبکه، مطابق با سیگنالهای خطا که بر اساس ارائه هر الگو به شبکه محاسبه می شود، صورت می گیرد.
الگوریتم بیشترین تنزل با معادلات زیر توصیف می شود:
(۱)
(۲)
به طوری WLji و bLj، پارامترهای نرون j ام در لایه iام است. α، نرخ یادگیری۲ و F، میانگین مربعات خطا می باشد.
(۳)
(۴)
(۵)
به طوریکه SLj(k)، حساسیت رفتار شبکه در لایه L ام است.

_________________________________
۱٫ Error-Correctting Learning Rule
2. Chain Rule
3. Learning Rate
معایب الگوریتم استاندارد پس انتشار خطا۱ (SBP)
الگوریتم BP، با فراهم آوردن روشی از نظر محاسباتی کارا، رنسانسی در شبکه های عصبی ایجاد نموده زیرا شبکه های MLP، با قانون یادگیری BP، بیشترین کاربرد را در حل مسائل فنی- مهندسی دارند.
با وجود، موفقیت های کلی این الگوریتم در یادگیری شبکه های عصبی چند لایه پیش خود، هنوز مشکلات اساسی نیز وجود دارد:
– اولاً سرعت همگرایی الگوریتم BP آهسته است.

همانطور که می دانیم، تغییرات ایجاد شده در پارامترهای شبکه (ماتریس های وزن و بردارهای بایاس)، پس از هر مرحله تکرار الگوریتم BP، به اندازه ، است، به طوریکه F، شاخص اجرایی، x پارامترهای شبکه و α، طول قدم یادگیری است.
از این، هر قدر طول قدم یادگیری، α، کوچکتر انتخاب گردد، تغییرات ایجاد شده در پارامترهای شبکه، پس از هر مرحله تکرار الگوریتم BP، کوچکتر خواهد بود، که این خود منجر به هموار گشتن مسیر حرت پارامترها به سمت مقادیر بهینه در فضای پارامترها می گردد. این مسئله موجب کندتر گشتن الگوریتم BP می گردد. بر عکس با افزایش طول قدم α، اگرچه نرخ یادگیری و سرعت یادگیری الگوریتم BP افزایش می یابد، لیکن تغییرات فاحشی در پارامترهای شکه از هر تکراربه تکرار بعد ایجاد می گردد، که گاهی اوقات موجب ناپایداری و نوسانی شدن شبکه می شود که به اصطلاح می گویند پارامترهای شبکه واگرا شده اند:
در شکل زیر، منحنی یادگیری شبکه برای جدا سازیالگوها در مسأله XOR، به ازای مقادیر مختلف نرخ یادگیری، نشان داده شده است. به ازای مقادیر کوچک، α، شبکه کند اما هموار، یاد نمی گیرد الگوهای XOR را از هم جدا نماید، ددر صورتی که به ازای ۹/۰= α شبکه واگرا می شود.

شکل (۱). منحنی یادگیری شبکه برای نرخ های یادگیری مختلف در مسأله XOR
– ثانیاً احتمالاً به دام افتادن شبکه در نقاط مینیمم محلی وجود دارد.
در شبکه های MLP، میانگین مجوز خطا، در حالت کلی خیلی پیچیده است و از تعداد زیادی نقطه اکسترمم در فضای پارامترهای شبکه برخوردار می باشد. بنابراین الگوریتم پس انتشار خطا با شروع از روی یک سری شرایط اولیه پارامترهای شبکه، به نقطه مینیمم سراسری و با شروع از یک مجموعه شرایط اولیه دیگر به تقاط مینیمم محلی در فضای پارامترها همگرا می گردد، بنابراین زمانی که الگوریتم BP همگرا می شود، نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.

– ثالثاً: همگرایی الگوریتم BP، به یقین مقادیر اولیه پارامترهای شبکه عصبی MLP وابسته است، بطوری که یک انتخاب خوب می تواند کمک بزرگی در همگرایی سریعتر الگوریتم BP فراهم آورد. برعکس انتخاب اولیه نادرست پارامترهای شبکه MLP، منجر به گیر افتادن شبکه در نقاط مینیمم محلی در فضای برداری پارامترهای شبکه می گردد که این خود منجر به این می شود که شبکه خیلی زودتر از معمول به موضعی بیفتد که منحنی یادگیری شبکه برای تعداد بزرگی از دفعات تکرار، تغییر نکند.

به عنوان مثال، فرض می کنیم مقدار اولیه پارامترهای شبکه خیلی بزرگ باشند، در حالی که می دانیم توابع تبدیل نرونها مخصوصاً در لایه های میانی از نوع زیگموئید هستند. در این حالت برای نرون i ام، اندازه ورودی تابع تبدیل (ni) خیلی بزرگ می باشد و خروجی نرون (ai) به مقدار ۱± میل می کند. لذا مشتق بردار خروجی شبکه، a ، خیلی کوچک می باشد. فرض کنیم که باید مقدار واقعی ai، ۱ باشد یعنی ti = 1، لیکن به خاطر انتخاب بر مقادیر اولیه، ai = -1 گردد. در این حالت خطای حداکثر را داریم در حالی که چون ai ≈ ۰ می باشد تغییرات ناچیزی در پارامترهای متناظر با نرون i ام داریم. این چیزی است که بیانگر رسیدن زودتر از معمول نرونها به حد اشباع خود می باشند، جایی که پاسخ واقعی با پاسخ شبکه کاملاً فرق دارد و زمان زیادی طول خواهد کشید که نرون از این حالت خارج شود. از این رو با پیشرفت پروسه یادگیری، پارامترهای منتسب به نرورنهایی که به مرز اشباع نرسیده اند، سریعتر تنظیم می شوند، چرا که سیگنال خطار گرادیانهای محلی از مقدار از اندازه بزرگتری برخوردار می باشند. این عمل منجر به کاهش در مجموع مربعات خطای لحظه ای می گردد و اگر در این مرحله، نرونهای به حد اشباع رسیده تغییری در وضعیت تحریکشان رخ ندهد، شبکه برای مدتی طولانی از یک شکل هموار منحنی خطا برخوردار خواهدبود.
بهبود الگوریتم استاندارد پس انتشار خطا (SBP)

– الگوریتم BP از نوع دسته ای۱ (BBP)
الگوریتم استاندارد BP، بر اساس فرم الگو به الگو است، بدین ترتیب که پارامترهای شبکه پس از ارائه هریک از الگوهای یادگیری که عموماً بطور تصادفی انتخاب می شوند، تنظیم می گردند، اما در الگوریتم BBP، تنظیم پارامترهای شبکه پس از اعمال تمامی ورودی ها صورت می پذیرد. پردازش دسته ای موجب می شود که گرادیانهای محلی به گرادیان محلی واقعی نزدیکتر باشند و نهایتاً الگوریتم BP به الگوریتم بیشترین نزول نزدیکتر گردد که این خود موجب می شود همگرایی الگوریتم BP افزایش یابد.
در شکل زیر مسئله XOR با متد الگوریتم BP به فرم دسته ای پیاده شده است. به راحتی می توان دید که الگوریتم BBP از سرعت همگرایی بالاتری به الگوریتم SBP برخوردار است.

شکل (۲). رفتار شبکه با الگوریتم BBP در مسأله XOR ( ـــ )
رفتار شبکه با الگوریتم SBP (0ـــ)

– روش ممنتم ۱ برای الگوریتم BP (MBP)
همانطور که مشاهده شد، اگر نرخ یادگیری α، کوچک انتخاب شود، متد BP که در واقع همان تقریب الگوریتم SD است، بسیار کند می گردد. و اگر α، بزرگتر انتخاب شود، شبکه نوسانی خواهد بود.
یک راه ساده و مؤثر که عموماً جهت افزایش و بهبود نرخ یادگیری، استفاده می شود- جایی که خطر ناپایداری و نوسانی شدن شبکه جلوگیری می گردد- افزودن یک جمله ممنتم در الگوریتم تقریبی SD می باشد، یعنی به هر پارامتر از شبکه MLP، یک مقدار اینرسی یا اندازه حرکت اضافه می شود تا اینکه پارامتر مورد نظر در مسیری تمایل به تغییر داشته باشد که کاهش تابع انرژی احساس شود.
الگوریتم یادگیری MBP با معادلات زیر قابل توصیف است:
(۶)
(۷)
جایی که (۱و۰) ، ترم ممنتم را نشان می دهد و عموماً با نرخ یادیگیری به صورت زیر رابطه دارد:
(۸)
معادلات فوق، ترم های اصلاحی پارامترهای شبکه را از فیلتر پایین گذر عبور می دهند واین یعنی تغییرات با فرکانس بالا(نوسانات شدید) فیلترمی شوند. شکل (۳)، مسأله XOR را که به وسیله الگوریتم MBP، پیاده شده است، نشان می دهد. شبیه سازی نشان می دهد که الگوریتم MBP نسبت به الگوریتم استاندارد BP، از سرعت همگرایی بالاتری برخوردار است.

شکل(۳): رفتار شبکه با الگوریتم MBP درمسأله XOR (ــــ)
رفتار شبکه با الگوریتم SBP(.ــــ)
_______________________________
۱٫ Momentum
– نرخ یادگیری متغیر۱ (VLR)
درالگوریتم BP استاندارد، نرخ یادگیری درطول فرآیند یادگیری ثابت نگه داشته می شود. عملکرد الگوریتم به انتخاب مناسب نرخ یادگیری خیلی حساس می باشد. اگر نرخ یادگیری خیلی بزرگ انتخاب شود ممکن است الگوریتم نوسان کرده وناپایدار شود. اگر نرخ یادگیری خیلی کوچک باشد زمان زیادی طول خواهد کشید تا الگوریتم همگرا شود. انتخاب نرخ یادگیری اپتیمم قبل از یادگیری، عملی نبوده ودرحقیقت نرخ یادگیری اپتیمم به هنگام پروسه آموزش، همچنان که الگوریتم برروی سطح خطا حرکت می کنددائماً تغییر می کند.
اگر اجازه دهیم نرخ یادگیری بهنگام پروسه آموزش تغییر کند عملکرد الگوریتم BP استاندارد را می توان بهبود بخشید. نرخ یادگیری تطبیقی سعی می کند که نرخ یادگیری را تا آنجایی که ممکن است و سیستم ناپایدار نشده است، افزایش دهد.
نرخ یادگیری تطبیقی نیاز به تغییراتی در الگوریتم BP استاندارد دارد.
مراحل الگوریتم VLR، به طور خلاصه در زیر بیان شده است:
VLR Algorithm
Initialize Nearal Neywork Weights and Biases.
Set Training Parameters.
for i = 1: N
; break, end if SSE <
Feed forward Path;
Backward Path;
Compute New Weights and Biases;

Compute new-SSE
if new-SSE > SSE * max – perf-inc
α = α * Lr-dec; % Learning Rate
δ = ۰ ; % Momentum Factor
else
if new-SSE < SSE
α = α * Lr-inc;
end

Compute New Weights and Biases
end
end

_______________________________
۱٫ Variable Learning Rate
معمولاً مقادیر ۱٫۰۴، ۰٫۷ و ۱٫۰۵ به ترتیب برای ضرائب ۱ inc- perf- max، ۲ dec- Lr و ۳ inc- Lr در نظر گرفته می شود.
در این روش نرخ یادگیری به اندازه ای افزایش می یابد که موجب افزایش زیاد در خطاهای آموزش نگردد. بنابرین، یک نرخ یادگیری نزدیک به بهینه بدست می آید.
الگوریتم VLR بر روی مسأله XOR پیاده شده است. شبیه سازی نسان می دهد، که سرعت یادگیری این الگوریتم را از الگوریتم SBP، بیشتر است.
نتایج شبیه سازی در شکل (۴) نشان داده شده است.

شکل (۴). – رفتار شبکه با الگوریتم VLR برای مسأله XOR ( ـــ )
رفتار شبکه با الگوریتم SBP (0 ـــ)
– تغییرات نرخ یادگیری (α) در کل فرآیند یادگیری برای مسأله XOR
در این، خلاصه ای از نتایج مقالات مورد بررسی، جهت بهبود الگوریتم یادگیری پس انتشار خطا، ذکر می گردد:
۱- الگوریتم BP، با وجود آنکه کاربردهای فراوانی دارد، متأسفانه نرخ همگرایی آن بسیار پائین است. اگر از نرخ یادگیری کوچک استفاده شود، این مسأله می تواند سبب نرخ پائین همگرایی. به منظور جلوگیری از این پدیده نامطلوب، یک راه حل، استفاده از نرخ یادگیری می باشد. این راه حل بویژه در مواقعی که در نقطه ای از سطح قرار داریم که شیب تندی دارد، نامطلوب بوده و می تواند باعث واگرایی شبکه شود.
_________________________________
۱٫ Maximum Performance Increase
2. Learning Rate decrease
3. Learning Rate increase
موقعیکه شکل سطح خطا از سطح خطای درجه دوم خیلی فاصله داشته باشد، در اینصورت سطح خطا، شامل مناطق با شیب تند زیادی خواهد بود. در این صورت الگوریتم BP با نرخ یادگیری ثابت دارای راندمان پائینی می باشد، دلیل این مسأله این است که به منظور جلوگیری از نوسان در مناطقی که سطح خطا دارای شیب زیادی است بایستی نرخ یادگیری کوچک انتخا شود، در ننیجه بردار وزن، موقعی که در مناطق مسطح قرار داریم به دلیل کوچک بودن گرادیان، خیلی کند حرکت خواهد کرد.

بنابراین نیاز به یک الگوریتم یادگیری کارآمد می باشد تا بتواند بطور پویا نرخ یادگیری را تغییر دهد.
– الگوریتم پس انتشار خطای تطبیقی۱ (ABP)
در الگوریتم پس انتشار خطای تطبیقی، نرخ یادگیری، بطور، اتوماتیک و بر اساس خطای آموزش تنظیم می گردد. ]۱[
ایده اصلی از الگوریتم پس انتشار خطای تطبیقی آن است که:
– اگر علامتهای گرادیان ، در طول دو تکرار متوالی مخالف هم باشد، دلالت بر این امر دارد که خطای جدید نسبت به خطای قبلی، افزایش یافته است و تکرار جاری با ارزش نیست.
لذا نرخ یادگیری را بایستی کاهش داد.
– اگر علامتهای امتدادگرادیان در طول دو تکرار متوالی، یکسان باشند، دلیل بر این امر است که نرخ تنزل آهسته است و نرخ یادگیری را بایستی افزایش داد.
ایده فوق را می توان با معادلات زیر، توصیف کرد:
(۸)
به طوری که را به صورت زیر، تعریف می شود:
(۹)
مشخص است که زمانی که λ>0 ، نرخ یادگیری افزایش می یابد.
الگوریتم BP تطبیقی با معادلات زیر بیان می شود:
(۱۰)
شکل (۵)، رفتار شبکه را با قانون یادگیری فوق، جهت جداسازی الگئهای XOR، نشان می دهد.
_________________________________
۱٫ Adaptive Back-Propagation Algorithm

شکل (۵). منحنی یادگیری الگوریتم BP تطبیقی برای XOR
– الگوریتم پس انتشار خطا با نرخ یادگیری و ضریب ممنتم تطبیقی۱ (BPALM)
در این الگوریتم نرخ یادگیری و ضریب ممنتم در هر سیکل به طور تطبیقی تنظیم می شوند تا به همگرایی الگوریتم BP استاندارد بهبود بخشیده شود]۲[.
در ابتدا، فاکتور نسبی er (k)، به صورت زیر تعریف می شود:
(۱۱)
اصلاح و تنظیمات نرخ یادگیری و ضریب ممنتم به صورت زیر انجام می گیرد:
Case 1: for er (k) < 0
α (k+1) = α (k) [1+ue –er(k)] ; uε (۰,۱) (۱۲a)
δ (k+1) = δ (k) [1+ve –er(k)] ; vε (۰,۱) (۱۲b)

Case 2: for er (k) ≥ ۰
α (k+1) = α (k) [1-ue –er(k)] ; uε (۰,۱) (۱۳a)
δ (k+1) = δ (k) [1-ve –er(k)] ; vε (۰,۱) (۱۳b)

_________________________________
۱٫ Back- Propagation with Adaptive Learning rate and Momentum term
شکل زیر، عملکرد شبکه را با قانون یادگیری BPALM، جهت جداسازی الگوهای XOR، نشان می دهد.

شکل(۶). – منحنی یادگیری الگوریتم BPALM در مسأله XOR
– تغییرات نرخ یادگیری
– تغییرات ضریب ممنتم
– تغییرات علامت۱
بر اساس این الگوریتم، اگر علامت مشتق شاخص اجرایی نسبت به پارامترهای شبکه دردوتکرار متوالی تغییر نکند، نرخ یادگیری افزایش می یابد و در غیر اینصورت، نرخ یادگیری کاهش می یابد. [۶]
و این یعنی:
(۱۴ a) αji(k) = αji(k-1).u if
(14 b) αji(k) = αji(k-1).u if
آبگاه، اصلاح وزن بر اساس معادله زیر، انجام می گیرد:
(۱۵)
معموماً مقادیر ۱٫۱-۱٫۳ برای u و ۰٫۷-۰٫۹ برای d، به کار برده می شود.
_________________________________
۱٫ Sign Changes
بر اساس این الگوریتم، اگر علامت مشتق شاخص اجرایی، نسبت به پارامترهای شبکه در دوتکرارمتوالی تغییر نکند و نرخ یادگیری از مقدار حداکثری، کمتر باشد، آنگاه افزودن یک مقدار ثابت به نرخ یادگیری، نرخ یادگیری افزتیش می یابد. اگر علامت مشتق شاخص اجرایی نسبت به پارامترهای شبکه دردوتکرارمتوالی تغییر کند، نرخ یادگیری با ضرب شدن در مقدار کوچکتر، کاهش می یلبد و در غیر اینصورت تغییری در نرخ یادگیری نخواهیم داشت. [۶]
عبارت فوق را می توان با روابط زیر توصیف کرد:
(۱۶ a) αji(k) = αji(k-1)+u if
(16 b) αji(k) = αji(k-1).d if
(16 c) αji(k) = αji(k-1) if
شکل زیر، منحنی یادگیری الگوریتم فوق را برای جداسازی الگوهای XOR، نشان می دهد.

شکل (۷). منحنی یادگیری الگوریتم Delta Bar Delta Rule در مسأله XOR
– الگوریتم یادگیری Super SAB
این الگوریتم، مانند الگوریتم قبل می باشد با این تفاوت که اگر علامت تغییرات مشتق شاخص اجرایی نسبت به پارامترهای شبکه دردوتکرار متوالی تغییر نکند و نرخ یادگیری از مقدار حداکثری کمتر باشد، نرخ یادگیری با ضرب شدن در یک پارامتر ثابتی، افزایش می یابد [۶].
(۱۷ a) αji(k) = αji(k-1)+u if
(17 b) αji(k) = αji(k-1).d if
(17 c) αji(k) = αji(k-1) if
مقادیر پیشنهادی بر u، ۱٫۰۵ و d، ۰٫۵ می باشد. α max، عددی بین ۱,۰ است.
از الگوریتم مطرح شده، برای جداسازی الگوها در مسأله XOR، استفاده شده است. در شکل (۸)، منحنی یادگیری این الگوریتم را نشان می دهد.

شکل (۸). منحنی یادگیری الگوریتم Super SAB برای مسأله XOR

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
wordقابل ویرایش - قیمت 4900 تومان در 24 صفحه
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد