شبکه عصبی Neural Network
مقدمه ای بر شبکه عصبی Neural Network :
شبکه عصبی Neural Network : یک شبکه ی عصبی مصنوعی (NN) روشی برای تحلیل اطلاعات است که از سیستم عصبی انسان الهام گرفته و مشابه مغز انسان به پردازش اطلاعات و دسته بندی اطلاعات میپردازد. این سیستم پردازشی از تعداد زیادی عناصر بهم پیوسته به نام نورونها (neurons) تشکیل شده که برای حل یک مسئله به طور هماهنگ با یکدیگر عمل میکنند.
شبکه عصبی Neural Network نیز مانند کودکان با مثال یاد میگیرد و یک شبکه عصبی برای انجام وظیفههای مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یادگیری تنظیم میشود. در سیستمهای زیستی، یادگیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است و این اساس پایه گذاری شبکه های عصبی مصنوعی است. این شبکه ها اصلی ترین و مهمترین موضوع در مبحث یادگیری ماشین و هوش مصنوعی است.
شبکه عصبی Neural Network
مفهوم شبکه های عصبی در ساده ترین حالت مانند آموزش یک موضوع به کودک است. به طور مثال میخواهیم به کودک شکل مربع را آموزش دهیم و از او بخواهیم اجسام و تصاویری با رنگ های مختلفی که شامل شکل مربع است را تشخیص دهد. ابتدا نمونه هایی از شکل مربع را به کودک نشان داده و سپس کودک با توجه به مشاهداتی که داشته و ویژگیهای که استخراج کرده میتواند به مرور شکل مربع را تشخیص دهد. این دقیقا همان کاریست که به کمک شبکههای عصبی برای آموزش به یک ماشین انجام میدهیم؛ آموزش دادن به ماشین نهایتا باعث ایجاد هوش در آن میشود. این آموزش هرچه با ویژگیهای دقیق تری صورت بگیرد نتایج بهتری به عنوان خروجی به ما میدهد.
در مبحث شبکه های عصبی، مدل های مختلفی وجود دارد که هر یک کاربردهای متفاوتی دارند و هر کدام از بخشی از مغز انسان الگو گرفته اند. فرایند انتقال، حفظ و یادگیری در مغز توسط نرون های عصبی شکل میگیرد که مغز انسان دارای تعداد بیشماری نرون عصبی است. هر نرون توسط Axons به هزار سلول دیگر متصل میشود. محرکهای حاصل از محیط خارجی یا ورودیهای اندامهای حسی توسط دندریتها (طبق تصویر(a) شاخکهای متصل شده به بدنه نرون) پذیرفته میشوند. این ورودیها تکانه های الکتریکی ایجاد میکنند، که به سرعت از طریق شبکه عصبی عبور میکنند. سپس یک نورون میتواند پیام را برای رسیدگی به این مسئله به نورون دیگر ارسال کند یا از ارسال آن جلوگیری کند. تصویر (b) نشان دهنده ی شمای کلی شبکه های عصبی که بر اساس سازوکار نرون ایجاد شده است. هر شبکه عصبی Neural Network دارای پارامترهایی است که قابلیت تنظیم دارد و انقدر به سمت بهینگی و یادگیری پیش میرود که بتواند بهترین نتایج را ایجاد بکند.
شبکه های عصبی دارای لایه های مختلفی است. این شبکه ها اطلاعات را دریافت میکنند و در لایه های مخفی به تحلیل اطلاعات میپردازند. این اطلاعات شامل تصاویر، نوشته ها، صداها و… میباشند که باید به بردارها و اطلاعات قابل درک برای ماشین تبدیل شوند. این اطلاعات با تنظیم پارامترهای مختلف شبکه و ویژگیهای موجود طبقه بندی میشوند و در نهایت یک خروجی را ایجاد میکنند.
شکل زیر نشان دهنده ی لایه های مختلف یک شبکه ی عصبی است. لایه اول با عنوان لایه ی ورودی (input) شناخته میشود. داده ها با انجام یک سری عملیات ریاضی از لایه اول به لایه های میانی منتقل میشوند و در نهایت میتوان خروجی را در لایه ی نهایی(output) دید.
یک لایه گره، یک ردیف از آن کلیدهای نورونی مانند است که با تغذیه ورودی از طریق شبکه روشن یا خاموش میشود. خروجی هر لایه به طور همزمان ورودی لایه بعدی است و از یک لایه ورودی اولیه که داده های شما را دریافت میکند، شروع میشود. جفت شدن وزنهای قابل تنظیم مدل با ویژگیهای ورودی این است که چگونه با توجه به نحوه طبقه بندی و خوشه بندی شبکه عصبی به آن ویژگیها اهمیت میدهیم. براساس وزنهای اختصاص داده شده به هر گره اهمیت آن گره مشخص میشود و سپس داده ها از یک تابع فعالساز عبور داده میشود و در نهایت خروجی تعیین میشود و میتوان روند یادگیری ماشین را مشاهده کرد. در ادامه به توضیح بخشهای مختلف یک شبکه ی عصبی میپردازیم.
اجزای شبکه عصبی
اجزای شبکه عصبی شامل موارد زیر می باشد:
- Weight:
وزنها مقادیر عددی هستند که در ورودی ها ضرب میشوند. در انتشار مجدد، آنها برای کاهش ضرر اصلاح میشوند. به عبارت ساده، وزنها مقادیری هستند که از شبکه های عصبی توسط ماشین آموخته میشوند. آنها بسته به تفاوت بین خروجی های پیش بینی شده در مقابل ورودی های آموزشی، خود تنظیم میشوند.
- Activation function:
عملکرد فعال سازی یک فرمول ریاضی است که به نورون کمک میکند تا روشن / خاموش شود.
- Input layer:
لایه ورودی ابعاد بردار ورودی را نشان میدهد.
- Hidden layer:
لایه پنهان، گره های واسطه ای است که فضای ورودی را به مناطقی با مرزهای نرم تقسیم میکنند. مجموعه ای از ورودی وزنی را گرفته و از طریق یک تابع فعال سازی خروجی تولید میکند.
- Output layer:
لایه خروجی نشان دهنده خروجی شبکه عصبی است.
تمامی کیفیت نتایج طبقه بندی به مجموعه داده های دارای برچسب بستگی دارد. یعنی انسان باید دانش خود را به مجموعه داده منتقل کند تا یک شبکه عصبی همبستگی بین برچسبها و داده ها را بیاموزد. این به عنوان یادگیری تحت نظارت شناخته میشود. شبکه های عصبی برای انجام وظایف پیچیده و حجم بالایی از داده طراحی شده اند؛ یکی از این وظایف دسته بندی اشیا در کلاس های متفاوت است که به آن کلاسه بندی (Classification) گفته میشود.
در این پروسه هدف کلاسبندی کردن یک سری اشیا یا داده است که با توجه به ویژگیها و داده هایی که در اختیار قرار گرفته، انجام میشود. وظیفه کلاس بندی کردن در یک نرون توسط تابع فعالساز انجام میشود و این تابع به هر نرون با توجه به مقدار وزن و دیگر پارامترها مقادیری را اختصاص میدهد که به طور مثال به یک شی مقدار صفر و به شی دیگر مقدار یک را اختصاص میدهد؛ سپس میتوان متوجه شد که شی اول متعلق به کلاس یک و شی دوم متعلق به کلاس صفر است. طبق تصویر زیر یک کلاس از دادهها با دایره (نشان دهنده مقدار صفر) و کلاس دیگر با علامت+ (نشان دهنده مقدار یک) نشان داده میشود.
انواع شبکه عصبی
انواع شبکه عصبی: انواع مختلفی از شبکه های عصبی وجود دارد که هر کدام مزایا و معایب خود دارد و در مسائل خاصی قابل استفاده است که شامل لیست زیر میباشد:
- شبکه های عصبی کانولوشنال (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
دیدگاهتان را بنویسید