1- مقدمه
با توجه به اهمیت و حساسیت امر مهار آب های سطحی خصوصاً در کشور ما که اکثر رودخانههای مناطق مختلف فصلی بوده و کمبود آبی که در پهنه وسیعی از کشور وجود دارد ، نیاز به شناسایی و به مدل درآوردن رفتار رودها و شریانهای آبی جهت برنامهریزیهای بلندمدت و استفاده بیشتر و بهتر از پتانسیلهای آنها عمیقاً احساس میشود . جدیدالتاسیس بودن بیشتر ایستگاههای هیدرومتری ، نواقص موجود در آمار اکثر این ایستگاهها ، قرارگرفتن بیشتر رودها در مناطق خشک ، وضعیت بحرانی برداشت آبهای زیرزمینی و لزوم توجه بیشتر به آبهای سطحی همه و همه دلایل بیشتر و ظریفتری میباشد که به مقوله پیشبینی و تولید آمار مصنوعی در حوزه های آبریز کشورمان جلوه و نمودی کاملتر میبخشد .
روشهای متداول آماری و احتمالی بر پایه روابط و فرمولهای صرفاً ریاضی که به طور اخص به پیشبینی سریهای زمانی میپردازد ، از دیرباز مورد توجه مهندسین علوم آب قرار گرفته است . آنها با دستمایه قراردادن این بخش از علم آمار به تحلیل ، بررسی و شناخت رفتار رودخانهها میپرداختند . در این راستا نرمافزارهای مختلفی نیز تهیه وتنظیم شده که از مهمترین و بارزترین آنها میتوان SPIGOT و HEC4 را نام برد .
شبکه عصبی مصنوعی[1] نامی نوین در علوم مهندسی است که بهطور ابتدایی و آغازین درسال 1962 توسط فرانک روزن بلات و در شکل جدی و تأثیرگذار در سال 1986 توسط روملهارت و مککلند با ابداع و ارائه مدل پرسپترون بهبود یافته به جهان معرفی شد . این شیوه از ساختاری نرونی و هوشمند با الگوبرداری مناسب از نرونهای موجود در مغز انسان سعی میکند تا از طریق توابع تعریف شده ریاضی رفتار درونسلولی نرونهای مغز را شبیهسازی کند و از طریق وزنهای محاسباتی موجود در خطوط ارتباطی نرونهای مصنوعی ، عملکرد سیناپسی را در نرونهای طبیعی به مدل در آورد. ماهیت و ذات تجربی و منعطف این روش باعث میشود تا در مسائلی مانند مقوله پیش بینی که یک چنین نگرشی در ساختار آنها مشاهده میشود و از رفتاری غیرخطی و لجامگسیخته برخوردار هستند ، به خوبی قابل استفاده باشد .
2- شبکه های عصبی مصنوعی
2-1- مفاهیم پایه در شبکه های عصبی مصنوعی
یک نرون بیولوژیک با جمع ورودیهای خود که از طریق دندریتها با یک وزن سیناپسی خاص به نرون اعمال میشوند ، با رسیدن به یک حد معین تولید خروجی میکند . این حد معین که همان حد آستانه میباشد ، در حقیقت عامل فعالیت نرون یا غیر فعال بودن آن است .
با توضیحات فوق میتوان گفت که در مدلسازی یک نرون بیولوژیک به طور مصنوعی میبایست به سه عامل توجه شود :
نرون یا فعال است یا غیر فعال
خروجی تنها به ورودیهای نرون بستگی دارد
ورودیها باید به حدی برسند تا خروجی ایجاد گردد]1[.
2-2- شبکه عصبی پرسپترون[2] ساده
فرانک روزن بلات ، با اتصال این نرونها به طریقی ساده پرسپترون را ایجاد و ابداع کرد ، و برای نخستین بار این مدل را در کامپیوترهای دیجیتال شبیهسازی و آنها را به طور رسمی تحلیل نمود]1[.
2-3- شبکه عصبی پرسپترون چند لایه ) MLP ( [3]
در بسیاری از مسائل پیچیده ریاضی که به حل معادلات بغرنج غیر خطی منجر میشود ، یک شبکه پرسپترون چند لایه میتواند به سادگی با تعریف اوزان و توابع مناسب مورد استفاده قرارگیرد . توابع فعالیت مختلفی به فراخور اسلوب مسئله در نرون ها مورد استفاده قرار میگیرد . در این نوع شبکهها از یک لایه ورودی جهت اعمال ورودیهای مسئله یک لایه پنهان و یک لایه خروجی که نهایتاً پاسخهای مسئله را ارائه مینمایند ، استفاده میشود.
گرههایی که در لایه ورودی هستند ، نرونهای حسی[4] و گرههای لایه خروجی ، نرونهای پاسخ دهنده[5] هستند . در لایه پنهان نیز ، نرونهای پنهان[6] وجود دارند]2[.
آموزش اینگونه شبکهها معمولاً با روش پس انتشار خطا[7] انجام میشود . نمونهای از یک شبکه پرسپترون چند لایه در زیر نمایش داده شده است . شکل (1).
شبکههای پرسپترون چند لایه میتوانند با هر تعداد لایه ساخته و به کار گرفته شوند ، ولی قضیهای که ما در اینجا بدون اثبات می پذیریم بیان میکند که یک شبکه پرسپترون سه لایه قادر است هر نوع فضایی را تفکیک کند . این قضیه که قضیه کولموگوروف[8] نامیده میشود ، بیانگر مفهوم بسیار مهمی است که میتوان در ساخت شبکههای عصبی از آن استفاده کرد]1[.
نوع خاصی از شبکههای عصبی چند لایه به نام پرسپترون تک لایه
) SLP ([9]میباشد . این شبکه از یک لایه ورودی و یک لایه خروجی تشکیل شده است .
3- شرح تحقیق
با توجه به حساسیت بالای شبکههای عصبی به نوع اطلاعات مورد استفاده و همبستگی ورودیهای شبکه با یکدیگر و متعاقب آن با خروجیهای مربوطه جدای از بحث نوع شبکه و کاربرد آن به عنوان ابزاری جهت تولید جریان مصنوعی میبایست دید و نگرشی درست و صحیح نسبت به اطلاعات در دسترس و چگونگی سازماندهی آنها برای آموزش و استفاده از شبکه داشته باشیم . هر نوعی از اطلاعات با بازههای زمانی مختلف لزوماً ما را به سمت هدف مطلوب هدایت نمیکند . در مسائل هیدرولوژیک با توجه به طرح مسئله و اهدافی که از ایجاد شبکه خواهیم داشت نوع آمار از حیث دقت زمانی ( روزانه ، هفتگی ، ماهیانه )متفاوت میباشد . این فاکتور یکی از عوامل مهم و قابل بحث در کاربرد شبکههای عصبی به منظور طرحهای مدیریتی در حوزه منابع آب خواهد بود . علاوه بر آن همبستگی و تاًثیر متقابل ایستگاههای ثبت آمار بر یکدیگر را نیز میتوان به عنوان عامل مهم دیگری در این مبحث معرفی و ارزیابی کرد .
در این قسمت سعی شده در دو بخش مجزا، در دو حوزه آبریز متفاوت، یکبار با آمار ماهیانه و یکبار با آمار روزانه به تولید جریان مصنوعی با بهکارگیری شبکه عصبی پرداخته شود واز این طریق با ارزیابی پاسخهای کسب شده از شبکه علاوه بر تولید جریان مصنوعی نوع آمار به کاررفته و تاًثیر آن بر شبیهسازی جریان مصنوعی نیز بررسی گردد.
3-2- استفاده از دادههای ماهیانه
یک دوره 45 ساله از سال 1330تا 1374 از رودخانههای کشفرود (ایستگاه آقدربند ) و هریرود (ایستگاه پلخاتون ) در دسترس میباشد که جهت تولید جریان مصنوعی ، با توجه به شکل و نوع شبکه مورد استفاده، به کار گرفته خواهد شد]4[.
شبکه به کار گرفته شده یک شبکه پرسپترون چندلایهMLP)) است که به صورت پیشخور[10]عمل میکند و در سه لایه ( یک لایه ورودی ، یک لایه میانی و یک لایه خروجی ) طراحی شده است . تعداد نرونهای لایه ورودی سه نرون میباشد که متعاقب آنها سه ورودی به شبکه القاء خواهد شد و خروجی شامل یک نرون است که همان جریان مصنوعی تولید شده در ماه میباشد در لایه میانی نیز ، نُه نرون وجود دارد . نرونهای لایه میانی از توابع تبدیل تانژانت سیگموئید و نرون های لایه خروجی از توابع تبدیل خطی به منظور تابع فعالیت استفاده می کنند و متد آموزش شبکه پس انتشار خطا می باشد .
ساختار شبکه بدین گونه است که و و به عنوان ورودی به شبکه القاء می شوند و شبکه نهایتا را نتیجه خواهد داد .
جریان ماهیانه در کشفرود در ماه= و جریان ماهیانه در هریرود در ماه= و جریان ماهیانه در هریرود در ماه= و جریان ماهیانه در کشفرود در ماه = می باشند .
برای آموزش شبکه از آمار ماهیانه سالهای 1330 تا 1365 ایستگاههای کشفرود و هریرود به مدت 36 سال استفاده شده است . این آمار با توجه به دستهبندی گفته شده 431 دسته ورودی ایجاد می کنندکه نهایتاً شبکه با توجه به حالات مختلف ورودیها و 431 خروجی متناظر با هر دسته از آنها وزنهای مرتبط بین نرونها را شناسایی و تثبیت میکند . روند نزول کمیت میانگین مربع خطا ) (MSE پس از500 سیکل آموزش بر روی عدد 953/23 ثابت می شود که چندان عدد مطلوبی نیست که این شبکه نتایج مورد انتظار ما را فراهم نیاورد .
مهمترین مرحله در کار با سیستم هوشمند عصبی ،تست شبکه می باشد در این قسمت هشت سال اطلاعات ماهیانه رودخانه کشفرود شبیهسازی شده و با آمار واقعی مقایسه میگردد و از این طریق کفایت شبکه برای تولید جریان مصنوعی تایید یا نقض میشود .
با بررسی نتایج حاصله میبینیم که پارامتر همبستگی مطلوبی از تست شبکه حاصل نمیگرددو رابطه رگرسیون بین نتایج شبکه و مقادیر واقعی ماهیانه رودخانه کشفرود بیانگر عدم انطباق مناسب نتایج شبکه با مقادیر واقعی می باشد]5[.
A=0.453T+4.22 و R=0.554
3-3- استفاده از دادههای روزانه
حوزه آبریز معرف کارده ، سرشاخه رود کارده و در محدوده شهرستان مشهد میباشد . این حوزه ، معرف حوزههای آبریز شمال خراسان به شمار میرود . رودخانه کارده زهکش اصلی این حوزه را تشکیل میدهد که از شمال به جنوب جریان دارد حوزه معرف کارده دارای دو ایستگاه هیدرومتری جُنگ و کارده میباشد که میزان آب در داخل حوزه و خروجی حوزه را اندازهگیری میکنند]6[.
برای استفاده از دادههای روزانه ازیک شبکه پروسپترون چند لایه ) MLP ( استفاده شده است که رفتار آن به شکل پیشخور میباشد . این شبکه از سه لایه ; ورودی ، میانی و خروجی تشکیل شده است . در لایه ورودی با توجه به تعداد ورودیها که پنج عدد میباشد ، پنج نرون نیز خواهیم داشت در تنها لایه میانی نُه نرون وجود دارد . توابع تبدیل این نرونها تانژانت سیگموئید است و نهایتاً تنها خروجی شبکه جریان روزانه رودخانه میباشد که متناظر با آن یک نرون خروجی خواهیم داشت که تابع تبدیل آن نیز یک تابع تبدیل خطی است نحوه آموزش شبکه متد پسانتشار خطا میباشد . لازم به ذکر است که این روش آموزشی نیز در الگوریتمها و فرمهای متعددی ارائه شده است . از بهترین و مؤثرترین روشها که در بسته نرمافزاری MATLAB نیز موجود میباشد ، روش Marquardt - Levenberg است که به اختصار در محیط MATLAB به نام Lm شناخته میشود و به شدت سرعت همگرایی را افزایش میدهد و به نتیجهگیری سرعت میبخشد .
همانگونه که ذکر شد ، شبکه مورد نظر از پنج نرون ورودی تشکیل شده است که به صورت زیر میباشد :
جریان روزانه در ایستگاه A در روز= ,جریان روزانه در ایستگاه A در روز=,جریان روزانه در ایستگاه A در روز=,جریان روزانه در ایستگاه B در روز =و جریان روزانه در ایستگاهB در روز=
خروجی شبکه نیز جریان روزانه در ایستگاه A میباشد :
جریان روزانه در ایستگاه A در روز =
هر کدام از رودخانههای کارده و جنگ به ترتیب به جای A و B در ترکیب بالا قرار میگیرند. به عبارتی در دو شبکه مجزا ، یکبار جریان در ایستگاه کارده و یکبار جریان در ایستگاه جنگ شبیهسازی و تولید میگردد . برای آموزش شبکه از آمار روزانه سالهای 1372 و 1373 ایستگاههای کارده و جنگ به مدت دو سال استفاده شده است . با توجه به فرم اطلاعات ورودی تعداد 727 دسته ورودی ایجاد میشود که متناظر با هر دسته یک خروجی نیز ایجاد خواهد شد که نهایتاً 727 خروجی نیز خواهیم داشت . با تنظیم و تطبیق شبکه با این تعداد ورودی و خروجی در نهایت شبکه هوشمند شده و بهترین وزنها را برای خطوط ارتباطی خود شناسایی و تثبیت خواهدکرد .
در هر کدام از شبکهها جهت همگرایی بهتر و رسیدن به حداقل خطا، آموزش در 400 سیکل انجام شده است روند نزول کمیت میانگین مربع خطا MSE درشبکه مربوط به کارده در عدد 00545/0 و در شبکه مربوط به جنگ در عدد 0026/0 تقریباً ثابت میشود که با توجه به میزان MSE ها میتوان نتایج را رضایتبخش دانست .
همانگونه که ذکر شد ، مهمترین قسمت در کار با شبکههای عصبی ، مرحله تست یا آزمایش شبکه است که در واقع دراین مرحله عملکرد شبکه مشخص میشود . برای این قسمت ، از اطلاعات دوسال 73 و 74 استفاده شده است و به کمک این اطلاعات دو شبکه مورد بحث برای ایستگاه کارده و جنگ به آزمون گذاشته میشوند . پارامتر همبستگی و رابطه رگرسیون بین نتایج شبکه و مقادیر واقعی درایستگاه کارده برای اطلاعات آزمایشی نمایانگر عملکرد مطلوب شبکه می باشد .