شنبه , مهر ۲۷ ۱۳۹۸
خانه / datamining / معماری های یادگیری عمیق
معماری های یادگیری عمیق

معماری های یادگیری عمیق

1. معماری AlexNet

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

2. معماری VGG Net

این معماری بیشتر بخاطر شکل هرمی مانندش شناخته می‌شود که در آن لایه‌هایی که به تصویر نزدیکتر هستند، پهن‌تر، و لایه‌های دورتر، عمیق‌تر هستند. این معماری دارای 19 لایه است.

vggnet

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

مزایا:

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

معایب:

  • اگر بخواهید این معماری را از پایه تعلیم دهید، بسیار کند و زمان‌بر است. حتی در یک سیستم با «GPU» خوب هم راه اندازی آن بیشتر از یک هفته زمان می‌برد.

3. معماری GoogleNet

در این معماری، علاوه بر عمق بیشتر (دارای 22 لایه است، در مقایسه با VGG که دارای 19 لایه است)، محققان یک رویکرد جدید نیز به نام ماژول آغازین (Inception Module) ارائه دادند.

The-Inception-Module-in-GoogLeNet

نحوه یادگیری نیز در GoogleNet متفاوت است؛ چرا که اکثر لایه‌های بالایی، خود دارای لایه‌ خروجی هستند. این تغییر جزئی باعث می‌شود عمل یادگیری این مدل سریعتر باشد، زیرا هم یادگیری کلی و هم یادگیری موازی در لایه‌ها وجود دارد.

مزایا:

  • یادگیری GoogleNet از VGG سریعتر است.
  • حجم یک مدل GoogleNet از پیش تعلیم دیده، بسیار سبک‌تر از VGG است. یک مدل VGG می‌تواند حجمی بیشتر از 500مگابایت داشته باشد، در حالی که حجم GoogleNet تنها 96مگابایت است.

4. معماری ResNet

ResNet یکی از معماری‌های بزرگ است که نشان می‌دهد یک معماری یادگیری عمیق تا چه حد می‌تواند عمیق باشد. ResNet (که مخفف Residual Networks است) شامل چندین ماژول رسوبی است که برروی هم سوار شده‌اند، که درواقع ساختمان اصلی معماری ResNet را تشکیل می‌دهند. تصویر زیر یک نمای کلی از ماژول رسوبی را نشان می‌دهد.

resnet

به بیان ساده، ماژول رسوبی دو راه دارد، یا می‌تواند یک سری عملیات را برروی ورودی انجام دهد، یا تمام این مراحل را رد کند. همانند GoogleNet، این ماژول‌های رسوبی برروی یک دیگر سوار شده‌اند تا یک شبکه‌ کامل را تشکیل دهند.

مزایا:

  • مزیت اصلی ResNet این است که هزاران هزار از این لایه‌های رسوبی می‌توانند کنار هم قرار بگیرند تا یک شبکه را تشکیل دهند و سپس به یادگیری بپردازند. این مدل کمی از شبکه‌های ترتیبی عادی متفاوت است و مشکل کاهش عملکرد در هنگام افزایش لایه‌ها را ندارد.

5. معماری ResNeXt

گفته می‌شود که ResNeXt در حال حاضر یکی از کامل‌ترین تکنیک‌های تشخیص اشیاء است. این معماری بر اساس معماری‌های «inception» و «resnet» کار می‌کند تا یک معماری جدید و بهبود یافته را ارائه می‌دهد.

6. معماری RCNN) Region Based CNN)

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

RCNN

7. معماری YOLO) You Only Look Once)

YOLO کامل‌ترین سیستم‌ بلادرنگ (Real time) در یادگیری عمیق و حل مسائل تشخیص تصویر است. همان‌طور که در تصویر زیر مشاهده می‌کنید، این الگوریتم ابتدا تصویر را به بخش‌های مختلف تقسیم می‌کند و هر بخش را علامت‌گذاری می‌کند، سپس الگوریتم شناسایی را به صورت موازی برای تمامی این بخش‌ها اجرا می‌کند تا ببیند هر بخش به کدام دسته‌بندی تعلق می‌گیرد. بعد از شناسایی کامل اشیا، آن‌ها را به هم متصل می‌کند تا دو هر شیء اصلی یک جعبه باشد.

yolo

8. معماری SqueezeNet

معماری SqueezeNet یک معماری بسیار قوی است که در جاهایی با فضای کم، از جمله تلفن‌های همراه، بسیار کارآمد است. این معماری تنها حدود 5 مگابایت فضا اشغال می‌کند، در حالی که مدل «inception» حدود 100 مگابایت فضا نیاز دارد. این تغییر بزرگ به لطف معماری خاصی ممکن شده‌است که ماژول آتش نام دارد. در زیر تصویری از ساختار ماژول آتش را مشاهده می‌کنید.

SqueezeNet

9. معماری SegNet

این معماری از چندین لایه‌ پردازشی (که همان کار «encoder»ها را انجام می‌دهند) و یک سری لایه‌های مقابل به عنوان «decoder» برای مشخص کردن بخش‌های تصاویر تشکیل شده‌است. SegNet یکی از بهترین مدل‌ها برای حل مشکلات مربوط به بخش‌بندی تصاویر است.

10. معماری GAN) Generative Adversarial Network)

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

GAN

  • آیا این مقاله مفید بود؟
  • بله   خیر

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

پاسخی بگذارید

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