سال ۲۰۱۴ یکی از مهم‌ترین نقاط عطف در تاریخ شبکه‌های عصبی کانولوشنی (CNN) به شمار می‌رود. پیروزی چشمگیر AlexNet در رقابت بزرگ تشخیص بصری ImageNet (ILSVRC) در سال ۲۰۱۲، توجه جهانی را به سمت یادگیری عمیق کرد. یک سال بعد، ZFNet این فرمول را بهبود بخشید و جامعه پژوهشی با اشتیاق فراوان در انتظار جهش بزرگ بعدی وارد سال ۲۰۱۴ شد.

حاصل این انتظار، ظهور دو معماری شاخص با فلسفه‌های طراحی کاملاً متفاوت بود: VGGNet که از سادگی ظریف و عمقی بی‌سابقه دفاع می‌کرد، و GoogLeNet که با بهره‌گیری از ماژول نوآورانه Inception، کارایی چشمگیری را در استفاده از پارامترها دنبال می‌کرد. این دو مدل در کنار یکدیگر، نرخ خطای ۵ انتخاب برتر در ImageNet را از 15.3 درصد به حدود 6.7 تا 7.3 درصد کاهش دادند و بنیان مفهومی تمام پیشرفت‌های پس از خود، از جمله ResNet در سال ۲۰۱۵، را بنا نهادند.

مسیر منتهی به سال ۲۰۱۴

برای درک اهمیت VGGNet و GoogLeNet، باید سیر تکاملی معماری‌هایی را که میراث‌دار آن‌ها بودند بررسی کنیم. داستان در سال 1998 با LeNet آغاز شد؛ یک شبکه کانولوشنی 7 لایه که ارقام دست‌نویس را در تصاویر خاکستری 32x32 پیکسلی دسته‌بندی می‌کرد و چندین بانک از آن برای خواندن اعداد روی چک‌ها استفاده می‌کردند. پیشرفت این شبکه به‌دلیل محدودیت منابع محاسباتی آن دوران با مانع روبه‌رو بود.

این سد سرانجام در سال 2012 فرو ریخت. AlexNet با 5 لایه کانولوشنی، 3 لایه تمام‌متصل، 60 میلیون پارامتر و استفاده گسترده از توابع فعال‌ساز ReLU، شتاب‌دهی GPU، افزایش داده و دراپ‌اوت، به نرخ خطای 15.3 درصدی در 5 انتخاب برتر رسید و ثابت کرد که شبکه‌های عصبی کانولوشنی عمیق آینده تشخیص بصری هستند.

در سال 2013، ZFNet با کاهش اندازه فیلترهای لایه نخست از 11x11 به 7x7، عملکرد شبکه را بهبود داد. شهود پشت این تصمیم روشن بود: فیلترهای بزرگ اطلاعات ارزشمند در سطح پیکسل را از بین می‌برند، درحالی‌که فیلترهای کوچک‌تر در لایه‌های ابتدایی این اطلاعات را حفظ می‌کنند. این درس که اندازه فیلتر اهمیتی فوق‌العاده دارد، به اصل محوری طراحی VGGNet تبدیل شد.

VGGNet؛ قدرت سادگی و عمق

VGGNet که توسط گروه هندسه بصری (VGG) دانشگاه آکسفورد توسعه یافت، در رقابت ILSVRC 2014 رتبه دوم را به دست آورد. فلسفه این شبکه را می‌توان در یک جمله خلاصه کرد: شبکه را عمیق‌تر کنید و تمام اجزای آن را یکنواخت و ساده نگه دارید.

انقلاب فیلترهای 3x3

درحالی‌که AlexNet از فیلترهای 11x11 و ZFNet از فیلترهای 7x7 استفاده می‌کرد، VGGNet در سراسر شبکه کاملاً به فیلترهای کانولوشنی کوچک 3x3 متعهد ماند. استدلال ریاضی نویسندگان بسیار ظریف بود:

  • دو فیلتر متوالی 3x3، میدان پذیرش مؤثری معادل 5x5 ایجاد می‌کنند.
  • سه فیلتر متوالی 3x3، میدان پذیرش مؤثری معادل 7x7 ایجاد می‌کنند.

روی‌هم‌گذاری فیلترهای کوچک، ضمن ایجاد چنین میدان‌های پذیرش بزرگی، در مقایسه با استفاده از یک فیلتر بزرگ منفرد، به آموزش پارامترهای بسیار کمتری نیاز دارد. VGGNet نشان داد که عمق شبکه یکی از مؤلفه‌های حیاتی برای دستیابی به عملکرد مناسب است و توانست شبکه‌هایی با 16 و 19 لایه پارامتردار را با موفقیت آموزش دهد.

