LeNet، AlexNet، GoogLeNet و VGGNet | تاریخ معماری‌های CNN

LeNet-5، AlexNet، GoogLeNet، VGGNet و آغاز ResNet

توسط admin | گروه هوش مصنوعی | 1405/06/01

نظرات 0

LeNet-5، AlexNet، GoogLeNet، VGGNet و آغاز ResNet

کتاب
Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow
بخش منبع
LeNet-5; AlexNet; Data Augmentation; Local Response Normalization; GoogLeNet; Inception Modules; VGGNet; ResNet Introduction
صفحات این PDF
96-103
صفحات چاپی کتاب
498-505
جایگاه در مجموعه
بخش ۵۶ از مجموعهٔ Machine_Learning_405_06؛ مادر: Machine_Learning_405_06_01.html

معماری‌های کلاسیک و برندهٔ ImageNet

بررسی Architectureهای مشهور نشان می‌دهد CNNها چگونه از شبکه‌های نسبتاً کوچک به Modelهای بسیار عمیق و کارآمد رسیدند. بسیاری از ایده‌های امروزی از LeNet-5، AlexNet، GoogLeNet، VGGNet و ResNet آمده‌اند.

LeNet-5

LeNet-5 در سال ۱۹۹۸ توسط Yann LeCun و همکاران معرفی شد و برای تشخیص رقم‌های دست‌نویس کاربرد گسترده پیدا کرد. Structure کلی شامل Convolution، Average Pooling و Fully Connected Layer است. نسخهٔ اصلی از tanh/Sigmoid و Output مبتنی بر RBF استفاده می‌کرد، در حالی که CNNهای امروزی معمولاً ReLU/Swish، Softmax و Max Pooling یا Strided Convolution دارند.

جدول 14-1. خلاصهٔ LeNet-5
LayerنوعFeature Map / SizeKernel / Stride
InputImage1 × 32×32-
C1Convolution6 × 28×285×5 / 1
S2Average Pool6 × 14×142×2 / 2
C3Convolution16 × 10×105×5 / 1
S4Average Pool16 × 5×52×2 / 2
C5/F6/OutDense-like120 → 84 → 10-

AlexNet

AlexNet برندهٔ ILSVRC 2012 شد و فاصلهٔ زیادی با رقبا ایجاد کرد. Architecture آن عمیق‌تر و بزرگ‌تر از LeNet بود و چند ایدهٔ مهم را محبوب کرد: ReLU، Training روی GPU، Dropout در Fully Connected Layerها و Data Augmentation برای کاهش Overfitting.

جدول 14-2. ساختار مفهومی AlexNet
بخشمشخصات اصلی
Convolutionهای ابتداییKernel بزرگ در Layer اول، سپس Kernelهای کوچک‌تر و Feature Mapهای بیشتر
PoolingMax Pooling Strided میان Blockها
Denseدو Hidden Dense بزرگ با Dropout
OutputSoftmax برای 1000 Class ImageNet

Data Augmentation از Training Imageها نمونه‌های جدید می‌سازد: Crop تصادفی، Flip افقی، تغییر نور/رنگ و Transformationهای کوچک. این کار Dataset مؤثر را بزرگ‌تر و Model را نسبت به Variationهای طبیعی مقاوم‌تر می‌کند.

تبدیل‌های تصویری مانند crop و rotation برای افزایش داده
شکل 14-13. ساخت نمونه‌های Training جدید با Data Augmentation

AlexNet همچنین از Local Response Normalization یا LRN استفاده کرد که Feature Mapهای قوی را نسبت به Mapهای مجاور برجسته می‌کرد. این Technique در Architectureهای مدرن کمتر استفاده می‌شود و Batch Normalization جایگزین رایج‌تری است.

GoogLeNet و Inception

GoogLeNet برندهٔ ILSVRC 2014 بود و با Parameterهای بسیار کمتر از AlexNet عملکرد بهتری داشت. عنصر کلیدی آن Inception Module است: Input هم‌زمان از چند Branch عبور می‌کند، مثلاً Convolutionهای 1×1، 3×3، 5×5 و Max Pooling؛ Output Branchها در Depth Concatenate می‌شوند.

شاخه‌های 1x1، 3x3، 5x5 و pooling در ماژول Inception
شکل 14-14. Inception Module

Convolutionهای 1×1 دو نقش مهم دارند: Featureها را در Channel Dimension ترکیب می‌کنند و پیش از Convolutionهای گران 3×3 یا 5×5، Depth را کاهش می‌دهند تا Compute کم شود. Inception Module اجازه می‌دهد Network در یک Scale به چند اندازهٔ Receptive Field نگاه کند.

ساختار GoogLeNet با چند Inception Module و classifier
شکل 14-15. معماری GoogLeNet

GoogLeNet چند Inception Module را Stack می‌کند و در پایان از Global Average Pooling استفاده می‌کند. نسخهٔ اصلی Auxiliary Classifierهایی نیز در Layerهای میانی داشت تا Gradient به بخش‌های پایین شبکه برسد و Regularization ایجاد شود. نسخه‌های بعدی Inception این ساختار را بهبود دادند.

VGGNet

VGGNet در ILSVRC 2014 بسیار موفق بود و ایدهٔ ساده‌ای را دنبال کرد: به‌جای Kernelهای بزرگ، تعداد زیادی Convolution 3×3 پشت سر هم. این کار Receptive Field بزرگ را با Nonlinearity بیشتر و ساختار منظم‌تر می‌سازد. ضعف اصلی VGG تعداد بسیار زیاد Parameterها، مخصوصاً در Dense Layerهای انتهایی، و Memory/Compute بالا است.

ورود به ResNet

با افزایش Depth، صرفاً Stack کردن Layerهای بیشتر همیشه Training را بهتر نمی‌کند. حتی اگر Overfitting مسئله نباشد، شبکهٔ عمیق‌تر ممکن است Optimization سخت‌تری داشته باشد و Accuracy Training بدتر شود. ResNet برای حل این مشکل از Residual Learning و Skip Connection استفاده می‌کند. جزئیات آن در مقالهٔ بعدی ادامه می‌یابد.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620