آموزش بدون نظارت شبكه عصبي RBF به وسيله الگوريتم ژنتيك محمدصادق محمدي دانشكده فني دانشگاه گيلان Email: m.s.mohammadi@gmail.com چكيده - در اين مقاله روشي كار آمد براي آموزش شبكه هاي عصبي RBF به كمك الگوريتم ژنتيك مطرح شده است. كارآمد ترين نوع آموزش اين شبكه ها استفاده از روش هاي تركيبي است. در كليه اين روش ها يك بخش بدون نظارت وجود دارد كه از آن براي تنظيم پارامتر هاي طبقه RBF اين شبكه ها استفاده مي شود. در مواردي كه حجم داده هاي آموزش زياد است معمولا از روش هاي خوشه بندي براي كاهش داده هايي كه شبكه با آن ها مواجه است استفاده شود. در اين مقاله مي خواهيم از الگوريتم ژنتيك براي انتخاب بهينه مراكز توابع RBF در لايه پنهان شبكه به كمك يك رهيافت معكوس استفاده نماييم. با توجه به اين نكته كه هم خوشه بندي و هم الگوريتم هاي تكاملي بر مبناي تكرار و صرف وقت هستند لذا استفاده از الگوريتم ژنتيك در مورد زمان آموزش تفاوت زيادي نمي كند اما اگر بتوان خطاي تست شبكه را از اين طريق كاهش داد كارايي آن بارز مي شود. در پايان نتايج با روش هاي ديگر خوشه بندي همچون روش K-Means و خوشه بندي سلسله مراتبي بر مبناي فاصله اقليدسي مقايسه شده است. كاهش چشمگير خطاي تست شبكه حاكي از عملكرد مناسب اين شيوه آموزش است. كليد واژه- آموزش بدون نظارت الگوريتم ژنتيك خوشه بندي شبكه عصبي RBF 1- مقدمه يكي از قدرتمند ترين شبكه هاي عصبي مورد استفاده در مساي ل تخمين تابع شبكه عصبي RBF است. اين نوع شبكه نسبت به شبكه هاي عصبي پرسپترون پيشخوردي مزاياي استراتژيكي دارد [1],[12]. بر خلاف شبكه هاي MLP كه داراي لايه هاي متوالي متعددي هستند شبكه RBF از سه لايه ثابت تشكيل شده است. لايه ورودي كه محل تزريق سيگنال هاي ورودي به شبكه است لايه مياني يا طبقه RBF كه شامل توابع RBF مي شود و لايه خروجي كه تركيبي خطي از كليه خروجي هاي طبقه RBF را مي سازد. در اكثر موارد از توابع گوسي در لايه RBF استفاده مي شود كه اين توابع با دو پارامتر مركز گوسي و وواريانس يا ميزان گستردگي گوسي شناسايي مي شوند. ساختمان يك شبكه RBF در شكل 1 مشاهده مي شود. عملياتي كه در اين شبكه انجام مي شود در فرم ماتريسي به صورت (1) و (2) است. شكل : 1 ساختار شبكه عصبي RBF N d i ( P) = ϕ j( P). wij j= 1 1 ϕ j = Exp( 2 2 P C j σ j 2 ) (1) (2) 1
كه در آن (P) d i خروجي i ام شبكه و ϕ j j RBF ام به ازاي بردار ورودي P است. خروجي گره نيز اتصال w ij سيناپسي ميان آن دو است. تعداد كل نورون هاي لايه پنهان نيز N است. بردار C j را مركز گوسي مي ناميم و نيز مشخص كننده ميزان گستردگي گوسي است. σ j با توجه به اين ساختمان آموزش شبكه RBF عبارت است از يافتن مقادير مناسبي براي مراكز و گستردگي گوسي ها و همچنين وزن هاي لايه خطي آخر. تعداد گره هاي RBF در لايه مياني نيز بايد مشخص شود. علاوه بر سادگي ساختار شبكه عصبي RBF مي تواند هر تابعي را با در نظر گرفتن شرايط محدودي تقريب بزند كه اهميت آن را در مساي ل تخمين تابع دو چندان مي كند[ 1],[12 ]. در كاربرد هاي عملي اين شبكه ها حالت هاي متعددي پيش مي آيد كه ما با تعداد بسيار زيادي از بردار هاي آموزش دهنده مواجه مي شويم و مجبور هستيم به گونه اي حجم داده هايي را كه براي آموزش شبكه به آن ها نياز داريم را كاهش دهيم[ 4 ]. در اكثر مواقع از روش هاي تركيبي براي آموزش اين شبكه ها استفاده مي شود كه شامل دو بخش بدون نظارت و تحت نظارت مي شود [7],[3],[2]. از بخش بدون نظارت براي تنظيم پارامتر هاي RBF و از بخش تحت نظارت براي تنظيم وزن هاي اتصالات طبقه خطي شبكه استفاده مي شود. يكي از پر اسفاده ترين عملياتي كه در بخش بدون نظارت اين روش ها براي فشرده سازي اطلاعات آموزش دهنده استفاده مي شود خوشه بندي الگو ها است كه به كمك آن به جاي استفاده از تك تك الگو هاي آموزش دهنده آن ها را درون تعداد معيني خوشه در نظر مي گيريم و از مختصات مركز خوشه كه برآيندي از كليه الگوهاي موجود در خوشه است استفاده مي كنيم. در اين صورت تعداد الگو هاي آموزش كه ما با آن ها مواجهيم از تعداد الگوي موجود به تعداد خوشه ها كاهش مي يابد. با توجه به حساسيت شبكه RBF به پارامتر هايRBF اهميت اين بخش از آموزش شبكه نيز بيشتر مورد توجه قرار مي گيرد. ما ابتدا به معرفي الگوريتم ژنتيك مورد استفاده براي آموزش بدون نظارت شبكه RBF مي پردازيم و سپس جزي يات روش پيشنهادي را بررسي مي كنيم و در نهايت نتايج عملكرد شبكه را براي حل يك مساله تخمين تابع در دو حالت متفاوت مقايسه مي كنيم. حالت اول استفاده از روش خوشه بندي و روش دوم استفاده از الگوريتم ژنتيك براي آموزش شبكه است. -2 صورت مساله اگر از روش هاي تركيبي براي آموزش شبكه RBF استفاده شود كه در اكثر مواقع چنين است[ 11 ] در بخش بدون نظارت آموزش شبكه بايد پارامتر هاي مربوط به لايه RBF تنظيم شوند. اين پارامتر ها عبارتند از تعداد واحد هاي RBF در اين لايه ميزان گستردگي هر يك از توابع گوسي و موقعيت مركز هر گوسي. در روش آموزش بدون نظارت ما با يك سري مشاهده به صورت نقاطي منفرد در فضاي داده ها مواجه هستيم كه بايد پارامتر هاي مطلوب را با توجه به ويژگي ها و تفاوت هاي اساسي در بين اين مشاهدات بدست آوريم. در اين مرحله براي تنظيم پارامتر هاي RBF مي توانيم سه استراتژي متفاوت را اتخاذ كنيم كه ممكن است تنها يكي از آن ها موجب حل درست مساله گردد[ 1 ]. استراتژي اول انتخاب تصادفي تعدادي از مشاهدات در فضاي داده ها و در نظر گرفتن مختصات هر الگو به عنوان مركز يك گوسي است. همچنين مي توان از يك مقدار ثابت براي گستردگي تمام گوسي ها استفاده كرد. در روش دوم از يك عمليات تحت نظارت تصحيح خطا كه معمولا از نوع نقصان گراديان و حالت جامع تري از الگوريتم LMS است استفاده مي شود و به كمك آن مينيمم كردن مجموع مربعات تفاضل ورودي ها و خروجي ها صورت مي گيرد. در روش سوم از عمليات خوشه بندي استفاده مي شود. شبكه هاي RBF با وجود اين كه در كل عمليات تخمين تابع را به صورت جامع انجام مي دهند ولي از واحد هايي تشكيل شده اند كه به صورت موضعي و محلي عمل مي كنند. ميزان پوشش هر واحد روي فضاي داده ها توسط پارامتر گستردگي يا واريانس گوسي مورد استفاده در RBF تعيين مي شود و موقعيت تحط پوشش آن همان مختصات مركز گوسي است. پس از انجام خوشه بندي نيز داده ها به نواحي خاصي از فضاي داده تقسيم ميشوند لذا به راحتي مي توان پارامتر هاي RBF را پس از خوشه بندي از روي موقعيت مركز و ميزان گستردگي خوشه ها به دست آورد. پس از به دست آمدن پارامتر هاي لايه RBF يعني تعداد موقعيت مركز و ميزان گستردگي هر يك از توابع گوسي مي توان وزن هاي لايه خطي خروجي شبكه RBF را با يك روش تحت نظارت همچون قاعده دلتا مربوط به آموزش SLP و يا 2
استفاده از روش شبه معكوس به دست آورد.(مرجع [1] را ببينيد) ما در اين مقاله نتايج آموزش به وسيله الگوريتم ژنتيك را با آموزش بدون نظارت به كمك دو روش خوشه بندي يعني خوشه بندي K Means و خوشه بندي سلسله مراتبي بر مبناي فاصله اقليدسي مقايسه كرده ايم. در هر سه رهيافت براي آموزش وزن هاي لايه آخر از روش شبه معكوس استفاده شده است[ 1],[2 ]. -3 داده هاي مساله براي تست نمودن روشي كه اراي ه خواهد شد يك مثال تخمين تابع را در نظر مي گيريم. در اين مساله 100 جفت الگوي ورودي خروجي داريم كه در آن ها هر خروجي تابعي نامعلوم از بردار دو بعدي ورودي است. يعني ورودي ها به صورت يك ماتريس 2 100 و خروجي ها به صورت يك ماتريس 1 100 است. اين 100 الگو را به منظور آموزش شبكه در نظر مي گيريم. به طور مشابه 100 الگوي ديگر نيز داريم كه از آن ها به منظور تست كارايي شبكه آموزش ديده استفاده مي كنيم. -4 خوشه بندي بهينه T فرض كنيد ] in X i = [x i1, x i2, x i3,,x يك بردار باشد و A مجموعه اي m عضوي از اين بردار ها باشد. پارامتر c j را مركز جرم يا به اختصار مركز خوشه S j مي ناميم وآن را به صورت زير تعريف مي كنيم: K K c j = (( xk1) / K,...,( xkn) / K) (3) k = 1 k = 1 كه در آن K تعداد بردار هاي موجود در خوشه S j است. همچنين پارامتر d uv را به صورت زير در نظر مي گيريم: d n 2 uv = D(X u,x v) = (xuk - xvk) k= 1 (4) كه مشخص كننده فاصله اقليدسي دوبر دار X u و X v است. ممكن است چگالي داده ها در همه فضاي داده يكسان نباشد و در بعضي نواحي بيشتر يا كمتر باشد. يكي از حالات نامساعد در انتخاب موقعيت مراكز گوسي ها در لايه RBF وضعيتي است كه مراكز گوسي روي هم يا نزديك هم قرار مي گيرند. در اين صورت با وجود در نظر گرفتن دو گوسي متفاوت در اين لايه عملا از وجود يكي از آن ها ) گوسي بزرگتر) استفاده مي شود. در بعضي مواقع هم همپوشاني گوسي ها بيش از حد مطلوب است كه در اين مورد هم كارايي آن ها از بين مي رود. در نتيجه موقعيت مراكز بايد به گونه اي تنظيم شود كه تاحد ممكن به تمام الگو ها نزديك باشد و در عين حال بيشترين فاصله اقليدسي را تا مركز خوشه هاي مجاور داشته باشد. در ضمن براي افزايش خاصيت تعميم دهي شبكه عصبي لازم است خوشه ها با هم به ميزان منطقي همپوشاني نيز داشته باشند. 5- مروري بر الگوريتم ژنتيك اساس كار الگوريتم ژنتيك جستجوي تصادفي است. با اين وجود الگوريتم ژنتيك مي تواند در اكثر موارد به نزديك جواب بهينه همگرا شود. الگوريتم ژنتيك نسبت به روش هاي كلاسيك بهينه سازي تفاوت هايي دارد ازجمله اين كه به جاي شروع از يك نقطه در مجموعه جواب ها از چندين نقطه به طور همزمان به جستجوي پاسخ مي پردازد كه اين باعث جلوگيري از افتادن الگوريتم در مينيمم هاي محلي مي شود. همچنين با خود تابعي كه بايد مينيمم شود روبرو مي شود و نيازي به مشتقات آن ندارد لذا شامل پيچيدگي هاي محاسباتي يا محاسبات اضافي نمي شود. و در نهايت اين كه از قواعد آماري به جاي قواعد صريح استفاده مي كند كه اين خصوصيات بر قدرت آن مي افزايد. 6- تحقق الگوريتم ژنتيك براي استفاده از الگوريتم ژنتيك بايد مراحل زير انجام شود: - فرموله سازي مساله - كد بندي كروموزوم ها - توليد جمعيت اوليه - تعريف تابع هدف - عمليات ادغام (تقاطع) دو كروموزوم - عمليات جهش - انتخاب والدين براي توليد كروموزوم جديد براي اطلاعات بيشتر به مراجع[ 9 ] و [11] مراجعه كنيد. در ادامه به توضيح هر يك از موارد فوق مي پردازيم. 3
1-6- فرموله نمودن مساله و كدگذاري براي انجام خوشه بندي دو شيوه متفاوت را مي توانيم مد نظر قرار دهيم. مي توانيم مختصات خوشه ها را از روي داده ها محاسبه كرده نقاط جديدي را پيدا كنيم يا اين كه مراكز خوشه ها را از ميان داده ها انتخاب كنيم. اين دو روش در مرجع [8] مقايسه شده اند و ما از روش دوم استفاده مي كنيم. فرض كنيد مجموعه A از داده هاي آموزش وجود دارد كه شامل m بردار مي شود. هدف انتخاب J بردار از اين بردار ها است كه بهترين شرايط را داشته باشند. مي توانيم از كدبندي باينري[ 11 ] يا صحيح استفاده كنيم. كروموزومي به طول J در نظر مي گيريم كه هر ژن در آن عددي طبيعي بين 1 و m است. اين عدد بيان كننده انديس برداري است كه در مجموعه A به عنوان مركز خوشه در نظر گرفته مي شود.(شكل 2 ) در نظر گرفته بوديم آزمايش مي كنيم. براي اين كروموزوم از رابطه زير بدست مي ايد: مقدار تابع هدف F = Error = MSE( T Output) (5) در رابطه فوق Output خروجي شبكه به ازاي ورودي هاي تست و T ميزان اصلي اين مقادير است. تابع MSE ميانگين مربع خطاي اين دو بردار را مي دهد. -3-6 توليد جمعيت اوليه در مرحله اول يك جمعيت P عضوي اوليه از اين افراد به صورت تصادفي توليد مي كنيم. تعداد اعضاي جمعيت متناسب با طول كروموزوم ها است. اگر طول كروموزوم يا تعداد متغير هاي مجهول مساله بيشتر شود بايد جمعيت اوليه نيز بزرگتر باشد. هر يك از اعضاي جمعيت يك جواب مساله است. 4-6- اوپراتور ادغام شكل : 2 كدبندي كروموزوم ها با استفاده از مقادير صحيح بدين ترتيب طول كروموزوم با تعداد خوشه ها يا تعداد واحد هاي RBF در لايه پنهان برابر است. -2-6 تابع هدف تابع هدف تابعي است از كروموزومي كه به عنوان آرگومان به آن داده مي شود. و مي خواهيم مقدار آن را مينيمم كنيم. پارامتري كه ما به دنبال مينيمم كردن آن هستيم خطاي تست شبكه است و استفاده مستقيم از آن در اينجا مفيد است[ 10 ]. در واقع در اينجا مي خواهيم به كمك تابع هدف و استفاده از روش تكاملي با يك رهيافت معكوس مراكز توابع گوسي را به طور خودكار و بدون خوشه بندي به سوي نقاط بهينه هدايت نماييم. با استفاده از انديس هايي كه در كروموزوم مشخص شده مختصات مراكز گوسي ها در هر واحد RBF مشخص مي شود. سپس به روش نزديك ترين همسايه مرتبه دوم (مرجع [3]) ميزان گستردگي هر يك از گوسي ها را بدست مي آوريم. در نهايت وزن هاي طبقه آخر را به شيوه شبه معكوس پيدا مي كنيم. در اين مرحله شبكه آموزش ديده را با 100 الگويي كه براي تست اوپراتور ادغام را به صورت پخشي در نظر مي گيريم به اين صورت كه ابتدا يك ماسك باينري به طول كروموزوم به صورت تصادفي توليد مي كنيم كه به ترتيب مشخص مي كند كه فرزند كدام ژن را از كداميك از والدين به ارث مي برد. عدد صفر مشخص كننده كروموزوم اول است و عدد يك براي كروموزوم دوم استفاده مي شود. براي مثال در شكل 3 وقتي ماسك maskx را براي والدين Parent1 و Parent2 در نظر بگيريم حاصل OffspringX خواهد بود. شكل 3 ( نحوه انجام اوپراتور ادغام(تقاطع) پخشي -5-6 اوپراتور جهش براي پرهيز از مينيمم هاي محلي و همچنين گسترش 4
فضاي جستجو در الگوريتم از اوپراتور جهش استفاده مي شود. نرخ جهش نبايد خيلي زياد باشد چون موجب كندي يا واگرايي الگوريتم مي شود. هر چند اين مقدار كم باشد ولي نبايد آن را صفر در نظر گرفت. در اينجا اوپراتور جهش به اين صورت است كه در كروموزومي كه براي جهش انتخاب شده يك موقعيت به صورت تصادفي انتخاب مي كنيم سپس يك عدد تصادفي بين 1 و كل تعداد داده هاي موجود در مجموعه A يعني m توليد مي كنيم و ژن مورد نظر را به اين مقدار جديد تغيير مي دهيم.(شكل 4) مشاهده مي شود. شكل : 4 اوپراتور جهش براي مقادير صحيح 7- نتايج شبيه سازي الگوريتم فوق به همراه دو روش خوشه بندي [1] K-Means و خوشه بندي سلسله مراتبي بر مبناي فاصله اقليدسي( Based Heuristic Euclidean Distance [5],[7](Clustering روي 100 الگوي ورودي خروجي كه براي آموزش شبكه در نظر گرفته بوديم پياده سازي شد. در هر سه شبكه از الگوريتم نزديك ترين همسايه مرتبه دوم براي محاسبه ميزان گستردگي (واريانس) هر گوسي و از روش ماتريس شبه معكوس براي به دست آوردن وزن هاي لايه آخر استفاده شده است. سپس هر سه شبكه RBF به وسيله 100 الگوي تست كه قبلا در نظر گرفته بوديم آزمايش شدند. طول كروموزوم ها يا تعداد واحد هاي RBF را 6 در نظر مي گيريم. در دو الگوريتم ديگر نيز با تنظيم پارامتر دقت تعداد خوشه ها را 6 در نظر مي گيريم. ما به كمك دو روش خوشه بندي كه ذكر شد موقعيت مناسب مراكز RBF را محاسبه كرديم و مختصاتي كه براي مراكز به دست آورديم نقاط جديدي بودند كه لزوما در بين داده هاي ورودي وجود نداشتند اما در روش الگوريتم ژنتيك تعدادي از نقاط موجود در داده هاي ورودي را انتخاب نموديم. مختصات مراكز خوشه ها و ميزان گستردگي هر يك از آن ها كه در هر روش به دست آمده در دياگرام 5 شكل : 5 الگوي پوشش روي فضاي ورودي كه به وسيله سه روش متفاوت به دست آمده است. در هر دياگرام مراكز RBF انتخاب شده به همراه ميزان گستردگي آن ها نما يش داده شده است. 5
در شكل 6 نمودار هاي مربوط به تست سه شبكه ديده مي شود. در هر نمودار مقادير اصلي و تخميني به وسيله شبكه RBF مربوطه كه با 20 الگو تست شده مشاهده مي شود. ميزان خطاي MSE براي 100 الگوي تست براي روش ژنتيك 0.04 روش خوشه بندي بر مبناي فاصله اقليدسي 0.16 و براي روش خوشه بندي K-Means 0.18 به دست آمد كه نشان دهنده برتري روش اول مي باشد. مراجع [1] S. Haykin, "Neural networks: A Comprehensive Foundation", 2nd ed., Upper Saddle River, NJ: Prentice- Hall, 1999. [2] علي كرمي و محمدصادق محمدي "پخش بار بلادرنگ با استفاده از شبكه عصبي "RBF بيستمين كنفرانس بين المللي برق( PSC2005 ) تهران آبان 1384. [3] Nicolaos B Karayiannis, Mi Glenn Weiqun, "Growing Radial Basis Neural Networks: Merging Supervised and Unsupervised Learning with Network Growth Techniques" IEEE Trans. on Neural Networks, Vol. 8, No. 6, 1997, pp. 1492-1506 [4] Jau-Jia Guo and Peter B. Luh, "Selecting Input Factors for Clusters of Gaussian Radial Basis Function Networks to Improve Market Clearing Price Prediction", IEEE Trans. on Power systems Part B: Cybernetics, Vol. 18, No. 2, 2003, pp. 665-672. [5] علي كرمي و محمدصادق محمدي "پخش بار بلادرنگ با استفاده از شبكه عصبي RBF با درنظر گرفتن ساختار متغير سيستم قدرت" چهاردهمين كنفرانس مهندسي برق ايران تهران ارديبهشت 1385. [6] Qin Ding and Jim Gasvoda, A Genetic Algorithm for Clustering on Image Data, International Journal of Computational Intelligence Vol. 1 No. 1 2004 [7] Y.-H. Pao, Sobajic, "Combined Use of Unsupervised and Supervised Learning for Dynamic Security Assessment", IEEE Trans. on Power Systems, Vol. 7, No. 2, 1992, pp. 878-884. [8] udmila I. Kuncheva, J. C. Bezdek Nearest Prototype Classification: Clustering, Genetic Algorithms, or Random Search? IEEE Trans. on Systems, MAN, and Cybernetics - Part C.Vol. 28, No. 1,1998. [9] D.E. Goldberg, Genetic algorithms in search, optimization and machine learning, Addison-Wesley, Reading, MA, 1989. [10] B.A. Whitehead, T.D. Choate, Evolving Space-Filling Curves to Distribute Radial Basis Functions Over an Input Space. IEEE Trans. on Neural Networks Vol. 5, No. 1, 1994, pp.15 23. [11] X. Yao, Evolving artificial neural networks, Proc. IEEE, Vol. 87, No.9, pp. 1423 1447, Sept. 1999. [12] C. Christodoulou, M. Georgiopoulos, "Applications of Neural networks in Electromagnetics", Artech House Publishers, 2001. شكل : 6 مقايسه خروجي شبكه آموزش ديده با مقادير اصلي به ازاي 20 الگوي تست براي سه شبكه عصبي. 6