شبکه عصبی مصنوعی
شبکه عصبی
شبکه عصبی یک سیستم ارگانی شامل نورونها میباشد که اعمال و واکنش جانداران را هماهنگ میسازد و سیگنالها را به بخشهای متفاوت بدن میفرستد. در بیشتر جانداران سیستم عصبی شامل دو بخش مرکزی و بخش جانبی است. در استفادههای جدیدتر این عبارت به شبکه عصبی مصنوعی که از نورونهایی مصنوعی ساخته شدهاست هم اشاره دارد. بنابراین عبارت ‘شبکه عصبی’ در حالت کلی به دو مفهوم مختلف شبکه عصبی زیستی و شبکه عصبی مصنوعی مختلف اشاره دارد.
توصیف
نام سیستم عصبی از اعصاب گرفته میشود. در حالت کلی، یک شبکه عصبی زیستی از مجموعه یا مجموعهای از نورونهای به صورت فیزیکی به هم متصل یا از لحاظ عملکردی به هم وابسته تشکیل شدهاست. هر نورون میتواند به تعداد بسیار زیادی از نورونها وصل باشد و تعداد کل نورونها و اتصالات بین آنها میتواند بسیار زیاد باشد. اتصالات، که به آنها سیناپس گفته میشود، معمولاً از آکسونها و دندریتها تشکلیل شدهاند.
هوش مصنوعی و مدل سازی شناختی سعی بر این دارند که بعضی از خصوصیات شبکههای عصبی را شبیه سازی کنند. این دو اگرچه در روشهاشان به هم شبیه هستند اما هدف هوش مصنوعی حل مسائل مشخصی است در حالی که هدف مدل سازی شناختی ساخت مدلهای ریاضی سامانههای نورونی زیستی است.
شبکههای عصبی زیستی
شبکههای عصبی زیستی مجموعهای بسیار عظیم از پردازشگرهای موازی به نام نورون اند که به صورت هماهنگ برای حل مسئله عمل میکنند و توسط سیناپسها (ارتباطهای الکترومغناطیسی) اطلاعات را منتقل میکنند. در این شبکهها اگر یک سلول آسیب ببیند بقیه سلولها میتوانند نبود آنرا جبران کرده و نیز در بازسازی آن سهیم باشند. این شبکهها قادر به یادگیری اند. مثلا با اعمال سوزش به سلولهای عصبی لامسه، سلولها یاد میگیرند که به طرف جسم داغ نروند و با این الگوریتم سامانه میآموزد که خطای خود را اصلاح کند. یادگیری در این سامانهها به صورت تطبیقی صورت میگیرد، یعنی با استفاده ازمثالها وزن سیناپسها به گونهای تغییر میکند که در صورت دادن ورودیهای تازه سامانه پاسخ درستی تولید کند.
معرفی شبکه عصبی مصنوعی
شبکه عصبی مصنوعی یک سامانه پردازشی دادهها است که از مغز انسان ایده گرفته و پردازش دادهها را به عهده پردازندههای کوچک و بسیار زیادی سپرده که به صورت شبکهای به هم پیوسته و موازی با یکدیگر رفتار میکنند تا یک مسئله را حل نمایند. در این شبکهها به کمک دانش برنامه نویسی، ساختار دادهای طراحی میشود که میتواند همانند نورون عمل کند. که به این ساختارداده نورون گفته میشود. بعد باایجاد شبکهای بین این نورونها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش میدهند.
در این حافظه یا شبکهٔ عصبی نورونها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گرهها) دارای یک وزن میباشد. یالهای با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی میشوند و یالهای با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) میکنند.
شبکههای عصبی استفاده وسیعی در شناسایی الگوها دارند زیرا از خودشان قابلیت آن را دارند که بطور عمومی به ورودیهای غیر منتظره نیز پاسخ دهند. در طول ساخت نرونها میآموزند که چگونه الگوهای ویژه گوناگون را تشخیص دهند. اگر الگویی پذیرفته شود در حالی که در طول اجرا ورودی با خروجی مرتبط نباشد، نرون از مجموعهای از الگوهایی که سابقا آموخته خروجیی را که شبیه به الگو میباشد وکمترین تفاوت را با ورودی دارد انتخاب میکند. این روال عموما فراخوانی میشود.
مثال:
وقتی که ورودی نرون ۱۱۱۱ باشد چهار ورودی بر حسب برانگیزش مرتب شدهاند و وقتی ورودیهای ۰۰۰۰ را داریم نرون برای برانگیزش مرتب نیست. قاعده عمومی این است که نرونها مایلند برانگیخته شوند وقتی که ورودیها ۰۱۱۱ ، ۱۰۱۱ ، ۱۱۰۱ ، ۱۱۱۰ یا ۱۱۱۱ باشند و در صورتی که ورودی آنها ۱۰۰۰ ، ۰۰۰۱ ، ۰۰۱۰ ، ۰۱۰۰ یا ۰۰۰۰ باشند مایل به برانگیخته شدن نیستند.
شناسایی الگوهای پیچیده سطح بالا میتواند به وسیله شبکهای از نرونها انجام شود و بدین ترتیب نام آن را شبکههای عصبی مصنوعی گذاشتند. اکنون شبکههای عصبی کاربردهای زیادی دارند(درمنطق وکلام و شناسایی عکسها)البته شناسایی الگوهامیتواند بهطور موفقیت آمیز بر روی کامپیوترهای عمومی انجام شود. این شبکههای عمومی که برای شناسایی الگوها استفاده میشوند Feed-Forward نامیده میشدند زیرا آنها یک بازخورد (Feed-Back) داشتند. آنها بهطور ساده ورودیها را با خروجیها میآمیختند. اما شناسایی الگوها به تدریج کاملتر شد بهطوریکه بر روی کامپیوترهای عمومی با سیستم خاص خودشان بهسختی انجام میشد پس برای شناسایی الگوها شبکههای Feed-Forward کافی نبودند.
در شبکههای عصبی خروجی هر نرون به ورودی نرونهای مجاورش متصل شده است. شبکههای عصبی نمیتوانند معجزه کنند اما اگر به درستی استفاده شوند نتایج شگفتانگیزی خواهند داشت.
مشخصات مسائل در خور شبکههای عصبی مصنوعی ANN(Artificial Neural Network)
تقلید از ساختارهای محاسباتی سیستم زیستی ممکن است ایده اصلی نمونههای محاسباتی برای ساخت کلاسهایی از مسائل باشد. از جمله این مسائل میتوان از مسائل مشکل NP که شامل مسائل طبقهبندی شده، زمانبندیشده، جستجو وغیره نام برد، کلاس مسائل شناسایی الگوها، افراد و موضوعات مشخص را در دیدار و تماس با آنها میشناسد و کلاس مربوط به دادههای ناقص، اشتباه، متناقض، فازی و احتمالی. این مسائل توسط همه یا برخی از موارد زیر توصیف میشوند:
یک فضای مسئله با بعد بزرگ، پیچیده، ناشناخته با اثرات متقابل پیچیده ریاضیوار بین متغییرها و یک فضای راهحل که ممکن است خالی باشد(شامل یک راهحل یکتا یا بیشتر ، شامل تعدادی از راهحلهای مفید)به نظر میرسد ANN ها راهحلهایی برای مسائلی که با ورودیهای حسی بیشتر درگیرند ارائه میدهد(صحبتکردن، دیدن، شناسایی دستخط و…).
نورون مصنوعی
یک نورون مصنوعی سامانهای است با تعداد زیادی ورودی و تنها یک خروجی. نورون دارای دو حالت میباشد، حالت آموزش و حالت عملکرد. در حالت آموزش نورون یاد میگیرد که در مقابل الگوهای ورودی خاص برانگیخته شود و یا در اصطلاح آتش کند. در حالت عملکرد وقتی یک الگوی ورودی شناسایی شده وارد شود، خروجی متناظر با آن ارائه میشود. اگر ورودی جزء ورودیهای از پیش شناسایی شده نباشد، قوانین آتش برای بر انگیختگی یا عدم آن تصمیم گیری میکند.
از نورونهای انسان تا نورون مصنوعی
با کنار گذاشتن برخی از خواص حیاتی نورونها و ارتباطات درونی آنها میتوان یک مدل ابتدایی از نورون را به وسیله کامپیوتر شبیه سازی کرد.
تاریخچه
شبکههای عصبی دهها سال است که جلب توجه میکنند وتاکنون راه حلهایی برای استفاده از هوش بشری ارائه شده است. اولین نرون مصنوعی درسال ۱۹۴۳ توسط نروفیزیولوژیست وارنمککالوک و منطق دان والترپیتز تولید شد.در دهه ۶۰ به دلایلی که خارج از بحث این مقاله است مردم بهسوی شبکههای عصبی متمایل شدند و تنها در دهه ۸۰ دانشمندان تواناییهای واقعی شبکههای عصبی را دیدند.
ساختار شبکههای عصبی
یک شبکه عصبی شامل اجزای سازنده لایهها و وزنها میباشد. رفتار شبکه نیز وابسته به ارتباط بین اعضا است. در حالت کلی در شبکههای عصبی سه نوع لایه نورونی وجود دارد:
- لایه ورودی: دریافت اطلاعات خامی که به شبکه تغذیه شدهاست.
- لایههای پنهان: عملکرد این لایهها به وسیله ورودیها و وزن ارتباط بین آنها و لایههای پنهان تعیین میشود. وزنهای بین واحدهای ورودی و پنهان تعیین میکند که چه وقت یک واحد پنهان باید فعال شود.
- لایه خروجی: عملکرد واحد خروجی بسته به فعالیت واحد پنهان و وزن ارتباط بین واحد پنهان و خروجی میباشد.
شبکههای تک لایه و چند لایهای نیز وجود دارند که سازماندهی تک لایه که در آن تمام واحدها به یک لایه اتصال دارند بیشترین مورد استفاده را دارد و پتانسیل محاسباتی بیشتری نسبت به سازماندهیهای چند لایه دارد. در شبکههای چند لایه واحدها به وسیله لایهها شماره گذاری میشوند (به جای دنبال کردن شماره گذاری سراسری).
هر دو لایه از یک شبکه به وسیله وزنها و در واقع اتصالات با هم ارتباط مییابند. در شبکههای عصبی چند نوع اتصال و یا پیوند وزنی وجود دارد:
- پسخور: در این نوع شبکه گره های بالاتر به گره های لایه های پایین تر سیگنال منتقل می کنند پس اتصالات رفت و برگشتی است.
- پیشخور: بیشترین پیوندها از این نوع است که سیگنال ها در یک جهت حرکت می کند یعنی هر گره فقط به گره های لایه بعد سیگنال منتقل می کند.
تقسیم بندی شبکههای عصبی
بر مبنای روش آموزش به چهار دسته تقسیم میشوند:
- وزن ثابت: آموزشی در کار نیست و مقادیر وزنها به هنگام نمیشود. کاربرد: بهینه سازی اطلاعات (کاهش حجم، تفکیک پذیری و فشرده سازی) و حافظههای تناظری
- آموزش بدون سرپرست: وزنها فقط بر اساس ورودیها اصلاح میشوند و خروجی مطلوب وجود ندارد تا با مقایسه خروجی شبکه با آن و تعیین مقدار خطا وزنها اصلاح شود. وزنها فقط بر اساس اطلاعات الگوهای ورودی به هنگام میشوند. هدف استخراج مشخصههای الگوهای ورودی بر اساس راهبرد خوشه یابی و یا دستهبندی و تشخیص شباهتها (تشکیل گروههایی با الگوی مشابه) میباشد، بدون اینکه خروجی یا کلاسهای متناظر با الگوهای ورودی از قبل مشخص باشد. این یاد گیری معمولاً بر پایه شیوه برترین هم خوانی انجام میگیرد. شبکه بدون سرپرست وزنهای خود را بر پایه خروجی حاصل شده از ورودی تغییر میدهد تا در برخورد بعدی پاسخ مناسبی را برای این ورودی داشته باشد. در نتیجه شبکه یاد میگیرد چگونه به ورودی پاسخ بدهد. اصولا هدف این است که با تکنیک نورون غالب نورونی که بیشترین تحریک آغازین را دارد برگزیده شود. بنابر این در شبکههای بدون سرپرست یافتن نورون غالب یکی از مهمترین کارها است.
- آموزش با سرپرست: به ازای هر دسته از الگوهای ورودی خروجیهای متناظر نیز به شبکه نشان داده میشود و تغییر وزنها تا موقعی صورت میگیرد که اختلاف خروجی شبکه به ازای الگوهای آموزشی از خروجیهای مطلوب در حد خطای قابل قبولی باشد. در این روشها یا از خروجیها به وزنها ارتباط وجود دارد یا خلا به صورت پس انتشار از لایه خروجی به ورودی توزیع شدهاست و وزنها اصلاح میشوند. هدف طرح شبکهای است که ابتدا با استفاده از دادههای آموزشی موجود، آموزش ببیند و سپس با ارائه بردار ورودی به شبکه که ممکن است شبکه آن را قبلا فراگرفته یا نگرفته باشد کلاس آن را تشخیص دهد. چنین شبکهای به طور گسترده برای کارهای تشخیص الگو به کار گرفته میشود.
- آموزش تقویتی: کیفیت عملکرد سامانه به صورت گام به گام نسبت به زمان بهبود مییابد. الگوهای آموزشی وجود ندارد اما با استفاده از سیگنالی به نام نقاد بیانی از خوب و یا بد بودن رفتار سامانه بدست میآید (حالتی بین یادگیری با سرپرست و بدون سرپرست).
کاربرد شبکههای عصبی
شبکههای عصبی مصنوعی دارای دامنه کاربرد وسیعی میباشند از جمله سامانههای آنالیز ریسک، کنترل هواپیما بدون خلبان، آنالیز کیفیت جوشکاری، آنالیز کیفیت کامپیوتر، آزمایش اتاق اورژانس، اکتشاف نفت و گاز، سامانههای تشخیص ترمز کامیون، تخمین ریسک وام، شناسایی طیفی، تشخیص دارو، فرآیندهای کنترل صنعتی، مدیریت خطا، تشخیص صدا، تشخیص هپاتیت، بازیابی اطلاعات راه دور، شناسایی مینهای زیردریایی، تشخیص اشیاء سه بعدی و دست نوشتهها و چهره و… در کل میتوان کاربردهای شبکههای عصبی را به صورت زیر دسته بندی کرد: تناظر (شبکه الگوهای مغشوش وبه هم ریختهرا بازشناسی میکند)، خوشه یابی، دسته بندی، شناسایی، بازسازی الگو، تعمیم دهی (به دست آوردن یک پاسخ صحیح برای محرک ورودی که قبلا به شبکه آموزش داده نشده)، بهینه سازی. امروزه شبکههای عصبی در کاربردهای مختلفی نظیر مسائل تشخیص الگو که خود شامل مسائلی مانند تشخیص خط، شناسایی گفتار، پردازش تصویر و مسائلی از این دست میشود و نیز مسائل دسته بندی مانند دسته بندی متون یا تصاویر، به کار میروند. در کنترل یا مدل سازی سامانههایی که ساختار داخلی ناشناخته یا بسیار پیچیدهای دارند نیز به صورت روز افزون از شبکههای عصبی مصنوعی استفاده میشود. به عنوان مثال میتوان در کنترل ورودی یک موتور از یک شبکه عصبی استفاده نمود که در این صورت شبکه عصبی خود تابع کنترل را یاد خواهد گرفت.
شبکه عصبی و هوش مصنوعی
شبکههای عصبی مصنوعی (Artificial Neural Network – ANN) یا به زبان سادهتر شبکههای عصبی سیستمها و روشهای محاسباتی نوینی هستند برای یادگیری ماشینی، نمایش دانش، و در انتها اعمال دانش به دست آمده در جهت بیشبینی پاسخهای خروجی از سامانههای پیچیده. ایدهٔ اصلی این گونه شبکهها (تا حدودی) الهامگرفته از شیوهٔ کارکرد سیستم عصبی زیستی، برای پردازش دادهها، و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد. عنصر کلیدی این ایده، ایجاد ساختارهایی جدید برای سامانهٔ پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهمپیوسته با نام نورون تشکیل شده که برای حل یک مسأله با هم هماهنگ عمل میکنند و توسط سیناپسها(ارتباطات الکترومغناطیسی) اطلاعات را منتقل میکنند. در این شبکهها اگر یک سلول آسیب ببیند بقیه سلولها میتوانند نبود آنرا جبران کرده، و نیز در بازسازی آن سهیم باشند. این شبکهها قادر به یادگیریاند. مثلا با اعمال سوزش به سلولهای عصبی لامسه، سلولها یاد میگیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم میآموزد که خطای خود را اصلاح کند. یادگیری در این سیستمها به صورت تطبیقی صورت میگیرد، یعنی با استفاده ازمثالها وزن سیناپسها به گونهای تغییر میکند که در صورت دادن ورودیهای جدید، سیستم پاسخ درستی تولید کند.
توافق دقیقی بر تعریف شبکه عصبی در میان محققان وجود ندارد؛ اما اغلب آنها موافقند که شبکه عصبی شامل شبکهای از عناصر پردازش ساده (نورونها) است، که میتواند رفتار پیچیده کلی تعیین شدهای از ارتباط بین عناصر پردازش و پارامترهای عنصر را نمایش دهد. منبع اصلی و الهام بخش برای این تکنیک، از آزمایش سیستم مرکزی عصبی و نورونها (آکسونها، شاخههای متعدد سلولهای عصبی و محلهای تماس دو عصب)نشأت گرفتهاست، که یکی از قابل توجهترین عناصر پردازش اطلاعات سیستم عصبی را تشکیل میدهد. در یک مدل شبکه عصبی، گرههای ساده (بطور گسترده «نورون»، «نئورونها»، “PE«ها (»عناصر پردازش«) یا»واحدها«) برای تشکیل شبکهای از گرهها، به هم متصل شده اند—به همین دلیل به آن، اصطلاح»شبکههای عصبی” اطلاق میشود. در حالی که یک شبکه عصبی نباید به خودی خود سازگارپذیر باشد، استفاده عملی از آن بواسطه الگوریتمهایی امکان پذیر است، که جهت تغییر وزن ارتباطات در شبکه (به منظور تولید سیگنال موردنظر) طراحی شده باشد.
با استفاده از دانش برنامهنویسی رایانه میتوان ساختار دادهای طراحی کرد که همانند یک نرون عمل نماید. سپس با ایجاد شبکهای از این نورونهای مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد.
این شبکهها برای تخمین (Estimation) و تقریب (Approximation)کارایی بسیار بالایی از خود نشان دادهاند. گستره کاربرد این مدلهای ریاضی بر گرفته از عملکرد مغز انسان، بسیار وسیع میباشد که به عنوان چند نمونه کوچک میتوان استفاده از این ابزار ریاضی در پردازش سیگنالهای بیولوییکی، مخابراتی و الکترونیکی تا کمک در نجوم و فضا نوردی را نام برد.
اگر یک شبکه را همارز با یک گراف بدانیم، فرآیند آموزش شبکه تعیین نمودن وزن هر یال و bias اولیه خواهد بود.
روش آموزش
- انتخاب وزن ها به صورت اعداد تصادفی کوچک (هم مثبت هم منفی)
- یک زوج ورودی – خروجی آموزشی را انتخاب می کنیم
- بردار ورودی را وارد می کنیم و خروجی شبکه را محاسبه می کنیم
- میزان خطا (تفاوت خروجی شبکه و خروجی مطلوب) را محاسبه می کنیم
- وزن های شبکه را به گونه ای تعدیل می کنیم که خطا حداقل شود
- گام های ۲ تا ۵ را برای هر یک از زوج های آموزشی موجود در مجموعه آموزشی تکرار می کنیم تا آنجا که خطا تا حد قابل قبولی کم شود
میتوان موارد زیر را از کاربردهای شبکههای عصبی مصنوعی ذکر کرد:
پردازش تصویر و دید( Image processing and computer vision )
پردازش علائم( Signal processing ): شامل ریختشناسی و تجزیه و تحلیل علائم مربوط به زمینلرزهها و…
شناسایی الگوها( Pattern recognition ): شامل شناسایی چهره، اثر انگشت، تشخیص نوع صدا و نوع صحبت کردن، دستخط و …
پزشکی( Medicine ): شامل تجزیه و تحلیل و تشخیص علائم دستگاه ضرباننگار قلب (الکتروکاردیوگرافیک)، تشخیص امراض گوناگون و …
سیستمهای نظامی( Military systems ): شامل ردیابی مینهای زیردریایی، دستهبندی صداهای نابههنجار و مخل در رادارها و شناسایی گوینده رزمی.
سیستمهای تجاری( Financial systems ): شامل تجزیه و تحلیل انبار مغازهها، ارزیابی واقعی املاک و …
برنامهریزی، کنترل و جستجو( Planning, control, and search ): شامل اجرای موازی مسائل و کنترل رباتها.
هوش مصنوعی( Artificial intelligence ): شامل برخی سیستمهای طبی و اجرای سیستمهای خبره.
سیستمهای قدرت( Power systems ): شامل برآورد وضعیت سیستم، ردیابی سریع و دستهبندی ردیابی، ردیابی خطا و ترمیم آن، پیشبینی و برآورد تخمین امنیت.
–انواع یادگیری برای شبکه های عصبی:
۱٫یادگیری با ناظر
در یادگیری با ناظر به قانون یاد گیری مجموعه ای از زوجهای داده ها به نام داده های یادگیری (Pi,Ti)i={1 … l } می دهند که در آن Pi ورودی به شبکه و Ti خروجی مطلوب شبکه برای ورودی Pi است. پس از اعمال ورودی Pi به شبکه عصبی در خروجی شبکه ai با Ti مقایسه شده و سپس خطای یادگیری محاسبه و از آن در جهت تنظیم پارامترهای شبکه استفاده می شود به گونه ای که اگر دفعه بعد به شبکه همان ورودی Pi اعمال شود خروجی شبکه به Ti نزدیکتر می گردد با توجه به این نکته که معلم سیستمی است که بر محیط وقوف دارد ( مثلا می داند که برای ورودی Pi خروجی مطلوب Ti است ).توجه داریم که محیط برای شبکه عصبی مجهول است . در لحظه k بردار ورودی Pi(k) با تابع توضیع احتمال معینی که برای شبکه عصبی نا معلوماست انتخاب و بطور همزمان به شبکه عصبی و معلم اعمال می شود . جواب مطلوب Ti(k) نیز توسط معلم به شبکه عصبی داده می شود . در حقیقت پاسخ مطلوب پاسخ بهینه ای است که شبکه عصبی برای ورودی مفروض باید به آن برسد . پارامترهای شبکه عصبی توسط دو سیگنال ورودی و خطا تنظیم می شود.به این صورت که پس از چند تکرار الگوریتم یادگیری که عموما توسط معادله تفاضلی بیان می شودبه پارامترهایی در فضای پارامترهای شبکه همگرا می شوند که برای آنها خطای یادگیری بسیار کوچک است و عملا شبکه عصبی شبکه عصبی معادل معلم می شود . یا به عبارتی دیگر اطلاعات مربوط به محیط (نگاشت بین TiوPi )که برای معلم روشن است به شبکه عصبی منتقل می شود و پس از این مرحله عملا می توان بجای معلم از شبکه عصبی استفاده کرد تا یادگیری تکمیل شود .
–۲٫یادگیری تشدیدی:
یک اشکال یادگیری با ناظر این است که شبکه عصبی ممکن است بدون معلم نتواند مواضع جدیدی را که توسط مجموعه داده های جدید تجربی پوشانده نشده است یاد بگیرد . یادگیری از نوع تشدیدی این محدودیت را برطرف می کند . این نوع یادگیری بطور on-line صورت می گیرد در حالی که یادگیری با ناظر را به دو صورت on-line & off-line می توان انجام داد. در حالت off-line می توان از یک سیستم محاسب با در اختیار داشتن داده های یادگیری استفاده کرد و طراحی شبکه عصبی را به پایان رساند . پس از مرحله طراحی و یادگیری شبکه عصبی به عنوان یک سیستم استاتیکی عمل می کند . اما در یادگیری on-line شبکه عصبی همراه با خود سیستم یادگیر در حال انجام کار است و از این رو مثل یک سیستم دینامیکی عمل می کند .
یادگیری از نوع تشدیدی یک یادگیری on-line از یک نگاشت ورودی-خروجی است . این کار از طریق یک پروسه سعی و خطا به صورتی انجام می پذیرد که یک شاخص اجرایی موسوم به سیگنال تشدید ماکزیمم شود و بنابر این الگوریتم نوعی از یادگیری با ناظر است که در آن به جای فراهم نمودن جواب واقعی ، به شبکه عددی که نشانگر میزان عملکرد شبکه است ارایه می شود. این بدین معنی است که اگر شبکه عصبی پارامترهایش را به گونه ای تغییر داد که منجر به یک حالت مساعد شد آنگاه تمایل سیستم یادگیر جهت تولید آن عمل خاص تقویت یا تشدید می شود . در غیر این صورت تمایل شبکه عصبی جهت تولید آن عمل خاص تضعیف می شود . یادگیری تقویتی مثل یادگیری با ناظر نیست و این الگوریتم بیشتر برای سیستمهای کنترلی کاربرد دارد .
–۳٫ یادگیری بدون ناظر
در یادگیری بدون ناظر یا یادگیری خود سامانده پارامترهای شبکه عصبی تنها توسط پاسخ سیستم اصلاح و تنظیم می شوند . به عبارتی تنها اطلاعات دریافتی از محیط به شبکه را برداغرهای ورودی تشکیل می دهند. و در مقایسه با مورد بالا (یادگیری با ناظر) بردار جواب مطلوب به شبکه اعمال نمی شود . به عبارتی به شبکه عصبی هیچ نمونه ای از تابعی که قرار است بیاموزد داده نمی شود . در عمل می بینیم که یادگیری با ناظر در مورد شبکه هایی که از تعداد زیادی لایه های نرونی تشکیل شده باشند بسیار کند عمل می کند و در این گونه موارد تلفیق یادگیری با ناظر و بدون ناظر پیشنهاد می گردد .
۲-۴- زمینهای در مورد perceptron
Perceptron های ساده
یک خانواده ساده از شبکههای عصبی مدل perceptron میباشد. در یک دستهبندی تکخروجی، تعداد n ورودی و یک خروجی دارد . با هر ورودی یک ضریب وزنی Wi و با هر خروجی یک مقدار آستانه q مرتبط است.
Perceptron به گونه زیر عمل میکند:
ورودیهای Perceptron یک بردار ورودی از n مقدار حقیقی است.
Perceptron مجموع وزنها را محاسبه میکند a= ه Wi.Xi. این مقدار با مقدار آستانه q مقایسه میشود. اگر این مقدار از مقدار آستانه کوچکتر باشد خروجی ۰ است و در غیر این صورت ۱ است.
قدرت Perceptron
به وسیله تنظیم اعداد ورودی، وزن آنها و مقدار آستانه میتوان یک Perceptron برای انجام نسبتا خوب محاسبات گوناگون طراحی کرد. برای مثال توابع منطقی بولین مانند AND ، OR و NOT را میتوان به وسیله Perceptron طراحی کرد و هر مدار منطقی دیگر را به وسیله گیتهای AND و NOT یا AND و OR طراحی کرد. دستههای زیادی از Perceptronها ممکن است خروجیهای دستههای دیگر را به عنوان ورودی خود درخواست کنند.
به عنوان مثالی ازPerceptron ها میتوان یک تشخیص دهنده قالب متن را نام برد. حرفA درآرایهای ۵*۵ بهرمز درمیآید(encode میشود). این متن(حرف) بهوسیله یک Perceptron با ۲۵ ورودی تشخیص داده میشود که در آن وزنها مقادیری برابر با مقادیر عددی داخل آرایه را میگیرند و مقدار آســتانه برابر است با: e-25 =q که در آن ۰ < e < 1 .
خروجی Perceptron 1 است اگر و فقط اگر ورودی آن از ۱ و ۱- هایی باشد که عینا در آرایه آمده است.
دنبالههای Perceptron
یکی از خصوصیات جالب Perception این است که آنها میتوانند به وسیله مثالهای مثبت و منفی ( صحیح و اشتباه) برای انجام توابع دستهبندی شده مخصوص بارها مرتب شوند.
ویژگی ها و قابلیت های شبکه عصبی
- قابلیت یادگیری: با توجه به پاسخ های موجود در محیط مربوط به مو ضوع می تواند یاد بگیرد که چگونه به ورودی ها پاسخ دهد و این یادگیری را در حافظه خود نگهداری کند.
- پراکندگی اطلاعات: (قابلیت استفاده به عنوان حافظه شراکتی) آنچه شبکه فرا می گیرد در وزن های سیناپسی مستقر می باشد و هر وزن سیناپسی مربوط به همه ورودی ها است ولی به هیچ یک از آنها به طور منفرد و مجزا مربوط نیست بر این اساس چنانچه بخشی از سلول های شبکه حذف شوند و یا عملکرد غلط داشته باشند باز هم احتمال رسیدن به پاسخ صحیح وجود دارد
- قابلیت تعمیم: پس از آنکه مثال های اولیه به شبکه آموزش داده شد شبکه می تواند در مقابل یک ورودی آموزش داده نشده قرار گیرد و یک خروجی مناسب ارائه کند
- پردازش موازی: شبکه می تواند به طور هم زمان به ورودی ها پاسخ دهد این ویژگی باعث افزایش سرعت پردازش می شود
- مقاوم بودن: (قابلیت تحمل آسیب، قابلیت ترمیم، تحمل پذیری خطاها) در یک شبکه عصبی هر سلول به طور مستقل عمل می کند و رفتار کلی شبکه برآیند رفتار های محلی سلول های متعدد است این ویژگی باعث می شود تا خطاهای یکدیگر را تصحیح کنند این خصوصیت باعث افزایش قابلیت مقاوم بودن در سیستم می شود
معایب شبکههای عصبی
با وجود برتریهایی که شبکههای عصبی نسبت به سامانههای مرسوم دارند، معایبی نیز دارند که پژوهشگران این رشته تلاش دارند که آنها را به حداقل برسانند، از جمله:
- قواعد یا دستورات مشخصی برای طراحی شبکه جهت یک کاربرد اختیاری وجود ندارد.
- در مورد مسائل مدل سازی، صرفاً نمیتوان با استفاده از شبکه عصبی به فیزیک مساله پی برد. به عبارت دیگر مرتبط ساختن پارامترها یا ساختار شبکه به پارامترهای فرآیند معمولاً غیر ممکن است.
- دقت نتایج بستگی زیادی به اندازه مجموعه آموزش دارد.
- آموزش شبکه ممکن است مشکل ویا حتی غیر ممکن باشد.
پیش بینی عملکرد آینده شبکه (عمومیت یافتن) آن به سادگی امکان پذیر نیست.
نتیجه گیری :
بنابراین ما میتوانیم با استفاده از شبکههای عصبی هر چه بیشتر به شبیهسازی انسان توسط کامپیوترها نزدیک شویم به منظور واگذاری کارهای تکراری, وقتگیر و مسائلی که با توجه به پیشرفت بشری دیگر درخور بشر نیست.
لطفاً براي ارسال دیدگاه، ابتدا وارد حساب كاربري خود بشويد