وی جی جی نت (VGGNet) یک شبکه عصبی کانولوشنی است که در سال ۲۰۱۴ کارن سایمون (Karen Simonyan) و آندره زیسرمن (Andrew Zisserman) از دانشگاه آکسفورد آن را معرفی کردند. این شبکه در رقابت ILSVRC سال ۲۰۱۴ رتبهی دوم را کسب کرد، ولی بهدلیل نوآوری بسیار خوبی که داشت همواره در میان برندههای رقابت ILSVRC از این شبکه هم یاد میشود.
شبکه عصبی وی جی جی نت و با شبکه الکسنت چه تفاوتی دارد؟
شبکه الکسنت (AlexNet) در سال ۲۰۱۲ معرفی و برندهی رقابت ILSVRC شد. این شبکه پیشرفت چشمگیری را در شبکههای کانولوشنی ایجاد کرد و یکی از بهترین مدلها برای طبقهبندی تصاویر محسوب میشد، البته فقط تا زمانی که شبکه عصبی وی جی جی نت (VGGNet) معرفی شد. شبکه الکسنت (AlexNet) از تابع فعالساز ReLU، بهجای تابع تانژانت هایپربولیک (Tanh)، استفاده کرد؛ علاوهبراین از دو GPU و لایههای ادغام همپوشان (Overlapping Pooling Layers) برای بهینهترشدن مدل استفاده کرد.
اما مشکل الکسنت چه بود؟ درواقع باید گفت این شبکه هیچ مشکلی نداشت؛ محققان فقط به دنبال مدلهایی با دقت بهتر بودند؛ بههمین دلیل، در سال ۲۰۱۴ مدل VGGNet معرفی شد و در رقابت ILSVRC رتبهی دوم را به دست آورد. این شبکه، بهدلیل نوآوری منحصربهفردش، همواره در میان شبکههایی مطرح میشود که در این رقابت رتبهی اول را کسب کردند. در این مطلب قصد داریم شبکهی وی جی جی نت (VGGNet) را معرفی کنیم و با خصوصیات آن آشنا شویم.
برای آشنایی با شبکه عصبی الکسنت این مطلب را مطالعه کنید:
معماری الکس نت (AlexNet) را بهصورت کامل بشناسید!
شبکه عصبی VGGNet
همانطور که پیشتر گفته شد، وی جی جی نت (VGGNet) یک شبکهی عصبی کانولوشنی (CNN / Convolutional Neural Network) است که در سال ۲۰۱۴ کارن سایمون و آندره زیسرمن معرفی کردند. این شبکه نسخههای مختلفی دارد که این نسخهها از ۱۱ لایه تا ۱۹ لایه دارند. در این شبکه توجه اصلی روی تأثیر عمق شبکه روی دقت آن است.
معماری شبکه ویجیجینت (VGGNet)
در ادامهی این مطلب بهصورت مفصل معماری شبکهی وی جی جی نت (VGGNet) را بررسی خواهیم کرد.
لایه ورودی (Input Layer)
شبکهی ویجیجینت (VGGNet) یک عکس رنگی (RGB) بهاندازهی ۲۲۴×۲۲۴ پیسکل را دریافت میکند.
لایههای کانولوشن (Convolutional Layers)
لایههای کانولوشن در این شبکه از فیلترهای اندازهی کوچک استفاده میکنند. اندازهی فیلترها برابر با ۳×۳ است که کوچکترین اندازهی ممکن برای فیلتر محسوب میشود و پیکسلهای اطراف را نیز مدنظر قرار میدهد؛ علاوهبراین لایههای کانولوشنی با فیلترهای ۱×۱ نیز دارد که یک تابع فعالساز ReLU بعد از آن وجود دارد. مقدار گام (Stride) ثابت و برابر با ۱ است تا بتوان اطلاعات فضایی (Spatial Information) را همچنان بعد از فرایند کانولوشن حفظ کرد.
لایههای کاملاً متصل (Fully Connected Layers)
شبکهی وی جی جی نت (VGGNet) سه لایهی کاملاً متصل (Fully Connected Layers) دارد. دو لایهی اولی ۴۰۹۶ نود و لایهی آخر آن ۱۰۰۰ نود، یعنی برابر با تعداد کلاسها، دارد. بعد از هر یک از این لایهها یک تابع فعالساز ReLU اعمال میشود.
لایههای ادغام حداکثر (Max pooling layers)
شبکه ویجیجینت (VGGNet) از پنج لایهی ادغام حداکثر (Max pooling layers) با اندازهی ۲×۲ و مقدار گام (Stride) ۲ استفاده میکند.
در جدول شمارهی ۱ جزئیات لایههای موجود در نسخههای مختلف شبکهی ویجیجینت (VGGNet) را مشاهده میکنیم. عمق شبکه یا همان لایههای شبکه از چپ به راست بیشتر میشود و همانطور که میبینیم، این شبکه نسخههای ۱۱، ۱۳، ۱۶ و ۱۸ لایه دارد. مواردی که پررنگ شده است نشاندهندهی لایههایی است که در نسخههای بعدی اضافه شدهاند.
لایههای کانولوشن بهاین شکل نوشته شدهاند: Conv اندازهی فیلتر – تعداد فیلترها
برای مثال، Conv3 – 64 بهاین معناست که این لایه کانولوشن ۶۴ فیلتر با اندازهی ۳×۳ دارد.
تفاوت ویجیجینت (VGGNet) با الکسنت (AlexNet)
در وی جی جی نت (VGGNet)، بهجای استفاده از فیلترهایی با اندازهی بزرگ که در الکسنت (AlexNet)، مانند ۱۱×۱۱ یا ۷×۷، استفاده شده بود، از فیلترهایی با اندازههای کوچک استفاده شده است. این موضوع به شبکه این امکان را میدهد تا لایههای بیشتری را داشته باشد که لایههای بیشتر هم عملکرد شبکه را بهبود میدهد.
همچنین تعداد پارامترها در ویجیجینت، در مقایسه با الکسنت، کمتر است. در ویجیجینت تعداد پارامترها ۲۷ برابر تعداد فیلترهاست، درحالیکه در الکسنت (AlexNet) این مقدار ۴۹ برابر است.
علاوهبراین ویجیجینت (VGGNet) از کانولوشن ۱×۱ استفاده میکند که این موضوع در الکسنت (AlexNet) وجود ندارد. این شبکه از کانولوشن ۱×۱ بهمنظور افزایش غیرخطیشدن تابع تصمیم استفاده میکند، اما درعینحال تعداد فیلترها را تغییر نمیدهد؛ یعنی تعداد فیلترها در ورودی و خروجی این کانولوشن با هم برابر است.
جمعبندی مطالب درباره وی جی جی نت (VGGNet)
در این مطلب شبکهی عصبی وی جی جی نت (VGGNet) را معرفی کردیم. VGG یک مدل ابتکاری تشخیص اشیاست که تا ۱۹ لایه را پشتیبانی میکند. درواقع یک شبکهی کانولوشنی (CNN) عمیق محسوب میشود که در بسیاری از وظایف و مجموعهدادههای غیر از ImageNet، عملکرد خیلی خوبی را داشته است. این شبکه هنوز هم یکی از پرکاربردترین معماریهای شناسایی تصویر محسوب میشود.
برای آشنایی با شبکهی عصبی کانولوشنی این مطلب را مطالعه کنید:
شبکهی عصبی کانولوشنی (CNN) چیست؟
یادگیری دیتا ساینس با کلاسهای آنلاین آموزش علم داده کافهتدریس
اگر به دنبال ورود به دنیای دیتا ساینس و یادگیری آن هستید، پیشنهاد ما شرکت در کلاسهای آنلاین علم داده کافهتدریس است. کافهتدریس کلاسهای آنلاین آموزش علم داده را بهصورت مقدماتی و پیشرفته برگزار میکند. شکل برگزاری این کلاسها بهصورت پویا و تعاملی است و در قالب کارگاهمحور و با کار روی پروژههای واقعی علم داده برگزار میشود.
برای آشنایی بیشتر با کلاسهای آنلاین آموزش علم داده کافهتدریس و مشاورهی رایگان برای شروع یادگیری دیتا ساینس روی این لینک کلیک کنید:
لایههای کانولوشن (Convolutional Layers) در معماری شبکهی ویجیجینت (VGGNet) چه نقشی دارند؟
لایههای کانولوشن در این شبکه از فیلترهای اندازهی کوچک استفاده میکنند. علاوهبراین لایههای کانولوشنی با فیلترهای ۱×۱ نیز دارد که یک تابع فعالساز ReLU بعد از آن وجود دارد. مقدار گام (Stride) ثابت و برابر با ۱ است تا بتوان اطلاعات فضایی (Spatial Information) را همچنان بعد از فرایند کانولوشن حفظ می کند
تفاوت اصلی بین لایههای ادغام حداکثر (Max pooling layers) در شبکههای VGGNet و AlexNet چیست؟
در وی جی جی نت (VGGNet)، بهجای استفاده از فیلترهایی با اندازهی بزرگ که در الکسنت (AlexNet)، مانند ۱۱×۱۱ یا ۷×۷، استفاده شده بود، از فیلترهایی با اندازههای کوچک استفاده شده است. همچنین تعداد پارامترها در ویجیجینت، در مقایسه با الکسنت، کمتر است. علاوهبراین ویجیجینت (VGGNet) از کانولوشن ۱×۱ استفاده میکند که این موضوع در الکسنت (AlexNet) وجود ندارد.
شبکهی وی جی جی نت (VGGNet) و الکسنت (AlexNet) در چه ویژگیهایی با هم تفاوت دارند؟
لایهی ورودی (Input Layer)
شبکهی ویجیجینت (VGGNet) یک عکس رنگی (RGB) بهاندازهی ۲۲۴×۲۲۴ پیسکل را دریافت میکند.
لایههای کانولوشن (Convolutional Layers)
لایههای کاملاً متصل (Fully Connected Layers)
سوال ۲:
شبکهی ویجیجینت (VGGNet) از پنج لایهی ادغام حداکثر (Max pooling layers) با اندازهی ۲×۲ و مقدار گام (Stride) ۲ استفاده میکند.
سوال ۲:
در وی جی جی نت (VGGNet)، بهجای استفاده از فیلترهایی با اندازهی بزرگ که در الکسنت (AlexNet)، مانند ۱۱×۱۱ یا ۷×۷، استفاده شده بود، از فیلترهایی با اندازههای کوچک استفاده شده است.
تعداد پارامترها در ویجیجینت، در مقایسه با الکسنت، کمتر است. در ویجیجینت تعداد پارامترها ۲۷ برابر تعداد فیلترهاست، درحالیکه در الکسنت (AlexNet) این مقدار ۴۹ برابر است.
علاوهبراین ویجیجینت (VGGNet) از کانولوشن ۱×۱ استفاده میکند که این موضوع در الکسنت (AlexNet) وجود ندارد.
سوال۱:
لایههای کانولوشن در این شبکه از فیلترهای اندازهی کوچک استفاده میکنند. اندازهی فیلترها برابر با ۳×۳ است که کوچکترین اندازهی ممکن برای فیلتر محسوب میشود و پیکسلهای اطراف را نیز مدنظر قرار میدهد.