شبکه عصبی مصنوعی

نوعی شبیه سازی مغز انسان برای پردازش اطلاعات توسط ماشین است که از گره هایی مشابه نورون های مغز انسان تشکیل شده است. در شبکه های عصبی مصنوعی، میزان توانایی محسابات و نحوه ی ورودی و خروجی اطلاع به آن نورون از قبل مشخص شده است که در نتیجه ی پردازش چندین نورون، اطلاعات به آنچه که مورد نیاز است تبدیل می شود (مشابه مغز انسان که زنجیره ای از نورون ها به پردازش یک ورودی پرداخته و در نهایت به یک نتیجه – استنتاج – استدلال می رسند). مهمترین مولفه های شبکه عصبی مصنوعی شامل موارد زیر است:

  1. تحلیل و یادگیری: یکی از مهمترین مشخصه های شبکه عصبی مصنوعی این است که می توانند داده های ورودی را به بخشهای کوچکتر تقسیم و بر اساس آنها استنتاج کنند. مثلا تصویر یک «باب کت» (گربه وحشی قطبی) به هوش مصنوعی داده می شود. او از طریق نورون های خود با دانشی که از قبل ذخیره کرده است بررسی می کند و می بیند که 100% خز دارد، 100% سیبل دارد، 40% گوش نوک تیز دارد، 60% بدن کشیده دارد، 20% دم دارد، پس این تصویر به احتمال 82%  نوعی گربه است. همین قابلیت باعث می شود که این نوع گربه جدید را به حافظه بسپارد و یاد بگیرد.
  2. نورون های مصنوعی: تعیرف آن مشابه نورون های مغز انسان است که در کنار یکدیگر اقدام به پردازش یک مولفه می کنند. خروجی هر نورون می تواند ورودی یک یا چند نورون دیگر باشد و هرکدام به میزان معینی بر نورون های بعد از خود تاثیر می گذارند. در پایان زنجیره ی نورون ها، به نورون هایی می رسیم که وظیفه ی تشخیص نهایی را داند و تمام آنچه که نورون های قبلی فهمیده اند را استنتاج می کنند.
  3. تحلیل لایه ای: در بسیاری از سیستم های عصبی مصنوعی، چندین لایه از نورون ها برای شبکه تحلیل و یادگیری استفاده می شود . یعنی پردازش یک مسئله بین لایه های مختلف با توجه به ورودی های مختلف تقسیم می شود. مثلا انسان در مواجهه با یک پدیده، از حواس بینایی و شنوایی بصورت همزمان استفاده می کند که مجمعه نورون های جداگانه ای در مغز را فعال می کنند اما در نهایت به نتیجه ای واحد از آن پدیده می رسد.
  4. خودسازماندهی: در برخی از انواع شبکه عصبی مصنوعی، شناخت مقادیر جدید که از گذشته دیدگاهی درمورد آن وجود نداشته به صورت خودکار انجام می شود (مشابه آنچه که در مغز انسان رخ می دهد). به این معنی که نورون ها و گره های پردازشی برای فهم موضوع جدید به صورت خودکار با یکدیگر مرتبط می شوند. توجه فرمایید که بررسی بیشتر این موضوع نیاز به مباحث بسیار تخصصی دارد و در اینجا بیان شد تا بدانید که چنین قابلیتی نیز ممکن است بنابراین از توضیح بیشتر آن صرفنظر می شود.
  5. شناسایی انحراف: شبکه عصبی مصنوعی می تواند امکان بروز خطا در نتایج تحلیل های انجام شده را تشخیص دهد مثلا می توان پذیرفت که گربه یک پای خود را از دست داده باشد (سه پا داشته باشد) اما نمی توان قبول کرد که 5 پا داشته باشد.
  6. کدگذاری پیشبینی کننده: نظریه ای در علوم اعصاب وجود دارد که می گوید: «مغز انسان دایما درحال ایجاد یک ذهنت از محیط اطراف و مقایسه محیط با آنچه ساخته است می باشد» و شاید به همین دلیل باشد که انسان می تواند خواب ببیند (این نظریه اثبات نشده است) اما از این روش در شبکه عصبی مصنوعی استفاده می شود. یعنی ابتدا هوش مصنوعی آنچه که بر پایه داده های قبلی، احتمال زیادی برای رخداد دارد را برای خودش رسم می کند و سپس نتیجه ای که از آنالیز داده های جدید گرفته را با آن مقایسه می کند. به عبارت ساده تر، هوش مصنوعی نیز می تواند در مورد اتفاقاتی که با آن مواجه می شود ذهنیت داشته باشد. وجود ذهنیت باعث کاهش خطا، کاهش احتمال ارائه نتایج دور از انتظار، و افزایش سرعت در پردازش می شود.
  7. شبکه مولد متقابل: این روش نیز مشابه مغز انسان است و در آن، شبکه عصبی مصنوعی سعی می کند که دو یا چند سناریوی مختلف را فرض کند و سپس به مقایسه آنها بپردازد. مثلا در مثال گربه، ممکن است نتیجه بگیرد که تصویر مورد ارزیابی 70% شبیه به گربه، 52% شبیه به گرگ، 48% شبیه به خرس است، پس به احتمال زیاد گربه است.
  8. حافظه کوتاه مدت و بلند مدت: یکی از مهمترین چالش های شبکه های عصبی مصنوعی این است که چه داده هایی را باید ذخیره و چه داده هایی را باید فراموش کند. در این مدل برای هر سلول پردازش از واحدهایی مثل ورودی، خروجی، آستانه فراموشی و... استفاده می شود. مهمترین مزیت استفاده از این رویکرد، امکان فراخوانی داده های قبلی برای تحلیل وضعیت موجود است. به بیان خلاصه، شبکه عصبی می تواند داده های ورودی را تحلیل کرده و به حافظه ی خود بسپرد، سپس در مواجهه با شرایط جدید، داده های قبلی را فراخوانی کرده و به همراه داده هایی که در زمان حاضر با آن مواجه است، با استلال جدیدی دست یابد و سپس دوباره تمام آنرا به خاطر بسپرد و اینگونه تا بینهایت تکامل یابد. مهمترین وجه مطرح شده در بهره گیری از حافظه ی کوتاه مدت و بلند مدت تجربه است.
  9. شبکه عصبی مصنوعی تصادفی: طراحان یک شبکه عصبی مصنوعی ممکن است برای هرکدام از نورون های آن وزن تعریف کنند (یعنی هر نورون تا چه سطحی و با چه حدی بتواند پردازش اطلاعات را انجام داده و سپس اطلاعات را به نورون بعدی تحیول دهد).این کار باعث می شود که شبکه عصبی دارای پویایی کافی نبوده و از برخی زیرساخت های خود به صورت کامل استفاده نکند اما در همان زمان بخشهای دیگر شبکه زیر پردازش بسیار سنگین باشد. می توان از طریق نظریه احتمال بیزی (یعنی بر اساس پیشبینی بوسیله داده های آماری قبلی)، اختیار را به هوش مصنوعی داد تا تصمیم بگیرد که در مواجهه با چه مسئلی چگونه شبکه عصبی خود را به کار بگیرد تا به حداکثر بازدهی برسد.
  10. ظرفیت شبکه عصبی مصنوعی: توسط عواملی مانند تعداد نورون ها، تعداد لایه ها، وزن هر نورون، تعداد شبکه های ارتباطی بین نورون ها (سیناپس ها)، حافظه داخلی هر نورون، حافظه بلندمدت، الگوریتم های داخلی، توپولوژی (چینش اجزای شبکه) و... مشخص می شود.

بر اساس نظریات: لژاندر، گاوس، لنز، ایزینگ، شانیچی، هاپفیلد، کالوچ، پیتس، هب، فارلی، کلارک، روزنبلات، مینسکی، پیپرت، لاپا، کوهانن، فوکوشیما، لایبنیتس، وانگ، اشمیدوبر، ژانگ، واسوانی، گرف، هینتون، مک کی،