حال به تعریف اجزای یک نرون می پردازیم :
ورودیها : مجموعاً تشکیل لایه اول را میدهند. در حقیقت ورودیها نقش همان متغیرهای مستقل را در رگرسیون ایفا میکنند . در این بررسی از ورودیهای مدل ریس و همکاران استفاده میشود.
وزنها : هر ورودی با یک بردار که درجـه اهمیت آن ورودی را نشـان میدهـد، داخل پردازشـگر میشود.
اریب : برای جابهجایی تابع فعال سازی مورد استفاده قرار میگیرد. در توابع فعالساز خطی، اریب (بایاس) میتواند همان نقش عرض از مبدا در رگرسیون را دارا باشد .
به طور کلی نقش نرونها در شبکههای عصبی، پردازش اطلاعات است و این امر در شبکههای عصبی مصنوعی به وسیله یک پردازشگر ریاضی که همان تابع فعال سازی است، انجام میشود. تابع فعال سازی میتواند خطی یا غیرخطی باشد. یک تابع فعال سازی، بر اساس نیاز خاص مسئلهای که قرار است به وسیله شبکه عصبی حل شود، از سوی طراح انتخاب میشود. اگر هدف ما پیشبینی باشد در لایه خروجی بایستی از تابع خطی استفاده کرد. اما اگر هدف طبقهبندی باشد بایستی از توابع محدود کننده مثل تابع تانژانت هایپربولیک استفاده کرد.
۲-۴-۳.توابع فعال سازی شبکه های عصبی
مهم ترین توابع فعال سازی شبکه های عصبی به صورت زیر می باشد:
n a=n
+۱
۱-
تابع خطی
تابعسیگموئید(تجمعی لجستیک)
تابع تانژانت هیپربولیک
تابع شعاعی بنیادی گوسی
۲-۴-۴. شبکه های عصبی تک لایه
هر شبکه از به هم متصل شدن تعدادی نرون حاصل میشود. سادهترین شکل شبکههای عصبی، شبکههای عصبی تک لایه میباشـد. در نگاره ۲-۳ یک شـبکه تک لایه پیش خور با S نرون نشـان داده شده است. واژه پیشخور به این معنا میباشد که هیچ برگشتی از یک نرون وجود ندارد و هر نرون بعد از دریافت بردار مشاهدات، یک خروجی مشخص را ارائه میدهد. ورودی شبکه مورد نظر بردارP و خروجی آن بردار a میباشد. توجه داشته باشید که در اینجا هر یک از ورودیها به هـمه نرونهـا متـصل میبـاشد. مـاتریس وزن (W) نیز در این حالت دارای S سطر و R ستون میباشد. همان طور که در نگاره ۲-۳ مشخص است لایه مورد نظر شامل ماتریس وزن، جمع کنندهها (پردازشگرها) ، بایاس و تابع انتقال میباشد.
نگاره ۲-۳. شبکه عصبی تک لایه
در قسمت قبل ساختار یک نرون عصبی و شکل ساده یک شبکه عصبی ساده تک لایه معرفی شد. اما از آنجا که عموماً در کارهای واقعی، شبکههای تک لایه بیش از اندازه ساده بوده و قابلیت تشخیص دقیق فرایند غیرخطی دادهها را ندارند، بنابراین عموماً از شبکههای چند لایه استفاده میشود. استفاده از یک شبکه تک لایه نمیتواند پیشبینی خوبی برای ما در حل مسائل پیچیده غیرخطی ارائه کند (زیرا تابع فعال سازی آن خطی میباشد). در واقع تمام شبکههای عصبی با بیش از یک لایه در بخشی از کار خود از توابع غیرخطی فعال ساز استفاده میکنند. استفاده از توابع غیرخطی فعال ساز باعث میشود که توانایی شبکههای عصبی را در مدل کردن مسائل غیرخطی بروز نماید و جوابهای مطلوبی در خروجی به ما بدهند. این ویژگی با یک تابع فعال سازی غیرخطی مشتق پذیر و پیوسته اتفاق میافتد. بنابراین برای یک پیشبینی دقیق بایستی از شبکههای عصبی با بیش از یک لایه استفاده شود، که در لایههای میانی آن توابع غیرخطی وجود داشته باشد. البته توجه کرد که افزایش بیش از حد لایههای شبکههای عصبی (بیش از ۳ لایه ) نیز اصلاً توصیه نمیشود.
۲-۴-۵. شبکههای پیشخور[۱۶]
شبکههای پیشخور به شبکههایی گفته میشود که در آنها هیچ برگشتی از یک نرون وجود ندارد و هر نرون بعد از دریافت بردار مشاهدات، یک خروجی مشخص را ارائه میدهد. به عبارت دیگر، در شبکههای پیشخور مسیر پاسخ همواره رو به جلو پردازش میشود و به نرونهای لایه یا لایههای قبل باز نمیگردد. میتوان ثابت کرد شبکههای عصبی پیش خور با یک لایه پنهان، تابع فعال سازی لجستیک در لایه پنهان، تابع فعالسازی خطی در لایه خروجی و تعداد نرونهای کافی در لایه پنهان، قادرند هر تابعی را با دقت دلخواه تقریب بزنند. به همین علت به این نوع شبکه عصبی با ساختار فوق تقریب زننده جامع گفته میشود. بدین معنی که، با تعداد کافی از واحدهای پنهان، شبکه تقریبا میتواند هر تابع خطی یا غیرخطی را با یک سطح دلخواه از دقت، تقریب بزند. در نگاره ۲-۴ یک شبکه پیش خور سه لایه دیده میشود.
نگاره ۲-۴. شبکه پیش خور سه لایه
همانند نگاره قبل در اینجا نیز، بردار ورودی P نام دارد. اما خروجی لایه اول a1 به عنوان ورودی لایه دوم شناخته میشود و همین طور خروجی لایه دوم a2 به عنوان ورودی لایه سوم شناخته میشود. در اینجا لایههای اول و دوم به لایههای میانی و لایه سوم به لایه خروجی موسوم میباشند. نکته قابل توجه این میباشد که به هیچ وجه نیازی به برابری تعداد نرونهای لایههای مختلف نمیباشد.
۲-۴-۶. شبکههای بازگشتی[۱۷] (پس خور)
تفاوت شبکههای برگشتی با شبکههای پیشخور در آن است که در شبکههای برگشتی حداقل یک سیگنال برگشتی، از یک نرون به همان نرون یا نرونهای همان لایه یا لایههای قبل وجود دارد. به عبارت بهتر در شبکههای عصبی بازگشتی، خروجیهای هر نرون می تواند به عنوان ورودی بعدی شبکه مورد استفاده قرار گیرد. شبکههای بازگشتی بهتر میتوانند رفتار مربوط به ویژگیهای زمانی و پویایی سیستمها را نشان دهند. این نوع شبکهها که با توجه به ماهیت پویای مسـئله طراحی میشـوند، بعد از مرحله یادگیری شبکه نیز پارامترها تغیـیر کرده و تصحیح میشوند.
۲-۴-۷. طبقه بندی انواع آموزش در شبکه
یکی از مهـمترین ویژگیهای شـبکه عصـبی مصنوعی که عملـکرد آن را به انسان نزدیکتر می کند، قدرت یادگیری است. آموزش فرآیندی است که به وسیله آن شبکه عصبی خود را برای یک محرک سازگار میکند، بنحوی که از تعـدیل مناسب پارامترهای شـبکه پاسخ مطلوب را ارائه دهد. در خلال آموزش، شبکه پارامترهای خود یعنی وزنهای سیناپس را در پاسخ به ورودی محرک تحریک میکند، بنحوی که خروجی واقعی شبکه به خروجی مطلوب همگرا شود. مجموعه دادههایی که به هر شبکه داده میشود به دو دسته تقسیم میشوند:
مجموعه آموزشی و مجموعه آزمایشی. مجموعه آموزشی برای بالابردن توان یادگیری وارد شبکه میشوند و شبکه باید وزنهای ارتباطی را از الگوهای آموزشی موجود یاد بگیرد. همانطور که یک شیوه خاص برای افراد معین مناسب است، برای هر شبکه عصبی مصنوعی نیز روش های خاصی مناسب است. در ذیل گونههای مختلف آموزش آمده است.
آموزش با نظارت
در یادگیری با نظارت، پاسخ صحیح برای هر الگوی ورودی به شبکه داده میشود. در این حالت هر دفعه خروجی شبکه با خروجی مطلوب مقایسه میشود. حال اگر خروجی واقعی با خروجی مطلوب مغایرت داشته باشـد، شـبکه یک سـیگنال خطا تولید میکند که از این سـیگنال فقط برای محـاسبه میزان تغیـیری که باید بر وزن های سیناپس اعمال شود، استفاده میگردد. این روند آنقدر انجام میگیرد تا خروجی واقعی همان خروجی مطلوب یا نزدیک به آن شود. این روند حداقل نمودن خطا نیازمند به یک مدار ویژه به نام معلم یا ناظر دارد که عمل مقایسه بین خروجی واقعی و خروجی مطلوب را انجام دهد و شبکه را با توجه به این میزان سیگنال خطا، تعـدیل نماید تا اینکه آموزش لازم را ببیند. به همین دلیل به این شـیوه آموزش، آموزش با نظارت گـفته میشود.
آموزش بدون نظارت
در آموزش بدون نظارت بر خلاف شیوه آموزش با نظارت نیاز به معلم نیست، یعنی خروجی هدف وجود ندارد. در خلال آموزش، شبکه الگوهای آموزشی خود را از طریق ورودی هایش دریافت میکند. این یادگیری، ساختار اساسی دادهها و ارتباط بین الگوها در دادهها را کشف میکند و الگوها را در طبقاتی مناسب سازماندهی می کند.
یادگیری زوجی
یادگیری زوجی، یادگیری با نظارت و بدون نظارت را ترکیب میکند. معمولا قسمتی از وزنها از طریق یادگیـری با نظارت تعیین میشـوند و بقیه از طـریق یادگیری بدون نظارت به دست میآیند.
آموزش تقویت یافته
در این شیوه نیز مانند روش آموزش با نظارت نیاز به یک معلم میباشد، اما در این روش معلم تعییـن نمیکنـد که خروجی واقعی چه انـدازه با خروجی مطـلوب تفاوت دارد، بلکه مشـخص میکند که خروجی واقعی همان خروجی مطلوب است یا خیر. بنابراین سیگنال خطای تولیدی در این روش باینری میباشد. اگر سیگنال خطا وضعیت عدم تطابق دو خروجی (واقعی و مطلوب) را نشان دهد، آنگاه شبکه پارامترهای خود را به طور مکرر تعدیل می کند تا اینکه به خروجی مطلوب برسد.
آموزش رقابتی
آموزش رقابتی شکلی از آموزش بدون نظارت است. شبکههایی که از این شیوه آموزش استفاده میکنند در لایه خروجی خود از چند نرون تشکیل یافتهاند، هنگامی که یک ورودی به شبکه اعمال می شود تمام نرونهای خروجی با یکدیگر رقابت میکنند تا یکی از نرونهای خروجی مقدار غیر صفر داشته باشد که به آن نرون برنده میگویند که معین کننده نرونی از نرونهای لایه ورودی با بیشترین مقدار است.
۲-۴-۸ . شبکه عصبی پرسپترون
پرکاربردترین معماری شبکههای عصبی، شبکههای پرسپترون پسخور هستند که معمولا شبکههای درک چند لایه و به طور اختصار MLP گویند. این مدل مبتنی بر الگوریتم یادگیری با ناظر[۱۸] است. ساختار اولیه و ساده این مدل تشکیل شده است از یک لایه ورودی، یک یا چند لایه پنهان و یک لایه خروجی. شبکههای عصبی با لایههای پنهان دارای تواناییهای بیشتری نسبت به شبکه های عصبی دو لایه هستند(منهاج،۱۳۷۷).
هر یک از لایه ها می تواند یک یا چند گره داشته باشد. تعداد گرههای لایههای ورودی به تعداد متغیرهای ورودی و تعداد گرههای لایه خروجی به تعداد متغیر های خروجی وابسته است. اما تعداد گره های لایه های میانی با آزمون و خطا بدست می اید. در حقیقت تعداد مناسب گره ها و لایه های پنهان، وقتی به دست می آید که شبکه بهترین جواب را ارائه دهد.(منافی،۱۳۸۵)
نگاره ۲-۵ ساختار یک شبکه پرسپترون سه لایه را که دارای چهار گره در لایه ورودی و یک گره در لایه خروجی است نشان میدهد.ویژگیهای مهم این شبکه عبارتند از:
حداقل دارای یک لایه میانی است.
از توابع فعالسازی غیرخطی و مشتقپذیر در لایه میانی استفاده میکند.
الگوریتم یادگیری در آن طوری طراحی شده است که خطا را از لایه خروجی به لایههای قبلی منتقل میسازد.
تصحیح خطا از لایه آخر شروع شده و سپس لایههای قبلی اصلاح میشوند.
اتصالات در این شبکه از درجه بالایی برخوردارند.
نگاره ۲-۵.نمایش یک شبکه عصبی پرسپترون ساده
علت اصلی موفقیت این شبکه را باید در نوع الگوریتم یادگیری این شبکه جستجو کرد. الگوریتم مورد استفاده در آن، از نوع الگوریتم پس انتشار خطا میباشد. این الگوریتم همواره بدنبال حداقلسازی مربعات خطا میباشد. این دقیقا شبیه تخمین ضرایب رگرسیون از روش OLS در آمار و اقتصاد سنجی می باشد . بنابراین هر شبکه عصبی از یک تابع خطایی همانند رابطه زیر پیروی می کند.