معماری های معروف شبکه های عصبی کانولوشنالی مطرح در ImageNet
شبکه های عصبی کانولوشنالی (CNN) معروف: LeNet، AlexNet، VGG، GoogLeNet، ResNet
در چنندین سال اخیر، به ویژه از سال 2012، تحقیق و توسعه در حوزه هوش مصنوعی بهویژه پس از نتایج حیرت انگیز شبکه الکس نت در سال 2012 به عنوان اولین معماری موفق در حوزه دیپ لرنینگ در رقابت ImageNet به صورت فزاینده ای افزایش یافته است. در این پست به معماری های مطرح شبکه های عصبی کانولوشنالی عمیق که به نحوی آغاز شهرت دیپ لرنینگ بود را بررسی خواهیم کرد.
شبکه عصبی کانولوشنالی (CNN یا ConvNet) نوع خاصی از شبکه های عصبی چند لایه هستند که برای تشخیص الگوهای بصری بطور مستقیم از تصاویر با حداقل پیش پردازش طراحی شده اند.
پروژه ImageNet نیز یک پایگاه داده بصری بزرگ است که برای استفاده در تشخیص اشیاء بصری طراحی شده است. از سال 2010 پروژه ImageNet یک مسابقه نرم افزاری سالانه را برگزار می کرده است. در چالش تشخیص تصویری در مقیاس بزرگ ImageNet یا به اختصار (ILSVRC)، شرکت کنندگان برای طبقه بندی و تشخیص صحیح اشیا و صحنه ها با هم رقابت می کنند. در ادامه به بررسی معماری CNN رقبای برتر ILSVRC خواهیم پرداخت.
LeNet-5 (1998)
LeNet-5، یک شبکه کانولوشنالی 7 لایه ای است که توسط یان لکان (LeCun) و همکاران وی در سال 1998معرفی شد. این شبکه قادر بود که ارقام را طبقه بندی کند و برای شناسایی اعداد دست نویس روی چک دیجیتالی در تصاویر ورودی 32*32 پیکسل خاکستری توسط چندین بانک استفاده شد.
دلیل اهمیت این شبکه این است که اولین شبکه ای است که با این نوع معماری و با الگوریتم Gradient Descent آموزش میدید! اما بر خلاف انتظار و با تمام نو آوری این شبکه در حل مسائل تصویری (که در نظر گرفته همسابه های یک پیکسل علائه بر خود پیکسل برای درک تصویر خیلی مهم است) از این الگوریتم استقبالی که انتظار میرفت نشد و استفاده از این الگوریتم فراگیر نشد. 3 دلیل اصلی را میتوان برای این اتفاق بیان کرد:
- نبود داده های کافی
- نبود توان پردازشی کافی
- مشکلات الگوریتمی (نظیر Vanishing Gradient)
از آنجایی که توانایی پردازش تصاویر با وضوح بالاتر به لایههای پیچیدهتر و بیشتر نیاز دارد، و این نوع شبکه ها ذاتا داده و بار محاسباتی زیادی را نیاز دارند و در نهایت مشکلات الگوریتمی تا سال 2012 استقبال عمومی از راهکار یان لکان نشد!
AlexNet (2012)
در سال 2012، به لظف پروفسور جفری هینتون و شاگردش الکس کرجیوسکی، شبکه AlexNet با 8 لایه معرفی شد! این شبکه با بهره گیری از مجموعه داده عظیم ایمیج نت و همچنین پیاده سازی برای پردازش موازی روی کارت گرافیکی یا GPU دو مشکل نبود داده و توان پردازش را حل کرده و با استفاده از ReLU به جای Sigmoid مشکل Vanishing Gradient را تا حد خوبی حل کرد. این شبکه در نهایت به طور قابل توجهی از تمام رقبای قبلی و آن سال پیشی گرفت و با کاهش top-5-error از 26٪ به 15.3٪، برنده چالش سال 2012 شد. رتبه دوم top-5-error که یک نوع CNN نبود، حدود 26.2٪ بوده است.
این شبکه معماری بسیار مشابهی با LeNet توسط Yann LeCun و همکاران داشت، اما عمیقتر، با فیلترهای بیشتر در هر لایه، و با لایههای کانولوشنالی بیشتر بود.
فیلترهای کانولوشنالی آن شامل 11×11 ، 5×5, 3×3 بوده است. استفاده از dropout برای جلوگیری از حفظ کردن داده نیز در این معماری دیده میشود.
AlexNet به مدت 6 روز به طور همزمان روی دو پردازنده گرافیکی Nvidia Geforce GTX 580 آموزش داده شد به همین دلیل شبکه آنها به دو قسمت تقسیم می شود. AlexNet توسط گروه SuperVision متشکل از Alex Krizhevsky، Geoffrey Hinton و Ilya Sutskever طراحی شده است.
ZFNet (2013)
جای تعجب نیست که برنده ILSVRC 2013 نیز یک CNN بود که به ZFNet معروف است. ZFNet به نرخ خطای 14.8% دست یافت که در حال حاضر نیمی از میزان خطای غیر عصبی ذکر شده قبلی است. این دستاوردی با بهینه سازی هایپرپارامترهای AlexNet بود و در عین حال همان ساختار را با عناصر یادگیری عمیق بیشتر همانطور که قبلاً در این مقاله مورد بحث قرار گرفت حفظ کرد.
GoogLeNet/Inception (2014)
برنده مسابقه ILSVRC 2014 ، GoogLeNet (با نام مستعار Inception V1) از گوگل بود و به نرخ خطای 6.67 درصدی دست یافت!
این نرخ خطا که بسیار نزدیک به عملکرد سطح انسانی بود. این شبکه از CNN الهام گرفته از LeNet استفاده کرد اما عنصر جدیدی را پیاده سازی کرد که به آن ماژول Inception لقب داده شد. GoogLeNets از نرمال سازی دسته ای، RMSprop استفاده کرد. معماری آنها شامل 22 لایه ی کانولوشنالی یا CNN بود اما تعداد پارامترها را از 60 میلیون (AlexNet) به 4 میلیون کاهش داد. این کاهش پارامتر به دلیل حذف لایه های تمام-متصل (Fully-connected) بود.
VGGNet (2014)
نایب قهرمان مسابقه ILSVRC 2014 توسط انجمن VGGNet نامیده شد و توسط Simonyan و Zisserman توسعه داده شده است. VGGNet از 16 لایه کانولوشنال تشکیل شده و به دلیل معماری بسیار یکنواختش بسیار جذاب است. مشابه AlexNet، تنها کانولوشنال های 3×3 ، اما با تعداد زیادی فیلتر. VGGNet به مدت 2 تا 3 هفته روی 4 پردازنده گرافیکی آموزش دیده است. در حال حاضر پرطرفدارترین گزینه برای استخراج ویژگی ها از تصاویر است. پیکربندی وزن VGGNet به صورت عمومی در دسترس است و در بسیاری از برنامه ها و چالش های دیگر به عنوان استخراج کننده ویژگی های پایه استفاده شده است. با این حال، VGGNet از 138 میلیون پارامتر تشکیل شده که کنترل آنها می تواند کمی چالش برانگیز باشد.
ResNet (2015)
سرانجام، در ILSVRC 2015، به اصطلاح شبکه عصبی اضافی (ResNet) توسط Kaiming He و همکاران، معماری جدیدی را با “اتصالات میانبر” و ویژگی های نرمال سازی دسته ای سنگین معرفی کرد. این اتصالات میانبر به عنوان واحدهای گیتی یا واحدهای بازگشتی دروازه ای نیز شناخته می شوند و شباهت زیادی به عناصر بکار رفته در RNN ها دارند. به لطف این تکنیک، آنها توانستند یک NN با 152 لایه را آموزش دهند بطوری که هنوز کانولوشنال کمتری نسبت به VGGNet دارد. آن به نرخ خطای 3.57٪ می رسد که عملکرد سطح انسانی در این مجموعه داده را شکست می دهد.
AlexNet دارای دو خط CNN موازی است که روی دو GPU با اتصالات متقابل آموزش داده شده اند. GoogleNet دارای ماژول های اولیه و ResNet دارای اتصالات اضافی است.
تجزیه و تحلیل شبکه عصبی عمیق برای کاربردهای عملی 2017
جدول خلاصه
دیدگاهتان را بنویسید