مریم حسنعلی
مریم حسنعلی
خواندن ۳ دقیقه·۴ سال پیش

تفاوت بین ANN، CNN و RNN:

شبکه عصبی مصنوعی –Artificial Neural Network –ANN

یک پرسپترون یا نرون را می توان مانند یک رگرسیون logistic در نظر گرفت. شبکه عصبی مصنوعی یا ANN از گروهی از چندین پرسپترون / نورون در هر لایه تشکیل شده است. شبکه عصبی مصنوعی به عنوان شبکه عصبی پیشخور (Feed-Forward ) نیز نامیده می شود زیرا ورودی ها فقط در جهت رو به جلو پردازش می شود. ANN از لایه های ورودی، مخفی و خروجی تشکیل شده است. هر لایه سعی می کند وزن های معینی را یاد بگیرد. این شبکه ها می توانند عمیق (deep) یا سطحی (shallow) باشند. شبکه های سطحی دارای یک لایه مخفی (یعنی یک لایه بین ورودی و خروجی) هستند. اما شبکه های عمیق دارای تعداد بیشتری لایه هستند که به آنها شبکه عصبی عمیق (Deep Neural Network) می گویند. این شبکه ها می توانند برای حل مسائل مربوط به داده های جدولی، داده های عکس و داده های متن به کار گرفته شود. در شکل زیر نمونه ایی از شبکه های عمیق و سطحی را مشاهده می کنید.

مزایا:

  • ذخیره اطلاعات در کل شبکه
  • توانایی کار با دانش ناکامل
  • توانایی تحمل خطا
  • داشتن حافظه توزیع شده

معایب:

  • وابستگی به سخت افزار
  • رفتار غیر قابل توضیح شبکه
  • تعیین ساختار مناسب شبکه

شبکه عصبی پیچشی – Convolutional Neural Network –CNN

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

مزایا:

  • دقت بسیار بالا در مسائل تشخیص عکس
  • تشخیص خودکار ویژگی های مهم بدون نظارت انسانی

معایب:

  • این شبکه موقعیت و جهت اشیا را کد گذاری نمی کند
  • فقدان توانایی عدم تطابق مکانی با داده های ورودی
  • به داده های آموزشی زیادی نیاز است

شبکه عصبی بازگشتی – Recurrent Neural Network – RNN

شبکه عصبی بازگشتی، شبکه پیچیده ایی است. هدف آنها پردازش داده های دنباله ایی است. RNN می تواند به علت داشتن حافظه داخلی، ورودی قبلی خود را به خاطر بسپارد و از این حافظه برای پردازش دنباله ایی از ورودی ها استفاده کند. در این شبکه ها خروجی گره های پردازشی ذخیره می شود و نتیجه دوباره به مدل بازگرداننده می شوند. این نوع شبکه ها اطلاعات را تنها در یک جهت (از لایه ورودی به خروجی) عبور نمی دهند. هر گره در شبکه های RNN مانند یک سلول حافظه عمل می کند و محاسبه و اجرای عملیات را ادامه می دهد. اگر شبکه پیش بینی نادرستی انجام دهد، سیستم خود یادگیری (self-learn) انجام می دهد و به اصلاح پیش بینی خود در طول پس انتشار (backpropagation) ادامه می دهد. شبکه عصبی بازگشتی برای داده های سری زمانی، داده های متنی و داده های صوتی به کار می رود. دو نوع متداول تر لایه های بازگشتی حافظه کوتاه مدت طولانی (long short term) یا LSTM و واحدهای بازگشتی دروازه ایی (Gated Recurrent Units) یا GRU هستند. نمایی ساده از این شبکه ها را در شکل زیر مشاهده می کنید:

مزایا:

  • این شبکه ها اطلاعات را در طول زمان به خاطر می آورند. به دلیل ویژگی به یادآوری ورودی های قبلی، در پیش بینی سری زمانی مفید است.
  • شبکه RNN می تواند با لایه کانولوشن به کار گرفته شود.

معایب:

  • آموزش شبکه RNN کار دشواری است.


مقایسه سه نوع شبکه ANN، CNN و RNN:


یادگیری عمیقشبکه عصبی عمیقشبکه عصبی سطحیشبکه عصبی کانولوشنشبکه عصبی بازگشتی
علاقمند به حوزه های هوش مصنوعی و یادگیری ماشین و ... کانال من در تلگرام: @meteorjournal ایمیل من: maryam.hasanali@gmail.com
شاید از این پست‌ها خوشتان بیاید