لرتنک رد یبصع یاه...

13
3/3/2017 1 کنترل عصبی در های شبکهنشگاه نجف آباد دا درس: سایبرنتیک کنترل هوشمند در فضای مدرس: حمید محمودیانروناضی ن مدل ری به صورت روبرورون ساده یک ناضی مدل ری استP : ت ورودی مقدار کمیb : ر بایاس مقدا( ی د تابع نهای عرض از مبدا ر حالت خطی. در طول آموزش تغییر معمو میکند) W : رون ن وزن( رون که در مقدار ن مهمترین طول آموزش تغییر میکند) f : تابع خروجی( ر خطی یا غی خطی) a : مقدار خروجیرون آموزش ن: ر بایاس و وزن ها در تغییر مقدارون که خروجی ن طول مدت آموزش به نحوی نزدیک گردیده و بتواند بره مقدار مطلوب ب ایصمیمات درست بگیرد جدید تر ورودی مقادی.

Upload: others

Post on 08-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

3/3/2017

1

شبکه های عصبی در کنترلدانشگاه نجف آباد

کنترل هوشمند در فضای سایبرنتیک: درس

حمید محمودیان: مدرس

مدل ریاضی نرون مدل ریاضی یک نرون ساده به صورت روبرو

است

P :مقدار کمیت ورودی

b: ر عرض از مبدا تابع نهایی د)مقدار بایاسمعموال در طول آموزش تغییر . حالت خطی

(میکند

W : مهمترین مقدار نرون که در )وزن نرون(طول آموزش تغییر میکند

f : (خطی یا غیر خطی)تابع خروجی

a : مقدار خروجی

تغییر مقدار بایاس و وزن ها در: آموزش نرونطول مدت آموزش به نحوی که خروجی نرون

ای به مقدار مطلوب نزدیک گردیده و بتواند بر.مقادیر ورودی جدید تصمیمات درست بگیرد

3/3/2017

2

(f)توابع خروجی

ظر توابع متنوعی برای تابع خروجی در ن•.گرفته شده است

دستورات نوشته شده، دستورات متلب •.میباشند

معموال در روش های آموزش به صورت •Back propagation از توابعی استفاده

یا tangantمیشود که مشتق پذیرند مثل logarithm

نرون با چند ورودی

یک نرون میتواند به جای یک ورودی •در. اسکالر یک بردار ورودی داشته باشد

این صورت وزن ها به صورت برداری در .نظر گرفته شده و آموزش میبینند

3/3/2017

3

(نرون-s)شبکه تک الیه باچند خروجی

ممکن است مدل مورد نظر دارای چند •.خروجی باشد

دراینصورت خروجی های هر نرون در کنار •. هم یک بردار خروجی را مشخص میکنند

زن در این حال بردار وزن تبدیل به ماتریس و•.میشود

𝑊 =

𝑤1,1 … 𝑤1,𝑅⋮ ⋮ ⋮

𝑤𝑠,1 … 𝑤𝑠,𝑅

شبکه با چند الیه و چند ورودی و چند خروجی

ی و برای افزایش توانایی شبکه های عصب•یکی در شباهت بیشتر به فرایند های بیولوژ

مغز انسان، تعداد الیه های شبکه ممکن دگی است گسترش یابد که عمال باعث پیچی

.بیشتر شبکه نیز خواهد شد

کامال مشخص است که در این شبکه •( Wماتریسهای )ماتریسهای وزنی متعددی

خواهیم داشت که الزم است در فرایند ( ها b)آموزش، به همراه ضرایب بایاس ها

.تعیین گردند

3/3/2017

4

روابط یک شبکه چند الیه

ه در شکل مقابل یک شبکه با چند الی•.مشاهده میشود

نحوه تصمیم گیری در هر نرون مطابق•. روابط زیرشکل است

ند که توابع مختلفی میتوانند باش(.)gتابع •.قبال معرفی شده اند

Multyبه این شبکه عموما • Layer Perceptron (MLP)گفته میشود .

روند طراحی و مدلسازی

ساختار شبکه از لحاظ تعداد الیه ها، تعداد نرونها، توابع تصمیم گیری در الی. ه ها، 1.تعداد ورودیها و خروجی ها انتخاب گردد

پارامتر های مهم درنحوه آموزش مثل خطا، تعداد . 2epochs دفعات تکرار برای )ها(همگرایی به سمت خطای کمتر

الگوریتم آموزش فراخوانی میشود. 3.

شبکه پس از اعتبارسنجی جهت استفاده برای نمونه های جدید مورد استفاده قر. ار 4.میگیرد

3/3/2017

5

نمونه ای از دستورات متلب

تفاوت در جعبه ابزار متلب روشهای مختلفی برای ایجاد شبکه های عصبی با ساختار م•. ارائه شده است

ستور یکی از روشهای نسبتا ساده و کامل برای ایجاد یک شبکه عصبی با کمک سه د•:زیر است

استفاده از دستور . 1newffبرای تعریف ساختار شبکه

استفاده از دستور . 2trainبرای آموزش شبکه به کمک اطالعات و نمونه های آموزشی

استفاده از دستور . 3simبرای دریافت پاسخ شبکه در برابر نمونه های جدید.

(است2دقت شود که تعداد الیه ها )ساختارشبکه مثال قبل

تعریف ساختار

شبکه

آموزش شبکه

کهدریافت پاسخ شب

newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) takes optional inputs,

