(۳-۱۷)

 

    1. تابع متقارن آستانه

 

(۳-۱۸)
این توابع در شکل ۳-۲ آورده شده ­اند.
شکل ۳-۲- توابع محرک به­ترتیب از راست به چپ: خطی، لگاریتمی، تانژانت هیپربولیک، تابع آستانه
از آنچه تا به­حال گفته شد می­توان گفت که یک تک­نرون یک تابع را پیاده­سازی می­نماید؛ از دیدگاه ورودی-خروجی، خروجی تک­نرون، ، تابعی غیر خطی از ورودی­های است. پارامترهای این تابع را وزن­ها و بایاس، ، تشکیل می­ دهند [۲۵]. معمولا تابع محرک به وسیله طراح انتخاب می­ شود و سپس وزن­ها و بایاس به وسیله یک الگوریتم آموزش، به­گونه ­ای تنظیم می­شوند که رابطه ورودی-خروجی نرون یک هدف مشخص را ارضا کند.
تک­نرون قادر است داده ­ها را به دو کلاس دسته­بندی کند. برای این مساله دسته­بندی، مجموعه ­ای از داده ­ها باید به دو کلاس و تقسیم شوند. یک شبکه عصبی قادر است از داده ­ها آموزش ببیند و در حین آموزش عملکردش را بهبود ببخشد. بعد از آموزش انتظار داریم که شبکه در برخورد با داده ­های جدید که در آموزش شبکه از آنها استفاده نشده است، نیز عملکرد مناسبی داشته باشد.
دانلود پایان نامه - مقاله - پروژه
۳-۳-۲- آموزش پرسپترون
یکی از روش­های آموزش پرسپترون، الگوریتم همگرایی پرسپترون است. فرض کنید، در حالت کلی، پرسپترون دارای ورودی است. در این صورت بردار ورودی، به صورت می­باشد و بردار وزن­ها و بایاس، به صورت است. که در آن ورودی با مقدار ثابت ۱ در بایاس ضرب می­ شود. از این پس برای راحتی به بردار ، بردار وزن­ها می­گوییم. دو کلاس و به­ صورت خطی جداپذیر باشند (یعنی در دو طرف یک خط یا در حالت کلی یک ابر صفحه قرار گیرند)، در آن صورت بردار وزنی، ، وجود خواهد داشت که:
(۳-۱۹) برای همه ورودی­های که به کلاس تعلق دارند.
(۳-۲۰) برای همه ورودی­های که به کلاس تعلق دارند.
در این حالت رابطه در فضای بعدی با محورهای ، ، … و ، یک ابر صفحه را تعریف می­ کند که به عنوان جداکننده دو کلاس مختلف عمل می­ کند. پروسه آموزش، وزن­ها، ، را به­گونه ­ای تنظیم می­ کند که دو نامساوی رابطه (۳-۱۹) و (۳-۲۰) را بر آورده سازند. فرض می­کنیم از مجموعه ­ای داده که برای طراحی در دست داریم، داده را به همراه کلاسی که هر داده به آن تعلق دارد (۰ یا ۱) برای آموزش انتخاب کنیم. بنابراین می­توانیم این مجموعه را به­ صورت نشان دهیم که در آن مقدار ها ۰ یا ۱ می­باشند.
هسته الگوریتم همگرایی پرسپترون برای آموزش وزن­های یک پرسپترون دارای دو گام است:
گام ۱) اگر امین عضو داده ­های آموزشی، ، به وسیله وزن که در امین تکرار الگوریتم محاسبه شده ­اند، درست دسته­بندی شود (یعنی خروجی پرسپترون به ازای ورودی ، شود)، هیچ تصحیحی بر روی انجام نمی­گیرد:
(۳-۲۱) اگر و به کلاس تعلق داشته باشد.
(۳-۲۲) اگر و به کلاس تعلق داشته باشد.
گام ۲) در غیر این­صورت وزن­ها با رابطه زیر به­روز می­شوند:
(۳-۲۳) اگر و به کلاس تعلق داشته باشد.
(۳-۲۴) اگر و به کلاس تعلق داشته باشد.
به عوض شدن کلاس­ها از گام ۱ به گام ۲ دقت نمایید. نرخ آموزش[۳۴] نام دارد و تنظیمی که در تکرار ام بر وزن­ها اعمال می­ شود را کنترل می­ کند. اگر را ثابت در نظر بگیریم ، مستقل از شماره تکرار، یک افزایش ثابت برای وزن­ها داریم. ثابت شده است که الگوریتم آموزش گفته شده همگراست [۲۶].
الگوریتم آموزش پیش­گفته در شکل ۳-۴ آورده شده است. ورودی نقطه­ای را در فضای بعدی نشان می­دهد که در اینجا با دایره (آبی) مشخص شده است. فرض­کنید شماره کلاس­ها ( ها)، مقادیر ۱ و دارند و برای مشخص کردن آن­ها در نرون از تابع متقارن آستانه (تابع علامت) استفاده نموده­ایم. قانون به­روز سازی به کمک ضرب نقطه­ای دو بردار و تعریف شده است که به زاویه بین دو بردار وابسته است:
(۳-۲۵)
شکل ۳-۳- بعد از دو تکرار (به­روز کردن وزن­ها) بزرگتر شدن از ۹۰ و تغییر علامت
شکل ۳-۳ حالتی را نشان می­دهد که بردار وزن باید تغییر یابد (ورودی عضو کلاسی است که با نشان داده می­ شود اما شده است). زاویه کوچکتر از ۹۰ درجه است بنابراین مثبت می­باشد، در این حالت قانون به­روز سازی، بردار وزن را به اندازه در جهت مثبت به تغییر می­دهد. بردار وزن چرخیده است اما نه به اندازه کافی و بنابراین یک بار دیگر به­روزسازی تکرار می­ شود و بردار وزن به می­رسد. حال زاویه بزرگتر از ۹۰ درجه شده است و بنابراین علامت صحیح است (). بردار برصفحه­ای که کلاس­ها را از هم جدا می­ کند عمود است. این موضوع در شکل ۳-۴ نشان داده شده است (البته برای حذف بایاس و نمایش دو بعدی، مرکز مختصات به اندازه بایاس شیفت داده شده و بر روی خط جداکننده قرار گرفته است). وقتی تغییر می­یابد صفحه جداکننده نیز همراه با آن تغییر می­ کند و این تغییر در و صفحه جداکننده تا زمانی ادامه می­یابد که صفحه جداکننده کلاس­ها را به درستی از هم جدا کند.
شکل ۳-۴- بردار وزن­ها در فضای دو بعدی خطی برای جدا کردن کلاس دایره از کلاس ضربدر
قوانین آموزش (۳-۲۱) تا (۳-۲۴) را می­توان به صورت ساده­تری نشان داد تا شرط­هایی که بر روی آن­هاست به­ صورت خودکار اعمال شوند و بتوان همه قوانین را در یک عبارت خلاصه کرد. این قوانین خلاصه شده، فرمی از قانون آموزش تصحیح خطا [۳۵]هستند که به قانون دلتا معروف می­باشند:
(۳-۲۶)
که در آن خروجی پرسپترون در تکرار ام می­باشد. اختلاف نقش خطا را بازی می­ کند و مربوط به نمونه آموزشی فعلی است. پارامتر یک ثابت
مثبت در بازه می­باشد. قانون آموزش وقتی خطای مثبت است، مقدار را با افزایش بردار افزایش می­دهد تا خطا کاهش یابد.
۳-۳-۳- پرسپترون تک­لایه
همانگونه که پیشتر گفته شد تک­نرون برای جداسازی دو کلاس مورد استفاده قرار می­گیرد؛ بنابراین اگر مساله­ای با بیش از دو کلاس برای جداسازی داشته باشیم باید چند پرسپترون را در شبکه بکار گیریم. ساده­ترین شکل استفاده از پرسپترون­ها استفاده از آنها در یک لایه است. شکل ۳-۵ ساختار شبکه عصبی تک­لایه را نشان می­دهد. همانگونه که مشاهده می­ شود ساختار شبکه عصبی تک­لایه، شامل تعدادی گره ورودی است که به ورودی تعدادی پرسپترون که در یک لایه (لایه خروجی) قرار گرفته­اند متصل شده ­اند. توابع محرک هر نرون را می­توان بسته به مساله به­ صورت دلخواه انتخاب کرد. اما معمولا توابع را یکسان در نظر می­گیرند.
در این حالت هر نرون در لایه خروجی با وزن­هایی که به آن متصل است ابر صفحه­ای را در فضای ورودی مشخص می­ کند و آن را به دو نیم فضا تقسیم می­ کند. شاید به نظر برسد که با دو نرون در لایه خروجی می­توان ۴ کلاس که به صورت خطی جداپذیرند را از هم جدا نمود.
ورودی
خروجی
لایه نرون­ها
شکل ۳-۵- ساختار کلی پرسپترون تک­لایه
برای بررسی ساده­تر فرض می­کنیم در نرون­ها از توابع آستانه­ای با خروجی ۰ و ۱ استفاده شده باشد. در این حالت می­توان برای داده ­های کلاس اول تا چهارم، خروجی هدف را به ترتیب به صورت ، ، ، (کد باینری) تعریف نمود. در عمل این کار برای بعضی کلاس­ها با مشکل مواجه می­ شود. این موضوع در شکل ۳-۶ آورده شده است. همانطور که ملاحظه می­ شود داده ­های شکل سمت راست را با دو خط (و در نتیجه با دو نرون) از هم جدا می­شوند اما داده ­های شکل سمت چپ برای جداسازی به سه خط (سه نرون) نیاز دارند. در حالت کلی می­توان گفت برای جداسازی کلاس جداپذیر خطی با شبکه پرسپترون تک لایه، حداقل به نرون نیازمندیم؛ اما اگر از نرون استفاده نماییم می­توان هر نرون را برای جداسازی داده ­های یک کلاس از کل بقیه داده ­ها تعبیر نمود. نکته قابل ذکر آن است که اگر به شکل سمت راست دقت شود، توزیع داده ­ها در جهت محور افقی بهتر از محور عمودی است (به عبارت دیگر اگر محور افقی داده ­ها حذف شود داده ­های کلاس­های مختلف بر روی هم می­افتند. این مشکل با اعمال پیش پردازش­های غیرخطی بر روی داده ­های شکل دوم و سپس اعمال آن به شبکه عصبی قابل حل است.
شکل ۳-۶- دو حالت پراکندگی داده ­های چهار کلاس در فضای دو بعدی ورودی: حالتی که کلاس­ها را می­توان با دو نرون خروجی جدا نمود (سمت راست) و حالتی که نیاز به سه نرون در خروجی است (سمت چپ).
از دیگر مشکلات کدینگ باینری در پرسپترون تک­لایه آن است که تعداد ماکزیمم زیر فضاهایی که نرون­ها در فضای ورودی ایجاد می­ کنند با تعداد کلاس­هایی که می­توان با آن تعداد نرون و کد باینری
تعریف کرد یکسان نمی ­باشد. برای مثال، اگر شبکه­ ای با دو ورودی و سه نرون در خروجی داشته باشیم، تعداد کلاس­هایی که در کد باینری می­توان تعریف کرد ۷ می­باشد (،… و ) اما تعداد زیر فضاهایی که در حالت ماکزیمم با سه خط می­توان در فضای دو بعدی ایجاد نمود، ۷ می­باشد. شکل ۳-۷ این موضوع را نشان می­دهد همانطور که دیده می­ شود زیر فضایی با کد وجود ندارد.
با توسعه ماتریسی روشی که برای یادگیری تک­نرون ارائه شد می­توان آن را برای پرسپترون تک­لایه نیز استفاده نمود. برای آموزش حتی می­توان پرسپترون تک­لایه را به شکل چند تک­نرون به صورت موازی آموزش داد.
شکل ۳-۷- مرزهای جدا کننده یک پرسپترون تک­لایه با دو ورودی و سه خروجی به همراه کد باینری که برای کلاس­ها در نظر گرفته شده است. هر خط به­وسیله­ یک نرون در فضای دو بعدی ورودی ایجاد شده است.
۳-۳-۴- پرسپترون چندلایه
همانگونه که گفته شد پرسپترون تک­لایه تنها قادر به جداسازی کلاس­هایی است که به­ صورت خطی جداپذیر باشند. برای جداسازی کلاس­هایی که به­ صورت غیرخطی جدا می­شوند (دارای مرزهای غیرخطی هستند) یا کلاس­هایی که داده ­های آنها دارای همپوشانی است به لایه­ های بیشتری نیاز داریم. شکل ۳-۸ یک شبکه دولایه (یک لایه خروجی و یک لایه میانی) را نشان می­دهد. لایه میانی به­ طور مستقیم از محیط خارج ورودی دریافت نکرده و به دنیای خارج نیز مستقیما خروجی نمی­دهند، به همین دلیل به این لایه از دیدگاه خارج لایه پنهان [۳۶] نیز می­گویند.
در این نوع شبکه­ ها معمولا هر گره به تمامی گره­های لایه بعدی متصل است که به این حالت اتصال کامل[۳۷] گفته می­ شود. همچنین همه مسیرها در جهت ورودی به خروجی است و مسیر برگشتی وجود ندارد به همین دلیل به این نوع شبکه­ ها پیشخور گفته می­ شود.
لایه خروجی
خروجی
ورودی
لایه پنهان

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...