شبکه عمق پارامترها خطای 5 انتخاب برتر (٪)
AlexNet 8 60 میلیون 15.3
VGG-16 16 138 میلیون 7.3
VGG-19 19 144 میلیون 7.3

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

هزینه‌های پنهان عمق

موفقیت VGGNet با مصالحه‌ها و هزینه‌های قابل‌توجهی همراه بود که پژوهش‌های بعدی آن‌ها را با جزئیات مستند کردند. هنگام آموزش شبکه‌های بسیار عمیق، توابع زیان عملکرد مدل را ارزیابی کرده و گرادیان‌ها را برای به‌روزرسانی وزن‌ها به سمت لایه‌های ابتدایی ارسال می‌کنند. در شبکه‌های عمیق، این گرادیان‌ها با عبور از لایه‌های متوالی به‌تدریج محو می‌شوند و باعث می‌شوند لایه‌های اولیه یادگیری بسیار کندی داشته باشند. علاوه بر این، VGGNet با داشتن 138 تا 144 میلیون پارامتر، به حجم حافظه و قدرت پردازش بسیار بالایی برای آموزش و استقرار نیاز داشت که این موضوع، استفاده از آن را در سخت‌افزارهای محدود یا کاربردهای بی‌درنگ دشوار می‌کرد.

مقایسه معماری شبکه‌های عصبی کانولوشنی VGGNet و GoogLeNet

GoogLeNet و ماژول Inception

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

در شبکه‌های کانولوشنی سنتی، مهندسان باید تصمیم می‌گرفتند که از فیلترهای کوچک (مثل 3x3) استفاده کنند یا فیلترهای بزرگ‌تر (مثل 5x5). ماژول Inception این تصمیم‌گیری را حذف کرد و تمام آن‌ها را به‌طور هم‌زمان اعمال کرد. در یک لایه Inception، تصویر ورودی به‌طور موازی از فیلترهای 1x1، 3x3، 5x5 و یک لایه تجمیعی (Pooling) عبور می‌کند و سپس خروجی‌های آن‌ها در امتداد عمق به هم متصل می‌شود (Concatenate). این نوآوری به شبکه اجازه داد تا در همان لایه، الگوهای مقیاس‌های مختلف را استخراج کند.

فیلترهای 1x1 برای کاهش ابعاد

برای جلوگیری از انفجار محاسبات در ماژول‌های موازی Inception، GoogLeNet از فیلترهای 1x1 به‌عنوان لایه‌های کاهش ابعاد استفاده کرد. این فیلترها پیش از اعمال کانولوشن‌های پرهزینه 3x3 یا 5x5، عمق داده‌های ورودی را کاهش می‌دادند. نتیجه این هوشمندی، مدلی بسیار عمیق با 22 لایه بود که تنها 5 میلیون پارامتر داشت؛ یعنی 12 بار کمتر از VGG و 36 بار کمتر از AlexNet. GoogLeNet با این کارایی بی‌نظیر، نرخ خطای 5 انتخاب برتر ImageNet را به 6.7 درصد رساند و به مقام اول رقابت در سال 2014 دست یافت.

تأثیر ماندگار معماری‌های 2014

فلسفه‌های طراحی VGGNet و GoogLeNet به سرنوشت متفاوتی ختم شدند، اما هر دو نشان دادند که چگونه می‌توان با رویکردهای متفاوت به مرزهای جدیدی در بینایی ماشین دست یافت. وضوح و یکنواختی VGG باعث شد تا سال‌ها به‌عنوان استانداردی برای استخراج ویژگی‌های بصری در مدل‌های مختلف، از تشخیص وجه تا تحلیل تصاویر پزشکی، مورد استفاده قرار گیرد. از سوی دیگر، اصل ماژول‌بندی موازی GoogLeNet، مسیر را برای شبکه‌های بسیار پیچیده‌تر هموار کرد. ترکیب درس‌های سادگی و عمق از VGG، همراه با ایده‌های کارایی و اتصالات میان‌بر که در ادامه نسخه‌های توسعه‌یافته Inception نیز به کار گرفته شدند، سرانجام منجر به ظهور معماری‌های انقلابی‌تری نظیر ResNet شد و شمای کلی هوش مصنوعی مدرن را تغییر داد.