
باشد(Smith,1993).
در نورونهای بیولوژیکی امکان دارد استحکام سیناپسها تحت شرایط خاصی جهت تنظیم و تطابق رفتار یک نورون با محرک ورودیاش تغییر داده شود. در نورونهای مصنوعی، معادل این کار با تغییر در مقدار وزنها در فرآیند یادگیری شبکه انجام میپذیرد. در پردازش اطلاعات، فرآیند تنظیم وزنها و دستیابی به وزنهای مطلوب را یادگیری شبکه میگویند. وزنهای ذخیره شده در حقیقت دانش شبکه هستند. فرآیند تغییر وزنها با ارائه الگوهای آموزشی به شبکه تا زمان دستیابی به دقت کافی در پاسخ شبکه ادامه مییابد(همان).
هر دستورالعمل و روش خاصی برای تنظیم وزنها، یک الگوریتم یادگیری را میسازد. این فرآیند که به طور کلی شامل نحوه ارائه الگوهای آموزش دهنده، معیارهای پایان فرآیند آموزش و روش یادگیری است، الگوریتم آموزشی یک شبکه را تشکیل میدهد(Kohonen,1998- Mitchell,1997).
در یک نگاه کلی شبکههای عصبی مصنوعی حاوی سه جزء اصلی میباشند(Mitchell,1997):
توپولوژی : ویژگیهای ساختاری یک شبکه عصبی
یادگیری : نحوه ذخیره اطلاعات درون شبکه
یادآوری : چگونگی بازیابی دوباره اطلاعات ذخیره شده در شبکه
در بخشهای بعدی توضیحاتی درمورد اجزاء اصلی ، نحوه آموزش و ویژگیهای یک شبکه عصبی داده میشود.
2-17-7-مو شکافی شبکههای عصبی مصنوعی
هر شبکه عصبی حداقل دو جزء فیزیکی دارد: ارتباطها ( وزنها ) و واحدهای پردازشگر. ترکیب این دو جزء یک شبکه عصبی را ایجاد میکند. علاوه بر این موارد، توابع تحریک و نحوه ارائه بردارهای ورودی و خروجی شبکه نیز در طراحی و اجرای یک مدل بسیار مهم هستند
2-17-8-بردارهای ورودی – خروجی
شبکههای عصبی نمیتوانند کارکنند مگر اینکه اطلاعات داشته باشند. برخی از شبکههای عصبی در فرآیند آموزش، نیازمند بردارهای منفرد و در حقیقت فقط بردارهای ورودی هستند و برخی دیگر نیازمند یک زوج بردار هستند یعنی علاوه بر ورودی باید خروجیهای مربوط به آن ورودی نیز به شبکه داده شود. الگوهای ورودی که ممکن است مقادیر حقیقی یا گسسته باشند به صورت یک بردار n بعدی مشخص میشوند. همچنین واحدهای پردازشگر خروجی شبکه نیز یک بردار m بعدی را تشکیل میدهد(Patterson,1996).
2-17-9-الگوهای ارتباطی بین واحدهای پردازشگر
چگونگی ارتباط بین واحدهای پردازشگر و جهت جریان سیگنالها درون یک شبکه عصبی از موارد اساسی یک شبکه میباشد. وزنهای یک شبکه عصبی از یک طرف، جهت جریان اطلاعات و از طرف دیگر میزان تبادل اطلاعات بین واحدهای مختلف و تأثیرگذاری یک واحد بر واحد دیگر را نشان میدهند. همانطور که توضیح داده شد وزنهای ارتباطی در خلال فرآیند یادگیری شبکه تنظیم میشوند. به وزنهای ارتباطی که دارای مقادیر مثبت هستند وزنهای محرک و به وزنهای منفی، وزنهای بازدارنده گفته میشود. وزن صفر نیز نشاندهنده عدم ارتباط بین دو واحد پردازشگر است. وزنهای ارتباطی بین دو لایه به وسیله یک ماتریس w مشخص میشوند و هر درایه آن نشاندهنده ارتباط بین دو واحد پردازشگر است. برای مثال درایهw نشاندهنده انتقال خروجی واحد j ام به واحد iام است ( البته در برخی نوشتارها w مفهوم عکس دارد ). با توجه به این مسئله سیگنالها میتوانند به طور کلی به سمت جلو ، عقب و یا به صورت جانبی حرکت کنند و حتی به خود واحد پردازشگر برگردند(همان).
در اغلب موارد، برای یک واحد پردازشگر داشتن یک پیشقدر درونی (مقدار آستانه) مطلوب است. به سادگی میتوان این ورودی پیشقدر را به صورت یک ارتباط اضافی به یک واحد پردازشگر از لایه قبلی با مقدار یک و وزن w در نظر گرفت که وزن آن در فرآیند یادگیری تنظیم میشود (Patterson,1996- Mitchell,1997).
2-17-10-واحدهای پردازشگر شبکه عصبی مصنوعی
هر شبکه مصنوعی از یکسری پردازشگر تشکیل شده است که عملیات پردازش اطلاعات در آنها انجام میشود. در شکل شماره 5 معمولترین نوع یک واحد پردازشکننده نشان داده شده است. خروجی هر واحد محاسباتی مطابق رابطه شماره 1 تابعی از وزنهای ارتباط دهنده و ورودیهای آن میباشد.
رابطه شماره 1
شكل 2-5- نماي شماتيكي از يك واحد پردازشگر
ماخذ: (Mitchell,1997)
روشهای مختلفی برای ترکیب ورودیها با یکدیگر وجود دارد که معمولترین آنها ترکیب خطی با یکدیگر میباشد ؛ در این صورت رابطه شماره 1 به صورت زیر( رابطه شماره 2 ) تبدیل میشود.
رابطه شماره 2
اطلاعات وزندار شده پس از ترکیب با یکدیگر به تابع F داده شده و در نهایت خروجی یک واحد پردازشگر تولید میشود(Patterson,1996- Mitchell,1997).
2-17-11-توابع تحریک
بسته به نوع عملکردی که یک شبکه عصبی دارد از توابع تحریک متفاوتی در واحدهای پردازشگر استفاده خواهد شد. اگر چه توابع مورد استفاده در این واحدها تقریباً نامتناهی هستند ولی پنج نوع از آنها که در اکثریت شبکههای عصبی استفاده میشوند، عبارتند از : تابع خطی، تابع پلهای، تابع R شیب، تابع سگیموئید و تابع گاوسین. به استثاء تابع خطی، تمامی توابع فوق غیرخطی بوده و همچنین خروجی آنها در یک محدوده مشخص قرار میگیرد، از این رو به آنها توابع فشرده کننده نیز گفته میشود. در شکل شماره 6 توابع ذکر شده به ترتیب نشان داده شدهاند.
معمولترین تابع سگیموئید مورد استفاده در شبکههای عصبی تابع logistic است که با رابطه شماره 3 نشان داده میشود.
رابطه شماره 3
شكل2-6- توابع تحريك متداول مورد استفاده در واحدهاي پردازشگر
ماخذ: (Mitchell,1997)
در این رابطه (a ) معمولاً یک است و خروجی این تابع در بازۀ [1 ، 0] قرار دارد. این تابع معمولاً تحت عنوان سگیموئید شناخته میشود . البته یک حالت خاص از تابع logistic، تابع تانژانت هیپربولیک رابطه شماره 4 میباشد که خروجی آن در بازۀ[1 ، 1-] قرار دارد. این تابع نیز کاربردهای بسیار زیادی در شبکههای عصبی دارد، که در بخشهای بعدی توضیحاتی در مورد آن داده میشود.
رابطه شماره 4
2-17-12-توپولوژی
در شبکههای عصبی مصنوعی معمولاً واحدهای پردازشگر به صورت لایه لایه قرار میگیرند و این لایهها از طریق وزنهای ارتباطدهنده به یکدیگر متصل میشوند. در هر لایه از شبکه عصبی تعدادی واحد پردازشگر با توابع تحریک مخصوص به خود وجود دارد. البته معمولاً واحدهای پردازشگر موجود در هر لایه از شبکه عصبی دارای توابع تحریک یکسانی هستند. به طور کلی، منظور از توپولوژی یک شبکه، تعیین تعداد لایهها و تعداد واحدهای پردازشگر هر کدام از آنها، تعیین نوع توابع تحریک واحدهای محاسباتی و نحوۀ ارتباط بین آنها و در نهایت ویژگیهای بردارهای ورودی – خروجی میباشد. البته، معمولاً بهترین ساختار برای مدلسازی یک فرآیند از طریق آزمایش بدست میآید(Sawhney,1992). در شکل شماره 7 یک شبکه چند لایه پیشرونده، نشان داده شده است.
شكل 2-7- نماي شماتيكي از يك شبكه چند لايه پيشرونده
ماخذ: (Patterson,1996)
این شبکه شامل یک لایه ورودی، دو لایه میانی و یک لایه خروجی است. البته در لایه ورودی واحدهای پردازشگر وجود ندارد و فقط ارتباط بین محیط بیرون با شبکه از طریق آن صورت میگیرد. لایههای میانی، لایههای مخفی نیز نامیده میشوند چون هیچ ارتباطی با جهان بیرون ندارند (Gurney,1997- Patterson,1996). شبکههای عصبی مطابق شکل شماره 8 از لحاظ ساختار به سه دسته تقسیم میشوند:
1- شبکههای عصبی یک لایه که در آنها فرآیند پردازش اطلاعات فقط پیشرونده است.
2- شبکههای یک لایه که فرآیند پردازش اطلاعات فقط پیشرونده است.
3- شبکههای عصبی بازگشتی که احتمال برگشت خروجی یک واحد پردازشگر به لایههای قبلی یا همان لایه وجود دارد.
همچنین در شکل شماره 2-7 برخی از شبکههای متعلق به این دستهها ذکر شده است که از آن جمله به شبکههای چند لایه با الگوریتم انتشار خطا به عقب در ساختارهای چند لایه پیشرونده ، شبکههای پرسپترون متعلق به ساختار یک لایه پیشرونده و شبکههای هاپفیلد و ART در ساختارهای بازگشتی را میتوان اشاره کرد (Patterson,1996).
2-17-13-یادگیری در شبکههای عصبی مصنوعی
یادگیری به فرآیند تغییر وزنهای ارتباط دهنده جهت دستیابی به قابلیت پاسخگویی به دادههای ارائه شده در آموزش شبكه و همچنين دادههاي متفاوت از وروديهايي كه براي آموزش شبكه استفاده شده است ( دادههای آزمایش کننده ) اطلاق میشود(Gurney,1997- Patterson,1996).
یادگیری یک شبکه عصبی به یکی از روشهای ذیل انجام میشود(همان):
تنظیم مقدار وزنهای اتصالات واحدهای پردازشگر
تنظیم مقادیر آستانه توابع تحریک واحدهای پردازشگر
استقرار و تشکیل ارتباطات بین واحدهای پردازشگر
و ترکیبی از این سه فرآیند
البته شایان ذکر است که رایجترین روش آموزش، روش اول میباشد.
الگوریتمهای یادگیری مطابق شکل شماره 2-8 به سه دسته زیر تقسیم میشوند(Patterson,1996- Mitchell,1997):
یادگیری با ناظر؛ در یادگیری با ناظر الگوهای ارائه شده به شبکه جهت آموزش، دارای خروجیهای مطلوب نیز هستند. در این روش، ابتدا میزان خطای بین خروجیهای مطلوب و خروجیهای محاسبه شده تعیین میگردد و سپس از خطای محاسبه شده جهت تغییر پارامترهای شبکه به منظور بهبود عملکرد آن میتوان استفاده کرد. یادگیری تا وقتیکه خطا برای الگوهای آموزشی شبکه به حد قابل قبولی برسد، ادامه مییابد. از شبکههایی که از این روش استفاده میکنند میتوان به شبکههای چند لایه پیشرونده با الگوریتم یادگیری انتشار به عقب و شبکههای تک لایه پرستپرون با الگوریتم یادگیری ویدرو- هاف (قانون دلتا) اشاره کرد.
Learning Strategy
شكل 2-8- طبقهبندي الگوريتمهاي يادگيري شبكههاي عصبي
ماخذ: (Demuth)
تقویتی؛ در یادگیری تقویتی، یک راهنما در فرآیند آموزش شبکه وجود دارد با این تفاوت که خروجی مطلوب به شبکه داده نمیشود بلکه فقط عددی که نشانگر میزان عملکرد شبکه است، ارائه میشود. اگر چه یادگیری تقویتی بوسیله محققان مورد مطالعه قرار گرفته است ولی روش مرسومی برای آموزش شبکههای عصبی نیست.
بدون ناظر؛ در الگوریتمهای یادگیری بدون ناظر، خروجی مطلوب الگوهای آموزشی به شبکه طراحی شده داده نمیشود. در این روش، آموزش از طریق کشف ویژگیهای موجود در الگوهای ورودی آموزش دهنده و با دستهبندی آنها صورت میگیرد. نمونههایی از این الگوریتم در شبکههای ART ، گراسبرگ ، مدل کوهکن و مدل لنیسکر استفاده شده است.
2-17-14-الگوریتم آموزشی انتشار به عقب
یکی از مهمترین پیشرفتهای شبکههای عصبی مصنوعی کشف الگوریتم یادگیری انتشار خطا به عقب برای تنظیم وزنها در شبکههای چند لایه پیشرونده ( MLFF ) است که به عنوان شبکههای چند لایه پرستپرون ( MLP ) نیز شناخته میشود. به نظر میرسد برای اولین بار این الگوریتم به وسیله وربوس در سال 1974برای پیش بینی و تحلیل رفتار فرآیندهای مختلف جهت برتری بر الگوریتم رگرسیون ارائه شد. در سال 1985 این الگوریتم بوسیله پارکر دوباره ارائه گردید. با این وجود اعتبار این روش به تلاشهای روملهارت و دیگر محققان گروه PDP به علت عمومیت بخشی و ارائه الگوریتم به صورت کاربردی نسبت داده شده است(Smith,1993).
روش یادگیری انتشار خطا به عقب برای هر شبکه چند لایه که از توابع تحریک مشتقپذیر و روش آموزش با ناظر استفاده میکند، بکار برده میشود. قبل از استفاده از این الگوریتم، ماتریس وزنهای تمامی لایهها به صورت تصادفی و با مقادیر کوچک مقداردهی میشود. سپس بردارهای ورودی به شبکه ارائه و خروجی آن محاسبه میگردد. خروجی محاسبه شده با خروجی مطلوب مقایسه و مقدار خطا تعیین شده و در نهایت از این خطا به عنوان معیاری جهت تنظیم وزنها استفاده
