29
ﻣﺼﻨﻮﻋﻲ ﻋﺼﺒﻲ ﻫﺎﻱ ﺷﺒﻜﻪArtificial Neural Networks (ANN) زارﻋﯽ دﮐﺘﺮ ﺷﯿﺮاز ﺻﻨﻌﺘﯽ داﻧﺸﮕﺎه ﮐﻨﺘﺮ ﮔﺮوه اﻟﮑﺘﺮوﻧﯿﮏ، و ﺑﺮق ﻣﻬﻨﺪﺳﯽ داﻧﺸﮑﺪه ل91 - 90 II ﺗﺮم ﺍﻟﺮﺣﻴﻢ ﺍﻟﺮﺣﻤﻦ ﺍﷲ ﺑﺴﻢ

ﻲﻋﻮﻨﺼﻣ ﻲﺒﺼﻋ ﻱﺎﻫ ﻪﻜﺒﺷeee.sutech.ac.ir/sites/eee.sutech.ac.ir/files/Groups/cont/drzarei... · with z, x, y parameters vGaussian function: vramp function:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

شبكه هاي عصبي مصنوعيArtificial Neural Networks (ANN)

دکتر زارعیدانشگاه صنعتی شیراز

ل دانشکده مهندسی برق و الکترونیک، گروه کنتر91-90 II ترم

بسم اهللا الرحمن الرحيم

مدل نرون و معماري شبکه: فصل دوم

فهرست مطالباهداف فصل@)ساختارهاي شبکه(معماري شبکه @نرون تک ورودي @توابع انتقال @نرون چند ورودي @شبکه تک الیه از نرون ها @شبکه چند الیه از نرون ها @شبکه بازگشتی @مسائل حل شده @

:اهداف فصلvمعرفی یک مدل ریاضی ساده از نرون هاvنحوه برقراري اتصال بین نرون ها و ایجاد شبکه هاي مختلفvبررسی عملکرد شبکه ها از طریق مثال

weights

Inputvalues Summing

function

Biasb

ActivationfunctionLocal

Fieldn

Outputa

p1

p2

pm

w2

wm

w1

(Single-input neuron)نرون تک ورودي

P :اسکالر ورودي

weight Summingfunction

Biasb

ActivationfunctionLocal

Fieldn

Outputa

p w

l

همان سیگنال روي اکسن است

Body cell

w : معرف قدرت سیناپس است( ) یک مقدار اسکالر(وزن(l : 1-یا 1مقدار (ورودي دیگر(b : بایاس)bias ((offset)n : خروجی جمع کننده یا ورودي خالص شبکه)net input (n = wp - bφ : تابع انتقال)Activation function(a : یک مقدار اسکالر(خروجی شبکه (a = f (wp - b)

(w)و ضرائب وزنی (p)سیگنال هاي ورودي

سیگنال هاي ورودي

ورودي امکان دارد یک سیگنال @و یا یک تصویر خام یا پیش پردازش

.شده باشد ورودي امکان دارد ویژگی خاصی از @یک سیستم باشد، که در این حالت تعیین تعداد و نحوه انتخاب آن ها رمی تواند بسیابسته به نوع کاربرد، .باشدسخت

ضرائب وزنی

کیفیت یک شبکه شدیدا به ضرائب @.وزنی وابسته است بایاس، یک ورودي با دامنه ثابت و @.ضریب وزنی مشخص می باشد

معموال ضرائب وزنی در شروع کار @

.آموزش، نرمالیزه می شوند

)توابع انتقال(توابع تحریک v توابع انتقال می توانند یک تابع خطی و یا غیر خطی ازn باشند که بسته به نوع کاربرد، نحوه عمل آنها متفاوت

. استvرایج ترین توابع انتقال در شبکه هاي عصبی عبارتند از:

Piecewise linear

Sigmoid

Hyperbolic tangent

Hard-limiter

از این تابع در نرون هایی که به منظوردسته بندي ورودي ها، به دو گروه

.جداگانه بکار می روند، استفاده می شودMc Culloch & Pits مدل

مدل هاي نرون .نیز مشخص می گردد نرون مدلِعمال نوع تحریک، با انتخاب تابع

v step function:c

ab

vsigmoid function:with z, x, y parameters

vGaussian function:

v ramp function:ca

b

d

: چند نکته back propagationیادگیري الگوریتمدر شبکه هاي چند الیه با sigmoidتابع – 1

.این تابع استپذیر بودن که علت آن مشتق . مورد استفاده قرار می گیرد

Matlabنمایش تعدادي از توابع انتقال رایج در – 2

Name Input/Output Relation

Icon MATLAB Function

Hard Limita = 0 n < 0a = 1 n ≥ 0 hardlim

Symmetrical Hard Limit

a = -1 n < 0a = +1 n ≥ 0 hardlims

Linear a = n Purelin

Name Inut/Output Relation Icon MATLAB Function

Saturating Lineara = 0 n < 0a = n 0 ≤ n ≤ 1a = 1 n ≥ 0

satlin

Symmetrics Saturating Linear

a = -1 n < -1a = n -1 ≤ n ≤ 1a = 1 n ≥ 1

satlins

Log- Sigmoid logsig

Hyperbolic Tangent Sigmoid tansig

Positive Lineara = 0 n < 0a = n 0 ≤ n Poslin

Competitive a = 1 neuron with max na = 0 all other neurons

Compet

MATLABنتیجه چند برنامه با

n = -5:0.1:5;plot(n,hardlim(n),'c+:');

n = -10:0.1:10;plot(n,logsig(n));

(Multiple - input Neuron) نرون چند ورودي

0P ،1P ،2P , .............., RP: ازعبارتند نرون ورودیهاي

ساختار زیر یک نرون چند ورودي را .نشان می دهد

ActivationfunctionLocal

Fieldn Output

aInputsignals

P1

P2

PR

W1,2

w1,R

W1,1

W1,0

P0 = -1

R1W,...........ٌو W1,1, W1,2W ,1,0 :ازوزنی عبارتند ضرائبφ: تابع انتقال n: تابع فعال سازيورودي

)a )a = φ(n): خروجی نرون

نمودار برداري یک نرون چند ورودي

v فرمj, iw نشان دهنده این است کهi نرون مقصد یا نرونی است که سیگنال به.است) jpهمان ورودي (بیانگر منبع تولید سیگنال jسمت آن جریان دارد و

1ÏRP: بردار ورودي

RÏ1W : بردار وزنها

= b-PWn :ورودي نرون

) b )-PWa = f :خروجی نرون

v تعداد ورودي هاي نرون را نیز می توان از صورت مسئله تعیین نمود.

(Network Architecture)معماري شبکه

:شوندشبکه به سه دسته عمده تقسیم می معماري کالسهاي مختلف

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

.نرون هایی که بصورت موازي کار می کنند یک الیه را تشکیل می دهند

)(single-layer feed-forwardپیشرو شبکه تک الیه ) 1

)(Multi-layer feed-forward شبکه چند الیه پیشرو) 2

)(Recurrent شبکه بازگشتی) 3

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

