الف- تمام الگوهای ورودی که دارای ویژگیهای مشترکی هستند در یک کلاس قرار گرفتهاند.
ب- شبکه باید قادر باشد ویژگیهای مشترک را تنها با بهره گرفتن از ورودی ها کشف کند.
۱-۲۰-۲ انواع شبکه های عصبی بر مبنای نوع اتصالها در شبکه
براساس چگونگی اتصال گرهها در معماری شبکه به یکدیگر، شبکه های عصبی به انواع زیر تقسیم شدهاند:
۱- شبکه های عصبی پیشرو (پیشخور)[۷۵]: در این نوع شبکه، گرهها در لایه های متوالی قرار گرفتهاند و ارتباط آنها یکطرفه است و زمانی که یک الگوی ورودی به شبکه اعمال شده، اولین لایه مقادیر خروجی را محاسبه کرده و در اختیار لایه بعدی قرار داده است. لایه بعدی این مقادیر را به عنوان ورودی دریافت کرده و مقادیر خروجیاش را به لایه بعدی منتقل کرده و هرگره فقط به گره لایه بعدی سیگنال ارسال کرده است. شبکه های پرسپترون چند لایه (MLP)[76] جزء این شبکه ها بودهاند که در ادامه به این نوع از شبکه ها نیز پرداخته شده است.
۲- شبکه های عصبی پسرو (پسخور)[۷۷]: در این نوع شبکه ها، گرههای لایه های بالاتر به گرههای لایه های پایینتر سیگنال منتقل کرده اند. شبکه های پسخور از توانایی بالقوه بیشتری نسبت به شبکه های پیشخور برخوردارند و بهتر میتوانند رفتار مربوط به ویژگیهای زمانی سیستمها را نشان دهند.
۳- شبکه های عصبی با پیوندهای جانبی گرهها[۷۸]: در این نوع شبکه ها، گرههای هر لایه به گرههای همان لایه سیگنال منتقل کردهاند.
۱-۲۱ شبکه عصبی پرسپترون[۷۹]
این نوع شبکه از سادهترین شبکه بوده که برای الگوهای مختلف به کار برده شده است. شبکه پرسپترون تکلایه از یک لایه با s نورون تشکیل شده که دارای R پارامتر ورودی بوده است. شکل (۱-۳) مدل این شبکه را نمایش داده است:
( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
شکل (۱-۳) مدل شبکه پرسپترون تک لایه
شکل (۱-۴) یک شبکه عصبی پرسپترون چند لایه را نشان داده است. بطور کلی اینگونه شبکه ها دارای مشخصات زیر هستند:
الف- این شبکه ها دارای سه لایه به نامهای لایه ورودی[۸۰] و لایه میانی(پنهان)[۸۱] و لایه خروجی[۸۲] بودهاند، تعداد لایه های پنهان محدودیتی ندارد.
ب- در این شبکه ها نرونهای هر لایه به نرونهای لایهی بعد از خود، سیگنال فرستادهاند.
شکل (۱-۴) شبکه پرسپترون چند لایه
۱-۲۲ روند طراحی شبکه های عصبی مصنوعی
در یک شبکه عصبی چند لایه پیشرو، اطلاعات از سلولهایی به نام نرون یا گره تشکیل شده است. پردازشی که در کل گرهها صورت گرفته، ممکن است بسیار پیچیده باشد اما اصل و اساس شبکه های عصبی مصنوعی این است که هرگره عملیات ساده و پردازشهای موضعی انجام داده ولی زمانی که تعداد زیادی گره به صورت موازی اطلاعات را پردازش کردهاند، نتیجه نهایی پیچیده بوده است. شبکه های عصبی چند لایه پیشرو تابع سه جزء عمدهی زیر بودهاند:
۱- تعداد لایه ها و تعداد نرونهای شبکه عصبی مصنوعی: حداقل تعداد لایه ها در شبکه های عصبی چند لایه پیشرو، سه عدد بوده و بطور معمول وجود یک لایه پنهان به منظور پردازش مناسب اطلاعات کافی است. با این حال در صورت نیاز میتوان کاربرد لایه های پنهان بیشتر را مورد آزمایش قرار داد. تعداد نرونهای لایه ورودی و خروجی به ترتیب بستگی به تعداد پارامترهای ورودی و خروجی داشته اما تعداد نرونهای لایه پنهان تابع قانون خاصی نبوده ولی معمولاً بین نصف تا دو برابر نرونهای لایه ورودی بوده است. تعیین تعداد این نرون تنها از طریق تجربه و سعی و خطا امکان پذیر است. بدین معنی که تعداد بهینه نرونها زمانی حاصل شده که شبکه عصبی بهترین پردازش را با کمترین خطا انجام دهد.
۲- تابع فعالیت یا تابع انتقال مورد استفاده: در این شبکه ها بطور کلی دو نوع تابع فعالیت خطی و غیرخطی استفاده شده و انتخاب نوع تابع نیز با توجه به تجربه و با سعی وخطا انجام گرفته است. در شکل (۱-۵) چند نمونه از توابع فعالیت آمده است.
شکل (۱-۵) چند تابع فعالیت پر کاربرد
۳- وزنهای شبکه عصبی مصنوعی: مهمترین بخش شبکه های عصبی، وزنهای آن بوده است. تعیین وزنهای بهینه شبکه نیاز به کاربرد یک روش منطقی دارد که اصطلاحاً به آن تربیت شبکه گفته شده است.
۱-۲۳ آموزش شبکه های عصبی مصنوعی
آموزش شبکه های عصبی در واقع تعیین مقادیر بهینه وزنها بوده، تا شبکه کمترین خطا را داشته باشد. ایده کلی این آموزش از روند تربیت و آموزش در انسان گرفته شده است. ذهن انسان از بدو تولد با دریافت الگوهای مختلف از خارج شکل گرفته و در واقع وزنهای داخلی ذهن براساس الگوهای مختلف تغییر یافتهاند. همین ایده در شبکه های عصبی مصنوعی استفاده شده است. بدین ترتیب که در ابتدا یک سری وزنها بصورت تصادفی انتخاب شده و سپس با توجه به اطلاعات آموزشی که شامل ورودی و خروجیهای مرتبط بوده و یک روش مناسب تربیت، وزنها به نحوی تغییر کردهاند که شبکه به ازای مقادیر ورودی داده ها، مقادیر خروجی را بدهد.
۱-۲۴ روشهای آموزش شبکه های عصبی مصنوعی
روشهای آموزشی مختلف برای انواع شبکه های عصبی به کاربرده شده است. این روشها عبارتنداز:
۱- قانون یادگیری پرسپترون تک لایه[۸۳]: این قانون از نوع یادگیری با ناظر است و فقط برای شبکه های عصبی متشکل از نرونها با تابع تبدیل آستانهای دو مقداره[۸۴] به کار برده شده است.
۲- قانون یادگیری هب[۸۵]: این قانون از نوع یادگیری بدون ناظر است و جهت آموزش شبکه های انجمنی به کار برده شده است.
۳- قانون یادگیری ویدرو- هوف[۸۶] ویا LMS[87] : روش یادگیری ویدرو- هوف یادگیری با ناظر است و تعمیمی از الگوریتم (S.D.)[88] بوده است. در این روش پارامترهای کنترل کننده جهت پایان دادن به آموزش، میانگین مجذور خطا بوده است. این روش برای آموزش شبکه های عصبی پرسپترون با تابع انتقال خطی موسوم به شبکه های آدالاین[۸۹] به کار برده شده است.
۴- قانون یادگیری انتشار به عقب (BP) [۹۰]: این قانون که تعمیمی از روش آموزشی LMS بوده که برای آموزش شبکه های عصبی چند لایه پیشخور که عموماً شبکه های چند لایه پرسپترون MLP هستند، به کار برده شده است. این قانون نیز مانند روش LMS تعمیمی از الگوریتم SD است.
۱-۲۵ روش آموزش انتشار به عقب
الگوریتم تصحیح انتشار به عقب بر اساس خطایی که در خروجی شبکه وجود دارد و برای تنظیم وزنها مورد استفاده قرار گرفته است. حال فرض شود یک شبکه عصبی مصنوعی با مقادیر وزن اولیه به همراه n عدد زوج الگو شامل و در اختیار داشته بطوریکه بردار مقادیر ورودی و نشان دهنده تعداد ورودی و بردار مقادیر خروجی متناظر با بردار ورودی و تعداد خروجیها بوده است. اگر خروجی شبکه باشد آنگاه مقدار خطای شبکه بصورت رابطه (۱-۷) بدست آمده است:
(۱-۷)
که در آن تعداد نرونها در لایهی خروجی بوده، اگر تعداد کل زوج الگوهای آموزشی عدد باشد، درآن صورت خطای محاسباتی بصورت رابطه (۱-۸) بوده است:
(۱-۸)
در عمل هدف کمینه کردن مقدار است یا به عبارتی وزنهای بهینه که به ازای آنها شبکه عصبی مصنوعی خطای محاسباتی کل کمتری دارد ولی روند آموزشی شبکه های عصبی کمینه کردن مقدار نیست بلکه مقدار خطای کمینه گردیده است.
الگوریتمی که در روشBP برای رسیدن به وزنهای بهینه بکار رقته، به شرح زیر است:
۱- انتخاب زوجهای یادگیری
۲- انتخاب مقادیر اولیه مناسب برای وزنهای شبکه
۳- اعمال بردار ورودی به ورودیهای شبکه و محاسبه خروجی شبکه
۴- محاسبه خطای ایجاد شده بین خروجی شبکه و خروجی مربوطه به بردار ورودی ( )
۵- تنظیم وزنهای شبکه به طوری که مقدار خطا مینیمم گردد.
۶- تکرار مراحل ۱ تا ۴ برای همه زوج الگوهای آموزشی به طوری که خطای به یک مقدار مناسب همگرا شود.
تغییر وزنهای شبکه در دوحالت ممکن است انجام گیرد:
الف- تغییر وزنها بعد از ارائه هر زوج الگوی آموزشی که این روش به آموزش مثال به مثال[۹۱] معروف است.
ب- تغییر وزنها بعد از ارائه دستههای m تایی (m<N) که این روش به آموزش دستهای[۹۲] معروف است.
۱-۲۶ مزایای شبکه های عصبی مصنوعی
۱- شبکه های عصبی مصنوعی قادرند که رابطه بین متغیرهای ورودی و خروجی را بدون نیاز به ملاحظات فیزیکی صریح تشخیص دهند.
۲- شبکه های عصبی مصنوعی نسبت به نویز و داده های ناقص حساسیتی ندارند.
۳- آنها در اکثر مواقع تعمیم دهی مناسب روی داده های مشاهده نشده دارند.
۴- آنها قابلیت پردازش غیر خطی که یک ویژگی قابل توجه در کار با داده های واقعی است را دارا هستند.
۱-۲۷ معایب شبکه های عصبی مصنوعی