Professional Documents
Culture Documents
مقدمه
مقدمه
وجود مسائلی بدون راه حل یا به سختی قابل حل ،حرکت از تحقیقات صرفا تئوری به تحقیقات کاربردی ،توسعه تئوریک
سیستمهای دینامیکی هوشمند مدل آزاد مبتنی بر داده های تجربی که شبکه های عصبی جزو آنها هستند و استخراج
دانش نهفته در داده ها ،از جمله عوامل ظهور هوش محاسباتی (محاسبات نرم) بوده است.
به شبکه های عصبی مصنوعی ( )ANNسیستمها هوشمند گویند ،چرا که بر اساس محاسبات روی داده های عددی یا
مثالها ،قوانین کلی را فرا می گیرند .این سیستم ها در مدلسازی ساختار نروسیناپتیکی مغز بشر می کوشند .البته
باید در نظر داشت در حال حاضر عدم کفایت دانش موجود بشر از فیزیولوژی عصبی محرز است .به عبارت بهتر در این
زمان مغز بشر دست نیافتنی مینماید .نکته بعدی این است که در هنگام صحبت از شبکههای عصبی مصنوعی تعیین
ساختار مغز
55
مغز سیستمی پیچیده دارای پردازش اطالعات با ساختار موازی است و با 2درصد وزن بدن ،مصرف بیش از 20درصد
کل اکسیژن بدن را مصرف میکند .مغز انسان با جمع آوری و محاسبه حجم عظیمی از اطالعات و سیگنالها هنگام فهم
این مطالب سروکار دارد .محاسبات مغز در ساختاری کامال مغایر با ساختار کامپیوترهای امروزی هستند .مغز اجتماعی
oهر نورون امکان ذخیره اطالعات در خود و ارتباطات میان نرونها را دارد.
oیادگیری در واقع ایجاد ارتباطات جدید میان نرونها و تنظیم ارتباطات موجود است.
در این جزوه با شبکهای کوچک از نرونهای مصنوعی ساده که برای حل مسائل پیچیده آموزش پذیر هستند ،آشنا
نکات مهم در محاسبات نرونی :ترتیب نرونها و شدت سیناپسهای میان نرونها
بلوکهای ساختاری در هر دو شبکه مصنوعی و بیولوژیکی دستگاههای محاسباتی خیلی سادهای هستند.
هدف اصلی این درس تعیین ارتباطهای مناسب جهت حل مسائل مشخص است.
56
انتظارات
)1قابلیت یادگیری
oشبکه عصبی بدون قابلیت یادگیری با افزوده شدن یک مثال جدید توانایی خود را از دست می دهد.
قابلیت یادگیری یعنی توانایی تنظیم پارامترهای شبکه (وزنهای سیناپتیکی) در مسیر زمان که محیط شبکه
تغییر میکند و شبکه شرایط جدید را تجربه میکند ،با این هدف که شبکه بتواند با آموزش مختصر برای
)2پراکندگی اطالعات
هر نرون متاثر از فعالیت سایر نرونها (هر وزن مریوط به همه ورودیها)
اگر بخشی از نرونهای شبکه حذف شوند یا عملکرد غلط داشته باشند ,باز هم احتمال رسیدن به پاسﺦ صحیح
وجود دارد.
)3قابلیت تعمیم
57
شبکه تابع را یاد می گیرد ،الگوریتم را می آموزد و یا رابطه تحلیلی مناسبی برای نقاطی در فضا به دست می
آورد.
)4پردازش موازی
)5مقاوم بودن
تاریخچه
دیدگاه جدید شبکه های عصبی در دهه 40با استفاده از یک مدل منطقی توسط مک کلوث و والتر پیتز انجام
شد.
دونالد هب ،ادامه راه پاولف در شرط گذاری کالسیک به عنوان خواص نرونها
در 1958شبکه پرسپترون توسط روزنبالت معرفی گردید .این شبکه قادر به شناسایی الگوها بود.
در 1960توسط ویدرو ( دانشگاه استنفورد ) شبکه عصبی تطبیقی خطی آداالین با قانون یادگیری جدید بوجود
در 1969مینسکی و پاپرت کتابی نوشتند که محدودیتهای سیستمهای تک الیه و چند الیه پرسپترون را
تشریح کردند
در ،1972تئو کوهونن و جیمز اندرسون به طور مستقل شبکه های عصبی جدیدی با کارکرد عناصر ذخیره ساز
مطرح شدند.
دهه 80رشد تکنولوژی میکروپروسسورها و روند صعودی تحقیقات روی شبکه عصبی
58
کاربردها
پزشکی
در این رابطه Wشدت سیناپس n ،ورودی خالص f ،تابع تحریک و aسیگنال گذرنده از اکسون است.
59
oخطی
oزیگموئیدی
ساده ترین شبکه عصبی ،یک شبکه عصبی پرسپترون تک نرونی است.
قابل استفاده در طبقه بندی بین دو کالس که تفکیک پذیر خطی باشند.
60
امکان آموزش با نظارت شبکه وجود دارد.
oمثال W12شدت سیناپس دومین عنصر ورودی به نرون اول را نشان میدهد.
61
ساختار شبکه عصبی ﭘرسپترون تک الیه
در شبکه تک الیه بردار ورودی توسط نرونهای الیه با رابطه ( a=f(Wp+bبه بردار خروجی مرتبط می شوند .شکل زیر
62
شکل .25شبکه پیشخور ( )feedforwardسه الیه
در شبکه های چند الیه ،خروجی هر الیه به عنوان بردار ورودی برای الیه بعدی محسوب می شود.
...، W1،W2به ترتیب ماتریس وزن الیه اول ،دوم و ....را نشان می دهد.
...، S1،S2به ترتیب تعداد نرونهای الیه اول ،دوم و ....را نشان می دهد.
...، f1،f2به ترتیب توابع تحریک الیه اول ،دوم و ....را نشان می دهد.
...، n1،n2به ترتیب بردار ورودی خالص الیه اول ،دوم و ....را نشان می دهد.
...، a1،a2به ترتیب بردار خروجی الیه اول ،دوم و ....را نشان می دهد.
...، b1،b2به ترتیب بردار بایاس الیه اول ،دوم و ....را نشان می دهد.
در طبقه بندی بین دو کالس ،اگر پاسﺦ نرون صفر باشد بیانگر تعلق نمونه ورودی به کالس اول و پاسﺦ یک نشان دهنده
تعلق نمونه به کالس دیگر می باشد .جهت آموزش شبکه ،پس از معرفی یک نمونه آموزشی ،پاسﺦ شبکه و پاسﺦ مورد
انتظار مقایسه شده و بر اساس میزان اختالف این دو پاسﺦ ،مقادیر وزن نرون و مقدار بایاس تنظیم میشود .پارامترهای
وزن در واقع مشخص کننده معادله مرز بین دوکالس در فضای بردار ویژگی میباشند.
63
چند سوال:
)4آیا تعداد عناصر بردار ورودی Rو تعداد نرونهای Sمی توانند با هم برابر نباشند؟
)5آیا همه نرونهای موجود در یک الیه باید دارای توابع تحریک یکسان باشند؟
تفاوت اصلی در وجود حداقل یک سیگنال برگشتی از یک نرون به همان نرون یا نرونهای همان الیه و یا الیههای قبل
است .البته استفاده از بلوک تاخیر ( Dدر شبکه های گسسته) نیز نشانه پسخور بودن ساختار است.
نکته :شبکه های پسخور از توانایی بالقوه بیشتری نسبت به شبکه های پیشخور برخوردارند و بهتر می توانند رفتار
شناسایی الگو
شناسایی الگو فاکتور مهم در طراحی سیستمهای اطالعاتی است و موضوع مشترک تحقیقاتی برای اکثر رشته ها از
oاتفاق :بیماری
oسیگنال آمیخته با نویز :اشکاالت آزمایشی (چه در وسایل و چه در بدن فرد بیمار)
شناسایی الگو چیزی جز جدا سازی داده ها یا الگو های ورودی بین دستجات مختلف نیست .مراحل طراحی یک سیستم
کد گذاری :بیان ویژگیهای شی مورد نظر ( که از طریق اندازه گیری به دست میآیند) ،توسط بردارهای ورودی
بیان هندسی :تخصیص یک نقطه در فضای چند بعدی اقلیدسی به هر شی
استخراج شاخص :استخراج مشخصه های مهم از روی بردار های ورودی و کاهش ابعاد الگوها (عناصری از
طبقه بندی الگوها :روندی برای تصمیم گیری بهینه اتوماتیک
تخصیص الگوهای ورودی به یکی از طبقاتی که فضای اقلیدسی برای تصمیم گیری به تعداد متناهی از آنها تقسیم شده
است.
شبکههای عصبی مستقیما با دادههای واقعی کار می کنند .لذا به طراحیهای مدل آزاد یا تخمین زننده های یونیورسال
مدل آزاد موسومند .شبکه های عصبی در مقابل روشهای کالسیک حل مسائل قرار می گیرند .در روشهای کالسیک
باید تمامی الگوهای یادگیری قبل از حل مسئله طبقه بندی الگو در اختیار باشند .یعنی ،ابتدا باید یک مدل ریاضی از
مشاهدات داشت تا پس از ارزیابی مدلها بر اساس دادههای واقعی طراحی انجام شود .روشهای کالسیک معموال خاص
سوال :اطالعاتی که شبکه های عصبی بر مبنای آن عمل تصمیم گیری را انجام می دهد ،چگونه و در کجا ذخیره میگردد؟
65
بررسی یک مثال
هدف :جداسازی سه نوع میوه سیب ،پرتقال و گالبی در یک انبار به طور خودکار.
کد گذاری :نشان دادن سیب ،پرتقال و گالبی به ترتیب با بردارهای p2 ،p1و p3به عنوان بردارهای مرجع (مولفه بردارها
استخراج شاخص :عنصر سوم در همه طبقات مشترک است .لذا با حذف این مولفه به بردارهای دو بعدی میرسیم.
مساله بیان شده یک مسئله ساده شناسایی الگوی باینری است و با دریافت یک بردار ورودی 2بعدی و تصمیم گیری
سیب
گالبی
پرتقال
66
1 −1
[=𝑊 و اوزان نرونها بدست می آید] :
1 1
که بصورت خطی از هم جدا شدهاند ،دارد (جداسازی خطی) .مرز جدا ساز نواحی در حالت تک نرونی یک فوق صفحه و
در حالت کلی برای هر نقطه دلخواه qروی ناحیه مرزی داریم:
< >a,bنماد ضرب داخلی دو بردار بوده و همواره تصویر bروی aمضربی از ضرب داخلی دو بردار است.
تذکر :1خط مرزی همواره عمود بر بردار وزن بوده و محل قرار گرفتن مرز توسط بردار بایاس تعیین میشود.
تذکر :2تصویر بردار سازنده هر نقطه روی خط مرزی بر بردار وزن ،برابر با مضربی از منفی جمله بایاس ( )-bاست.
(چرا؟)
نتیجه :برای تمام نقاطی که باالی (با توجه به جهت بردار وزن) خط مرزی قرار دارند ،ورودی خالص نرون مثبت است
67
شکل .28جداسازی خطی در پرسپترون تک الیه
به منظور دسته بندی نمونه ها در بیش از دو کالس میتوان در شبکه عصبی پرسپترون ،یک الیه با بیش از یک نرون
طراحی نمود.
سوال :در شکل روبرو ورودی خالص نرون چگونه است؟ آیا پاسﺦ یکتاست؟
.1پارامترهای وزن و بایاس نرون ،با مقادیر تصادفی کوچک مقداردهی اولیه می شوند.
.2یک نمونه آموزشی با بردار ورودی Xبه شبکه معرفی و ورودی خالص نرون برآورد میشود.
.5براساس خطای پاسﺦ دهی ،پارامترهای وزن و بایاس شبکه تصحیح میشود.
68
.6مراحل 2تا 5برای کلیه نمونه های آموزشی به انجام میرسد .یک بار ” epochمعرفی کامل نمونه های آموزشی به
.7آموزش شبکه در چندین اپک به انجام میرسد به نحوی که یکی از شرایط زیر حاصل شود:
دیگر تغییر محسوسی در پارامترهای وزن و بایاس نرون ایجاد نشود.
مثال متلب
-1فرض کنید دو دسته داده xو yبصورت زیر تعریف شوند:
;N = 20
)Figure(1
;)plotpv(x,y
69
شکل .29دو دسته داده بصورت خطی جدایی پذیر
;net = perceptron
;)net = train(net,x,y
;)view(net
نتیجه وزنهای بدست آمده پس از آموزش شبکه خطی به شکل زیر است:
70
نمایش خط جداساز با توجه به وزن نرونها.31 شکل
[ را در چه گروهی دستهبندی میکند؟5] داده ورودی با مقدار، شبکه عصبی آموزش داده شده:سوال
3
% create network
);
71
view(net);
net.layers{1}.size = 5;
net.layers{1}.transferFcn = 'logsig';
view(net);
initial_output = net(inputs)
% network training
net.trainFcn = 'trainlm';
net.performFcn = 'mse';
net = train(net,inputs,outputs);
72
% network response after training
)final_output = net(inputs
شب که همینﮓ از هر دو ساختار پیشخور وپسخور تشکیل می شود.هدف اصلی در شبکه همینﮓ این است که تشخیص
کدام الگوی مرجع بیشترین نزدیکی را به الگوی ورودی دارد و سپس آن را در خروجی شبکه ظاهر میکند .
ویژگیها
• دارای 3الیه
• تشخیص اینکه کدام الگوی مرجع بیشترین نزدیکی را به الگوی ورودی دارد.
73
در مواردی که به شبکه بردار ورودی اختیاری (مثال پرتقال بیضوی) اعمال می شود انتظار بر این است که الگوی مرجعی
که بیشترین نزدیکی را با ورودی دارد ،در خروجی ظاهر شود .دو پروسه محاسباتی :ذخیره سازی الگوها و بازیابی
همبستگی یا ضرب داخلی بین بردارهای مرجع با بردار ورودی را محاسبه میکند .بردارهای مرجع الگوهایی هستند که
تمامی عناصر بردار خروجی الیه اول مقادیری بین 0و 2Rدارند .چرا؟
نرون با بزرگترین مقدار خروجی متناظر با الگوی مرجعی خواهد بود که بیشترین شباهت (کمترین فاصله همینﮓ) را با
الیه دوم الیه برگشتی است که الیه رقابتی نیز نامیده می شود .در این مرحله خروجی ماکزیمم از بقیه جدا میگردد.
وزنهای این الیه W2نامیده می شوند که به الگوریتم های بدست آوردن آنها (آموزش) پرداخته نمی شود.
74
الیه سوم ،شبکه پیشخور با تابع تحریک آستانه متقارن دو مقداره است .وزن ها در این الیه از رابطه زیر تعیین می
شود:
شﺒکه هاپﻔیلد
این شبکه دارای ساختار تک الیه بازگشتی است و در آن عملکرد همه نرونها مشابه یکدیگر است و نرون ورودی یا
خروجی در آن وجود ندارد .مقادیر اولیه نرونها توسط ورودی تعیین میشود و سپس شبکه با تکرار به یکی از الگوهای
انتظار داریم که اگر در لحظه 0به شبکه الگوی سیب [ ]1;1اعمال شود ،شبکه به سمت [ ]1;1همگرا گردد.
75
شبکه همینﮓ به پاسﺦ مناسب منتهی میشود و همواره به یکی از الگوهای مرجع همگرا میشود ،و الگوی دارای
بیشترین تشابه به ورودی را بر میگزیند ،در حالی که شبکه هاپفیلد پاسﺦ را کد میکند .پاسﺦ هاپفیلد ممکن است
انواع الگوریتمهای یادگیری برای تنظیم پارامترها از تفاوتهای مهم انواع شبکه ها با یکدیگر است.
آموزش و یادگیری
سیستمهای یادگیر صرفا با مشاهده عملکردشان رفتار خود را جهت رسیدن به هدفی خاص بهبود می بخشند .اگر
مقاصد و اهداف به طور کامل تعریف شده باشد ،دیگر احتیاجی به فرایند یادگیری نیست .یادگیری به علت عدم قطعیت
در شرایط محیطی الزم می گردد .رفتار سیستمهای یادگیر توسط الگوریتمهای بازگشتی بیان می شود .با الگوریتمهای
آموزش شاخص اجرایی مشخص شده ای بهینه می گردد .در حالت کلی دو نوع یادگیری داریم :با ناظر -بدون ناظر.
یادگیری با ناظر
در این حالت در هر تکرار الگوریتم یادگیری جواب مطلوب سیستم یادگیرنده از قبل آماده است ،به عبارت دیگر
الگوریتم به جواب مطلوب دسترسی دارد .مثال اگر هدف یادگیری تابع y=x2باشد ،پاسﺦ مطلوب به ورودی 0,5برابر
0,25میباشد .به طور کل جوابی را که سیستم یادگیر با وضعیت فعلی پارامترهایش می دهد ،جواب واقعی در نظر
میگیریم .بنابر این الگوریتم هم به جواب مطلوب و هم به جواب واقعی دسترسی دارد .یعنی خطای یادگیری که تفاوت
در این حالت جواب مطلوب برای سیستم یادگیرنده موجود نیست ،یعنی :عدم دسترسی به خطای یادگیری
سوال:
چگونه میتوان یک سیستم یادگیرنده را آموزش داد ،اگر ندانیم که این سیستم قرار است چه کاری انجام دهد؟
بیشتر الگوریتمهای بدون ناظر عمل خوشه بندی را انجام میدهند ،یعنی میآموزند که الگوهای ورودی را به تعداد
متناهی از گروهها تقسیم کنند .سیستم یادگیرنده توسط محیط تحریک شود .قانون یادگیری با رجوع به نتیجه تحریک،
پارامترهای سیستم یادگیری را تغییر دهد .سیستم یادگیرنده به خاطر تغییراتی که در ساختار داخلی آن اتفاق افتاده
معیاری سنجیده شود .معیار بهبود ،هدف یادگیری را مدل میکند .قانون یادگیری ،روندی است که در آن ماتریس وزنها
و بردارهای بایاس شبکه عصبی تنظیم میشوند .این قوانین توسط روابط بازگشتی و عموما به صورت معادالت تفاضلی
معادله یادگیری
یک نرون با یک بردار پارامتر wو بردار ورودی pقابل نمایش است.
هر نرون توانایی تنظیم بردار پارامتر خود بر اساس ورودی و یک سیگنال معلم را داراست
در یادگیری با ناظر :سیگنال معلم همان سیگنال خطا است
در یادگیری بدون ناظر :سیگنال معلم تغییر بردار حالت خود نرون است
– حالت پیوسته:
– حالت گسسته:
αنشان دهنده تاثیر از گذشته و ηنرخ یادگیری میباشد L .سیگنال یادگیری بوده و در حالت کلی تابعی از p, w, t
(برای حالت با ناظر) میباشد .مثال در قانون یادگیری پرسپترون بوده و سیگنال معلم همان سیگنال خطا و برابر L=t-a
است.
– حالت پیوسته:
– حالت گسسته:
77
در یادگیری offlineبه کمک داده های یادگیری طراحی شبکه عصبی و آموزش آن انجام می شود و پس از آن به عنوان
یک سیستم استاتیکی عمل می کند .ولی در حالت onlineمثل یک سیستم دینامیکی همواره در حال یادگیری است.
در یادگیری تشدیدی معموال مقادیر خروجی مطلوب در دسترس نیست و در آن به شبکه اعالم میشود که مثال عملکرد
آن %50درست است یا اصال مطلوب نیست .سیگنال برگشتی از نوع نقادی است در صورتیکه در یادگیری با ناظر جنبه
دستوری دارد (چون tمعلوم است) .سیگنال نقاد پارامترهای شبکه را تنظیم میکند با این امید که سیگنال نقاد بهتری
شبکه در اینجا بایستی تنها با ارائﺔ صرف بردارهای ورودی ،ارتباطات موجود بین الگوهای ورودی را پیدا کرده و در
شﺒکههای آداﻻیﻦ
شبکه آداالین با قانون یادگیری ویدرو – هوف ( معروف به قانون )LMSدر سال 1960و بعد از شبکه پرسپترون با قانون
یادگیری SLPRبه وجود آمد .شبکه آداالین شبیه پرسپترون است ولی با تابع تبدیل خطی ( به جای آستانه دو مقداره).
مناسب برای تقریب خطی یک تابع یا اجرای عمل شناسایی الگو
پارامترهای شبکه به نحوی تنظیم می شوند که شاخص اجرایی میانگین مربعات خطا بهینه شود.
مﺒانی بﻬینهسازی
بسیاری از مسائل مهندسی را میتوان بصورت یک مساله بهینه سازی بیان کرد .یادگیری شبکه های عصبی نیز میتواند
یک مساله بهینه سازی باشد .در یادگیری عملکردی پارامترهای شبکه به نحوی تنظیم می شوند که عملکرد شبکه
بهینه شود.
78
قدم اول :تعریف عملکرد و تعیین شاخص عملکرد است که از لحاظ اجرایی این شاخص معموال میانگین مربعات خطا
( )MSEاست.
قدم دوم :جستجو در فضای پارامترهای شبکه برای تنظیم آنها به طوریکه معیار اجرایی عملکرد کاهش یابد.
در الگوریتمهای بهینه سازی ،تخمین بعدی نقطه بهینه از روی تخمین بهینه فعلی بدست میآید.
در ادامه سه شبکه عصبی پرسپترون (پیشخور) ،همینﮓ (رقابتی) و هاپفیلد (حافظه انجمنی بازگشتی) و استفاده از
79