شبکه های عصبی Neural Network
شبکههای عصبی مصنوعی
Artificial Neural Network
چکیده:
شبکههای عصبی مصنوعی از مباحث جدیدی است که دانشمندان علوم کامپیوتر به آن علاقمند شدهاند و برای پیشرفت هرچه بیشتر علوم کامپیوتر وقت و هزینه بسیاری را صرف آن کرده و میکنند. این موضوع با ایده گرفتن از سیستم عصبی بدن انسان و با هدف شبیهسازی هرچه بیشتر کامپیوتر به انسان شکل گرفت و تا حال به خوبی پیشرفته است. از جمله کاربردهای این بحث میتوان از شناسایی الگوها, پردازش تصویر و رویت, هوش مصنوعی, کنترل رباتها و موارد بسیار دیگر نام برد. ما در این مقاله پس از مقدمه به مسائل در خور شبکههای عصبی مصنوعی و نیز کاربردهای آن خواهیم پرداخت, در ادامه Perceptron ها را که یکی از مهمترین الگوریتمهای شبکههای عصبی مصنوعی میباشد معرفی میکنیم.
1- مقدمه
1-1- ایده پیدایش شبکههای عصبی مصنوعی
آیا کامپیوتر میتواند همان نوع از محاسباتی را که یک فرد هوشمند انجام میدهد به کار گیرد؟
بسیاری از دانشمندان عقیده داشته ودارند که این بحث باید مورد توجه قرار گیرد. شبکههای عصبی در حل مسائل یک جهت جدید و متمایز نسبت به کامپیترهای عمومی میگشود. کامپیوترهای عمومی از یک الگوریتم استفاده میکنند یعنی برای حل مسائل از یک سری دستورات از پیش تعیین شده پیروی میکنند مگر در مواقع ویژهای که کامپیوتر نیاز به یکسری اطلاعات برای حل مسئله دارد. و همین مسئله توانایی پردازش را از کامپیوترهای عمومی به مسائلی که ما قبلا فهمیدهایم و روش حل آنها را شناختهایم محدود میکند و تنها سرعت عمل و قدرت در حل نمونههای بزرگتر را به همراه دارند. اما کامپیوترها باید به قدری مفید باشند که بتوانند کارهایی را انجام دهند که واقعا ما نمیدانیم چگونه باید آنها را انجام دهیم.
1-2- بررسی سلولهای مغزی افراد
تحقیق درباره سلولهای مغزی افراد و همچنین شناخت Neuron ها یا رشتههای مغزی وبیان یک راه نسبتا متفاوت که یک سیستم هوشمند را بنا میکند شروع شد. مغز بشر متشکل از میلیونها نرون عصبی منحصر بفرد است واین رشتههای عصبی به اشکال و اندازههای مختلف تغییر میکنند.. هر نرون عموما یک هسته دارد و یکسری سلولهای عصبی Axon (آکسون) که علائم خروجی را به سلولهای عصبی نرون دیگر حمل میکنند و Dendrite ها (شاخههای سلولهای عصبی). علائم در سلولهای عصبی میان شاخههای سلولهای عصبی ونواحی خروجی جریان دارند.
در اینجا برای حالت برانگیزش باید آشفتگی از یک حدی تجاوز کند که آستانه یا سرحد نامیده میشود و پس از برانگیزش نرونها پیامهایی برای نرونهای دیگر میفرستند و خود را برای دریافت و پاسخ به اطلاعات عمومی آماده میکنند.
1-3- تاریخچه
شبکههای عصبی دهها سال است که جلب توجه میکنند وتاکنون راه حلهایی برای استفاده از هوش بشری ارائه شده است. اولین نرون مصنوعی درسال 1943 توسط نروفیزیولوژیست وارنمککالوک و منطق دان والترپیتز تولید شد.در دهه 60 به دلایلی که خارج از بحث این مقاله است مردم بهسوی شبکههای عصبی متمایل شدند و تنها در دهه 80 دانشمندان تواناییهای واقعی شبکههای عصبی را دیدند.
2- شبکههای عصبی مصنوعی
2-1- شبکههای عصبی مصنوعی
شبکههای عصبی شبیه به مغز انسان اطلاعاتی را پردازش میکنند. شبکه از تعداد زیادی سلولهای عصبی(Neuron ها) تشکیل شده با پردازشی بسیار بزرگ و بههم پیوسته که در حل موازی مسائل ویژه مشغول به کارند.
یادگیری شبکههای عصبی از طریق مثالهاست. آنها برای انجام یک کار خاص برنامهریزی نشدهاند. مثالها باید با دقت بسیار بالایی انتخاب شوند والا زمان مفید هدر خواهد رفت و یا حتی ممکن است شبکه به طور ناقص دایر شود و در اینجا راهی برای فهمیدن اینکه سیستم معیوب است یا خیر وجود ندارد مگر اینکه خطایی رخ دهد.
شبکههای عصبی مصنوعی یک ترکیبی از مجموعه نرونهاست و البته نرونهای مصنوعیای که بسیار شبیه به نرونهای زیستی کار میکنند. و بدین گونه است که ورودیهای زیادی با وزنهای مختلف میگیرد و یک خروجی که به ورودی وابسته است تولید میکند. نرونهای زیستی میتوانند در حال برانگیزش باشند یا نباشند. ( وقتی یک نرون برانگیخته میشود ضربه علائم خروجی آن مقداری کمتر از 100 هرتز است)
شبکههای عصبی استفاده وسیعی در شناسایی الگوها دارند زیرا از خودشان قابلیت آن را دارند که بطور عمومی به ورودیهای غیر منتظره نیز پاسخ دهند. در طول ساخت نرونها میآموزند که چگونه الگوهای ویژه گوناگون را تشخیص دهند. اگر الگویی پذیرفته شود در حالی که در طول اجرا ورودی با خروجی مرتبط نباشد، نرون از مجموعهای از الگوهایی که سابقا آموخته خروجیی را که شبیه به الگو میباشد وکمترین تفاوت را با ورودی دارد انتخاب میکند. این روال عموما فراخوانی میشود.
مثال:
وقتی که ورودی نرون 1111 باشد چهار ورودی بر حسب برانگیزش مرتب شدهاند و وقتی ورودیهای 0000 را داریم نرون برای برانگیزش مرتب نیست. قاعده عمومی این است که نرونها مایلند برانگیخته شوند وقتی که ورودیها 0111 ، 1011 ، 1101 ، 1110 یا 1111 باشند و در صورتی که ورودی آنها 1000 ، 0001 ، 0010 ، 0100 یا 0000 باشند مایل به برانگیخته شدن نیستند.
شناسایی الگوهای پیچیده سطح بالا میتواند به وسیله شبکهای از نرونها انجام شود و بدین ترتیب نام آن را شبکههای عصبی مصنوعی گذاشتند. اکنون شبکههای عصبی کاربردهای زیادی دارند(درمنطق وکلام و شناسایی عکسها)البته شناسایی الگوهامیتواند بهطور موفقیت آمیز بر روی کامپیوترهای عمومی انجام شود. این شبکههای عمومی که برای شناسایی الگوها استفاده میشوند Feed-Forward نامیده میشدند زیرا آنها یک بازخورد (Feed-Back) داشتند. آنها بهطور ساده ورودیها را با خروجیها میآمیختند. اما شناسایی الگوها به تدریج کاملتر شد بهطوریکه بر روی کامپیوترهای عمومی با سیستم خاص خودشان بهسختی انجام میشد پس برای شناسایی الگوها شبکههای Feed-Forward کافی نبودند.
در شبکههای عصبی خروجی هر نرون به ورودی نرونهای مجاورش متصل شده است. شبکههای عصبی نمیتوانند معجزه کنند اما اگر به درستی استفاده شوند نتایج شگفتانگیزی خواهند داشت.
2-2- مشخصات مسائل در خور شبکههای عصبی مصنوعی ANN(Artificial Neural Network)
تقلید از ساختارهای محاسباتی سیستم زیستی ممکن است ایده اصلی نمونههای محاسباتی برای ساخت کلاسهایی از مسائل باشد. از جمله این مسائل میتوان از مسائل مشکل NP که شامل مسائل طبقهبندی شده، زمانبندیشده، جستجو وغیره نام برد، کلاس مسائل شناسایی الگوها، افراد و موضوعات مشخص را در دیدار و تماس با آنها میشناسد و کلاس مربوط به دادههای ناقص، اشتباه، متناقض، فازی و احتمالی. این مسائل توسط همه یا برخی از موارد زیر توصیف میشوند:
یک فضای مسئله با بعد بزرگ، پیچیده، ناشناخته با اثرات متقابل پیچیده ریاضیوار بین متغییرها و یک فضای راهحل که ممکن است خالی باشد(شامل یک راهحل یکتا یا بیشتر ، شامل تعدادی از راهحلهای مفید)به نظر میرسد ANN ها راهحلهایی برای مسائلی که با ورودیهای حسی بیشتر درگیرند ارائه میدهد(صحبتکردن، دیدن، شناسایی دستخط و…).
2-3- کاربردهای شبکههای عصبی مصنوعی ANN
میتوان موارد زیر را از کاربردهای شبکههای عصبی مصنوعی ذکر کرد:
پردازش تصویر و دید( Image processing and computer vision )
پردازش علائم( Signal processing ): شامل ریختشناسی و تجزیه و تحلیل علائم مربوط به زمینلرزهها و…
شناسایی الگوها( Pattern recognition ): شامل شناسایی چهره، اثر انگشت، تشخیص نوع صدا و نوع صحبت کردن، دستخط و …
پزشکی( Medicine ): شامل تجزیه و تحلیل و تشخیص علائم دستگاه ضرباننگار قلب (الکتروکاردیوگرافیک)، تشخیص امراض گوناگون و …
سیستمهای نظامی( Military systems ): شامل ردیابی مینهای زیردریایی، دستهبندی صداهای نابههنجار و مخل در رادارها و شناسایی گوینده رزمی.
سیستمهای تجاری( Financial systems ): شامل تجزیه و تحلیل انبار مغازهها، ارزیابی واقعی املاک و …