Document Type : Research Article
Authors
1 Computer Engineering Department, Yazd University, Yazd, Iran
2 Computer Engineering Department, Yazd University, Yazd, Iran.
3 Computer Engineering Department, Yazd University,Yazd, Iran
Abstract
Keywords
تکنیکهای پیشبینی سری زمانی در بسیاری از کاربردهای دنیای واقعی مانند پیشبینی بازار مالی، پیشبینی مصرف انرژی، پیشبینی وضعیت آبوهوا و محیطزیست و پیشبینی قابلیت اطمینان استفاده شده است [1-4].
مطالعۀ پیشبینی سری زمانی با یک معادله رگرسیون [5] آغاز شد که تعداد لکههای خورشید را در یک سال با تجزیهوتحلیل دادهها پیشبینی کرد. مدل میانگین متحرک اتورگرسیو[1] (ARMA) و مدل میانگین متحرک جمعبسته اتورگرسیو[2] (ARIMA) [6] نشان میدهد روش رگرسیون، یکی از مهمترین و اصلیترین مدلهای پیشبینی سری زمانی محسوب میشود [2]. مدلها و فرآیندهای تولید دادههای سری زمانی کاملاً پیچیدهاند و معمولاً مدلهای مربوط به این سیستمها از قبل شناختهشده نیستند. برآورد دقیق و بیطرفانه از دادههای سری زمانی تولیدشدۀ این سیستمها همیشه با استفاده از تکنیکهای خطی شناختهشده حاصل نمیشود. نیز مدلهایی همانند ARMA تنها بر فصلی و منظمبودن سریهای هدف تمرکز دارند که میتوانند بهطور مؤثر وابستگی طولانیمدت را از سریها استخراج کنند؛ درحالیکه ارتباطات مکانی سریهای برونزاد[3]را نادیده میگیرند. علاوه بر این، فرض میکنند تغییرات سری پایدار است؛ بنابراین برای پیشبینی زمان غیرثابت و چندمتغیره مناسب نیستند؛ درنتیجه فرایند تخمین به الگوریتمهای پیشبینی پیشرفتهتری نیاز دارد [3]. با استفاده از روشهای یادگیری ماشین، میتوان براساس حجم زیادی از دادههای گذشته، مدلهای پیشبینی غیرخطی را ساخت. در روشهای سنتی رگرسیون مبتنی بر یادگیری ماشین، برای مثال، رگرسیون بردار پشتیبان[4] (SVR)، سریهای برونزاد به فضاهایی با ابعاد بالا نگاشت میشود که به همبستگیهای مکانی سریهای برونزاد در همان زمان توجه بیشتری میکند؛ اما وابستگی زمانی[5] را نادیده میگیرد [7-9].
با ظهور یادگیری عمیق، مدلهای جدید برای تحلیل و پیشبینی سریهای زمانی توسعه یافتهاند. شبکههای عصبی مکرر[6] (RNN) [10] بیشتر، کارآمدترین روش پیشبینی سری زمانیاند [7, 11-13]. درواقع، RNNشبکۀ عصبی مصنوعی است که در آن گرهها بهصورت حلقه وصل میشوند و حالت داخلی شبکه میتواند رفتار زمانبندی پویا را به نمایش بگذارد. مهمترین ضعف شبکههای مبتنی بر RNN در هنگام یادگیری وابستگیهای طولانیمدت است. برای غلبه بر این مشکل، LSTM [14] و واحدهای مکرر گیتدار (GRU)[7] [15] ارائه شدند که عملیات خطی ساده را روی اطلاعات نورون انجام میدهند و اطلاعات خارجی از لحظه فعلی را ازطریق مکانیزم گیت اضافه میکنند.
با وجود مزیتهای شبکههای LSTM، هنوز عملکرد آنها بر دادههای پیشبینی سری زمانی، رضایتبخش نیست. معماریهای کمعمق ویژگیهای دادههای سری زمانی را بهطور کارآمد نشان نمیدهند؛ بهخصوص زمانی که دادههای سری زمانی با فواصل طولانیمدت و بسیار غیرخطی پردازش میشوند [4]. همچنین با پیچیدهتر شدن معماری شبکههای عمیق، یک سؤال پیش میآید که چطور یک شبکه را تنظیم کنیم؛ البته میتوان تعداد محدودی از ابرپارامترها را با آزمایش بهینه کرد؛ اما شبکههای عمیق دارای توپولوژی پیچیده و صدها ابرپارامترند. اغلب موفقیت در حل مسئله به انتخاب معماری مناسب برای آن مسئله بستگی دارد [16].
ساقیر و کوتب [4] در سال 2019 روشی ارائه کردند که در آن یک معماری عمیق از لایههای LSTM برای پیشبینی تولید نفت معرفی شد. در این معماری از الگوریتم ژنتیک برای بهینهسازی ابرپارامترها و معماری شبکۀ پیشنهادی استفاده شده است. این مدل با دو چالش عمده روبهروست. یکی اینکه هرچند LSTM به گرفتن وابستگیهای طولانیمدت کمک میکند، توانایی آن در توجه به درجههای مختلفی از توجه به ویژگیهای زیرپنجره در چند مرحله زمانی کافی نیست. دیگر اینکه مدل ارائهشده در این پژوهش، تنها بر سریهای زمانی تکمتغیره اجراشدنی است.
بهتازگی لی و همکاران [2] یک مدل LSTM مبتنی بر توجه تکاملی با جستجوی تصادفی رقابتی برای پیشبینی سری زمانی چندمتغیره ارائه کردند. در این مدل، تنها برای یافتن وزنهای توجه بهینه یا نزدیک به بهینه از الگوریتم تکاملی استفاده شده است؛ بنابراین، میتوان با ترکیب این دو روش، مدلی ارائه کرد تا از مزایای هر دو روش بهرهبرداری شود و نتایج بهتری به دست آید.
در این پژوهش، یک لایهای از توجه (مطابق با آنچه در مرجع لی و همکاران [2] ارائه شده است) به LSTM افزوده شده است. مکانیزم توجه معرفیشده میتواند در هر مرحلۀ زمانی خاص به هر کدام از ویژگیهای متوالی یک درجه اهمیت بدهد تا نقص پراکندگی توجه LSTM را بهبود بخشد [2]. بر اساس این، یک LSTM عمیق مبتنی بر توجه تکاملی برای پیشبینی سریهای زمانی چندمتغیره توصیه شده است که بهطور خودکار پارامترهای LSTM و میزان توجه به ویژگیهای زیرپنجره[8] را بهطور همزمان بهینه میکند. سهم کارهای ما به شرح زیر است:
عملکرد الگوریتم پیشنهادی با سایر الگوریتمهای پایه روی سه مجموعه داده در زمینههای انرژی و محیطزیست مقایسه شد. نتایج آزمایشی نشان میدهند الگوریتم پیشنهادی میتواند با در نظر گرفتن موارد فوق پیشبینیهای با کیفیت بالاتری را نسبت به سایر الگوریتمهای پایه به دست آورد.
ساختار مقاله به شرح زیر است: در بخش دوم، مفاهیم اولیه دربارۀ پیشبینی سری زمانی، شبکه LSTM و مکانیزم توجه در شبکههای عصبی بیان میشوند. در بخش سوم، ادبیات و سابقۀ پژوهش بیان میشود. در بخش چهارم، الگوریتم پیشنهادی شرح داده میشود. نتایج آزمایشها و ارزیابی آنها در بخش پنجم ارائه شدهاند و درنهایت در بخش آخر، نتیجهگیری شده است.
در این بخش، مفاهیم اولیه و مرتبط با موضوع بیان میشود. در زیربخش اول، مسئلۀ پیشبینی سری زمانی معرفی و سپس تعاریف لازم برای سهولت درک مسئله بیان میشوند. در زیربخش دوم، بهطور مختصر شبکه LSTM اصلی بیان میشود که در این مطالعه، مبنای روش پیشنهادی محسوب میشود. در زیربخش آخر، دلایل و اهمیت استفاده از مکانیزم توجه شرح داده میشوند.
بیشتر مجموعه دادههای سری زمانی در دنیای واقعی دارای خاصیت توالی زمانیاند؛ همانند پیشبینی فعالیتها ازنظر آبوهوا، بازارهای سهام، مصرف انرژی. پیشبینی سری زمانی به دلیل ویژگیهای منحصربهفرد، یکی از ده مسئلۀ اصلی چالشبرانگیز در دادهکاوی محسوب میشود؛ بنابراین یافتن روش مؤثر برای پیشبینی روند در مجموعه دادههای سری زمانی، همچنان مسئلۀ مهم و چالشبرانگیز است [4].
پیشبینی سریهای زمانی میتواند به مسئلۀ رگرسیون یا طبقهبندی دستهبندی شود. معمولاً دنبالهای از دادههای جمعآوریشده در یک محدود زمانی، ورودی این مسائل در نظر گرفته میشود. این دادهها تغییرات پدیده در طول زمان را منعکس میکنند؛ بنابراین، میتوان این مقادیر را یک بردار وابسته به زمان دانست. فرض کنید یک متغیر تصادفی است و داریم ؛ بهطوریکه است که در آن بیانکنندۀ زمان و نشاندهندۀ طول مرحلۀ زمانی است. بهطور معمول، مقادیر گذشته نیز داده میشود. دربارۀ مسائل طبقهبندی، مقادیر گذشته گسسته است. اگر متغیر تصادفی ، یک بعدی باشد، یعنی از بین ویژگیهای مختلف یک پدیده فقط از یک ویژگی برای ایجاد مدل سری زمانی استفاده شود، مدل را «تکمتغیره» مینامند؛ ولی اگر از چندین ویژگی برای ایجاد مدل سری زمانی استفاده شود، مدل سری زمانی را «چندمتغیره» میگویند.
معمولاً به دنبال یک تابع نگاشت غیرخطی از متغیر و مقدار هدف مربوط به آن هستیم تا مقدار را با فرمول زیر پیشبینی کنیم:
(1) |
بهطوریکه تابع نگاشت غیرخطی است که میخواهیم آن را یاد بگیریم [2].
شبکۀ عصبی مکرر، همان RNN ساده، یکی از رویکردهای شبکۀ عصبی بازگشتی است که برای مدلسازی دادههای دنبالهدار استفاده میشود. ویژگی اصلی RNN، بازگشت تأخیر شبکه است که موجب میشود شبکه به توصیف عملکرد پویای سیستم قادر باشد. بازگشت تأخیر سیگنال باعث میشود خروجی شبکه در زمان نهتنها با ورودی در زمان ، با سیگنالهای بازگشتی قبل از زمان مرتبط شود. با وجود این، توانایی آن در پردازش دادههای دنبالهای کوتاهمدت است. ضعف RNN در هنگام یادگیری وابستگیهای دوربرد یا به خاطر سپردن بستر طولانیمدت، در برنامههای پیشبینی سری زمانی است [4].
هوچریتر و اشمیت بر [14] سلولهای حافظۀ طولانی کوتاهمدت را معرفی کردند که عملکردهای RNN را به طرز چشمگیری بهبود میبخشند. مدل حافظۀ طولانی کوتاهمدت (LSTM) یک نوع RNN است که از سلول حافظه LSTM ساختهشده بهمنظور نشاندادن وابستگیهای طولانیمدت در دادههای سری زمانی استفاده میکند. علاوه بر این، LSTM برای حل مسئله گرادیان ناپدیدشده RNN در صورت وجود حفظ زمینۀ طولانیمدت، مورد نیاز است [4, 17]. تغییر عمده LSTM نسبت به سلول RNN معمولی، روش محاسبۀ فعالسازی است. فعالسازی در مرحله 𝑡 ، براساس چهار نوع دروازه محاسبه میشود که دروازۀ اطلاعات، دروازۀ فراموش، دروازۀ خروجی و دروازۀ سلول شناخته میشود [18].
ورودی دروازۀ اطلاعات (در مرحله ) با رابطۀ زیر محاسبه میشود:
(2) |
که در آن تابع غیرخطی مثل تابع سیگموید است. و ماتریسهاییاند که بهترتیب را با و را با متصل میکنند. بهطور مشابه، ورودی دروازه فراموش و ورودی دروازۀ خروجی بهصورت زیر محاسبه میشود:
(3) |
|
(4) |
ورودی دروازۀ سلولی بهصورت زیر محاسبه میشود:
(5) |
که در آن اطلاعات وضعیت سلول از مرحلۀ قبل و بهصورت زیر محاسبه میشود:
(6) |
که در آن تابع مماس مضراب[9] است. در آخر، فعالسازی در مرحله بهصورت زیر محاسبه میشود:
(7) |
بهتازگی مکانیزمهای توجه بهطور گستردهای استفاده شدهاند و در انواع مختلفی از کارهای مبتنی بر یادگیری عمیق، مانند نوشتن شرح تصاویر [19]، پاسخ به سؤال بصری [20] و تشخیص گفتار [21] عملکرد خوبی از خود نشان دادهاند. مکانیزمهای توجه میتوانند توالی ورودی را بهتر، انتخاب و معانی را در حافظۀ بلندمدت رمزگذاری کنند تا قابلیتهای پردازش اطلاعات چندمنظورۀ عصبی را بهبود ببخشند. ایدۀ اصلی این است که برخی از بخشهای ورودی مرتبطترند و در هنگام تولید خروجی در مقایسه با سایرین اهمیت بیشتری دارند.
در مقایسه با استفاده از LSTM تنها، مکانیزم توجه با ساختن همبستگی فضایی - زمانی سراسری و انتخاب اطلاعات مرتبط، زمینۀ پیشبینی بهتر را با شبکۀ عمیق فراهم میکند. به عبارتی، مکانیزم توجه بهطور کمی، وزنهای اهمیت را برای هر مرحلۀ زمانی خاص در ویژگیهای پیدرپی اختصاص میدهد تا نقص پراکندگی توجه LSTM را بهبود بخشد. این امر، LSTM را قادر میسازد نهتنها وابستگیهای طولانیمدت توالیها را در طی مراحل زمانی گذشته حفظ کند، نمونهگیری مبتنی بر اهمیت را کنترل کند [2].
کار ما با سه زمینه تحقیق مرتبط است: پیشبینی سری زمانی با استفاده از شبکه LSTM، بهینهسازی پارامترهای معماری شبکه و ساختار شبکۀ عصبی مبتنی بر توجه. در ادامه، کارهای مرتبط در این زمینهها بررسی شدهاند.
بهطور کلی، LSTM یکی از متداولترین روشها برای حل مسائل پیشبینی سری زمانی محسوب میشود [22-24]؛ برای مثال، بائک و کیم [23] در سال 2018 یک روش تقویت دادۀ جدید برای پیشبینی شاخص بورس اوراق بهادار ارائه دادند که از دو ماژول LSTM، یکی برای پیشگیری از پوشش بیش از حد[10] و دیگری برای پیشبینی تشکیل شده است. بهتازگی کاروان و سوییز [22] یک LSTM انتقالدهنده برای پیشبینی دما پیشنهاد کردند. آنها از یادگیری انتقالدهنده در کنار شبکه LSTM، برای بهرهبرداری از اطلاعات محلی در پیشبینی سریهای زمانی استفاده کردند.
تعیین پارامترهای مناسب برای شبکههای LSTM یک چالش عمده محسوب میشود. بیشتر این پارامترها بهصورت دستی انتخاب میشوند. با توجه به اینکه موفقیت در حل مسئله به انتخاب معماری مناسب برای آن مسئله بستگی دارد، روشهای بسیاری برای انتخاب معماری مناسب برای شبکه LSTM ارائه شدند [25-27]؛ برای مثال، السیدا و همکاران [25] در سال 2018 از بهینهسازی کلونی مورچهها برای توسعه و تقویت ساختار سلول شبکه LSTM استفاده کردند. ساقیر و کوتب [4] در سال 2019 مدلی برای پیشبینی تولید نفت ارائه دادند که در آن از الگوریتم ژنتیک برای بهینهسازی ابرپارامترها و معماری شبکه LSTM استفاده شده است. این مدل تنها روی سریهای زمانی تکمتغیره اجراشدنی است.
اگر یک توالی ورودی در شبکه LSTM طولانی باشد، دنبالۀ خروجی میتواند نادرست باشد. بهدانا و همکاران [28] برای حل این مشکل، یک مکانیزم توجه را به کار بستند تا به شبکه اجازه دهند هنگام تولید یک خروجی، روی یک حالت پنهان خاص متمرکز شود. ساختار شبکۀ عصبی مبتنی بر توجه برای نخستین بار در ترجمۀ عادی استفاده شد و اکنون از آن بهعنوان یک لایۀ میانی مهم در پیشبینی سری زمانی [2, 7, 18] استفاده میشود. در همین راستا، یانگ و همکاران [24] در سال 2019، یک راهحل بهبودیافته (LSTM+) برای رفع نقص حافظۀ طولانیمدت LSTM پیشنهاد کردند که از مکانیزم توجه برای حفظ مقادیر جریان ترافیکی با تأثیر زیاد در توالیهای بسیار طولانی استفاده میکند. لی و همکاران [2] یک مدل LSTM مبتنی بر توجه تکاملی با جستجوی تصادفی رقابتی برای پیشبینی سری زمانی چندمتغیره ارائه کردند. در این مدل، تنها برای یافتن وزنهای توجه بهینه یا نزدیک به بهینه از الگوریتم تکاملی استفاده شده است.
در این پژوهش، شبکه LSTM عمیق مبتنی بر توجه تکاملی برای پیشبینی سریهای زمانی چندمتغیره توصیه میشود که بهطور خودکار یکی از بهترین ترکیبها را از مقادیر پارامترهای LSTM و وزن توجه به ویژگیها مییابد.
در این بخش، روش پیشنهادی معرفی شده است. در زیربخش اول، برای روشنشدن بهتر موضوع معماری، شبکه LSTM عمیق بررسی شده است. سپس معماری روش پیشنهادی بهطور مبسوط شرح داده شده است.
بهطور گسترده، افزایش عمق یک شبکۀ عصبی روشی مؤثر برای بهبود عملکرد کلی است [4]. با توجه به شکل (1)، در LSTM عمیق، چندین بلوک LSTM یکی پس از دیگری به روش شبکه مکرر به یکدیگر متصل شدهاند تا مزایای یک لایه LSTM تنها را ترکیب کنند. هدف از انباشت چند LSTM در چنین معماری سلسلهمراتبی، ایجاد ویژگیهایی در لایههای پایینتر است که عوامل تغییرات در دادههای ورودی را از هم جدا و سپس این بازنماییها را در لایههای بالاتر ترکیب میکند [4]. دربارۀ دادههای بزرگ یا پیچیده، نشان داده شد چنین معماری عمیق به دلیل نمایش سادهتر از معماری کمعمق، بهتر تعمیم خواهد یافت [4, 29-31].
مزیت معماری پشتهای این است که هر لایه بخشی از وظیفه مدنظر را پردازش میکند و به لایۀ بعد میدهد تا درنهایت لایۀ آخر خروجی را تولید کند. مزیت دیگر این است که این چنین معماریهایی به وضعیتهای پنهان اجازه میدهند در بازۀ زمانی متفاوت فعالیت کنند. این دو مزیت در استفاده از دادهها با وابستگی طولانیمدت یا در صورت دستیابی به مجموعه دادههای سری چندمتغیره، تأثیر زیادی دارند [4, 32].
شکل (1): معماری شبکه LSTM عمیق [4].
در این پژوهش، با توجه به موفقیتهای چشمگیر معماری شبکهای مکرر عمیق [29] و همچنین شبکه LSTM مکرر عمیق در سریهای زمانی تکمتغیره [4]، از شبکه LSTM عمیق با سه لایه برای پیشبینی سری زمانی چندمتغیره بهره گرفته شد.
سپس با الهام از اطلاعات ورودی از مکانیزم توجه مغز انسان و آنچه در مرجع لی و همکاران [2] معرفی شده، در LSTM عمیق لایهای از توجه افزوده شده است. این امر، LSTM را قادر میسازد نهتنها وابستگیهای طولانیمدت توالیها را در طی مراحل زمانی گذشته حفظ کند، میتواند بهطور مؤثر از اطلاعات محلی در یک پنجره نمونهبرداری با توجه به وزنهای توجه مختلف استفاده کند.
همچنین کشف معماری بهینه برای یک شبکۀ عمیق، مسئلۀ جستجو محسوب میشود که در آن تعیین توپولوژی بهینه برای شبکههای عصبی هدف است. الگوریتمهای تکاملی گزینههای مناسبی برای حل مشکل معماری شبکههای عصبیاند. الگوریتم ژنتیک یک روش جستجوی تکاملی است که به یافتن راهحلهای بهینه یا نزدیک بهینه قادر است. جذابترین ویژگی GA انعطافپذیری آن در انجام انواع مختلفی از عملکردهای هدف است. دلایل اصلی این موفقیت به شرح زیرند. GA قادر است مسائل دشوار را بهسرعت و اطمینان حل کند [33]. همچنین با مدلها و شبیهسازیهای موجود بسیار آسان ارتباط برقرار میکند. علاوه بر این، بهراحتی توسعهپذیر و ترکیبشدنی است. تمام این دلایل به یک دلیل خلاصه میشوند: GAها قویاند [34]؛ درنتیجه، در الگوریتم پیشنهادی بهمنظور یافتن ترکیب مناسبی از پارامترها، از الگوریتم ژنتیک استفاده شده است. معماری شبکۀ پیشنهادی در شکل (2) نشان داده شده است. در ادامه، مراحل اصلی الگوریتم پیشنهادی شرح داده میشوند.
کدکردن کروموزوم: هر کروموزوم شامل مجموعهای از پارامترهای مربوط به یک شبکۀ عصبی عمیق شامل تعداد اپکها (دورهها)، تعداد نورونهای هر سه لایۀ پنهان، اندازۀ پنجره یا تأخیر و وزنهای لایۀ توجه است. تعداد وزنهای توجه براساس تعداد ویژگی مؤثر هر مجموعه داده تعیین میشوند.
مقداردهی اولیۀ جمعیت: مقدار هر ژن بهطور تصادفی در یک بازۀ مشخص است. در طول اجرای الگوریتم، تعداد ژنها و ارزش هر ژن با عملگرهای ژنتیکی در بازه مربوط به خود افزایش یا کاهش مییابند.
آمادهسازی دادۀ آموزش: در این مرحله، مقدار حال حاضر سری زمانی وابسته به مقادیر گذشته در نظر گرفته میشود که براساس اندازۀ پنجرۀ تعیینشده در کروموزوم انجام میشود.
اعمال مکانیزم توجه: وزنهای توجه در هر کروموزوم روی ورودیهای مسئله اعمال میشوند.
ساخت مدل: در این مرحله بهازای هر کدام از اعضای جمعیت با توجه به تعداد اپکها (دورهها) و تعداد نورونهای لایۀ پنهان، یک مدل ایجاد میشود و با استفاده از مجموعه آموزش و با روش پسانتشار خطا آموزش میبیند. مدل بهکاررفته در معماری پیشنهادی شبکه LSTM عمیق با سه لایه است.
ارزیابی: بهمنظور ارزیابی و به دست آوردن میزان کیفیت هر مدل، مقدار خطای میانگین مربعات بر مجموعه داده اعتبارسنجی محاسبه میشود.
انتخاب: بهمنظور انتخاب والدین برای انجام عمل ترکیب، از مکانیزم انتخاب چرخ رولت مشهور استفاده میشود. از مکانیزم انتخاب تصادفی برای عملگر جهش استفاده شده است.
اعمال عملگر ترکیب و جهش: بعد از انتخاب کروموزومهای والد، عملگرهای ترکیب و جهش برای ایجاد جمعیت جدید اعمال میشود.
انتخاب بازماندگان: در هر مرحله، کروموزومها براساس میزان برازندگی مرتب میشوند و اعضا با بیشترین برازندگی باقی میمانند.
معیار توقف: معیار توقف GA رسیدن به تعداد معینی از نسلها است. در صورت اتمام الگوریتم، سه تا از بهترین کروموزومها خروجی در نظر گرفته میشوند.
شکل (2): معماری مدل پیشنهادی.
در این بخش ابتدا توضیحی از مجموعه دادههای بهکاررفته در مطالعه بیان شده است. سپس نحوۀ تنظیم پارامترها برای الگوریتم ژنتیک، استفاده و الگوریتم پیشنهادی شرح داده میشود و نیز معیارهای ارزیابی در این آزمایش معرفی میشوند. علاوه بر این، مدل پیشنهادی خود با برخی مدلهای پایه مانند RNN [10]، GRU [15] و LSTM [14] مقایسه میشود.
بهمنظور بررسی توانایی تعمیم روش پیشنهادی، از سه مجموعه داده در زمینههای انرژی و محیطزیست برای ارزیابی روشهای پیشنهادی استفاده شده است. این مجموعه دادهها از پایگاه داده UCI گرفته شدهاند. اطلاعات مجموعه دادهها و نحوۀ دستهبندی دادهها به مجموعه آموزش و آزمون در جدول (1) نشان داده شده است. برای هر یک از مجموعه دادهها، 80 درصد از دادهها برای آموزش و ساخت مدل پیشبینی و مابقی (20 درصد) برای مجموعه آزمون یا بررسی عملکرد مدل پیشبینی در نظر گرفته شدهاند.
جدول (1): اطلاعات مجموعه دادهها
مجموعه داده |
زمینه |
تعداد ویژگی |
تعداد نمونهها |
|
آموزش |
آزمون |
|||
SML2010 |
محیطزیست |
24 |
3600 |
537 |
Appliances energy prediction |
انرژی |
29 |
16000 |
3736 |
Beijing PM2.5 |
محیطزیست |
9 |
35040 |
8760 |
انتخاب پارامترها بر نحوۀ عملکرد الگوریتم تأثیر میگذارد. ترکیبات مختلف پارامترها به انواع راهحلها منجر میشود. جدول (2) پارامترهای بهکاررفته در مدل پیشنهادی را نشان میدهد. روشهای مختلفی برای تنظیم پارامترهای الگوریتم ژنتیک وجود دارد؛ شامل روش آزمونوخطا، روش تاگوچی [35]، سیستمهای استدلال فازی [36]، روشهای هیوریستیک مبتنی بر آزمونهای آماری [37] و غیره. در این مقاله، از روش آزمونوخطا برای تنظیم پارامترها استفاده شده است. این روش به دلیل سادگی و امکان تنظیم پارامتر متناسب با مسئله انتخاب شده است.
جدول (2): پارامترهای بهکاررفته در مدل پیشنهادی
|
پارامتر |
مقادیر |
الگوریتم ژنتیک |
تعداد نسلها |
10 |
اندازۀ جمعیت |
5 |
|
نرخ ترکیب |
4/0 |
|
نرخ جهش |
1/0 |
|
نوع ترکیب |
ترکیب چندنقطهای |
|
بازه مربوط به تعداد تکرار |
50 تا 100 |
|
بازه مربوط به اندازۀ پنجره |
5 تا 20 |
|
بازه مربوط به تعداد نورونها |
10 تا 50 |
|
بازه مربوط به وزنهای توجه |
0 تا 1 |
|
واحد LSTM |
اندازۀ دسته |
128 |
تابع فعالساز |
تانژانت هیپربولیک |
|
نرخ حذف تصادفی[11] |
3/0 |
|
بهینهساز وزنهای شبکه |
Adam |
|
معیار سنجش دقت |
خطای میانگین مربعات |
بر طبق کارهای پیشین [2, 4, 7] برای ارزیابی عملکرد، از خطاهای جذر میانگین مربعات[12] (RMSE) [38]، جذر میانگین مربعات نرمالشده[13] (NRMSE) و خطاهایی مطلق میانگین[14] (MAE) بهعنوان معیارهای ارزیابی استفاده شده است که بهصورت زیر محاسبه میشوند.
(8) |
|
(9) |
|
(10) |
که در آن مقدار پیشبینی، مقدار واقعی، بردار مقادیر واقعی و تعداد نمونههای آزمون است.
پیادهسازی مدل پیشنهادی در محیط پایتون انجام شده است. برای پیادهسازی الگوریتم ژنتیک از الگوریتمهای توزیعشدۀ تکاملی در کتابخانه DEAP و بهمنظور پیادهسازی شبکههای عمیق بهکاررفته در آزمایش از کتابخانۀ تنسورفلو موجود در پایتون استفاده شده است. برای انجام ارزیابی، با توجه به اینکه مدل پیشنهادی یک نسخۀ عمیق از شبکه LSTM است، از نسخۀ عمیق شبکههای RNN، LSTM و GRU استفاده شده است. در ادامه، هر کدام از شبکهها بهطور مختصر توضیح داده میشوند.
DRNN: مقایسه با مدل RNN ساده نشاندهندۀ مقایسۀ مبتنی بر یادگیری ماشین است. در اینجا مقایسه با مدل RNN عمیق (DRNN)انجام شده است که مقایسۀ عمیق مبتنی بر یادگیری را نشان میدهد.
DLSTM: مقایسه با مدل LSTM عمیق (DLSTM) مقایسۀ عمیق مبتنی بر یادگیری را نشان میدهد. این روش در مرجع ساقیر و کوتب [4] برای سریهای زمانی تکمتغیره ارائه شده است که در این مطالعه، برای سریهای زمانی چندمتغیره توسعه داده شده است.
DGRU: مقایسه با مدل واحد گیتدار عمیق (DGRU) مقایسۀ عمیق مبتنی بر یادگیری را نشان میدهد. GRU شبیه به مدل اصلی LSTM است؛ به استثنای اینکه GRU فقط دو دروازه دارد. آزمایشهای DGRU معمولاً شبیه آزمایش DLSTM است.
برای انجام آزمایش، بهترین پارامترهای برای هر یک از مدلهای آزمودهشده، با الگوریتم ژنتیک به دست میآید. نحوۀ به دست آوردن پارامترها بهمنظور برقراری شرایط یکسان برای تمامی مدلها مشابه روش پیشنهادی به دست میآید؛ با این تفاوت که مدلهای مقایسهشده به غیر از روش پیشنهادی، وزنهای توجه را در کدکردن کروموزوم در نظر نمیگیرند. پارامترهای بهدستآمده با الگوریتم ژنتیک برای مدلهای آزمودهشده در جداول (3) تا (5) نشان داده شدهاند. این جداول، مقادیر مربوط به ابرپارامترهای تعداد تکرار، تعداد نورونهای هر لایه، اندازۀ پنجره را نشان میدهد که با الگوریتم ژنتیک برای هر یک از مجموعه دادهها انتخاب شده است. در جدول (6) علاوه بر پارامترهای بالا، مقادیر وزنهای توجه هر ویژگی نیز ازطریق مدل پیشنهادی به دست آمده است. با بررسی جداول (3) تا (6) نتایج زیر به دست میآیند:
جدول (3): مقادیر پارامترهای بهدستآمده با الگوریتم ژنتیک برای مدل DRNN
مجموعه داده |
تعداد تکرار |
اندازۀ پنجره |
تعداد نورونهای هر لایه |
SML2010 |
57 |
11 |
[ 45 , 26 , 37 ] |
100 |
14 |
[ 29 , 21 , 45 ] |
|
76 |
6 |
[ 31 , 21 , 45 ] |
|
Appliances energy prediction |
57 |
10 |
[ 45 , 26 , 37 ] |
83 |
10 |
[ 31 , 21 , 21 ] |
|
67 |
10 |
[ 20 , 47 , 36 ] |
|
Beijing PM2.5 |
83 |
10 |
[ 31 , 21 , 21 ] |
83 |
10 |
[ 42 , 47 , 36 ] |
|
76 |
10 |
[ 33 , 47 , 36 ] |
جدول (4): مقادیر پارامترهای بهدستآمده با الگوریتم ژنتیک برای مدل DLSTM
مجموعه داده |
تعداد تکرار |
اندازۀ پنجره |
تعداد نورونهای هر لایه |
SML2010 |
57 |
10 |
[ 45 , 26 , 37 ] |
83 |
10 |
[ 31 , 21 , 21 ] |
|
67 |
10 |
[ 20 , 47 , 36 ] |
|
Appliances energy prediction |
83 |
10 |
[ 31 , 21 , 21 ] |
83 |
10 |
[ 42 , 47 , 36 ] |
|
76 |
10 |
[ 33 , 47 , 36 ] |
|
Beijing PM2.5 |
76 |
10 |
[ 42 , 47 , 36 ] |
89 |
10 |
[ 32 , 21 , 45 ] |
|
57 |
10 |
[ 45 , 26 , 37 ] |
جدول (5): مقادیر پارامترهای بهدستآمده با الگوریتم ژنتیک برای مدلDGRU
مجموعه داده |
تعداد تکرار |
اندازۀ پنجره |
تعداد نورونهای هر لایه |
SML2010 |
81 |
6 |
[ 31 , 27 , 35 ] |
67 |
16 |
[ 20 , 37 , 46 ] |
|
89 |
7 |
[ 32 , 21 , 45 ] |
|
Appliances energy prediction |
76 |
11 |
[ 33 , 29 , 10 ] |
76 |
10 |
[ 33 , 29 , 10 ] |
|
67 |
11 |
[ 42 , 47 , 46 ] |
|
Beijing PM2.5 |
76 |
11 |
[ 33 , 29 , 10 ] |
83 |
16 |
[ 42 , 47 , 36 ] |
|
83 |
10 |
[ 42 , 47 , 36 ] |
جدول (6): مقادیر پارامترهای بهدستآمده با الگوریتم ژنتیک برای مدل پیشنهادی
مجموعه داده |
تعداد تکرار |
اندازۀ پنجره |
تعداد نورونهای هر لایه |
وزنهای لایۀ توجه |
SML2010 |
98 |
9 |
[ 37 , 38 , 43 ] |
[81/0, 54/0, 34/0, 54/0, 76/0, 48/0, 25/0, 18/0, 42/0, 64/0, 49/0, 56/0, 34/0, 33/0, 86/0, 98/0, 44/0, 95/0, 44/0, 81/0, 09/0, 9/0] |
67 |
8 |
[ 19 , 11 , 37 ] |
[1/0, 82/0, 66/0, 05/0, 31/0, 44/0, 1/0, 97/0, 72/0, 66/0, 05/0, 92/0, 42/0, 56/0, 5/0, 45/0, 19/0, 66/0, 73/0, 11/0, 23/0, 17/0] |
|
95 |
8 |
[ 19 , 18 , 39 ] |
[97/0, 11/0, 56/0, 05/0, 31/0, 44/0, 1/0, 97/0, 72/0, 66/0, 05/0, 92/0, 42/0, 56/0, 5/0, 45/0, 13/0, 1/0, 32/0, 61/0, 23/0, 17/0] |
|
Appliances energy prediction |
97 |
11 |
[ 30 , 22 , 25 ] |
[2/0, 14/0, 0, 7/0, 72/0, 32/0, 24/0, 22/0, 51/0, 03/0, 27/0, 19/0, 58/0, 31/0, 07/0, 69/0, 65/0, 56/0, 17/0, 48/0, 94/0, 53/0, 26/0, 63/0, 87/0, 97/0, 71/0] |
97 |
7 |
[ 36 , 38 , 49 ] |
[07/0, 14/0, 42/0, 22/0, 07/0, 7/0, 69/0, 82/0, 98/0, 58/0, 02/0, 71/0, 1, 1/0, 85/0, 96/0, 7/0, 74/0, 17/0, 39/0, 94/0, 3/0, 2/0, 81/0, 77/0, 75/0, 43/0] |
|
96 |
11 |
[ 15 , 15 , 29 ] |
[84/0, 27/0, 61/0, 43/0, 19/0, 76/0, 38/0, 48/0, 2/0, 82/0, 94/0, 43/0, 82/0, 61/0, 44/0, 08/0, 86/0, 86/0, 48/0, 73/0, 65/0, 77/0, 34/0, 92/0, 19/0, 95/0, 53/0] |
|
Beijing PM2.5 |
67 |
17 |
[ 18 , 32 , 36 ] |
[28/0, 22/.0, 88/0, 3/0, 88/0, 63/0, 0, 87/0] |
67 |
17 |
[ 18 , 32 , 21 ] |
[28/0, 22/.0, 88/0, 3/0, 88/0, 63/0, 0, 87/0] |
|
100 |
9 |
[ 29 , 34 , 21 ] |
[78/0, 41/0, 4/0, 08/0, 27/0, 94/0, 0, 49/0] |
در این بخش، عملکرد مدل پیشنهادی بر مجموعه آزمون نشان داده شده است. شکلهای (3) تا (5) مقادیر دادههای پیشبینی و دادههای واقعی را برای هر یک از مجموعه دادهها نشان میدهد. مشاهده میشود مدل پیشنهادی قادر است برای مجموعه دادههای SML10 و PM2.5 مقادیر بسیار نزدیکی به مقادیر واقعی به دست بیاورد.
Testing data |
Training data |
شکل (3): مقادیر پیشبینی با مدل پیشنهادی در مقابل مقادیر واقعی بر مجموعه داده SML10.
Testing data |
Training data |
شکل (4): مقادیر پیشبینی با مدل پیشنهادی در مقابل مقادیر واقعی بر مجموعه داده Energy
Testing data |
Training data |
شکل (5): مقادیر پیشبینی با مدل پیشنهادی در مقابل مقادیر واقعی بر مجموعه داده PM2.5
در این بخش مدل پیشنهادی با برخی مدلهای پایه مانند DRNN، DGRU و DLSTM مقایسه شده است. هر یک از روشهای مقایسهشده، پنج بار آموزش و آزمایش شدند و پیشبینیهای نهایی در جدول (7) نشان داده شدهاند که بهطور متوسط خطاهای تصادفی را کاهش میدهند. جدول (7) نشان میدهد مدل پیشنهادی ما توانسته است با بهرهگیری از معماری LSTM عمیق و افزودن لایۀ توجه، نتایج پذیرفتنی در هر سه مجموعه داده به دست آورد و برتری نسبی نسبت به سایر روشها داشته باشد.
با توجه به معیار RMSE و NRMSE، روش پیشنهادی در هر سه مجموعه داده، عملکرد بهتری داشته است. همچنین براساس معیار MAE، روش پیشنهادی توانسته است در دو مجموعه SML10 و PM2.5 رتبه اول را به خود اختصاص بدهد و تنها در مجموعه داده Energy رتبه دوم را کسب کرده است.
از نتایج مشخص است مدلهای مبتنی بر شبکه LSTM، در بیشتر اوقات بهتر از GRU و RNN عمل میکند و در رتبۀ اول نسبت به سایر شبکهها قرار دارد. تنها در مجموعه داده PM2.5، روش DGRU بهتر از DLSTM عمل کرده است؛ بنابراین، استفاده از شبکههای LSTM نسبت به سایر شبکهها به افزایش کیفیت پیشبینی در این مجموعه دادهها منجر شده است. همچنین نتایج نشان میدهند استفاده از لایۀ توجه در معماری شبکه به بهبود نتایج منجر شده است.
بهطور کلی، مدلها با عمقهای بیشتر قادرند ویژگیهای دادههای سری زمانی را بهطور کارآمد نشان دهند؛ بهویژه زمانی که دادههای سری زمانی با فواصل طولانیمدت و بسیار غیرخطی پردازش میشوند. همچنین انتخاب معماری مناسب برای شبکۀ عمیق ازطریق GA این قابلیت را دارد که مدلهایی با دقت بالاتری ایجاد کند. نیز بهکارگیری لایۀ توجه در شبکههای LSTM در کنار عمق بیشتر و بهینهسازی معماری شبکه در روش پیشنهادی، به یافتن راهحلهای بهتر نسبت به سایر روشها منجر میشود.
جدول (7): مقایسۀ مدل پیشنهادی با سایر مدلها
مدل |
مجموعه دادهها |
||||||||
SML10 |
Energy |
PM2.5 |
|||||||
RMSE |
MAE |
NRMSE |
RMSE |
MAE |
NRMSE |
RMSE |
MAE |
NRMSE |
|
DRNN |
0553/0 |
0470/0 |
0553/0 |
0677/0 |
0383/0 |
073/0 |
0456/0 |
0388/0 |
0456/0 |
DGRU |
0230/0 |
0190/0 |
0230/0 |
0688/0 |
0396/0 |
074/0 |
0383/0 |
0292/0 |
0383/0 |
DLSTM |
0169/0 |
0130/0 |
0169/ |
0665/0 |
0352/0 |
071/0 |
0451/0 |
0338/0 |
0451/0 |
Proposed Model |
0092/0 |
0067/0 |
0090/0 |
0657/0 |
0372/0 |
076/0 |
0261/0 |
0152/0 |
0261/0 |
در این بخش، زمان اجرای مدلهای مختلف بررسی شده است. شکل (6) زمانهای اجرای مدلهای مقایسهشده در آزمایش را بر مجموعه دادههای SML10، Energy و PM2.5 نشان میدهد. در شکل (6) مشاهده میشود زمان اجرای مدل پیشنهادی و مدل DLSTM نسبت به سایر مدلها بیشتر است. این موضوع به دلیل استفاده از شبکه LSTM در معماری این مدلهاست. شبکه LSTM نسبت به شبکههای RNN و GRU پیچیدگی بیشتری دارد. همچنین تمام مدلها به دلیل استفاده از الگوریتم ژنتیک برای یافتن ترکیب مناسب از پارامترها نسبت به حالتی که از الگوریتم ژنتیک استفاده نشود، زمان بیشتری صرف میکنند. در هنگام استفاده از الگوریتم ژنتیک با توجه به تعداد پارامترهای تعیینشده برای آن در بخش تنظیم پارامترها، حداکثر 3 فرزند جدید در هر تکرار ایجاد میشود. به عبارتی، حداکثر 30 بار مدل با پارامترهای مختلف، آموزش میبیند؛ به این معنی که زمان لازم برای یافتن ترکیب مناسب از پارامترها حداکثر 30 برابر حالتی است که پارامترها بهصورت تجربی مقداردهی میشوند. واضح است صرف زمان در هنگام آموزش، در صورتی پذیرفتنی است که زمان اجرا پذیرفتهشده باشد و دقت پیشبینی افزایش یابد؛ چون آموزش مدل، تنها یک بار انجام میشود و بارها از آن مدل برای پیشبینی استفاده میشود.
شکل (6): زمان اجرا
در این پژوهش، یک مدل LSTM عمیق تکاملی مبتنی بر توجه برای مسئلۀ پیشبینی سریهای زمانی چندمتغیره ارائه شد. نتایج آزمایش و ارزیابیهای انجامشده بر مجموعههای آزمون نشان میدهند مدل پیشنهادی قادر است با بهکارگیری پشتهای از لایههای LSTM، محدودیتهای معماری شبکۀ عصبی کمعمق را برطرف کند؛ بهویژه هنگامی که از مجموعه دادههای سری زمانی طولانی استفاده میشود. علاوه بر این، با بهکارگیری مکانیزم توجه، قادر است بهطور مؤثر از اطلاعات محلی در یک پنجرۀ نمونهبرداری با توجه به وزنهای مختلف توجه استفاده کند؛ بنابراین، بهکارگیری روش پیشنهادی در کاربردهای مرتبط ارجح است. برای ادامۀ پژوهش، میتوان دیگر پارامترها نظیر تعداد حذف تصادفی و اندازۀ دسته را نیز با الگوریتم ژنتیک بهینه کرد.
[1]تاریخ ارسال مقاله: 23/11/1398
تاریخ پذیرش مقاله: -/-/1399
نام نویسنده مسئول: محمد قاسم زاده
نشانی نویسنده مسئول: ایران – یزد –دانشگاه یزد – ساختمان فنی 1 - دانشکده مهندسی کامپیوتر
[1] Auto Regressive Moving Average
[2] Auto Regressive Integrated Moving Average
[3] exogenous series
[4] Support Vector Regression
[5] Temporal
[6] Recurrent Neural Network
[7] Gated Recurrent Unit
[8] sub window
[9] hyperbolic tangent
[10] Overfitting
[11] Dropout
[12] Root Mean Square Error
[13] Normalized Root Mean Square Error
[14] Mean Absolute Error