TFi - Transfer function of ith layer. Default is 'tansig' forhidden layers, and 'purelin' for output layer.

BTF - Backprop network training function, default = 'trainlm'.BLF - Backprop weight/bias learning function, default = 'learngdm'.PF - Performance function, default = 'mse'.IPF - Row cell array of input processing functions.

Default is {'fixunknowns','remconstantrows','mapminmax'}.OPF - Row cell array of output processing functions.

Default is {'remconstantrows','mapminmax'}.DDF - Data division function, default = 'dividerand';

and returns an N layer feed-forward backprop network.

The transfer functions TF{i} can be any differentiable transferfunction such as TANSIG, LOGSIG, or PURELIN.

The training function BTF can be any of the backprop trainingfunctions such as TRAINLM, TRAINBFG, TRAINRP, TRAINGD, etc.

3/3/2017

6

مثال

ل فرض کنید که هدف ایجاد یک مد•ریاضی است که دارای یک

ورودی و یک خروجی است و بخواهیم با تغییر ورودی در حد

شکل خروجی به 2و -2فاصل .صورت زیر تغییر کند

این مثال میتواند با ایجاد یک شبکه عصبی به فرم زیر که دارای دو الیه

. باشد ایجاد گردد

که در آن توابع خروجی الیه اول بصورت زیر هستند

:تابع خروجی الیه آخر بصورت خطی تعریف میشود

>> load output_data

>> load input_data

>> net1=newff(input_data,output_data,[2],{'logsig','purelin'});

>> net2=train(net1,input_data,output_data);

>> x=-2:0.2:2;

>> y=sim(net2,x);

>> plot(x,y)-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

-0.5

0

0.5

1

1.5

2

2.5

X input

Y o

utp

ut

نتایج شبیه سازی با دستورات متلب

تعداد نرون ها در

الیه مخفی

ماتریسهای ورودی و خروجی

تعداد سطرهای ماتریس )

خروجی تعداد نرونها در الیه خروجی را مشخص میکند

تابع انتخاب

شده برای

الیه مخفی

تابع انتخاب

شده برای

الیه خروجی

3/3/2017

7

استفاده شبکه های عصبی در کنترل

کی و روشهای متنوعی از استفاده شبکه های عصبی در شناسایی سیستم های بیولوژی:از جمله این روشها میتوان به موارد زیر اشاره نمود. کنترل آنها ارائه شده است

کنترل مدل . (Reference Model Control )مرجع1

(Model Predictive Control)نترل پیش بین مدل ک2.

کنترل . 3NARMA-L2

کنترل کننده مدل مرجع با شبکه های عصبیورت ساختار کنترل کننده مدل مرجع با شبکه های عصبی به ص

مدل در این دیاگرام دو شبکه عصبی به عنوان. روبرو میباشد.حلقه باز و کنترل کننده مشاهده میشود

ن که تعداد نرو( مخفی و خروجی)هر شبکه دارای دو الیه است .های الیه مخفی قابل تغییر میباشد

امل سه همانطور که مشاهده میشود کنترل کننده شبکه عصبی شدیهای خروجیهای تاخیر یافته کنترلر، ورو:دسته ورودی میشود

حت تاخیر یافته ورودی مرجع و خروجیهای تاخیر یافته مدل ت.کنترل

ه ساختار شبکه عصبی مدل تحت کنترل نیز شامل دو دستودیهای ور)خروجیهای تاخیر یافته سیگنال کنترل : ورودی است

