شبكه پرسپترون چندلايه (MLP) و شبكه (RBF)دوشنبه 26, آوریل 2021
شبكه پرسپترون چندلايه (MLP) و شبكه (RBF)
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را رایگان یاد خواهیم داد. با ما همراه باشید.
شبكه پرسپترون چندلايه (MLP) و شبكه (RBF)
شبكههاي عصبي زير مجموعهاي از تكنيكهاي هوش مصنوعي هستند كه امروزه در طيف وسيعي براي بكارگيري در حل بسياري از مسائل، شامل حافظههاي ارتباط دهنده، بهينهسازي، پيشبيني، تشخيص و كنترل رايج شدهاند.
ساختار و عملكرد ANNs از مغز انسان تقليد ميكند و از تعدادي اجزاي ساختاري ساده، اما با يك ارتباط پيچيده كه به عنوان نرون با نود شناخته ميشوند، تشكيل شده است. به هر مجموعه از اين نرونها يك لايه گفته ميشود. يك شبكه عصبي معمولا از سه لايه ورودي، پنهان و خروجي تشكيل شده است. لايه ورودي فقط اطلاعات را دريافت ميكند و مشابه متغير مستقل عمل ميكند، لايه خروجي نيز همانند متغير وابسته عمل كرده و تعداد نرونهاي آن بستگي به تعداد متغير وابسته دارد اما بر خلاف لايههاي ورودي و خروجي، لايه پنهان اصليترين بخش پردازش شبكه عصبي است كه ميتواند شامل چند لايه و نرونهاي متنوع باشد.
بهترين روش براي تعيين تعداد نرون مخفي آزمون و خطا ميباشد. هر شبکه با دريافت مثالهايي آموزش ميبيند. آموزش، فرآيندي است که در نهايت منجر به يادگيري مي شود. يادگيري شبکه، زماني انجام ميشود که وزنهاي ارتباطي بين لايهها چنان تغيير کند که اختلاف بين مقادير پيشبيني شده و محاسبه شده در حد قابل قبولي باشد. با دست يابي به اين شرايط فرايند يادگيري محقق شده است. اين وزنها حافظه و دانش شبکه را بيان ميکنند. شبکه عصبي آموزش ديده ميتواند براي پيشبيني خروجيهاي متناسب با مجموعه جديد دادهها بکار رود.
در اين تحقيق از شبكه پرسپترون چندلايه (MLP) و شبكه (RBF) استفاده گرديد. لازم به ذكر است كه اين شبكهها متداولترين شبكههاي عصبي مصنوعي پيشخور محسوب ميشوند كه معمولا بوسيله الگوريتم انتشار به عقب(BP) آموزش داده ميشوند. دراین الگوريتم خطاي خروجي شبكه برآورد و به عقب (به داخل سيستم) انتشار يافته و بر اين اساس وزنهاي انتخاب شده در مدل اصلاح ميگردد. اين فرايند مربوط به اصلاح وزنها در تمام عناصر سيستم ادامه مييابد تا بهترين وزنها كه صحيحترين خروجي را براي سيستم ايجاد ميكند، شناسايي و انتخاب شوند.
در حقيقت در اين روش با تصحيح مرتب خطا وزنهاي مناسب بدست ميآيد. مفهوم حالتي كه مناسبترين وزنها بدست آمده است، اين است كه مدل آموزش كافي ديده است و لذا وزنهاي مربوط تثبيت شده و در مورد دادههاي ورودي جديد كه در قالب دادههاي مربوط به كارايي مدل است اعمال ميگردد. در اين حالت با مقايسه نتايج مدل با مقادير مشاهده شده، در مورد كارايي مدل قضاوت ميشود.مراحل آموزش به کمک اين الگوريتم عبارتند از:
(الف)- اختصاص ماتريس وزن تصادفي به هريک از اتصالات
(ب)- انتخاب بردار ورودي و خروجي متناسب با آن
(پ)- محاسبه خروجي نرون در هر لايه و در نتيجه محاسبه خروجي نرون ها در لايه خروجي
(ت)- بهنگام سازي وزن ها به روش انتشار خطاي شبکه به لايه هاي قبل که خطاي ياد شده ناشي از اختلاف بين خروجي واقعي و خروجي محاسبه شده است.
(ث)- ارزيابي عملکرد شبکه آموزش ديده به کمک برخي شاخص هاي تعريف شده مانند جذر ميانگين مربعات خطا (MSE ) و سرانجام برگشت به قسمت پ يا پايان آموزش.
همچنين توابع آستانه مختلفي براي يافتن حالت بهينه آن مورد ارزيابي قرار گرفت که عبارتند از :
۱) تابع سيگموئيدي لگاريتمي
۲) تابع تانژانت سيگموئيدي
که جهت انجام مراحل فوق اعم از تشکیل شبکه عصبی، آموزش، اصلاح وزنها، و در نهایت آزمایش شبکه عصبی از ابزار موجود در نرم افزار MATLAB استفاده شده است.
شبكه عصبي پرسپترون چند لايه MLP
در اين نوع شبكه اتصال فقط از جزء i به جزءi+1 برقرار بوده و در جهت عكس وجود ندارد. شبكه فوق، عملاً از به هم پيوستن سه شبكه پرسپترون تك لايه ايجاد شده است. يكي لايه خروجي و دو قسمت ديگر لايههاي مياني ناميده ميشوند. خروجيهاي لايه اول، بردار ورودي لايه دوم را تشكيل ميدهند، و به همين ترتيب بردار خروجي لايه دوم، وروديهاي لايه سوم را ميسازند، و خروجيهاي لايه سوم، پاسخ واقعي شبكه راتشكيل ميدهند. به عبارتي روشنتر، روند جريان سيگنالي در شبكه، در يك مسير پيشخور صورت ميگيرد (از چپ به راست از لايهاي به لايه ديگر). هر لايه ميتواند از تعدادي نرون مختلف با توابع تبديل متفاوت برخوردار باشد؛ يعني مدلهاي نرونها در لايهها ميتوانند متفاوت در نظر گرفته شوند. در طي آموزش شبکه MLP به کمک الگوريتم يادگيري BP، ابتدا محاسبات از ورودي شبکه به سوي خروجي شبکه انجام مي شود و سپس مقادير خطاي محاسبه شده به لايههاي قبل انتشار مي يابد. به سيگنالهايي كه در مسير رفت حركت ميكنند (از سمت چپ به راست شبكه) سيگنالهاي تابعي و سيگنالهايي كه در مسير برگشت حركت ميكنند( از سمت راست به چپ) سيگنالهاي خطا ميگويند. در شکل ۲ این دو انتشار نشان داده شده است.
شبكههاي پرسپترون چند لايه ميتوانند با هر تعداد لايه ساخته و به كار گرفته شوند، ولي قضيهاي كه ما در اينجا بدون اثبات مي پذيريم بيان ميكند كه يك شبكه پرسپترون سه لايه قادر است هر نوع فضايي را تفكيك كند. اين قضيه كه قضية كولموگوروف ناميده ميشود، بيانگر مفهوم بسيار مهمي است كه ميتوان در ساخت شبكههاي عصبي از آن استفاده كرد. در این مطالعه نیز فقط یک یا دو لایه میانی در نظر گرفته شده و تعداد نرونها تغییر داده میشوند.
شبكه عصبي توابع شعاع پایه RBF
شبکه عصبی RBF بر خلاف شبکه های MLP که دارای لایه های متوالی متعددی هستند از سه لایه ثابت يک لايه ورودي و يک لايه مخفي و يک لايه خروجي تشکیل شده اند. ساختمان یک شبکه RBF در شکل ۳ نشان داده شده است.
بر خلاف MLP، نرونهاي لايه مخفي در شبکههاي RBF داراي تابع غيرخطي گوسي ميباشد. ارتباط بين نرونهاي لايه ورودي و لايه مخفي بسادگي شبکه MLP نميباشد. نرونهاي لايه مخفي، واحدهاي چند بعدي هستند و بعد اين نرونها، برابر تعداد وروديهاي شبکه است.آموزش RBF در دو بخش نظارت شده و بدون نظارت صورت ميگيرد. روند آموزش به اين صورت است که در ابتدا با يکي از روشهاي خوشهبندي، پارامترهاي تابع گوسي لايه مخفي، تنظيم ميشوند و سپس وزنهاي ارتباطي بين لايه مخفي و خروجي، به کمک يک الگوريتم يادگيري با نظارت، مانند روش بيشترين شيب در پس انتشار خطاي استاندارد و يا روش گراديان مزدوج و يا روش مارکوآرت و …، تنظيم ميگردند
در اینجا آشنایی با محیط متلب بخش صد و بیست و ششم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
جهت سفارش پروژه به لینک زیر مراجعه نمایید :
همچنین می توانید برای ارتباط سریعتر با شماره و آیدی تلگرام زیر تماس حاصل کنید :
۰۹۱۲۹۵۴۰۱۲۲ – آیدی تلگرام : @fnalk
از طریق کلیک برروی آیکن های زیر میتوانید پروژه خود را در تلگرام و یا واتساپ برای ما ارسال کنید:
دیدگاهتان را بنویسید