هوش مصنوعی آزاد:شبکهٔ عصبی مصنوعی
محتویات
کلیات شبکهٔ عصبی مصنوعی
شبکههای عصبی مصنوعی (Artificial Neural Network - ANN) یا به زبان سادهتر شبکههای عصبی سیستمها و روشهای محاسباتی نوینی هستند برای یادگیری ماشین، نمایش دانش، و در انتها اعمال دانش به دست آمده در جهت بیشبینی پاسخهای خروجی از سامانههای پیچیده. ایدهٔ اصلی این گونه شبکهها (تا حدودی) الهامگرفته از شیوهٔ کارکرد سیستم عصبی زیستی، برای پردازش دادهها، و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد. عنصر کلیدی این ایده، ایجاد ساختارهایی جدید برای سامانهٔ پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهمپیوسته با نام نورون تشکیل شده که برای حل یک مسأله با هم هماهنگ عمل میکنند و توسط سیناپسها(ارتباطات الکترومغناطیسی) اطلاعات را منتقل میکنند. در این شبکهها اگر یک سلول آسیب ببیند بقیه سلولها میتوانند نبود آنرا جبران کرده، و نیز در بازسازی آن سهیم باشند. این شبکهها قادر به یادگیریاند. مثلاً با اعمال سوزش به سلولهای عصبی لامسه، سلولها یاد میگیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم میآموزد که خطای خود را اصلاح کند. یادگیری در این سیستمها به صورت تطبیقی صورت میگیرد، یعنی با استفاده ازمثالها وزن سیناپسها به گونهای تغییر میکند که در صورت دادن ورودیهای جدید، سیستم پاسخ درستی تولید کند.
توافق دقیقی بر تعریف شبکه عصبی در میان محققان وجود ندارد؛ اما اغلب آنها موافقند که شبکه عصبی شامل شبکهای از عناصر پردازش ساده (نورونها) است، که میتواند رفتار پیچیده کلی تعیین شدهای از ارتباط بین عناصر پردازش و پارامترهای عنصر را نمایش دهد. منبع اصلی و الهام بخش برای این تکنیک، از آزمایش سیستم مرکزی عصبی و نورونها نشأت گرفتهاست، که یکی از قابل توجهترین عناصر پردازش اطلاعات سیستم عصبی را تشکیل میدهد.
با استفاده از دانش برنامهنویسی رایانه میتوان ساختار دادهای طراحی کرد که همانند یک نرون عمل نماید. سپس با ایجاد شبکهای از این نورونهای مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد.اگر یک شبکه را همارز با یک گراف بدانیم، فرایند آموزش شبکه تعیین نمودن وزن هر یال و bias اولیهٔ خواهد بود.
توضیحات
نرون طبیعی و یادگیری آن
برای آشنایی با شبکهٔ عصبی مصنوعی ابتدا عملکرد مغز را بررسی میکنیم. مغز انسان پیچیدهترین پدیدهای است که تا کنون به دقت مطالعه شده و در مجموع هنوز هم مغز را به طور کامل نمیشناسیم. ما هنوز جوابی برای پرسش «اندیشه چیست؟» و «چگونه فکر میکنیم؟» نیافتیم. تنها شناختی ابتدایی از نحوهٔ عملکرد مغز در سطوح پایین را کسب کردهایم. به طور مثال مغز دارای ۱۰ـ۱۰ پایه واحد پایه به نام «نرون» است که هر نرون به حدود ۱۰ـ۴ نرون دیگر وصل است.
نرون عنصر اصلی مغز میباشد و به تنهایی مثل یک واحد پردازش منطقی عمل میکند. هر نرون ورودیهای متعددی را پذیراست که با یکدیگر به طریقی جمع میشوند. اگر در لحظهای مقدار ورودیهای نرون به حد کفایت برسد، نرون فعال شده و با تولید یک پالس الکتریکی نرون بعدی را تحریک میکند.
هستهٔ نرون سوما نامیده میشود. به سوما رشتههای نامنظم طولانی اتصال دارد که دنریت نام دارند. دنریتها نقش اتصالاتی را دارند که ورودیها را به نرونها میرسانند. یکی دیگر از عناصر عصبی متصل به هستهٔ نرون اکسون نامیده میشود، اکسون بر خلاف دنریت از نظر الکتریکی فعال است و خروجی نرون میباشد. محل اتصال اکسون یک نرون با دنریت نرون دیگر را سیناپس میگویند. به نظر میرسد یادگیری هنگامی صورت میگیرد که شدت اتصال یک نرون و نرون دیگر در محل سیناپسها اصلاح گردد.
نرون مصنوعی و یادگیری شبکهٔ عصبی مصنوعی
نقش اصلی یک نرون طبیعی عمل جمع ورودیهای خود تا جایی است که ورودیها از حدی که آن را آستانه میگویند تجاوز نکند، و پس از عبور از آستانه، تولید یک خروجی است. ورودیهای نرون از طریق دنریتها که به خروجیهای نرون دیگر توسط سیناپسها متصل است وارد میشوند. سیناپسها شکل سیگنالهای دریافتی را تغییر میدهند. بدنهٔ سلول کلیهٔ ورودیها را دریافت میکند و هنگامی که مجموع ورودیها از حد آستانه تجاوز کرد، سیگنالی را برای تحریک نرون بعدی ارسال میکند. مدل نرونی که ساخته میشود باید به طور خلاصه مشخصات زیر را داشته باشند.
- خروجی یک نرون فعال(یک) یا غیر فعال(صفر)
- خروجی تنها به ورودیها بستگی دارد. میزان ورودیها باید به حدی برسد که خروجی نرون را فعال سازد.
کارآیی سیناپس را در انتقال سیگنالهای ورودی به بدنهٔ سلول را نیتوان با استفاده از ضریبی که در ورودیهای نرون ضرب میشود نمونهسازی کرد. سیناپسهای قویتر که سیگنال بیشتری را منتقل میکنند دارای ضریبهای بسیار بزرگتری هستند در حالی که سیناپسهای ضعیفتر ضریبهای کوچکتری دارند.
این نمونه ابتدا مجموع وزنی ورودیهای خود را محاسبه کرده سپس آن را با سطح آستانهٔ داخلی خود مقایسه میکند و اگر از آن تجاوز کرد فعال می شود. در غیر این صورت غیرفعال باقی میماند. این سیستم «روبهجلو» نام دارد به دلیل این که ورودیها برای تولید خروجی از میان نرون عبور میکنند. این عمل را میتوان به طریق ریاضی نشان داد:
اگر تعداد ورودیها n باشد آنگاه هر خط ورودی دارای یک ضریب وزنی مربوط به خود می باشد. نرون ورودیهای خود را محاسبه میکند. ابتدا اولین ورودی را در ضریب وزنی مربوط به خود ضرب میکند. سپس همین عمل را برای سایر ورودیها و ضریبها تکرار می کند.
حاصل جمع فوق باید با آستانهٔ نرون مورد نظر مقایسه شود، اگر حاصل جمع به دست آمده از میزان آستانه تجاوز کند آنگاه خروجی نرون مساوی یک خواهد بود و اگر حاصل جمع کمتر از آستانه باشد خروجی مساوی صفر میشود.
شبکههای عصبی یاد میگیرند که مسألهای را حل کنند و در واقع برنامه ریزی قبلی نمیشوند. در واقع تنظیم وزنهای ورودی هر نرون عصبی باعث یادگیری کل شبکه می شود که این تنظیم بر اساس مدل پیاده سازیشده می تواند با ناظر یا بدون ناظر صورت پذیرد. شبکههای عصبی مصنوعی میتوانند دارای لایههای متعددی باشند و یا یک لایه باشند.
مدل سازی با سیستمهای غیر خطی، مقاوم بودن و تحمل آسیبها، قابل یادگیر بودن (یعنی توانایی تنظیم وزنهای شبکه)، قابلیت تعمیم، سرعت بالا به دلیل پردازشهای موازی، قابلیت سازگاری با تغییرات سیستم و... از ویژگیهای شبکههای عصبی مصنوعی هستند.
محتوای این بخش به تکمیل و تصحیح نیاز دارد.
پرسپترون و یادگیری آن
محتوای این بخش به تکمیل شدن نیاز دارد.
شبکهٔ عصبی رگرسیون عمومی
محتوای این بخش به تکمیل شدن نیاز دارد.
شبکهٔ هاپفیلد
محتوای این بخش به تکمیل شدن نیاز دارد.
شبکههای خودسازمانده کوهونن
محتوای این بخش به تکمیل شدن نیاز دارد.
موارد کاربرد
- پردازش سیگنالهای بیولوییکی، مخابراتی و الکترونیکی
- کمک در نجوم و فضا نوردی
- دسته بندی اشکالی که مشابه هم هستند
- تعقیب مسیر
- تفکیک بافت(پارچه، زمین کشاورزی، منطقهٔ نظامی و...)
- بهینه سازی تعیین جواب با وجود قیود مختلف
- تقریب توابع
پروژههای مورد استفاده
ایدههای مرتبط با شبکهٔ عصبی مصنوعی
منابع آموزشی
صفحات وب
- شبکهٔ عصبی مصنوعی در ویکیپدیای فارسی
- شبکهٔ عصبی مصنوعی در ویکیپدیای انگلیسی
- نرون مصنوعی در ویکیپدیای انگلیسی
کتابها
مقالات
- مقدمهای بر شبکههای عصبی (۴۸ صفحه، فارسی)