.ترلو خروجیهای تاخیر یافته مدل تحت کن( مدل تحت کنترل

3/3/2017

8

مثال و روش استفاده از متلب در طراحی کنترل کننده مرجع با شبکه های مصنوعی

فرض کنید که هدف طراحی یک •نوعی کنترل کننده شبکه عصبی مص

(Reference Model)مدل مرجع باشد که بر روی مدل روبرو قرار

.بگیرد

همچنین فرض کنید که هدف طراحی•ردد کنترل کننده ای باشد که باعث گ

ه به تا خروجی سیستم رفتاری شبی(مدل مرجع)مدل روبرو داشته باشد

3/3/2017

9

مراحل طراحی

الزم است در ابتدا برای مدلسازی با . 1ک و شبکه عصبی برای مدل بدون فیدب

مدل مرجع، تعداد زیادی مقادیر ورودی برای این . و خروجی داشته باشید

از منظور ابتدا در سیمولینک مدل حلقه برا طراحی کرده و آنرا به اسم یک فایل

.ذخیره نمایید

فرض کنید که فایل را با نام . 2mvp1.ذخیره کرده اید

فایل دیگری با نام دیگر مثال . 3mvp2مدل : در این مثال)برای مدل مرجع

در نظر گرفته ( حلقه بسته

sym1در فایل دیگری مثال با نام •بلوکهای زیر را قرار داده و

اتصاالت را برقرار نمایید

بی با کلیک کردن بر روی قسمت آ•. ودرنگ ابتدا منوی اصلی باز میش

plantدر این منو سوئیچ identification را کلیک کنید.

با وارد نمودن تعداد الیه های •داد مخفی و دیگر مشخصات مثال تعنمونه های با تاخیرو ادرس دهی

simulinkفایل اول در قسمت plant model سوئیچ

Generate training data برای.آماده سازی داده ها استفاده میشود

بعد از آماده سازی داده ها، شبکه •عصبی مدل حلقه باز با دستور

train network و با تکمیلtraining parametersجعبه

به پنجره okانجام و با زدن سوئیچmodel reference control

.بازگردانیده میشود

3/3/2017

10

در مرحله آخر با فراخوانی فایل مدل مرجع•وتکمیل موارد خواسته شده و پس از آموزش

شبکه عصبی مدل مرجع، طراحی کنترل عملی خواهد (train Controller)کننده

.بود

3/3/2017

11

(Model Predictive Control)کنترل پیش بین مدل هدف از طراحی این نوع کنترل •

ت کننده، پیش بینی آینده مدل تحنده کنترل و طراحی یک کنترل کن

در این درس براساس شبکه های ).میباشد( عصبی

شبکه عصبی مورد استفاده جهت•.یشودپیش بینی مدل بکار گرفته م

بکه بنابراین اولین قدم ایجاد یک ش•عصبی برای تخمین مدل تحت

.کنترل است

ینی مدل تخمین زده شده برای پیش ب•.ودرفتار مدل در آینده استفاده میش

کنترل کننده پیش بین

حت کنترل شبکه عصبی سعی در پیش بینی آینده سیستم ت•.خواهد داشت

ه سیستم، کنترل کننده پیش بین با استفاده از تخمین آیند•ه زیر سعی در ایجاد سیگنال کنترلی خواهد داشت که رابط

.را مینیمم کند

•N1 وN2 وNu محدوده زمانی آینده هستند که در اینمحدوده ، اینده سیستم پیش بینی شده است

رل میباشدبیانگر میزان اثر بهینه سازی سیگنال کنتρعدد •

3/3/2017

12

نحوه طراحی . رددابتدا مدل تخت کنترل ایجاد میگ•این فایل (. HIVمثال مدل بیماری )

شناخته میشودHIV1با نام

سپس این فایل در فایل دوم در کنار•NN_predictiveجعبه Controller

.قرار میگیرد

HIV2_nnpredictiveاین فایل به نام •.فرض میگردد

NN_predictiveتنضیمات •controller انجام میگردد که در

.چندین مرحله است

3/3/2017

13

تنظیم مشخصات کنترل کننده پیش بین و . 1Plant Identificationتنظیم پارامتر های شبکه عصبی و تولید داده های آموزشی. 2

(Generate Training Data ) و سپسTrain network

اجرای برنامه. 3

.پارامتر های این دو پنجره به صورت زیر تکمیل میگردند