Document Type : Research Article
Authors
1 Dept. of Electrical Engineering, Islamic Azad University of Tehran, Tehran, Iran
2 Faculty of Electrical Engineering, K.N.T University of technology,Tehran, Iran
Abstract
Keywords
در دو دهۀ اخیر غالباً در تجارت و صنعت سخت افزار و نرم افزار از روشهای محاسبات نرم استفاده میشود. شبکه عصبی مصنوعی یکی از اجزاء مهم هر محاسبات نرم به شمار میرود [4]. پرکاربردترین معماری شبکه عصبی مصنوعی، چند لایه پیشرو است. مشهورترین روش آموزش شبکه عصبی پیشرو چند لایه الگوریتم پسانتشار[1] بر اساس روش گرادیان نزولی[2] است. برای این الگوریتم تعیین نرخ یادگیری مناسب که فرآیند آموزش را پایدار سازد ضروری است. نرخ یادگیری بزرگ ممکن است سیستم را ناپایدار کند. برای اطمینان از یادگیری پایدار باید نرخ یادگیری به اندازه کافی کوچک باشد. با نرخ آموزش کوچک نیز ممکن است زمان آموزش طولانی شود [20]. مطالب بیان شده، مشکلات ذاتی الگوریتم پسانتشار بر اساس گرادیان نزولی است [20،28]. ویژگیهای همگرایی الگوریتم پسانتشار بر اساس گرادیان نزولی در [5،7،12،22،24،29] و [20] بحث شده است. قوانین یادگیری میتواند بصورت یک روش برای اصلاح و یا تغییر پارامترهای شبکه عصبی برای آموزش شبکه به منظور انجام برخی کارها تعریف شود [6،11]. به هر حال از مشکل ذاتی در این الگوریتمها، همگرایی به مینیمم محلی و نرخ سرعت هستند که به روند یادگیری حساس میباشند [1،2،3]. شبکههای عصبی پیشرو با الگوریتم آموزشی پسانتشار بطورگستردهای در بازشناسایی الگو، بهینهسازی، مدلسازی، دستهبندی، شناسایی و کنترل کاربرد دارند [13] و [31،32]. رابطه سیستمهای غیرخطی پیچیده با آموزش شبکه عصبی میتواند تقریب زده شود [23]. با این حال نرخ همگرایی کوچک، مسئلۀ مینیمم محلی و عدم پایداری از جمله مسائلی است که سیستمهای بر پایه این الگوریتم با آن رو به رو هستند.
در دهههای اخیر تلاشهای بسیاری برای بهبود همگرایی پسانتشار انجام شده است. در [9،25،26،27] برای بهبود الگوریتم پسانتشار از آموزش بهنگام استفاده شده است. یادگیری بر پایه الگوریتمهای GD شامل یادگیری بازگشتی زمان واقعی[3] ، مشتقهای مرتبههای بالاتر و غیره میباشد [1]. روشهای بر پایه مشتق سرعت همگرایی را بهبود بخشیده است، اما این روشها تمایل به همگرایی به مینیمم محلی دارند [2،19]. علاوه بر این با توجه به وابستگی آنها به تحلیل مشتقات، آنها را به تابعهای هدف خاص محدود میکند [2]. برای رفع مشکلاتی مانند سرعت همگرایی پایین و محاسبات سنگین در بروز رسانی پارامترها در [21] الگوریتم آموزشی گرادیان نزولی وفقی مقاوم[4] برای سیستمهای چند ورودی و تک خروجی طراحی شده است. با توسعه الگوریتم گرادیان نزولی تطبیقی مقاوم، الگوریتم گرادیان نزولی وفقی مقاوم چند متغیره [5] در [30] ارائه شده است. الگوریتم گرادیان نزولی غیرخطی نرمال[6] برای بهبود همگرایی در فیلترهای غیرخطی FIR در [14] مورد بررسی قرار گرفته است. برای بهبود الگوریتم گرادیان نزولی غیرخطی نرمال، الگوریتم گرادیان نزولی غیرخطی نرمال تطبیقی کامل[7] ارائه شده و نشان داده شده است که سرعت همگرایی بهبود یافته است [15].
در این مقاله برای شناسایی سیستمهای غیرخطی، شبکه عصبی چند لایه با آموزش بهنگام استفاده شده است. نرخ یادگیری شبکه عصبی چندلایه براساس بسط سری تیلور خطای خروجی حاصل شده است. برای جملههای مرتبه دوم و بالاتر بسط سری تیلور عدد ثابتی با توجه به شرایط سیستم فرض شده است. در ادامه برای افزایش سرعت همگرایی جملههای مرتبه دوم و بالاتر بسط سری تیلور نیز بصورت تطبیقی با استفاده از گرادیان نزولی بروز رسانی شده است.
در بخش دوم این مقاله به الگوریتم آموزشی بکار برده شده در شبکه عصبی MLP پرداخته میشود و در بخش سوم همگرایی نرخهای آموزش مورد بحث قرار گرفته است. در بخش چهارم نتایج شبیهسازی انجام شده برای دو سیستم غیرخطی ملاحظه میشود و در بخش پنجم به بحث و نتیجهگیری پرداخته شده است.
سیگنالهای بلادرنگ[8] اغلب متغیر و دارای مدلهای ریاضی غیرخطی و مشتقات پیچیده هستند [15،16]. با کمک فیلترهای تطبیقی غیرخطی و شبکه عصبی مدلهای سادهتر را میتوان جایگزین این مدلهای پیچیده کرد [8،15،17]. فیلترهای تطبیقی همگرایی آهسته دارند [10،15،18] و برای بهبود سرعت همگرایی از شبکه عصبی استفاده میشود. در این مقاله از شبکه عصبی MLP با دو لایه فعالساز بصورت نشان داده شده در شکل (1) استفاده میشود. جزئیات ساختار فیلتر تطبیقی عصبی غیرخطی با دو لایه فعالساز شکل (1) در شکل (2) نشان داده شده است.
شکل (1): فیلتر تطبیقی عصبی غیرخطی
شکل (2) : جزئیات ساختار شبکه عصبی با دو لایه فعالساز
ساختار شبکه عصبی دارای سه لایه میباشد. با فرض اینکه پارامترهای شبکه عصبی در زمان تغییر میکند، بردار سیگنالهای ورودی میباشد که در آن تعداد ورودیهاست، لذا مطابق شکل (2) خواهیم داشت:
(1) |
|
در رابطه فوق خطای خروجی واقعی، خروجی مطلوب شبکه عصبی و خروجی نهائی شبکه عصبی و خروجی تک تک نرونهای لایه فعالساز میانی شبکه عصبی است. و توابع تحریک غیرخطی لایههای فعالساز هستند. بر اساس شکل (2)، و میباشند. حال با استفاده از روش گرادیان نزولی قانون تنظیم وزنها در لایههای فعالساز خروجی و میانی به ترتیب زیر محاسبه میشوند:
(2) |
|
(3) |
در روابط فوق
بردار وزنهای لایه فعالساز خروجی شبکه عصبی میباشد که در آن تعداد نرونهای لایه فعالساز میانی است و ماتریس وزنهای لایه فعالساز میانی شبکه عصبی است. نرخ آموزش پارامترهای لایه فعالساز خروجی و نرخ آموزش پارامترهای لایه فعالساز میانی است و خطا بصورت میباشد. در ادامه به تشریح الگوریتم آموزش پرداخته میشود.
اگر تابع هزینه بصورت زیر تعریف شود:
(4) |
با استفاده از بسط سری تیلورخطای خروجی و رابطه (1) خواهیم داشت:
(5) |
|
که نشان دهندۀ جملههای مرتبه بالاتر بسط سری تیلور است. با استفاده از گرادیان نزولی خطا نسبت خواهیم داشت:
(6) |
|
با توجه به رابطه (2) و (6) داریم:
(7) |
|
از روابط (1) و (7) خواهیم داشت:
(8) |
|
با جایگزین کردن روابط (8) و (9) در رابطه (5) و سادهسازی نتیجه زیر حاصل میشود:
(9) |
|
(10) |
که در رابطه فوق‖.‖ نرم اقلیدسی[9] است. با حل رابطه (10) و با توجه به اینکه اگر خطا در دو گام متوالی برابر شوند، نرخ آموزش پارامترهای لایه فعالساز خروجی بصورت زیر حاصل میشود:
(11) |
که متغیر مقداری ثابت است و نشان دهندۀ جملههای مرتبه دوم و بالاتر بسط سری تیلور رابطه (5) است. از گرادیان تابع هزینه نسبت خواهیم داشت:
(12) |
|
با جایگذاری این مقدار در رابطه (3) نتیجه زیر حاصل میشود:
(13) |
|
با استفاده از بسط سری تیلورخطای خروجی و رابطه (1) خواهیم داشت:
(14) |
|
که نشان دهندۀ جملههای مرتبه بالاتر بسط سری تیلور میباشد. از روابط (1) و (13) خواهیم داشت:
(15) |
|
(16) |
|
با جایگذاری روابط (15) و (16) در رابطه (14) خواهیم داشت:
(17) |
|
با حل رابطه (17) نرخ آموزش پارامترهای لایه فعالساز میانی بصورت زیر بدست میآید:
(18) |
که متغیر مقداری ثابت است و نشان دهندۀ جملههای مرتبه دوم و بالاتر بسط سری تیلور رابطه (14)، و مربوط به تنظیم پارامترهای لایه فعالساز میانی است.
در روابط (11) و (18) برای جملههای مرتبه دوم و بالاتر بسط سری تیلور خطای خروجی متغیر ناشناختهای در نظر گرفته شده است و هر چند که و متغیر با زمان هستند، برای سادگی این مقادیر ثابت فرض شدهاند. اما برای سیگنالهای ورودی غیرخطی و متغیر، فرض کردن و بصورت مقادیر ثابت مناسب نمیباشند، بنابراین این مقادیر را بصورت متغیر و در نظر میگیریم. لذا نیاز داریم که و با استفاده از یک روش گرادیان نزولی و متناسب با تغییر سیگنالهای ورودی، در گامهای مختلف تنظیم شوند.
با جایگزین کردن نرخهای آموزش بدست آمده در رابطه تنظیم وزنهای لایههای فعالساز خروجی و میانی خواهیم داشت:
(19) |
|
(20) |
تنظیم تطبیقی باقیمانده مرتبه دوم و بالاتر بسط سری تیلور بر اساس گرادیان بصورت زیر تعریف میشود:
(21) |
که گرادیان تابع هزینه نسبت به متغیر است و اندازه گام این الگوریتم تطبیقی است. همانطور که بیان شد، مقدار باقیمانده تطبیقی از بسط سری تیلور است در حالتی که میباشد. با توجه به اینکه جملههای مرتبههای بالاتر بسط سری تیلور به مراتب کوچکتر از جملۀ اول بسط سری تیلور میباشد میتوان مقدار اولیه را با توجه به نوع سیستم غیرخطی در بازه (0,1] انتخاب نمود.
از رابطه (21)، معادله تطبیقی بصورت رابطه زیر بدست میآید:
(22) |
|
از ترکیب روابط (11) و (22) نرخ آموزش لایه فعالساز خروجی بصورت رابطه زیر بدست میآید:
(23) |
|
که در آن از رابطه (22) حاصل میشود.
همانند الگوریتمی که برای بدست آورده شد، برای تنظیم خواهیم داشت:
(24) |
|
که گرادیان تابع هزینه نسبت به متغیر است و اندازه گام این الگوریتم است. مقدار باقیمانده تطبیقی از بسط سری تیلور در حالتی که است. با توجه به اینکه جملههای مرتبههای بالاتر بسط سری تیلور به مراتب کوچکتر از جملۀ اول بسط سری تیلور میباشد میتوان مقدار اولیه را با توجه به نوع سیستم غیرخطی در بازه (0,1] انتخاب نمود.
از رابطه (24)، معادله تطبیقی بصورت رابطه زیر حاصل شده است:
(25) |
|
از روابط (18) و (24) نرخ آموزش لایه فعالساز میانی بصورت رابطه زیر حاصل میشود:
(26) |
|
که در آن از رابطه (25) حاصل میشود.
با تعیین نرخ یادگیری توسط الگوریتم آموزش، این الگوریتم برای مقادیر ، ، و باید همگرا شود. بطوریکه وقتی سوق پیدا میکند. بنابراین برای همگرایی یکنواخت باید خطا در یک لحظۀ بعد کوچکتر و یا اینکه مساوی خطای لحظه حال حاضر شود و یا به عبارتی کوچکتر مساوی باشد. با توجه به رابطه (10) که از بسط سری تیلور برای خطا بدست آمده است، میتوان نوشت:
(27) |
از این رو با فرض اینکه دو طرف نامعادله فوق مساوی باشد:
(28) |
|
با توجه به رابطه ریاضی ، خواهیم داشت:
(29) |
|
که این رابطه محدوده همگرایی را مشخص میکند. برای تعیین محدوده همگرایی ، رابطه (23) را در رابطه نامساوی (29) جایگذاری میکنیم:
(30) |
|
با حل نامساوی فوق برای رابطه زیر بدست میآید:
(31) |
|
رابطه (31) کران پایین میباشد، بطوریکه رابطه (27) برقرار باشد. همچنین این الگوریتم برای مقادیر و باید همگرا شود، یعنی وقتی سوق پیدا میکند، لذا با توجه به رابطه (17) خواهیم داشت:
|
||
(32) |
|
|
از این رو بدست میآید:
(33) |
|
و با حل نامساوی رابطه (33) خواهیم داشت:
(34) |
|
رابطه (34) محدوده همگرایی را مشخص میکند. برای تعیین محدوده همگرایی ، رابطه (26) را در رابطه نامساوی (34) جایگذاری میکنیم:
(35) |
با حل نامساوی رابطه (35) برای ، رابطه زیر بدست میآید:
(36) |
|
رابطه (36) کران پایین میباشد، بطوریکه رابطه (32) برقرار باشد.
در این بخش الگوریتمهای پیشنهاد شده در بخشهای 2- 1 و 2- 2 بر روی سیستم غیرخطی در قالب دو مثال شبیهسازی شده است. در هر دو مثال از 1000 دادۀ تصادفی استفاده شده است. با تعداد دادههای آموزشی کم، مقدار خطا کمی افزایش مییابد. اما با این حال میتوان از این الگوریتم آموزشی برای شبکههای عصبی با تعداد دادههای کم نیز استفاده نمود. دادههای تصادفی در مثالها به دادههای آموزش و دادههای تست تقسیم شدهاند و شبکه عصبی به عنوان شناساگر سیستم غیرخطی مورد استفاده قرار گرفته است. این ساختار در شکل (3) نشان داده شده است که در این شکل خروجی واقعی سیستم و خروجی شبکه عصبی میباشد.
شکل (3) : شبکه عصبی به عنوان شناساگر غیرخطی
مثال اول: شبکه عصبی را برای شناسایی اجزای غیرخطی در یک سیستم کنترل بهنگام بکار میبریم و به ارزیابی الگوریتم پیشنهاد شده میپردازیم. معادله سیستم به صورت زیر میباشد [3]:
(37) |
|
که در آن و به ترتیب ورودی و خروجی سیستم در زمان میباشند و تابع ناشناخته بصورت زیر میباشد:
(38) |
|
برای شبیهسازی این سیستم غیرخطی از شبکه عصبی با ساختار نشان داده شده در شکل (2) استفاده شده که در آن برابر 5 و برابر 15 فرض شده است. در این شبکه عصبی فرض شده که تابع خطی و تابع سیگموئید دو قطبی است که بصورت رابطه زیر تعریف میشود:
(39) |
|
که در آن مجموع وزندار شدۀ ورودیها است. برای مقایسه از معیار میانگین مجموع مربعات خطا [10] استفاده شده است. در شکلهای (4)، (5) و (6) مقدار ثابت برای باقیمانده بسط سری تیلور خطای خروجی در نظر گرفته شده است. شکل (4) همگرایی پارامترهای الگوریتم آموزشی را نشان میدهد.
در شکل (5)، نرخهای آموزش برابر با حد بالای قیود بدست آمده در بخش3 انتخاب شده است.
شکل (6) واگرایی الگوریتم آموزشی در صورت عدم رعایت قیود بدست آمده در بخش 3 را نشان میدهد.
تنظیم تطبیقی باقیمانده بسط سری تیلور بر اساس گرادیان نزولی با رعایت شرایط همگرایی در شکل (7) نشان داده شده است.
شکل (4) : میانگین مجموع مربعات خطا در مثال 1 با رعایت شرایط همگرایی در شبکه عصبی پرسپترون و با در نظر گرفتن باقیمانده بسط سری تیلور بصورت ثابت
شکل (5) : میانگین مجموع مربعات خطا در مثال 1 هنگامی که تمام نرخهای آموزشی برابر با نرخ آموزش ماکزیمم در محدوده همگرایی باشند.
شکل (6) : میانگین مجموع مربعات خطا در مثال 1 در حالتی که نرخهای آموزشی از حد مجاز همگرایی بالاتر انتخاب شوند (106% برابرنرخ آموزش ماکزیمم)
شکل (7) : میانگین مجموع مربعات خطا در مثال 1 با رعایت شرایط همگرایی و تعیین باقیمانده بسط سری تیلور بصورت تطبیقی و ثابت
در شکل (7) همگرایی الگوریتم آموزشی برای باقیمانده بسط سری تیلور بصورت تطبیقی و ثابت نشان داده شده است. همانطور که مشاهده میشود با تنظیم تطبیقی باقیمانده بسط سری تیلور، مجموع میانگین مربعات خطا کاهش و سرعت همگرایی افزایش یافته است.
مثال دوم: معادله غیرخطی سیستم بصورت زیر میباشد [15]:
(40) |
که در آن و به ترتیب ورودی و خروجی سیستم در زمان میباشند. برای شبیهسازی این سیستم غیرخطی از شبکه عصبی با ساختار نشان داده شده در شکل (2) استفاده شده که در آن برابر 2 و برابر 10 فرض شده است. در این شبکه عصبی فرض شده که تابع خطی و تابع سیگموئید دو قطبی است. در شکلهای (8)، (9) و (10) مقدار ثابت برای باقیمانده بسط سری تیلور خطای خروجی در نظر گرفته شده است. شکل (8) همگرایی پارامترهای الگوریتم آموزشی را نشان میدهد.
در شکل (9)، نرخهای آموزش برابر با حد بالای قیود بدست آمده در بخش3 انتخاب شده است.
شکل (10) واگرایی الگوریتم آموزشی در صورت عدم رعایت قیود بدست آمده در بخش 3 را نشان میدهد.
تنظیم تطبیقی باقیمانده بسط سری تیلور بر اساس گرادیان نزولی با رعایت شرایط همگرایی در شکل (11) نشان داده شده است.
شکل (8) : میانگین مجموع مربعات خطا در مثال 2 با رعایت شرایط همگرایی در شبکه عصبی پرسپترون و با در نظر گرفتن باقیمانده بسط سری تیلور بصورت ثابت
شکل(9) : میانگین مجموع مربعات خطا در مثال 2 هنگامی که تمام نرخهای آموزشی برابر با نرخ آموزش ماکزیمم در محدوده همگرایی باشند.
شکل (10) : میانگین مجموع مربعات خطا در مثال 2 در حالتی که نرخهای آموزشی از حد مجاز همگرایی بالاتر انتخاب شوند (1/100% برابرنرخ آموزش ماکزیمم)
شکل(11) : میانگین مجموع مربعات خطا در مثال 2 با رعایت شرایط همگرایی و تعیین باقیمانده بسط سری تیلور بصورت تطبیقی و ثابت
در شکل (11) همگرایی الگوریتم آموزشی برای باقیمانده بسط سری تیلور بصورت تطبیقی و ثابت نشان داده شده است. همانطور که مشاهده میشود با تنظیم تطبیقی باقیمانده بسط سری تیلور، مجموع میانگین مربعات خطا کاهش و سرعت همگرایی افزایش یافته است.
در این مقاله برای آموزش پارامترهای شبکه عصبی MLP بصورت بهنگام از الگوریتم گرادیان نزولی غیرخطی نرمال تطبیقی بر اساس بسط سری تیلور خطا برای فیلترهای غیرخطی استفاده شده است. در این الگوریتم جملههای مرتبههای دوم و بالاتر بسط سری تیلور خطا در نرخهای یادگیری لایههای فعالساز میانی و خروجی شبکه عصبی MLP با استفاده از گرادیان نزولی بصورت تطبیقی در گامهای مختلف بروز رسانی میشود. مشاهده میشود که این امر دقت و سرعت همگرایی را افزایش میدهد. توسط این الگوریتم محدودههایی برای نرخهای یادگیری در الگوریتم آموزشی شبکه عصبی MLP حاصل شده است، بطوریکه با انتخاب نرخ یادگیری از این محدودهها تضمین میشود که الگوریتم آموزشی در فرآیند شناسایی همگرا خواهد بود. نتایج نظری حاصل شده بر روی دو مثال شبیهسازی شده است. نتایج شبیهسازی نشان میدهند که در فرآیند آموزش، دقت و سرعت همگرایی افزایش یافته است. از این روند میتوان در کنترلکنندههای عصبی بهره برد.
[1] Back propagation (BP)
[2] Gradient Descent (GD)
[3] Real-Time Recurrent Learning
[4] Robust Adaptive Gradient Descent
[5] Multivariable Robust Adaptive Gradient Descent
[6] Normalized Nonlinear Gradient Descent
[7] Fully Adaptive Normalized Nonlinear Gradient Descent
[8] Real Time
[9] Euclidean Norm
[10] Mean Square Error (MSE)