شبکه عصبی Neural Network


شبکه عصبی Neural Network

مقدمه ای بر شبکه عصبی Neural Network :

شبکه عصبی Neural Network : یک شبکه ­ی عصبی مصنوعی (NN) روشی برای تحلیل اطلاعات است که از سیستم عصبی انسان الهام گرفته و مشابه مغز انسان به پردازش اطلاعات و دسته­ بندی اطلاعات می‌پردازد. این سیستم پردازشی از تعداد زیادی عناصر بهم پیوسته به نام نورون‌ها (neurons) تشکیل شده که برای حل یک مسئله به طور هماهنگ با یکدیگر عمل می‌کنند.

شبکه عصبی Neural Network نیز مانند کودکان با مثال یاد می­گیرد و یک شبکه عصبی برای انجام وظیفه‌های مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یادگیری تنظیم می‌شود. در سیستم‌های زیستی، یادگیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است و این اساس پایه ­گذاری شبکه ­های عصبی مصنوعی است. این شبکه ­ها اصلی ­ترین و مهم­ترین موضوع در مبحث یادگیری ماشین و هوش­ مصنوعی است.

شبکه عصبی Neural Network

شبکه عصبی Neural Network

مفهوم شبکه ­های عصبی در ساده ­ترین حالت مانند آموزش یک موضوع به کودک است. به طور مثال می­خواهیم به کودک شکل مربع را آموزش دهیم و از او بخواهیم اجسام و تصاویری با رنگ­ های مختلفی که شامل شکل مربع است را تشخیص دهد. ابتدا نمونه ­هایی از شکل مربع را به کودک نشان داده و سپس کودک با توجه به مشاهداتی که داشته و ویژگی­های که استخراج کرده می­تواند به مرور شکل مربع را تشخیص دهد. این دقیقا همان کاری‌ست که به کمک شبکه‌های عصبی برای آموزش به یک ماشین انجام می‌دهیم؛ آموزش دادن به ماشین نهایتا باعث ایجاد هوش در آن می‌شود. این آموزش هرچه با ویژگی­های دقیق­ تری صورت بگیرد نتایج بهتری به عنوان خروجی به ما می­دهد.

در مبحث شبکه ­های عصبی، مدل­ های مختلفی وجود دارد که هر یک کاربردهای متفاوتی دارند و هر کدام از بخشی از مغز انسان الگو گرفته ­اند. فرایند انتقال، حفظ و یادگیری در مغز توسط نرون­ های عصبی شکل می­گیرد که مغز انسان دارای تعداد بیشماری نرون عصبی است. هر نرون توسط Axons به هزار سلول دیگر متصل می­شود. محرک­های حاصل از محیط خارجی یا ورودی­های اندام­های حسی توسط دندریت­ها (طبق تصویر(a) شاخک­های متصل شده به بدنه نرون) پذیرفته می­شوند. این ورودی­ها تکانه ­های الکتریکی ایجاد می­کنند، که به سرعت از طریق شبکه عصبی عبور می­کنند. سپس یک نورون می­تواند پیام را برای رسیدگی به این مسئله به نورون دیگر ارسال کند یا از ارسال آن جلوگیری کند. تصویر (b) نشان دهنده­ ی شمای کلی شبکه ­های عصبی که بر اساس سازوکار نرون ایجاد شده است. هر شبکه عصبی Neural Network دارای پارامترهایی است که قابلیت تنظیم دارد و انقدر به سمت بهینگی و یادگیری پیش می­رود که بتواند بهترین نتایج را ایجاد بکند.

شبکه عصبی Neural Network

شبکه ­های عصبی دارای لایه­ های مختلفی است. این شبکه­ ها اطلاعات را دریافت می­کنند و در لایه­ های مخفی به تحلیل اطلاعات می­پردازند. این اطلاعات شامل تصاویر، نوشته ­ها، صداها و… می­باشند که باید به بردارها و اطلاعات قابل درک برای ماشین تبدیل شوند. این اطلاعات با تنظیم پارامترهای مختلف شبکه و ویژگی­های موجود طبقه ­بندی می­شوند و در نهایت یک خروجی را ایجاد می­کنند.

شکل زیر نشان دهنده ­ی لایه ­های مختلف یک شبکه ­ی عصبی است. لایه اول با عنوان لایه ­ی ورودی (input) شناخته می­شود. داده­ ها با انجام یک­ سری عملیات ریاضی از لایه اول به لایه­ های میانی منتقل می­شوند و در نهایت می­توان خروجی را در لایه ­ی نهایی(output) دید.

شبکه عصبی Neural Network

یک لایه گره، یک ردیف از آن کلیدهای نورونی مانند است که با تغذیه ورودی از طریق شبکه روشن یا خاموش می­شود. خروجی هر لایه به طور همزمان ورودی لایه بعدی است و از یک لایه ورودی اولیه که داده­ های شما را دریافت می­کند، شروع می­شود. جفت شدن وزن­های قابل تنظیم مدل با ویژگی­های ورودی این است که چگونه با توجه به نحوه طبقه ­بندی و خوشه­ بندی شبکه عصبی به آن ویژگی­ها اهمیت می­دهیم. براساس  وزن­های اختصاص داده شده به هر گره اهمیت آن گره مشخص می­شود و سپس داده­ ها از یک تابع فعالساز عبور داده می­شود و در نهایت خروجی تعیین می­شود و می­توان روند یادگیری ماشین را مشاهده کرد. در ادامه به توضیح بخش­های مختلف یک شبکه ­ی عصبی می­پردازیم.

