مقدمه
در سالیان اخیر شاهد حرکتی مستمر از تحقیقات صرفاً تئوری به تحقیقات کاربردی در پردازش اطلاعات برای مسائلی که راه حلی برای آنها موجود نیست بوده ایم. با توجه به این حقیقت توجه زیادی به توسعه تئوریک سیستمهای دینامیکی هوشمند مدل- آزاد بر اساس داده های تجربی وجود دارد. شبکه های عصبی مصنوعی جزء آن دسته از سیستم های دینامیکی قرار دارند که با پردازش بر روی داده های تجربی دانش در ورای داده ها را به ساختار شبکه منتقل می کند. پیاده سازی ویژگیهای مغز در یک سیستم مصنوعی همیشه مورد توجه مطلوب بوده است کافی نبودن دانش موجود خود سبب انگیزش و پژوهش های بیشتر در این زمینه بوده و خواهد بود.
مبحث Pattern Fecognation شناسایی الگو را می توان به سه صورت زیر ارائه کرد:
آماری Statistical
فازی Fuzzy
شبکه های عصبی Neural Network
در روش آماری درصد خطا بالا می باشد به همین دلیل در پروژه فوق از دو روش Fuzzy و Neural Network استفاده شده که شبکه طراحی شده به Fuzzy Min- Max Classification Neural Network معروف می باشد که در آن درصد خطا بسیار پائین می باشد.
بدلیل اینکه ابتدا الگوهای ورودی با استفاده از مجموعه های فازی در گروههای خود تنظیم می شوند و سپس با استفاده از شبکه عصبی خرجی مطلوب را بدست می دهد.
انگیزه های بیولوژیکی شبکه های عصبی
مغز به عنوان یک سیستم پردازش اطلاعاتی با ساختار موازی از 100 تریلیون و نرون به هم مرتبط با تعداد کل ارتباط تشکیل شده است نرونها ساده ترین واحد ساختار سیستم های عصبی هستند. بافتهایی که عصب نامیده می شوند اجتماعی از نرونها می باشند. این نرونها اطلاعات و پیامها را از یک قسمت بدن به قسمت دیگر منتقل می کنند پیامها از نوع ایمپالسهای الکتروشیمیایی هستند.
بیشترین تعداد نرونها در مغز و مابقی در نخاع و سیستم های عصبی جانبی تمرکز یافته اند گرچه همگی نرونها کارکرد یکسانی دارند ولی اندازه و شکل آنها بستگی به محل قرار گیری آنها در سیستم عصبی دارد. بیشتر نرونها از سه قسمت اساسی تشکیل شده اند.
بنده سلول: که شامل هسته و قسمت های حفاظتی دیگر می باشد.
دندریت
اکسون
که دندریت ها و اکسون ها عناصر ارتباطی نرون را تشکیل می دهند.
دندریتها به عنوان مناطق دریافت سیگنالهای الکتریکی، شبکه هایی تشکیل یافته از فیبرهای سلولی هستند که دارای سطح نامنظم و شاخه های انشعابی بیش مار می باشند پیامهای عصبی تنها به صورت یکطرفه حرکت می کنند: از دندریتها به بدنه سلول و سپس به اکسون.
هر اکسون به طور فیزیکی از سلولهای مجاور توسط یک فاصله کوچک موسوم به سیناپس جدا می شود. وقتی که یک پتانسیل تحریک به انتهای یک اکسون می رسد، موجب آزاد شدن یک ماده شیمیایی بنام انتقال دهنده نرونی از انتهای اکسون می شود پس از نفوذ در سیناپسها، گیرنده ی سلولهای مجاور را فعال می کند.
شبکه های عصبی مصنوعی
مقدمه
در این بخش مدل ساده از یک نرون واقعی و سپس ساختارهای مختلف شبکه های عصبی مصنوعی ارائه خواهد شد.
مدل نرون تک ورودی
ساختار یک نرون تک ورودی را نشان می دهد اسکالر های p و a به ترتیب ورودی و خروجی می باشند میزان تاثیر p روی a بوسیله مقدار اسکالر w تعیین می شود ورودی دیر که مقدار ثابت 1 است در جمله بایاس b ضرب شده و سپس با wp جمع می شود این حاصل جمع ورودی خالص n برای تابع محرک (یا تابع تبدیل) f خواهد بود. بدین ترتیب خروجی نرون با معادله زیر تعریف می شود:
a = f (wp+b)
با مقایسه این مدل تک ورودی با یک نرون بیولوژیکی، عملاً w ، معادل شدت سیناپس، جمع کننده وت ابع محرک معادل هسته سلول و سیگنال خروجی نرون، u معادل سیگنال گذرنده از اکسون خواهند بود. باید توجه داشت که پارامترهای w و b قابل تنظیم هستند و تابع محرک f نیز توسط طراح انتخاب می شود بر اساس انتخاب f و نوع الگوریتم یادگیری، پارامترهای w و b تنظیم می شوند یادگیری بدین معنی است که w و b طوری تغییر می کنند. تا رابطه ورودی و خروجی نرون با هدف خاصی مطابقت نماید.
مدل چند ورودی
یک مدل نرون به R ورودی را نشان می دهد. بردار ورودی را با p نمایش داده می شود. اسکالرهای عناصر بردار P هستند. مجموعه سیناپسها از را با ماتریس وزن w نمایش داده می شود در این حالت w یک بردار سطری با عناصر j=1,…,R و است هر عنصر از بردار ورودی P در عنصر متناظر از w خوب می شود. نرون یک جمله بایاس b دارد که با حاصلضرب ماتریس وزن w با بردار ورودی P جمع می شود.
ورودی خالص n مطابق فرمول زیر محاسبه می شود:
در نهایت خروجی نرون به صورت زیر خواهد بود: a= f (WP+b)
که فرم ساده شده نرون چند ورودی به صورت
شبکه های تک لایه و چند لایه
در شبکه های تک لایه ورودی شبکه با بردار P و خروجی آن با بردار a نشان داده می شود که هر یک از ورودی ها به همه نرونها متصل شده است. ماتریس w در این حالت دارای s سطر و R ستون می باشد. که در نشان داده شده است.
در شبکه های چند لایه، هر لایه ماتریس وزن w ، بردار بایاس b بردار ورودی خالص n و بردار خروجی مختص خود را دارد. که این لایه ها با قرار دادن شماره لایه در بالای متغیرها از یکدگیر جدا می گردند لایه ای که خروجی آن خروجی شبکه عصبی می باشد، لایه خروجی و لایه های دیگر به لایه های میانی موسومند. شبکه موجود در شکل (5-1) دارای یک لایه میانی می باشد که در آن خروجی لایه میانی اول ورودی لایه خروجی می باشد که خروجی آن با نشان داده می شود.
معرفی سه شبکه عصبی
مقدمه
در این بخش نشان داده می شود که چگونه می توان مسأله شناسایی الگوهای باینری را با استفاده از سه نوع ساختارهای نمونه شبکه های عصبی به نام های، پرسپترون، همینگ و هاپفیلد که به ترتیب درباره انها توضیح داده خواهد شد.
شبکه پرسپترون (percepteron)
شبکه های عصبی پرسپترون، به ویژه پرسپترون چند لایه، در زمره کاربردی ترین شبکه های عصبی می باشند. این شبکه ها قادرند با انتخاب مناسب تعداد لایه ها و سلول عصبی که اغلب زیاد هم نیستند، یک نگاشت (Map) غیر خطی را با دقت دلخواه انجام دهند. این همان چیزی است که در بسیاری از مسایل فنی مهندسی به عنوان راه حل اصلی مطرح می باشد.
شبکه همینگ (Heming)
این شبکه اساساً جهت حل مسأله شناسایی الگوهای باینری (الگوهایی برداری که عناصرشان فقط دو مقدار مثلاً 1 و 1- قبول می کند) طراحی شده است. این شبکه هم در چارچوب شبکه های عصبی قرار می گیرد چونکه از یک سری نرونها به مثابه گره ها و یک سری وزنه های ارتباطی بین گره ها تشکیل یافته است. هر گره یک سطح فعال دارد که خروجی نرون را می سازد شکل زیر شبکه همینگ را نشان می دهد.
هدف اصلی در شبکه همینگ این است که تشخیص می دهد کدام الگوی مرجع بیشترین نزدیکی را به الگوی ورودی دارد و سپس آنرا در خروجی شبکه ظاهر کند شبکه همینگ از سه لایه تشکیل شده است.
شبکه هاپفیلد (Hapfield)
این شبکه ها مثل لایه میانی شبکه همینگ دارای فیدبک (feedback) هستند. این تفاوت که توانایی کل شبکه همینگ را جهت حل مسأله شناسایی الگو دارا می باشد دیاگرام بلوکی شبکه هاپفیلد در شکل (7-1) نمایش داده شده است همانطور که از شکل شبکه مشاهده می شود، همه نرونها شبیه یکدیگر عمل می کنند. و هیچ نرونی به عنوان ورودی و خروجی از هم متمایز نمی شوند و این وجه بارز اختلاف این شبکه با دیگر شبکه ها است.
نرونها نخست توسط ورودی، مقادیر اولیه می گیرند و آنگاه شبکه طوری خود را تکرار می کند که نتیجه نهایی همگرای شبکه به یکی از الگوهای مرجع باشد.
یادگیری شبکه های عصبی
شبکه های عصبی به عنوان سیستم های دینامیکی آموزش پذیر
بین تمام خواص مهم یاد شده از شبکه های عصبی خاصیت یادگیری شبکه های عصبی از اهمیت ویژه ای برخوردار است. شبکه های عصبی به عنوان سیستم های یادگیری دارای این توانائی هستند که از گذشته و تجربه و محیط بیاموزندو رفتار خود را در هر لحظه یادگیری، بهبود بخشند. بهبود در یادگیری در طول زمان باید بر اساس معیاری سنجیده شود.
قانون یادگیری روندی است که توسط آن ماتریس وزن ها و بردارهای شبکه عصبی تنظیم می شوند. هدف قانون یادگیری آموزش شبکه عصبی جهت انجام کار مشخصی است و به عبارتی دیگر شبکه های عصبی در خلال آموزش پس از هر تکرار الگوریتم یادگیری، از محیط، شرایط و هدف کار خود بیشتر مطلع می گردند و نوع یادگیری هم توسط روندی که طبق آن پارامترهای شبکه تنظمیم می گردند مشخص می شود.
یادگیری شبکه
هر نرون، بردار وزن های متناظر خود را مطابق با قانون یادگیری خاص خودش تغییر می دهد و محیط منبعی اطلاعاتی هر نرون در این حالت دیگر ثابت نیست بلکه با تغییر وزن های نرونها دیگر، تغییر می کند. چون محیط منبع اطلاعاتی یک نرون دیگر ثابت نیست بلکه وابسته به رفتار نرونهای دیگر در شبکه است.
آموزش شبکه را می توان به دو صورت پیاده کرد:
1- یادگیری با ناظر Supervised 2- یادگیری بدون ناظر unsupervised
در یادگیری با ناظر، به قانون یادگیری مجموعه ای از زوج های داده ها به نام داده های یادگیری داده می شود که در آن ورودی به شبکه و خروجی مطلوب شبکه برای ورودی است
مفهوم فازی
در زندگی روزمره، وقایع و حوادث را توسط گزاره ای مثل" امروز هوا سرد است"،
" فردا به مسافرت خواهم رفت"،" امروز باران می آید"، و ..... بیان می کنیم و از این گزاره ها در معادلات منطقی اگر آنگاه استفاده کرد و تصمیم گیری می نماییم.
در منطق صریح و قطعی ارزش هر گزاره می تواند درست یا نادرست باشد که کامپیوتر آن را با یک و صفر نمایش میدهد. بعنوان مثال" چراغ شماره 2 روشن است" یک گزاره درست و ارزش آن یک است و" چراغ شماره 2 روشن نیست" یک گزاره نادرست و ارزش آن صفر است. دررابطه با منطق گزاره ها نظریه مجموعه ها نیز مطرح می شود و هر مجموعه یا اعضایش به طور کامل شناخته می شود بعبارت دیگر یک مجموعه هنگامی بطور کامل معرفی می شود که بتوان هر عنصر را بطور قطعی عضو آن مجموعه دانست یا آن را خارج از آن مجموعه معرفی کرد. هرمجموعه یکصفت مشخص کننده مربوط به خود را دارد معیار عضویت عناصر در مجموعه، صفت مشخص کننده مجموعه است و هر عنصر اگر دارای آن صفت باشد عضو مجموعه و در صورت دارانبودن صفت خارج از مجموعه شناخته می شود. این معیار عضویت را تابع عضویت نیز می نامیم که به صورت زیر بیان می شود:
با دقت در زندگی روزمره گزاره هایی که روزانه در زبان گفتاری بیان می کنیم خواهیم دید که طریقه ارزش گزاره ها درمغز انسان فازی بوده و اکثر جملات را که در زبان گفتاری بکار می بریم، ذاتاً مبهم و فازی هستند. بعنوان مثال با دوستان ساعت 4 بعدازظهر پنجشنبه قرار می گذاریم. آنچه مسلم است هیچ یک دقیقاً رأس ساعت 4 بعدا ازظهر در محل حاضر نخواهیم شد. یعنی ممکن است حتی برای یک ثانیه و یا حتی کمتر از یک ثانیه دیرتر یا زودتر در محل حاضر شویم که این مقدار تأخیر و یا تعجیل ممکن است در حد چند دقیقه هم افزایش یابد ولی این اختلاف به ساعت یا روز نخواهد رسید.این میزان اختلاف، اندازه و فازی بودن فکر و زبان ما را مشخص می کند. ابهام و عدم دقت در کلام و تفکر ما همچنان باقی است و مسلماً کسی که در ساعت چهار و یک دقیقه در محل حاضر شده باشد بدقول نیست و ارزش منطقی صفر را برای او در نظر نمی گیریم. از اینرو به منظور شبیه سازی و بدست آوردن مدل ریاضی برای منطق زبانی، منطق فازی به ما اجازه می دهد به تابع عضویت مقداری بین صفر و یک را نسبت داده و ابهام را جایگزین قطعیت نمائیم.