شبکه عصبی مصنوعی چیست:

یک شبکه عصبی مصنوعی (Artificial Neural Network – ANN) ایده ای برای پردازش اطلاعات است که از سیستم عصبی زیستی الهام گرفته و مانند مغز به پردازش اطلاعات می‌پردازد. عنصر کلیدی این ایده، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته به نام نورون‌ها (neurons) تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل می‌کنند. شبکه‌های عصبی مصنوعی نیز مانند انسان‌ها با مثال یاد می گیرند و یک شبکه عصبی برای انجام وظیفه‌های مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یاد گیری تنظیم می‌شود. در سیستم‌های زیستی، یاد گیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است. از این روش در شبکه‌های عصبی نیز استفاده می‌شود.

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

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

  • تخمین توابع
  • کلاس بندی داده ها
  • کنترل کننده های هوشمند
  • شناسایی سیستم های دینامیکی
  • و …

در این مجموعه شبکه های عصبی عمیق را معرفی می کنیم و به انواع آن اشاره می کنیم. پر کاربردترین و موفق ترین نوع آن ها یعنی شبکه های عصبی کانولوشن عمیق (Deep Convolutional Neural Network) را معرفی می کنیم و به صورت کامل ساختار آن را بررسی می کنیم.

 

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

 

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

علاوه بر ساختار شبکه، نحوه ی محاسبات، نحوه ی آماده سازی ورودی ها و همجنین عملیات پیش رو و پس رو را به صورت کامل با هم بررسی می کنیم و بعد از توضیح تئوریک آن ها، در متلب از کد صفر استفاده می کنیم و یک شبکه ی CNN را از ابتدا بدون هیچ گونه تولباکسی تشکیل داده و بعد با روش گرادیان نزولی آموزش می دهیم.

جهت نشان دادن عملکرد شبکه از داده های MNIST که در حوزه ی پردازش تصویر شناخته شده است استفاده می کنیم.

کاربرد شبکه های عصبی کانولوشن

در تمامی الگوریتم های شناسایی آماری الگو کاربرد دارد اما به طور خاص در موارد زیر بیشترین کاربرد را دارد:

  • انواع پردازش تصویر
  • انواع پردازش صوت
  • انواع پردازش ویدیو
  • پیش بینی سری های زمانی

تذکر:

مفاهیمی همچون zero padding و convolution در این آموزش (شبکه های عصبی کانولوشن (CNN)) بکارگیری شده است. بمنظور درک بهتر این مفاهیم می توانید قسمت هفتم از مجموعه آموزش پردازش تصویر گونزالس را دانلود و مشاهده نمایید.

تذکر:

قسمت های قبلی این مجموعه آموزشی را می توانید از اینجا مشاهده نمایید

کلید واژه:

شبکه عصبی کانولوشن,شبکه عصبی در هم پیچش,شبکه عصبی عمیق,deep neural network,dnn,cnn,convolutional neural network,convolution neural network,deep convolutional neural network,deep learning,یادگیری عمیق