در این آزمایش که به تعداد ۵۰۰۰ بار تکرار شده از ۸ داده مختلف به عنوان ورودی استفاده شده و شبکه با بهره گرفتن از الگوریتم BP موفق شده تا تابع هدف را بیاموزد.
با مشاهده خروجی واحد های لایه میانی مشخص میشود که بردار حاصل معادل انکدینگ استاندارد داده ههای ورودی بوده است (۰۰۰,۰۰۱,,…,۱۱۱)
نمودارخطا
شکل ۲-۶- نمودار خطا
قدرت تعمیم و overfitting
شرط پایان الگوریتم BP چیست؟
یک انتخاب این است که الگوریتم را آنقدر ادامه دهیم تا خطا از مقدار معینی کمتر شود. این امر میتواند منجر به overfitting شود.
شکل ۲-۷- شرط پایان الگوریتم BP
۲-۱۵- شبکه های عصبی چند لایه پیش خور[۷۰]
شبکه های عصبی چند لایه پیش خور به طور وسیعی د ر زمینه های متنوعی از قبیل طبقه بندی الگوها٬ پردازش تصاویر٬ تقریب توابع و … مورد استفاده قرار گرفته است.
الگوریتم یادگیری پس انتشار خطا٬ یکی از رایج ترین الگوریتم ها جهت آموزش شبکه های عصبی چند لایه پیش خور می باشد. این الگوریتم٬ تقریبی از الگوریتم بیشترین تنزل۳ می باشد و در چارچوب یادگیری عملکردی ۴ قرار می گیرد. عمومیت یافتن الگوریتم٬ BP بخاطر سادگی و کاربردهای موفقیت آمیزش در حل مسائل فنی مهندسی می باشد. علیرغم٬ موفقیت های کلی الگوریتم BP در یادگیری شبکه های عصبی چند لایه پیش خور هنوز٬ چندین مشکل اصلی وجود دارد:
الگوریتم پس انتشار خطا٬ ممکن است به نقاط مینیمم محلی در فضای پارامتر٬ همگرا شود. بنابراین زمانی که الگوریتم BP همگرا می شود٬ نمی توان مطمئن شد که به یک جواب بهینه رسیده باشیم.
سرعت همگرایی الگوریتم ٬BP خیلی آهسته است.
از این گذشته٬ همگرایی الگوریتم ٬BP به انتخاب مقادیر اولیه وزنهای شبکه٬ بردارهای بایاس و پارامترها موجود در الگوریتم٬ مانند نرخ یادگیری٬ وابسته است.
در این گزارش٬ با هدف بهبود الگوریتم ٬BP تکنیک های مختلفی ارائه شده است. نتایج شبیه سازیهای انجام شده نیز نشان می دهد٬ الگوریتم های پیشنهادی نسبت به الگوریتم استاندارد ٬BP از سرعت همگرایی بالاتری برخوردار هستند.
خلاصه ای از الگوریتم BP
از قانون یادگیری پس انتشار خطا (٬(BP برای آموزش شبکه های عصبی چند لایه پیش خور که عموماً شبکه های چند لایه پرسپترون MLP) 5) هم نامیده می شود٬ استفاده می شود٬ استفاده می کنند. به عبارتی توپولوژی شبکه های ٬MLP با قانون یادگیری پس انتشار خطا تکمیل می شود. این قانون تقریبی از الگوریتم بیشترین نزول (S.D) است و در چارچوب یادگیری عملکردی قرار می گیرد. بطور خلاصه٬ فرایند پس انتشار خطا از دو مسیر اصلی تشکیل می شود. مسیر رفت۶ و مسیر برگشت ۷ .
در مسیر رفت٬ یک الگوی آموزشی به شبکه اعمال می شود و تأثیرات آن از طریق لایه های میانی به لایه خروجی انتشار می یابد تا اینکه نهایتاً خروجی واقعی شبکه ٬MLP به دست می آید. در این مسیر٬ پارامترهای شبکه (ماتریس های وزن و بردارهای بایاس)٬ ثابت و بدون تغییر در نظر گرفته می شوند. در مسیر برگشت٬ برعکس مسیر رفت٬ پارامترهای شبکه MLP تغییر و تنظیم می گردند. این تنظیمات بر اساس قانون یادگیری اصلاح خطا انجام می گیرد. سیگنال خطا٬ رد لایه خروجی شبکه تشکیل می گردد. بردار خطا برابر با اختلاف بین پاسخ مطلوب و پاسخ واقعی شبکه می باشد. مقدار خطا٬ پس از محاسبه٬ در مسیر برگشت از لایه خروجی و از طریق لایه های شبکه به سمت پاسخ مطلوب حرکت کند.
در شبکه های ٬MLP هر نرون دارای یک تابع تحریک غیر خطی است که از ویژگی مشتق پذیری برخوردار است. در این حالت٬ ارتباط بین پارامترهای شبکه و سیگنال خطا٬ کاملاً پیچیده و و غیر خطی می باشد٬ بنابراین مشتقات جزئی نسبت به پارامترهای شبکه به راحتی قابل محاسبه نیستند. جهت محاسبه مشتقات از قانون زنجیره ای معمول در جبر استفاده می شود.
معایب الگوریتم استاندارد پس انتشار خطاSBP))
الگوریتم ٬BP با فراهم آوردن روشی از نظر محاسباتی کارا٬ رنسانسی در شبکه های عصبی ایجاد نموده زیرا شبکه های ٬[۷۱]MLP با قانون یادگیری ٬BP بیشترین کاربرد را در حل مسائل فنی مهندسی دارند. با وجود٬ موفقیت های کلی این الگوریتم در یادگیری شبکه های عصبی چند لایه پیش خود٬ هنوز مشکلات اساسی نیز وجود دارد:
اولاً سرعت همگرایی الگوریتم BP آهسته است.
همانطور که می دانیم٬ تغییرات ایجاد شده در پارامترهای شبکه (ماتریس های وزن و بردارهای بایاس)٬ پس از هر مرحله تکرار الگوریتم ٬BP به اندازه ٬ است٬ به طوریکه ٬F شاخص اجراییx ٬ پارامترهای شبکه و ٬α طول قدم یادگیری است. از این٬ هر قدر طول قدم یادگیری٬α ٬ کوچکتر انتخاب گردد٬ تغییرات ایجاد شده در پارامترهای شبکه٬ پس از هر مرحله تکرار الگوریتم ٬BP کوچکتر خواهد بود٬ که این خود منجر به هموار گشتن مسیر حرت پارامترها به سمت مقادیر بهینه در فضای پارامترها می گردد. این مسئله موجب کندتر گشتن الگوریتم BP می گردد. بر عکس با افزایش طول قدم ٬α اگرچه نرخ یادگیری و سرعت یادگیری الگوریتم BP افزایش می یابد٬ لیکن تغییرات فاحشی در پارامترهای شکه از هر تکراربه تکرار بعد ایجاد می گردد٬ که گاهی اوقات موجب ناپایداری و نوسانی شدن شبکه می شود که به اصطلاح می گویند پارامترهای شبکه واگرا شده اند. ]۱۷[
۲-۱۶- انواع شبکه های عصبی :
ابتدا مسئله ای را مطرح کرده وسپس برای یافتن راه حل آن سه شبکه عصبی پرسپترون، همینگ و هاپلفید را معرفی می کنیم .
فرض می کنیم در انباری میوه های سیب گلابی وپرتقال از طریق ریلی به قسمت سنسور هدایت می شوند و دستگاه سه ویزگی میوه هاراکه عبارتندازشکل،زبری و صافی سطح و وزن می باشند را اندازه می گیردو میوه ها را از هم جدا می کند .به این دستگاه ترتیب برای شکل گرد مقدار۱ برای شکل بیضی مقدار ۱- را نشان خوهد داد. همچنین مقدار ۱و۱- را برای سطح صاف و ناصاف و همین طور برای وزن کمتراز ۲۰۰ و وزن بیشتر از ۲۰۰ گرم نشان می دهد .وp نوع میوه ای است که وارد می شود .
۲-۱۶-۱- شبکه عصبی پرسپترون
شبکه های عصبی پرسپترون ، به ویژه پرسپترون چند لایه ، در زمره کاربردی ترین شبکه های عصبی می باشند .این شبکه ها قادرندبا انتخاب مناسب تعدادلایه ها و سلول های عصبی،که اغلب هم زیاد نیستند، یک نگاشت غیر خطی را با دقت دلخواه انجام دهند .
پرسپترون تک لایه[۷۲]:
نخستین شبکه ای که برای مسئله مذکور بررسی میشودپرسپترون تک لایه است که ساختار آن به صورت زیر است.
شکل ۲-۸- پرسپترون تک لایه
می توان برای حل مسئله نمودار زیررا رسم کرد .
شکل ۲-۹- پرسپترون تک لایه
توجه داریم که همواره خط مرزی بر بردار وزن عمود است .ومحل قرار گرفتن مرز توسط بردار بایاس b تعیین می شود . هر نقطه روی خط مرزی، تصویرش روی بردار وزن ، برابر با مضربی از منفی جمله با یاس -b است و واضح است که برای تمامی نقاطی که برای تمامی نقاطی که بالای خط مرزی قرارگرفته اندمقدارn منفی خواهد بود (چون طول تصویر بردار جدید ، p روی w از مقدار است و در جهت مخالف بردار w می باشد ،n منفی خواهد بود ) در نتیجه مقذار خروجی ۱- می باشد بالعکس برای تمامی نقاطی که در سمت چپ خط مرزی در پایین خط انتخاب می شوند . مقدار n مثبت و در نتیجه مقدار a برابر ۱ خواهد بود . در حالتی که تعداد نرون ها برابر s باشد ماتریس وزن دارای s سطر خواهد بود . هر سطر I از ماتریس وزن،برداروزن رابرای نرون iام
خواهدساخت، وبدین ترتیب به تعدادسطرهای ماتریس w ، فوق صفحه در فضای ورودی خواهیم داشت و مرز های تصمیم گیری توسط معادله ی مشخص می شوند . با توجه به این معادله می توان گفت نمی توان همواره دسته ها را در فضای ورودی توسط پرسپترون تک لایه مجزا کردزیرا مرز ها معادلات خطی را نمایندگی می کنند ، از این رو فقط دسته هایی را که در فضای ورودی توسط خطوط از خم جدا پذیزند ، می توان توسط پرسپترون تک لایه جدا نمود
۲-۱۶-۲- شبکه همینگ
این شکه نخستین بار توسط اشتاین بوخ ذر سال ۱۹۶۱ مطرح شد و در سال های اخیر توسط کسانی چون لیپمن باز نگری شده است این شبکه اساساً جهت حل مسئله شناسایی الگو های باینری ( الگو های برداری که عنصرشان فقط دو مقدار ۱ یا ۱ - را بر قبول می کند . ) طراحی شده است . این شبکه هم در چار چوب شبکه های عصبی قرار می گیرد ، چون از یک سری نرون ها به مثابه گره ها و یک سری وزنه ها ی ارتبا طی بین گره ها تشکیل یافته است . هر گره یک سطح فعال دارد که خروجی نرون را می سازد . شبکه همینگ از هر دو ساختار پیشخور وپسخور تشکیل می شود .
هدف اصلی در شبکه همینگ این است که تشخیص کدام الگوی مرجع بیشترین نزدیکی را به الگوی ورودی دارد و سپس آن را در خروجی شبکه ظاهر می کند .
شکل ۲-۱۰- شبکه همینگ
شبکه همینگ از سه لایه تشکیل می شود:
لایه پیشخور : نخستین لایه پیشخور که با ماتریس وزن ، بردار بایاس و تابع تبدیل خطی نمایندگی می شوند ، ضرب داخلی بین بردار های مرجع با بردار های ورودی را محاسبه می کند بردرا های مرجع در این مثال الگو های سیب ، گلابی و پرتقال اند.
ذخیره سازی الگو های مرجع در شبکه توسط ماتریس وزن به انجام می رسد
لایه برگشتی (WTA) : لایه میانی شبکه همینگ دارای ساختار برگشتی می باشد . این ساختار به ساختار رقابتی معروف است به همین خاطربه لایه میانی شبکه همینگ لایه رقابتی نیز می گویندپس از آنکه تعداد بردار های مرجع یا گنجایش ذخیره سازی شبکه توسط لایه اول همینگ محاسبه شدندزیر شبکه دوم وارد عمل شده ومقادیر خروجی لایه اول را به عنوان مقادیر اولیه خود در نظر می گیرد سپس باز خور خود را در هر تکرار از مقدار ورودی ها کاسته و این عمل را آنقدر تکرار می کند تا خروجی ها در تمام سلول ها به جزء سلول برنده (مشخص کننده بیشترین شباهت الگوی مرجع با بردار ورودی می باشد .) صفر شود در چنین شرایطی لایه میانی، به عبارتی کل شبکه همینگ ، به حالت ماندگار خود رسیده است و ادامه تکرار در لایه میانی بی فایده است به این گونه عملیات ، عملیات از نوع WTA گویند .نهایتاً در لایه میانی رقابت بین نرون ها آغاز می شود و یک نرون برنده شده و باقی نرون ها بازنده می شوند .
لایه سوم : این لایه در شبکه همینگ یک شبکه پیشخور با ماتریس وزنی و تابع تبدیل آـستانه ای متقارن دو مقداره است . وظیفه لایه سوم این است که پس از آنکه لایه دوم همگرا شد ، بردار مرجع ذخیره شده ، در خروجی شبکه ظاهر شود مثلاً در این مثال اگرلایه دوم نشان داد که الگوی مرجع سیب برای ورودی شناسایی می شود آنگاه لایه سوم بردار آن را به عنوان ورودی دریافت و بردار P را در خروجی شبکه ایجاد می کند .
۲-۱۶-۳- شبکه هاپفیلد
این شبکه مانند لایه میانی شبکه همینگ دارای فید بک می باشد . با این تفاوت که توانایی کل شبکه همینگ را جهت حل مسئله شناسایی الگو دارا می باشد .این نوع شبکه نوعی از شبکه استاندارد هاپفیلد گسسته است .