آشنایی با ۲۴ ساختار شبکه‌های عصبی

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

(Feed Forward Neural Network (FF

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

کاربردهای شبکه‌های عصبی پیشرو شامل موارد زیر است:

  • طبقه‌بندی ساده (درصورتی‌که الگوریتم‌های طبقه‌بندی یادگیری ماشین محدودیت داشته‌ باشند.)
  • تشخیص چهره

    FF
    شبکه‌ی Feed Forward (پیشرو)
  • بینایی ماشین
  • تشخیص گفتار

مزایای شبکه‌های عصبی پیشرو:

  • پیچیدگی کمتر، طراحی و نگهداری آسان
  • بسیار سریع
  • پاسخگوی داده‌های نویزدار

از معایب شبکه‌های عصبی پیشرو می‌توان به مورد زیر اشاره کرد:

  • برای کارهای یادگیری عمیق نمی‌توان از آن‌ها استفاده کرد (به دلیل نبود لایه‌های متراکم و backpropagation)

 

(Multiple Layered Perceptron Neural Network (MLP

این شبکه‌ها 3 یا بیش‌تر از 3 لایه دارند. برای طبقه‌بندی داده‌هایی استفاده می‌شود که نمی‌توانند به‌صورت خطی جدا شوند. در این شبکه گره‌ها کاملاً به هم متصل هستند زیرا هر گره در یک لایه به همه‌ی گره‌ها در لایه بعدی وصل می‌شود. از یک تابع فعال‌سازی غیرخطی استفاده می‌کند مانند hyperbolic tangent و logistic.

MLP
شبکه‌ی Multi-Layer Perceptron

کاربردهای شبکه‌ی عصبیMLP  شامل موارد زیر است:

  • تشخیص گفتار
  • ترجمه‌ی ماشین
  • طبقه‌بندی پیچیده

از مزایای شبکه‌ی عصبیMLP می‌توان به مورد زیر اشاره نمود:

برای کارهای یادگیری عمیق استفاده می‌شود (به‌دلیل وجود لایه‌های متراکم و به‌هم متصل وbackpropagation)

معایب شبکه‌ی عصبیMLP:

  •  برای طراحی و نگهداری نسبتاً پیچیده هستند.
  • بسته به تعداد لایه‌های پنهان کُند عمل می‌کنند.

 

(Convolutional Neural Network (CNN

این شبکه‌ها از چندین لایه perceptron استفاده می‌کنند و یک یا بیش‌تر از یک لایه‌ی کانولوشنی دارند. برای بررسی بیشتر این شبکه می‌توانید این مقاله را مطالعه نمایید.

 

(Radial Basis Function Neural Network (RBF

این شبکه‌ها از یک بردار به عنوان ورودی، یک لایه‌ی نورونیRBF و یک لایه خروجی تشکیل‌شده استیک تابع شعاع‌محور فاصله‌ی هر نقطه را نسبت به مرکز در نظر می‌گیرد. طبقه‌بندی با اندازه‌گیری میزان شباهت داده‌های ورودی نسبت به داده‌های مجموعه آموزشی انجام می‌گیرد. زمانی که یک بردار ورودی جدید بخواهد طبقه‌بندی شود؛ هر نورون فاصله‌ی اقلیدسی را بین ورودی و نمونه‌ی آموزشی حساب می‌کند. سپس آن داده در کلاسی قرار می‌گیرد که به آن نزدیک‌تر است. اگر ورودی معادل نمونه‌ی آموزشی شود خروجی نورون برابر 1 می‌شود و  هرچه شباهت کمتر باشد این عدد به صفر نزدیک‌تر می‌شود.

RBFS
شبکه‌ی Radial Basis Function

(Recurrent Neural Network (RNN

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

 

Sequence to Sequence models

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

کاربردهای این مدل عبارت‌اند از:

  1. Chatbot
  2. ترجمه‌ی ماشین
  3. سیستم‌های پاسخ‌دهی سؤال

 

Modular Neural Network

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

کاربردهای این شبکه شامل موارد زیر است:

  • سیستم‌های پیش‌بینی بورس
  • تشخیص کاراکتر
  • فشرده‌سازی داده‌های ورودی سطح بالا

مزایای مدل:

  • کارایی
  • آموزش مستقل داده‌ها

 

(Deep Feed Forward (DFF

DFFها همان FN هستند اما دارای بیش از یک لایه پنهان می‌باشند. اکنون DFFها هسته‌ای از سیستم‌های مدرن یادگیری ماشین را تشکیل می‌دهند، اهداف مشابه FF را نیز دربر می‌گیرند، اما با نتایج بسیار بهتر.

 

(Long/Short Term Memory (LSTM

دارای یک سلول حافظه است که می‌تواند داده‌ها را در هنگام داشتن تأخیر پردازش کند. برای بررسی بیشتر این شبکه می‌توانید این مقاله را مطالعه نمایید.

 

(Gated Recurrent Unit (GRU

  همان LSTM هستند اما با Gateها و دوره‌های زمانی متفاوت. ساده به نظر می‌رسند، اما کمبود Gateهای‌ خروجی باعث می‌شود تکرار همان خروجی برای ورودی بسیار آسان‌تر شود. در حال حاضر بیشترین استفاده را در موسیقی و ترکیب گفتار دارد. نسبت به LSTM کم‌مصرف‌تر هستند و تقریباً همان کارایی را دارند.

 

(Auto Encoder (AE

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

 

(Variational AE (VAE

VAEها، در مقایسه با AEها، به‌جای ویژگی‌ها، احتمالات را فشرده می‌کنند. وقتی AEها به سؤال “چگونه می‌توان داده‌ها را تعمیم داد؟” پاسخ می‌دهد، VAEها به این سؤال پاسخ می‌دهند “ارتباط بین دو واقعه چقدر قدرتمند است؟ آیا باید خطایی بین این دو رویداد توزیع کنیم یا آنها کاملاً مستقل هستند؟”

 

(Denoising AE (DAE

بعضی‌اوقات AEها، به‌جای پیدا کردن قوی‌ترین ویژگی‌ها، فقط با داده‌های ورودی سازگار می‌شوند (درواقع نمونه‌ای ازOverfitting است). DAEها noise کمی بر روی سلول های ورودی اضافه می‌کنند. داده‌ها و بیت‌ها را به‌طور تصادفی در ورودی تغییر می‌دهند.

 

(Sparse AE (SAE

SAEها در بعضی موارد می‌توانند برخی از الگوهای گروه‌بندی پنهان را در داده‌ها نشان دهد. ساختار AE را دارند، اما تعداد سلول‌های پنهان از تعداد سلول‌های لایه ورودی و خروجی بزرگ‌تر است.

 

(Hopfield Network (HN

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

 

(Boltzmann Machine (BM

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

 

(Restricted BM (RBM

RBMها ازنظر ساختاری شبیه BMها هستند، اما به دلیل محدودیت، اجازه دارند تا با استفاده از روش backpropagation درست مانند FFها آموزش ببینند. با این تفاوت که قبل از گذراندن backpropagation، داده یک بار به لایه ورودی منتقل می‌شود.

 

(Deep Belief Network (DBN

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

 

(Deep Convolutional Network (DCN

امروزه DCN ستاره‌های شبکه‌های عصبی مصنوعی هستند. این شبکه‌ها دارای سلول‌های کانولوشن و هسته هستند که هرکدام هدف متفاوتی دارند. معمولاً برای تشخیص تصویر مورداستفاده قرار می‌گیرند، آنها روی یک زیرمجموعه کوچک از تصویر کار می‌کنند (حدود 20*20 پیکسل).DFFها معمولاً برای پردازش بیشتر داده‌ها به لایه کانولوشن نهایی متصل می‌شوند.

 

(Liquid State Machine (LSM

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

 

(Deep Residual Network (DRN

DRN یک شبکه عمیق است که بخشی از داده‌های ورودی را به لایه‌های بعدی منتقل می‌کند. این ویژگی به آنها اجازه می‌دهد تا بسیار عمیق باشند (حداکثر 300 لایه)، اما درواقع نوعی RNN هستند.

 

(Generative Adversarial Network (GAN

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

 

(Support Vector Machine (SVM

SVM برای کارهای طبقه‌بندی باینری استفاده می‌شود. مهم نیست که داده‌ها چندبعدی باشند. جواب همیشه “بله” یا “خیر” است. SVMها همیشه یک شبکه عصبی محسوب نمی‌شوند.

 

(Kohonen Network (KN

KN ویژگی “فاصله از سلول” را معرفی می‌کند. این نوع شبکه که بیشتر برای طبقه‌بندی استفاده می‌شود ، سعی می‌کند سلول‌های آنها را برای حداکثر واکنش به یک ورودی خاص تنظیم کند. هنگامی‌که برخی از سلول‌ها به‌روز شود، نزدیکترین همسایگان آن نیز به‌روز می‌شوند. این شبکه‌ها مانند SVM همیشه یک شبکه عصبی “واقعی” در نظر گرفته نمی‌شوند.

 

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

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.