شبکه تک الیه از نرون هاورودي ها نرون Sالیه اي با ورودي نرون Sالیه با

v هر یک ازR ها متصل است و نرونورودي به تمام.باشدسطر می Sوزن داراي ماتریس

:ورودي هاي آن یکی نرونبا تعداد لزوماً تعداد ورودي هاي یک الیه

)R ≠ S(نیست

نمایش برداري

:وزن.باشدمی ام iام در نرون jنشان دهندة وزن ورودي i,jWهرالمان ماتریس ضرائب وزنی یعنی

:بایاس.ام را نشان می دهد iبایاس مربوط به نرون bi. در این جا بایاس یک بردار است

:ورودي نرون.ام شبکه را نشان می دهد iورودي نرون in.در اینجا ورودي نرون نیز یک بردار است

fتابع انتقال.ام می باشد iنشان دهنده تابع انتقال نرون ifتابع در این الیه است که Sتعداد

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

ورودي ها نرون Sالیه اي با ورودي نرون Sالیه با

نمایش برداري

:خروجی شبکه

.خروجی وجود دارد Sیک بردار است و تعداد

:وزن

:به صورت زیر است Wفرم ماتریس وزن

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

Inputlayer

Outputlayer

Hidden Layer

3-4-2 Network

یک شبکه دو الیه

یک شبکه سه الیه

v در شکل شبکه دارايR ورودي ، نرون در الیه اول، نرون در الیه دوم و نرون دري الیه خروجی ها. الیه هاي مختلف می توانند تعداد متفاوتی نرون داشته باشند. الیه سوم است

.را تشکیل می دهند 3و 2به ترتیب ورودي هاي الیه هاي 2و 1هاي

v و الیه هاي . الیه اي که خروجی آن خروجی شبکه را تشکیل می دهد الیه خروجی خوانده می شود.پس شکل داراي یک الیه خروجی و دو الیه پنهان می باشد. دیگر را الیه هاي پنهان می نامند

:شکل قبل با استفاده از نمادهاي مختصر کننده

v ائل از شبکه هاي تک الیه در حل مس کاراترشبکه هاي چند الیه به مراتب قویتر و. هستند

:نکته

v ه شده بستگی به صورت مسئله دادکامالً یک شبکه خروجیهايانتخاب تعداد ورودي و.امري دشوار است نرونهادر صورتی که انتخاب تعداد الیه ها و . دارد

v می مشخصات مطلوب سیگنال خروجی به ما در انتخاب تابع انتقال الیه خروجی کمک.کندv اما . شود توسط صورت مسئله مشخص نرونهاشبکه تک الیه بطور کامل می توان تعداد در

اي هاي مورد نیاز در الیه ه نرونتواند تعداد نمیاگر دو الیه داشته باشیم صورت مسئله .پنهان شبکه را به ما بگوید

v ه یک شبکه بایاس به شبکه یک متغیر اضافه می کند که باعث افزایش قدرت آن نسبت ب p = 0براي مثال یک نرون بدون بایاس در صورتی که داراي ورودي . بدون بایاس می گردد

اما وجود بایاس باعث می شود خروجی دلخواه را در . باشد داراي خروجی صفر خواهد بود.حالت ورودي صفر داشته باشیم

معرفی تعدادي بلوك پایه v بلوك تاخیر)delay block : (a (t) = u (t – 1)

Delay

خروجی، همان ورودي است که یک پله زمانی، تاخیریرفرض شده، زمان فقط می تواند مقاد(پیدا کرده است ، بایددر رابطه ذکر شده). صحیح و گسسته را اختیار کند . مقدار دهی اولیه شود t = 0خروجی در زمان

vبلوك انتگرالگیر :

. شود براي شبکه هاي بازگشتی پیوسته، بکار برده می. قابل مشاهده است a (0)در شکل شرط اولیه

vآن به یک شبکۀ بازگشتی، شبکه اي با فیدبک است، که بعضی از خروجی هايداراي ورودي هاي شبکه متصل شده اند و ساختاري متفاوت نسبت به شبکه هاي

feedforward خالص و بدونbackward دارد.:شکل زیر یک شبکه بازگشتی زمان گسسته را نشان می دهد

(Recurrent Network) شبکه هاي بازگشتی

z-1

z-1

z-1

inputhiddenoutput

v بردارPیعنی . ، شرایط اولیه را تامین می کند )) = P0(a ( و خروجی هاي شبکه به کمک خروجی هاي قبلی محاسبه می گردند و خروجی در هر لحظه گسسته از زمان

.به صورت زیر بدست می آیدa (1) = satlins (Wa(0) + b)a (2) = satlins (Wa(1) + b)

v شبکه هاي بازگشتی بطور بالقوه، تواناتر از شبکه هايfeedforward بوده و.از خود نشان دهند) temporal behavior(می توانند رفتار موقتی

تعداد ورودي هاي مسئله= تعداد ورودي هاي شبکه1)تعداد خروجی هاي مسئله= تعداد نرون هاي الیه خروجی2)یین تا حدودي توسط مشخصات خروجیِ مسئله قابل تع :تابع انتقال الیه خروجی3)