اجزای شبکه عصبی

اجزای شبکه عصبی شامل موارد زیر می باشد: 

  • Weight:

وزن­ها مقادیر عددی هستند که در ورودی­ ها ضرب می­شوند. در انتشار مجدد، آنها برای کاهش ضرر اصلاح می­شوند. به عبارت ساده، وزن­ها مقادیری هستند که از شبکه­ های عصبی توسط ماشین آموخته می­شوند. آنها بسته به تفاوت بین خروجی­ های پیش بینی شده در مقابل ورودی­ های آموزشی، خود تنظیم می­شوند.

  • Activation function:

عملکرد فعال سازی یک فرمول ریاضی است که به نورون کمک می­کند تا روشن / خاموش شود.

  • Input layer:

لایه ورودی ابعاد بردار ورودی را نشان می­دهد.

  • Hidden layer:

لایه پنهان، گره ­های واسطه­ ای است که فضای ورودی را به مناطقی با مرزهای نرم تقسیم می­کنند. مجموعه­ ای از ورودی وزنی را گرفته و از طریق یک تابع فعال سازی خروجی تولید می­کند.

  • Output layer:

لایه خروجی نشان دهنده خروجی شبکه عصبی است.

شبکه عصبی Neural Network

تمامی کیفیت نتایج طبقه ­بندی به مجموعه داده­ های دارای برچسب بستگی دارد. یعنی انسان باید دانش خود را به مجموعه داده منتقل کند تا یک شبکه عصبی همبستگی بین برچسب­ها و داده ­ها را بیاموزد. این به عنوان یادگیری تحت نظارت شناخته می­شود. شبکه­ های عصبی برای انجام وظایف پیچیده و حجم بالایی از داده طراحی شده ­­اند؛ یکی از این وظایف دسته ­بندی اشیا در کلاس­ های متفاوت است که به آن کلاسه بندی (Classification) گفته می­شود.

در این پروسه هدف کلاس­بندی کردن یک سری اشیا یا داده است که با توجه به ویژگی­ها و داده ­هایی که در اختیار قرار گرفته، انجام می­شود. وظیفه کلاس­ بندی کردن در یک نرون توسط تابع فعالساز انجام می­شود و این تابع به هر نرون با توجه به مقدار وزن و دیگر پارامترها مقادیری را اختصاص می­دهد که به طور مثال به یک شی مقدار صفر و به شی دیگر مقدار یک را اختصاص می­دهد؛ سپس می­توان متوجه شد که شی اول متعلق به کلاس یک و شی دوم متعلق به کلاس صفر است. طبق تصویر زیر یک کلاس از داده­ها با دایره (نشان دهنده مقدار صفر) و کلاس دیگر با علامت+ (نشان دهنده مقدار یک) نشان داده می­شود.

شبکه عصبی Neural Network

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

انواع شبکه عصبی: انواع مختلفی از شبکه ­های عصبی وجود دارد که هر کدام مزایا و معایب خود دارد و در مسائل خاصی قابل استفاده است که شامل لیست زیر می­باشد:

  • شبکه­ های عصبی کانولوشنال (Convolutional Neural Network)
  • پرسپترون چندلایه (Multilayer Perceptron)
  • شبکه­ ی عصبی پرسپترون (Perceptron)
  • شبکه­ ی عصبی پیشخور (Feed Forward Neural Network)
  • شبکه­ ی عصبی حافظه طولانی کوتاه مدت (LSTM – Long Short-Term Memory)
  • شبکه­ ی عصبی بازگشتی (Recurrent Neural Network)
  • شبکه‌های عصبی شعاعی پایه (Radial Basis Networks )

که این عناوین تعدادی از پرکاربرد ترین شبکه­های عصبی است.

کاربرد شبکه­ های عصبی

کاربرد شبکه­ های عصبی: شبکه عصبی Neural Network ، در دنیای مالی، به طور گسترده ­ای مورد استفاده قرار می­گیرند. به توسعه فرآیندی مانند پیش­بینی سری زمانی، تجارت الگوریتمی، طبقه­ بندی اوراق بهادار، مدل سازی ریسک اعتباری و ساخت شاخص ­های اختصاصی و مشتقات قیمت و با برنامه ­هایی برای عملیات مالی، برنامه ریزی شرکت، تجارت، تجزیه و تحلیل تجارت و نگهداری محصول بسیار به کار می­رود.

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

 

جمع­ بندی شبکه عصبی Neural Network

شبکه­ های عصبی مصنوعی مورد استفاده در یادگیری ماشین هستند که به روشی مشابه سیستم عصبی انسان کار می­کنند. کاربردهای بیشماری در دنیای داده محور کنونی دارد و شبکه ­های عصبی اساساً در مدل ­های محاسباتی استفاده می­شوند. توسط الگوریتمِ شبکه‌های عصبی، می‌توان مدل‌های مختلف و پیچیده‌ای را شناخت. برای مثالِ می‌توان طبقه‌بندی‌هایی با دقتِ خوب انجام داده یا خوشه‌بندی‌هایی بر روی داده‌های بزرگ انجام دهیم و الگوهایی را شناسایی کرد که از توان انسان خارج است. و به طور کلی می­توان گفت شبکه ­های عصبی پایه و اساس هوش مصنوعی است.

نویسنده: تیم پژوهش راهبرد

منابع

analyticsvidhya.com

ISSN: 0893-6080 Neural Networks

2.2/5 - (4 امتیاز)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *