دستهبندی شبکههای عصبی شبکهای از لایههاست، معمولاً لایهای که اطلاعات ورودی به آنها داده میشود تحت عنوان لایهی ورودی و لایهای که دادههای خروجی از آن دریافت میشود تحت عنوان لایهی خروجی نامیده میشود و به لایههای دیگر بین این دولایه (در صورت وجود) لایههای پنهان گفته میشود.
شبکههای عصبی مصنوعی
جهت حرکت سیگنالها همواره از سمت لایهی ورودی بهسوی لایهی خروجی است بنابراین در این روش واحدهای ورودی معمولاً کلمهها یا عبارات سند را نمایش میدهند و واحد (های) خروجی نشاندهنده دسته یا موضوع سند میباشند.
برای دستهبندی یک سند تستی، وزن کلمهها برای واحدهای ورودی تعیین میشود و فعال کردن این واحدها از طریق لایههای مختلف روبهجلو در شبکه انجام میشود و مقدار واحد خروجی بهعنوان یک نتیجه در تصمیمگیری دستهها تعیین میشود. برخی از محققان از پرسپترون یک لایه استفاده میکنند چون پیادهسازی آن ساده است و پرسپترون چند لایه که بسیار پیچیده بوده و پیادهسازی گستردهای برای کار دستهبندی لازم دارد.
الگوریتم شبکه عصبی
شبکههای عصبی مصنوعی (ANN)، سیستمهای محاسباتی هستند که توسط شبکههای عصبی زیستی الهام گرفته شدهاند که مغز حیوانات را تشکیل میدهند. شبکه عصبی یک الگوریتم نیست بلکه یک چارچوب برای بسیاری از الگوریتمهای مختلف از جمله یادگیری ماشین برای همکاری و پردازش اطلاعات پیچیده است. چنین سیستمهایی برای انجام وظایف با در نظر گرفتن نمونهها و به طور کلی بدون برنامه ریزی با هیچ قواعد خاصی، یاد میگیرند.
برای مثال، در تشخیص تصاویر، شبکههای عصبی مصنوعی تصاویری را که حاوی گربه هستند را با تجزیه و تحلیل تصاویر نمونه یاد میگیرند یعنی به صورت دستی به عنوان تصاویر گربه نامگذاری شدهاند را شناسایی کرده و با استفاده از نتایج برای شناسایی گربهها در تصاویر دیگر آنها را پیدا میکنند. شبکههای عصبی این کار را بدون هیچ گونه دانش پیشین در مورد گربهها انجام میدهند.
کاربردهای عمومی شبکه های عصبی
- تشخیص الگو (گروهبندی اشکالی که مشابه هم هستند)
- ذخیره کردن و بازبینی دادهها
- تقریب تابع (رگرسیون غیر خطی، تخمین و پیشگویی)
- بهینه سازی و تعیین جواب با وجود قیود متعدد
- داده کاوی (استخراج دانش کلان ، قابل استناد و جدید از پایگاه دادههای بزرگ )
به طور کلی هر جا که سخن از تخمین، تشخیص الگو یا طبقه بندی باشد میتوان از شبکههای عصبی مصنوعی استفاده کرد.
مدل ریاضی یک نرون
ساختار شبکههای عصبی
نرونها به صورت طبیعی به روش خاصی اتصال مییابند تا یک شبکه عصبی را تشکیل دهند نحوه اتصال نرونها میتواند به گونهای باشد که شبکه تک لایه یا چند لایه باشد. شبکههای چند لایه از یک لایه ورودی، یک لایه خروجی و یک یا چند لایه بین آنها (لایه پنهان) که مستقیما به دادههای ورودی و نتایج خروجی متصل نیستند تشکیل یافتهاند.
واحدهای لایه ورودی صرفا وظیفه توزیع مقادیر ورودی را به لایه بعد برعهده دارند و هیچ گونه تاثیری بر روی سیگنالهای ورودی ندارند. به همین دلیل در شمارش تعداد لایهها به حساب نیامدهاند. شبکه شامل یک لایه خروجی است که پاسخ سیگنالهای ورودی را ارائه میدهد. که تعداد نرونها در لایه ورودی و لایه خروجی برابر با تعداد ورودیها و خروجیها میباشد و لایه یا لایههای پنهان وظیفه ارتباط دادن لایه ورودی به لایه خروجی را بر عهده دارند. شبکه با داشتن این لایههای پنهان قادر میگردد که روابط غیر خطی را از دادههای ارائه شده به شبکه استخراج کند.
کار با هر شبکه عصبی شامل سه مرحله میباشد: آموزش، تعمیم و اجرا.
- در مرحله آموزش، شبکه الگوهای موجود در دادههای ورودی را یاد میگیرد. هر شبکه عصبی برای یادگیری از قانون خاص استفاده میکند.
- تعمیم، قدرت شبکه عصبی در ایجاد پاسخهای قابل قبول برای ورودیهایی است که عضو مجموعه آموزشی نبودهاند.
- در مرحله اجرا نیز شبکه عصبی برای عملکردی که به آن منظور طراحی گردیده است، استفاده میشود.
یادگیری در شبکههای عصبی مصنوعی
هدف از آموزش شبکههای عصبی، رسیدن به شرایطی است که شبکه قادر به پاسخگویی صحیح به دادههای ارائه شده در آموزش شبکه (به خاطر سپردن) و همچنین دادههای مشابه و متفاوت از ورودیهایی که از آنها برای آموزش شبکه استفاده شده است (تعمیم دادن)،باشد. برتری عمده شبکههای عصبی آموزش دادهشده بر محاسبات کلاسیک این است که نتایج مورد نیاز با تلاش کمتر و در زمان کمتری قابل حصول است. در نتیجه این مزایا خصوصاً برای مسائلی که مستلزم محاسبات طولانی هستند بسیار مفید و موثر واقع گردد.
دو نوع آموزش شبکه به شکل زیر است: الف ـ آموزش با ناظر ب ـ آموزش بدون ناظر
آموزش شبکههای عصبی مصنوعی
الف- آموزش با ناظر: آموزش اکثر شبکههای عصبی با استفاده از زوج بردارهای نمونه صورت میگیرد به طوری که به هر بردار ورودی یک بردار خروجی مشخص نسبت داده میشود. با ارائه این مجموعه بردارها به شبکه، وزنها بر اساس الگوریتم یادگیری شبکه اصلاح میگردند. اینگونه آموزش را آموزش با ناظر مینامند. شبکههای دلتا، آدالاین ، مادالاین، تابع پایه شعاعی (RBF) و پس انتشار (BP) نمونه هایی از این نوع می باشد.
ب-آموزش بدون ناظر: در این نوع آموزش، بردارهای ورودی به شبکه ارائه گردیده بدون اینکه بردارهای خروجی مربوط به شبکه داده شوند، وزنهای شبکه بصورتی اصلاح میشوند که بردارهای ورودی مشابه در یک گروهبندی قرار گیرند. پاسخ شبکه بر اساس نزدیکترین بردار به بردار ورودی خواهد بود. یادگیری بدون ناظر را خود یادگیری هم میگویند. از شبکههای به کارگیرنده الگوریتم بدون ناظر میتوان به شبکههای هب، کوهونن و هاپفیلد اشاره کرد.
الگوریتمهای یادگیری
منظور از یادگیری در شبکههای عصبی، تنظیم وزنها و بایاسهای شبکه میباشد. بر این اساس الگوریتم های متفاوتی بیان شده، که معمولترین آنها عبارتند از:
- یادگیری هب: در این روش وزن مربوط به ورودی یک نرون، زمانی افزایش مییابد که سیگنال ورودی و خروجی هر دو بالا باشند که در واقع منظور تقویت کردن آن ورودی است.
- قانون یادگیری دلتا: این الگوریتم که بعضاً میانگین مربع خطا (LMS) نیز نامیده میشود وقتی استفاده میگردد که سیگنال خطا مینیمم شود که به واقع اختلاف بین خروجی واقعی شبکه و خروجی مورد انتظار (مطلوب) مینیمم باشد. در این روش سیگنال خطا جهت اصلاح وزنها و بایاسهای نرونها به عقب منتشر میشود. الگوریتم پس انتشار خطا معمولترین روش پیاده سازی از قانون یادگیری دلتا است که دست کم در ۷۵% از کاربردهای شبکههای عصبی مصنوعی استفاده میگردد.
- یادگیری رقابتی: در این روش عناصر پردازشی جهت اصلاح وزنها و بایاسهای خودشان با هم رقابت میکنند.
2 پاسخ
نظرات و دیدگاه های خود را برای هرچه بهتر قرار دادن مطالب با ما در میان بگذارید.