.است

چگونه یک ساختار خاص را انتخاب کنیم؟

-3و بایاس آن 3/2، وزنش 2که ورودي آن . یک نرون تک ورودي را در نظر بگیرید) 1.می باشد

به تابع انتقال چیست؟) n(ورودي شبکه ) الفخروجی نرون چیست؟) ب

:پاسخ n = WP + b = (2.3) (2) + (-3) = 1.6: همانطور که می دانیم) الف.زیرا تابع انتقال نرون مشخص نیست. خروجی را نمی توانیم تعیین کنیم) ب

مسائل حل شده

را در صورتی که داراي توابع انتقال زیر باشد پیدا ) 1(خروجی نرون مسئله ) 2.کنید-Log) ج Linear) ب Hard Limit) الف Sigmoid

:پاسخ

a = hard lim (1.6) = 1.0: داریم Hard limitبراي تابع ) الف

a = Purelin (1.6) = 1.6: براي تابع خطی داریم ) ب

– Logبراي تابع ) ج Sigmoid داریم :a = Logsig (1.6)=

Logsigو استفاده از تابع Matlabاین جواب را با بکارگیري : Matlabکاربرد .تایید کنید

:ورودي با این پارامترها داده شده است 2یک نرون ) 3B = 1.2,W = [ 3 2]

.خروجی نرون را براي توابع انتقال ذکر شده بیابیدمتقارن hard limitیک تابع ) الف)Saturating Linea(یک تابع خطی اشباعی ) ب-Hyperbolic. (یک تابع تانژانت ها یپربولیک سیگنوید) ج tangent- Sigmoid

tansig(

:پاسخ:را محاسبه می کنیم) n(ابتدا ورودي شبکه

:حال خروجی را براي هر تابع انتقال می یابیمa = hard lim s (-1.8) = -1) الفa = satlin (-1.8) = 0) بa = tansig (-1.8) = -0.9468) ج

خروجی ها باید مقادیر .خروجی است 2ورودي و 6یک شبکه عصبی ، تک الیه داراي ) 4 به طور مشخص در مورد ساختار شبکه چه می. داشته باشند 1تا 0پیوسته اي در فاصله

توانید بگویید ؟چه تعداد نرون مورد نیاز است؟ ) الف بعد ماتریس وزن چیست؟) ب چه نوع تابع انتقالی می تواند استفاده شود؟ ) جآیا به بایاس نیازي هست؟ ) د

: پاسخ.بر اساس صورت مسئله ، می توان به جواب هاي زیر رسید

.نرون ، هر کدام به عنوان یک خروجی، مورد نیاز است 2) الف ورودي 6ستون متناظر با 6نرون خروجی و 2سطر، متناظر با 2ماتریس وزن داراي ، ) ب.) یک بردار دو عنصري است Wpحاصلضرب . (استانتخاب از بین توابع انتقالی که در موردشان صحبت کردیم ، تابع بهترین) ج

. استه داده اطالعات کافی براي اینکه بدانیم به بایاس نیازي هست یا نه هست در مسئل) د

. نشده است