پایان نامه ها

دانلود پایان نامه با موضوع شبکه عصبی

در اكثر مواقع يك نرون بيش از يك ورودي دارد كه به صورت بردار ورودي نرون در نظر گرفته مي‌شوند. در شکل (‏23) يك نرون كه بردار ورودي آن داراي R عنصر ميباشد نشان داده شده است.
عناصر ورودي p_1,p_2,…,p_R در وزن هاي w_1,1,w_1,2,…,w_(1,R) ضرب ميشوند كه مجموع آنها با باياس، ورودي خالص نرون را تشكيل ميدهد. در اينجا بردار ورودي را با p و بردار وزن را با W نمايش ميدهيم بنابراين داريم ‏[41]:
(‏22) 〖n=Wp+b=w〗_1,1 p_1+w_1,2 p_2+…+w_(1,R) p_R+b
شکل (‏23): يك نرون با بردار ورودي p تابع تبديل يا تابع محركه
تابع تبديل f مي‌تواند خطي و يا غيرخطي باشد. انتخاب تابع تبديل به فضاي كاربرد و مورد استفاده بستگي دارد ولي در اكثر مواقع از توابع آستانهاي، خطي و يا سيگموئيدي47 استفاده ميشود. در تابع تبديل جمع کلی میتواند با یک سری مقادیر آستانهای مقایسه شود تا خروجی مشخص گردد. اگر جمع بزرگتر از مقدار آستانه باشد المان پردازشگر سیگنال خروجی تولید میکند ولي اگر جمع ورودیها و وزنها کمتر از مقدار آستانه باشد سیگنال تولید نمیشود. در جدول (‏41) توابع تبديل پركاربرد در شبكههاي عصبي معرفي شدهاند ‏[42].
جدول (‏21): چند نمونه از توابع تبديل پركاربرد در شبكه‌هاي عصبي
رديف
نام
تعريف تابع
نمايش تابع
1
تابع پلهاي
a=0 , n0
a=1 , n≥0 2
تابع پلهاي متقارن
a=-1 , n0
a=1 , n≥0 3
تابع خطي
a=n 4
تابع تانژانت سيگموئيد
a=(e^n-e^(-n))/(e^n+e^(-n) ) 5
تابع سيگموئيد لگاريتمي
a=1/(1+e^(-n) )
ساختار شبکه
باید توجه داشت که يك نرون با ورودیهای زیاد به تنهایی برای حل مسائل فنی- مهندسی کفایت نمیکند. در این حالت یک لایه که از اجتماع چند نرون تشکیل شده است استفاده خواهد شد. در شکل (‏12) يك شبكه تك لايه با S نرون نشان داده شده است.
شکل (‏24): شبكه عصبي تك لايه با S نرون ورودیها با بردار p و خروجیها با بردار a نشان داده شدهاند. در شبكه نشان داده شده در شکل (‏24) هر یک از ورودیها به تمامی نرونها متصل شدهاند. ماتریس وزن W در این حالت دارای S سطر و R ستون میباشد. با توجه به اين شکل ملاحظه میشود كه يك لایه شامل ماتریس وزن، جمع کنندهها، بردار بایاس b (دارای S عنصر) و تابع تبدیل f ميباشد. در فرم ساده شبكه تك لايه بالايي را ميتوان به صورتي كه در شکل (‏25) نشان داده شده نمايش داد.
شکل (‏25): نمايش فرم ساده شده يك شبكه عصبي تك لايه با S نرون و R ورودي شبکه های چند لایه
در شبکههای تک لایه بردار ورودی p توسط نرونهای لایه و طبق رابطه (‏23) به بردار خروجی مرتبط می‌شوند.
(‏23) a=f(Wp+b) به بردار خروجی مرتبط میشود. این شبکه شکل سادهای از شبکههای پیشخور است. ميتوان ایدهی شبکههای پیشخور را به چند لایه تعمیم داد. هر لایه ماتریس وزن W ، بردار بایاس b ، بردار ورودی خالص n و بردار خروجی مختص خود را دارد. جهت تمایز متغیرهای فوق و اینکه کدام متغیر به کدام لایه تعلق دارد از بالانویس استفاده میشود. به عنوان مثال ماتریس وزن را برای لایهی اول با W^1 مشخص میشود. در شکل (‏26)‌يك شبكه عصبي سه لايه نشان داده شده است.
شکل (‏26): شبكه عصبي سه لايه در فرم ساده شده، شبكه سه لايه نشان داده شده در شکل (‏26) را مي‌توان به صورت شکل (‏27) نمايش داد. در شبكه شکل (‏26) خروجي هر لايه ورودي لايهي بعدي را تشكيل ميدهد بنابراين لايهي 2 را ميتوان به صورت يك شبكه تك لايه با S1 ورودي، S2 خروجي و ماتريس وزن W2 با اندازه S^2×S^1 در نظر گرفت. در يك شبكه چند لايه، لايه آخر را لايه خروجي48 و ساير لايهها را پنهان49 مينامند.
شبکههای عصبی چند لایه نسبت به شبکههای تک لایه دارای توانایی بیشتری میباشند. به عنوان مثال يك شبکه عصبی دو لایه با تابع تبديل سیگموئیدي در لایهی اول و تابع تبديل خطي در لايه خروجي قادر است هر تابعی (با تعداد نقاط ناپيوستگي مشخص) را با دقت قابل قبولي تقریب بزند در حالی که شبکههای تک لایه از چنین توانایی برخوردار نیستند ‏[42].
شکل (‏27): نمايش فرم ساده يك شبكه عصبي سه لايه يادگيري
يادگيري يك شبكه عصبي در واقع تغيير وزنها و باياسهاي شبكه ميباشد به نحوي كه هنگام دريافت بردار محرك از لايه ورودي، شبكه خروجي مناسب را به عنوان پاسخ توليد كند يعني خطاي بين خروجي شبكه و جواب واقعي حداقل باشد.
انواع یادگیری
در حالت كلي دو نوع يادگيري وجود دارد:
یادگیری با ناظر50
یادگیری بدون ناظر51
در یادگیری با ناظر، فرض بر این است که در هر مرحله تکرار الگوریتم یادگیری، جواب مطلوب سیستم یادگیرنده از قبل آماده است و شبکهی عصبی به خطای یادگیری که همان اختلاف بین مقدار مطلوب و مقدار واقعی می باشد، دسترسی دارد. در یاد گیری بدون ناظر، جواب مطلوب برای سیستم یادگیرنده موجود نیست و به عبارتی دیگر شبكه به خطای یادگیری جهت بهبود رفتار سیستم یادگیرنده دسترسی ندارد. این نوع یادگیری را خود یادگیری52 نیز میگویند ‏[41].
شبكه آدالاين
در شکل (‏28)‌ شبكه آدالاين53 نمايش داده شده است. شبکه آدالاین بسیار شبیه شبکه پرسپترون54 است با این تفاوت که تابع تبدیل نرون شبکه آدالاین خطی میباشد، در حالیکه تابع تبدیل برای نرون شبکه پرسپترون، آستانهای دو مقداره است. خروجي شبكه آدالاين برابر است با:
(‏24) a=Wp+b
شکل (‏28): شبكه آدالاين از شبکهي آدالاین مانند شبکهی پرسپترون فقط برای مسايلی میتوان استفاده کرد که بطور خطی جداپذیر باشند. شبکههای آدالاین برای تقریب خطی یک تابع یا اجرای عمل شناسایی الگو بسیار کاربرد دارند. شبکههای آدالاین فقط میتوانند ارتباطهای خطی بین بردارهای ورودی و خروجی را یاد بگیرند. بنابراین این شبکهها تنها برای بعضی مسايل توانایی ارايهی راه حل دارند. حتی در صورت عدم وجود جواب، باز شبکه آدالاین به جایی که میانگین مربعات خطا را مینیمم میکند، همگرا خواهد شد. مشروط بر اینکه نرخ یادگیری55 به اندازهی کافی کوچک انتخاب شود. قانون يادگيري ويدرو-هوف56 يا LMS57
از قانون يادگيري ويدرو-هوف براي آموزش شبكه آدالاين استفاده ميشود. روش يادگيري ويدرو-هوف تقريبي از الگوريتم شيب حداكثر58 ميباشد. در اين روش، شاخص اجرايي59 ميانگين مجذور خطا ميباشد. قانون یادگیری ویدرو-هوف، پارامترهای شبکهی آدالاین را به سمت تنها نقطهی كمینه میبرد، مشروط بر اینکه نرخ یادگیری و نحوهی ارايهی زوجهای یادگیری به طور مناسب انتخاب شوند. به صورت خلاصه ميتوان قانون يادگيري ويدرو-هوف برابر است با: (‏25) {█(W(k+1)=W(k)+2αe(k) 〖p(k)〗^[email protected](k+1)=b(k)+2αe(k) )┤ در رابطه (‏25)، α نرخ يادگيري و e خطا مي باشد. قانون یادگیری پرسپترون
از قانون يادگيري پرسپترون60 يا SLPR براي آموزش شبكههاي پرسپترون استفاده ميشود. SLPR يك قانون يادگيري با ناظر است در این نوع یادگیری عملاً خطای یادگیری در دسترس است. قانون یادگیری SLPR فقط برای شبکههاي عصبی تک لایه متشکل از نرونهای با تابع تبدیل از نوع آستانهای حدی دو مقداره به وجود آمدهاند.
هر نرون در شبکهی عصبی پرسپترون تک لایه با یک صفحهی R بعدی، که R تعداد عناصر بردار ورودی است، معادل میشود (برای حالتی که R=L است هر نرون با یک خط نشان داده می شود). از این رو فضای R بعدی توسط هر نرون به دو ناحیهی مجزا تقسیم میشود. به همین دلیل شبکه پرسپترون را می‌توان برای طبقه‌بندی داده‌هایی به کار برد که به صورت خطی از هم جداپذیر باشند. مثلاً الگوهایی که مدارهای AND و DR را نشان ميدهند میتوان با شبکه ی عصبی پرسپترون جدا نمود، ولی مدار XOR را نمیتوان توسط شبکه پرسپترون تفکیک کرد، چون XOR در فضای R^2 بطور خطی جداپذیر نیست ‏[41]. قانون یادگیری گرادیان کاهشي
قانون يادگيري گراديان كاهشي61 از مشتق تابع انتقالی (محرک) برای تنظیم وزن استفاده میکند. در اینجا ضریب ديگري به نرخ یادگیری اضافه ميشود و به فاکتور شناسایی نهایی وزنها اعمال میشود. تجربه نشان داده است که نرخهای گوناگون یادگیری برای لایههای مختلف یک شبکه به پروسه همگرایی یادگیری کمک میکند. در این آزمایشها، نرخهای یادگیری برای لایههایی که به لایه خروجی نزدیکتر بودند کمتر از لایههایی که به لایه ورودی نزدیک بودند تنظیم شدند. این عمل مخصوصاً برای کاربردهایی که دادههای ورودی متضمن الگویی نباشد بسیار مهم است ‏[41].
الگوريتم پس انتشار62
الگوريتم پس انتشار خطا نخستين بار در رساله دكتري پل وربز63 مطرح گرديد ولي توسعه و كاربرد آن به اواسط دهه 80 ميلادي برميگردد. توسعه الگوريتم پس انتشار خطا انقلابي را در شبكههاي عصبي ايجاد كرد به طوري كه شبكههاي عصبي چند لايه پيشخور كه عموماً شبكههاي چندلايه پرسپترون64 نيز ناميده ميشوند با قاعده يادگيري پس انتشار خطا همچنان بيشترين كاربرد را در حل مسايل فني-مهندسي دارند.
در شبكه‌هاي عصبي پس انتشار خطا هر لايه مي‌تواند از تعدادي نرون مختلف با توابع تبديل متفاوت برخوردار باشد. در اين شبكه‌ها عموماً دو نوع سيگنال وجود دارد يكي سيگنال‌هايي كه در مسير رفت حركت مي‌كنند و دسته دوم سيگنال‌هايي هستند كه در مسير برگشت حركت مي‌كنند به دسته اول سيگنال‌هاي تابعي و به دسته دوم سيگنال‌هاي خطا مي‌گويند. دليل اين نامگذاري اين است كه سيگنال‌هاي نخست بر اساس تابعي از ورودي‌هاي نرون و پارامترهاي شبكه متناظر با آن محاسبه مي‌شوند. و سيگنال‌هاي دسته دوم به دليل منشعب شدن از سيگنال‌هاي خطا و توزيع برگشتي از لايه خروجي با لايه‌هاي ديگر شبكه به سيگنال‌هاي خطا موسومند. هر نرون در شبكه عصبي پس انتشار خطا، دو محاسبه انجام مي‌دهد در محاسبه اول سيگنال تابعي و در محاسبه دوم تخمين لحظه‌اي از گراديان منحني خطا را نسبت به پارامترهايي كه ورودي نرون را به خود نرون متصل مي‌كنند در اختيار قرار مي‌دهد. اين گراديان‌ها جهت پخش سيگنال‌هاي خطا در شبكه مورد نياز است. اصول الگوريتم پس انتشار خطا
آموزش يك شبكه پس انتشار خطا را مي‌توان به چهار قسمت تقسيم كرد:
مسير رفت: طي مرحله پيش‌خوراندن الگوي آموزشي ورودي، هر واحد ورودي يك سيگنال ورودي را دريافت كرده و اين سيگنال را به هر يك از واحد‌هاي مخفي ارسال مي‌كند. آنگاه هر واحد مخفي فعاليت خود را محاسبه كرده و سيگنال خروجي خود را به هر يك از واحد‌هاي خروجي ارسال مي‌كند. هر واحد خروجي فعاليت خود را محاسبه مي‌كند تا پاسخ شبكه براي الگوي ورودي مورد نظر بدست‌ آيد. در اين مسير پارامترهاي شبكه در خلال اجراي رفت تغيير نمي‌كنند و توابع انتقال روي تك تك نرون‌ها عمل مي‌كنند.
مسير برگشت: طي مرحله بازگشت خطاي وابسته،‌ شرع كار از لايه آخر مي‌باشد جايي كه بردار خطا در اختيار مي‌باشد. اين بردار خطا از لايه‌ی آخر به سمت لايه اول توزيع مي‌شود و گراديان محلي نرون به نرون با الگوريتم بازگشتي محاسبه مي‌شود. در حقيقت مي‌توان گفت كه در طي]]>

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *