زمان تخمینی مطالعه: 6 دقیقه
مفهوم EfficientNet یک معماری شبکه عصبی کانولوشن (CNN) است که از یک روش مقیاسبندی ترکیبی برای مقیاسبندی یکنواخت عمق، عرض و وضوح استفاده میکند و دقت بالا را به همراه کارایی محاسباتی را ارائه میکند. CNN (شبکههای عصبی کانولوشنال) وظایف بینایی کامپیوتر مانند تشخیص اشیاء و طبقهبندی تصویر را تقویت میکند. توانایی آنها در یادگیری از تصاویر خام منجر به پیشرفتهایی در وسایل نقلیه خودران، تشخیص پزشکی و تشخیص چهره شده است. با این حال، با افزایش اندازه و پیچیدگی مجموعه دادهها، CNNها برای حفظ دقت بالا باید عمیقتر و پیچیدهتر شوند. افزایش پیچیدگی CNN ها منجر به دقت بهتری میشود که به منابع محاسباتی بیشتری نیاز دارد. این افزایش تقاضای محاسباتی CNN را برای برنامههای بلادرنگ و استفاده در دستگاههایی با قابلیتهای پردازش محدود (تلفنهای هوشمند و دستگاههای IoT) غیرعملی میسازد. این مشکلی است که مفهوم EfficientNet سعی در حل آن دارد. این مفهوم راه حلی برای مقیاسبندی پایدار و کارآمد CNN ها را ارائه میدهد.
حرکت به سوی مفهوم EfficientNet
استراتژی محبوب افزایش دقت از طریق افزایش اندازه مدل نتایج چشمگیری در گذشته به همراه داشت، با مدلهایی مانند GPipe که به دقت پیشرفتهای در مجموعه داده ImageNet دست یافتند. از GoogleNet تا GPipe (2018)، دقت ImageNet top-1 از 74.8٪ به 84.3٪، همراه با شمارش پارامترها (از 6.8M به 557M) افزایش یافت که منجر به تقاضاهای محاسباتی بیش از حد شد.
مقیاسبندی مدل را میتوان با سه روش به دست آورد: با افزایش عمق، افزایش عرض و یا افزایش وضوح تصویر مدل.
مفهوم EfficientNet چیست؟
EfficientNet یک روش مقیاسبندی ترکیبی ساده و بسیار مؤثر را پیشنهاد میکند، که به آن امکان میدهد به راحتی یک ConvNet پایه را به هر محدودیت منبع هدف، به روشی اصولیتر و کارآمدتر مقیاسبندی کند.
خالق مفهوم EfficientNet مشاهده کرد که ابعاد مختلف مقیاسبندی (عمق، عرض، اندازه تصویر) مستقل نیستند. تصاویر با وضوح بالا به شبکههای عمیقتری نیاز دارند تا ویژگیهای در مقیاس بزرگ را با پیکسلهای بیشتر ثبت کنند. علاوه بر این، شبکههای گستردهتری برای ثبت جزئیات دقیق موجود در این تصاویر با وضوح بالا مورد نیاز است. برای دنبال کردن دقت و کارایی بهتر، متعادل کردن تمام ابعاد عرض، عمق و وضوح شبکه در طول مقیاس ConvNet بسیار مهم است. با این حال، مقیاسگذاری CNN ها با استفاده از نسبتهای خاص، نتیجه بهتری را به همراه دارد. این همان کاری است که مقیاسبندی ترکیبی انجام میدهد.
با این حال، برای توسعه یک مدل CNN کارآمد که میتواند مقیاسپذیر باشد، خالق مفهوم EfficientNet یک شبکه پایه منحصر به فرد به نام EfficientNets ایجاد کرد. سپس این شبکه پایه در مراحل بعدی برای به دست آوردن خانوادهای از شبکههای بزرگتر (EfficientNet-B0 تا EfficientNet-B7) مقیاسبندی میشود.
معماری EfficientNet
معماری مفهوم EfficientNet در ادامه آورده شده است و اجزای اصلی آن عبارتند از:
- بلوک MBConv (کانولوشن گلوگاهی معکوس موبایل): بلوک MBConv یک بلوک باقیمانده(residual) معکوس تکاملیافته است که از MobileNetv2 الهام گرفته شده است.
- بهینهسازی فشار و تحریک(Squeeze-and-excitation): این مفهوم به سادگی به مدل اجازه میدهد تا بر ویژگیهای مفید تأکید کند و موارد کمتر مفید را سرکوب کند.
عملکرد و معیارهای کارایی
خانواده EfficientNet، از EfficientNet-B0 تا EfficientNet-B7 و فراتر از آن، طیف وسیعی از مدلها را ارائه میدهد که از نظر پیچیدگی و دقت مقیاسبندی میشوند. در اینجا برخی از معیارهای کلیدی عملکرد برای مفهوم EfficientNet در مجموعه داده ImageNet آورده شده است که منعکس کننده تعادل بین کارایی و دقت است.
- دقت بالاتر با پارامترهای کمتر: مدلهای EfficientNet نسبت به سایر شبکههای عصبی کانولوشنال (CNN) به دقت بالا با پارامترهای کمتر و FLOP کمتر دست مییابند.
- محاسبات کمتر: مدلهای EfficientNet میتوانند دقت مشابهی با سایر CNNها با FLOPهای بسیار کمتر به دست آورند.
با افزایش اندازه مدل EfficientNet (B0 تا B7)، دقت و FLOP نیز افزایش مییابد. با این حال، افزایش دقت برای مدلهای بزرگتر کمتر است.
کاربردهای مفهوم EfficientNet
نقطه قوت EfficientNet در توانایی آن برای دستیابی به دقت بالا و در عین حال حفظ کارایی نهفته است. این موضوع آن را به ابزاری مهم در سناریوهایی تبدیل میکند که دارای منابع محاسباتی محدود هستند. در اینجا برخی از موارد استفاده برای مدلهای EfficientNet آورده شده است:
- تجزیه و تحلیل احساسات انسانی در دستگاههای تلفن همراه: تجزیه و تحلیل چهره مبتنی بر ویدیو از رفتار عاطفی انسانها با استفاده از مدل EfficientNet در دستگاههای تلفن همراه انجام شد که به امتیاز F1 برابر 0.38 دست یافت.
- بهداشت و پزشکی: استفاده از مدل B0 برای تشخیص سرطان به دقت 91.18 درصد رسید.
- بیماری برگ گیاهی: طبقهبندی بیماری برگ گیاهی که با استفاده از مدل یادگیری عمیق انجام شد، نشان داد که مدلهای B5 و B4 معماری EfficientNet بالاترین مقادیر را در مقایسه با سایر مدلهای یادگیری عمیق در مجموعه دادههای اصلی و افزوده با 99.91 درصد برای دقت و 99.39 درصد برای دقت به دست آوردند.
- محاسبات موبایل و Edge: معماری سبک در مفهوم EfficientNet، به ویژه انواع B0 و B1، آن را برای استقرار در دستگاههای تلفن همراه و پلتفرمهای محاسبات لبه(Edge) با منابع محاسباتی محدود عالی میکند. این به EfficientNet اجازه میدهد تا در برنامههای بلادرنگ مانند واقعیت افزوده، بهبود عکاسی با موبایل و انجام تجزیه و تحلیل ویدیوی بلادرنگ استفاده شود.
- سیستمهای جاسازی شده(Embedded): مدلهای EfficientNet را میتوان در سیستمهای توکار با محدودیت منابع برای کارهایی مانند تشخیص تصویر در هواپیماهای بدون سرنشین یا روباتها استفاده کرد. کارایی آنها امکان پردازش بر روی برد را بدون نیاز به سخت افزار قدرتمند فراهم میکند.
- تجربه سریعتر: کارایی EfficientNet امکان پردازش سریعتر در دستگاههای تلفن همراه را فراهم میآورد که منجر به تجربه کاربری روانتر در برنامههایی مانند تشخیص تصویر یا واقعیت افزوده میشود و علاوه بر این به کاهش مصرف باتری نیز کمک میکند.