Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024

Что такое EfficientNet? Краткий обзор.

Абирами Вина

6 мин чтения

29 августа 2025 г.

Разберитесь в архитектуре EfficientNet и ее магии составного масштабирования! Изучите EfficientNet B0-B7 для первоклассной эффективности классификации и сегментации изображений.

В 2019 году исследователи из Google AI представили EfficientNet, современную модель компьютерного зрения, созданную для распознавания объектов и закономерностей на изображениях. Первоначально она была разработана для классификации изображений, которая включает в себя отнесение изображения к одной из нескольких предопределенных категорий. Однако сегодня EfficientNet также служит основой для более сложных задач, таких как обнаружение объектов, сегментация и трансферное обучение.

До EfficientNet такие модели машинного обучения и Vision AI пытались повысить точность, добавляя больше слоев или увеличивая размер этих слоев. Слои — это шаги в модели нейронной сети (тип модели глубокого обучения, вдохновленный человеческим мозгом), которые обрабатывают данные для изучения закономерностей и повышения точности. 

Эти изменения создали компромисс: традиционные модели ИИ стали больше и медленнее, в то время как дополнительная точность часто была минимальной по сравнению со значительным увеличением требуемой вычислительной мощности.

EfficientNet применил другой подход. Он увеличил глубину (количество слоев), ширину (количество юнитов в каждом слое) и разрешение изображения (уровень детализации входных изображений) вместе сбалансированным образом. Этот метод, называемый составным масштабированием, надежно использует всю доступную вычислительную мощность. Конечным результатом является меньшая и более быстрая модель, которая может работать лучше, чем старые модели, такие как ResNet или DenseNet.

Сегодня более новые модели компьютерного зрения, такие как Ultralytics YOLO11, предлагают большую точность, скорость и эффективность. Тем не менее, EfficientNet остается важной вехой, которая повлияла на разработку многих передовых архитектур. 

В этой статье мы разберем EfficientNet за пять минут, расскажем, как он работает, что делает его уникальным и почему он все еще важен в компьютерном зрении. Давайте начнем!

Что такое EfficientNet?

До разработки EfficientNet большинство моделей распознавания изображений улучшали точность, регулируя свои слои или увеличивая размер входного изображения, чтобы захватить больше деталей. Хотя эти стратегии улучшали результаты, они также делали модели более тяжелыми и требовательными. Это означало, что им нужно больше памяти и лучшее оборудование. 

Вместо изменения отдельных слоев, EfficientNet масштабирует глубину, ширину и разрешение изображения вместе, используя метод, называемый составным масштабированием. Этот подход позволяет модели эффективно расти, не перегружая ни один аспект.

Архитектура EfficientNet обрабатывает изображения через серию блоков, каждый из которых построен из более мелких модулей. Количество модулей в каждом блоке зависит от размера модели. 

Рис. 1. Основные компоненты EfficientNet. (Источник)

В версиях меньшего размера используется меньше модулей, а в версиях большего размера модули повторяются чаще. Такая гибкая конструкция позволяет EfficientNet обеспечивать высокую точность и эффективность в широком спектре приложений, от мобильных устройств до крупномасштабных систем.

Как работает составное масштабирование

Метод составного масштабирования расширяет глубину, ширину и разрешение изображения модели, но поддерживает их в балансе. Это позволяет эффективно использовать вычислительную мощность. Серия начинается с меньшей базовой модели под названием EfficientNet-B0, которая служит основой для всех остальных версий.

Начиная с B0, модели масштабируются до более крупных вариантов под названием EfficientNet-B1 — EfficientNet-B7. С каждым шагом сеть получает дополнительные слои, увеличивает количество каналов (блоков, используемых для обработки) и обрабатывает входные изображения с более высоким разрешением. Объем роста на каждом шаге определяется параметром, называемым коэффициентом масштабирования, который гарантирует, что глубина, ширина и разрешение увеличиваются в фиксированных пропорциях, а не независимо друг от друга.

Рис. 2. Compound scaling увеличивает ширину, глубину и разрешение изображения модели. (Источник)

Архитектура EfficientNet

Далее давайте рассмотрим архитектуру EfficientNet. 

Он основан на MobileNetV2, облегченной модели компьютерного зрения, оптимизированной для мобильных и встроенных устройств. В его основе лежит блок Mobile Inverted Bottleneck Convolution (MBConv), специальный слой, который обрабатывает данные изображения, как стандартная свертка, но с меньшим количеством вычислений. Этот блок делает модель быстрой и более эффективной по памяти.

Внутри каждого блока MBConv находится модуль squeeze-and-excitation (SE). Этот модуль регулирует силу различных каналов в сети. Он усиливает силу основных каналов и уменьшает силу других. Модуль помогает сети сосредоточиться на наиболее важных особенностях изображения, игнорируя остальные. Модель EfficientNet также использует функцию активации Swish (математическую функцию, которая помогает сети изучать закономерности), которая помогает ей обнаруживать закономерности в изображениях лучше, чем старые методы. 

Кроме того, используется DropConnect, при котором некоторые соединения внутри сети случайным образом отключаются во время обучения. Этот метод стохастической регуляризации (метод рандомизации для предотвращения запоминания моделью обучающих данных вместо обобщения) уменьшает переобучение, заставляя сеть изучать более надежные представления признаков (более сильные, более общие закономерности в данных), которые лучше переносятся на невидимые данные.

Рис. 3. Архитектура EfficientNet-B0 (Источник)

Краткий обзор вариантов модели EfficientNet

Теперь, когда у нас есть лучшее понимание того, как работают модели EfficientNet, давайте обсудим различные варианты моделей. 

Модели EfficientNet масштабируются от B0 до B7, начиная с B0 в качестве базовой линии, которая обеспечивает баланс между скоростью и точностью. Каждая версия увеличивает глубину, ширину и разрешение изображения, повышая точность. Однако они также требуют большей вычислительной мощности, от B1 и B2 до высокопроизводительных B6 и B7. 

В то время как модели EfficientNet-B3 и EfficientNet-B4 обеспечивают баланс для изображений большего размера, B5 часто выбирают для сложных наборов данных, требующих высокой точности. Помимо этих моделей, новейшая модель EfficientNet V2 может повысить скорость обучения, лучше обрабатывать небольшие наборы данных и оптимизирована для современного оборудования.

Применение EfficientNet

EfficientNet может выдавать точные результаты, используя меньше памяти и вычислительной мощности, чем многие другие модели. Это делает его полезным во многих областях, от научных исследований до продуктов, которые люди используют ежедневно.

Анализ медицинских изображений

Медицинские изображения, такие как КТ-сканы легких, часто содержат тонкие детали, которые имеют решающее значение для точной диагностики. Модели ИИ могут помочь в анализе этих изображений, чтобы выявить закономерности, которые людям трудно обнаружить. Одной из адаптаций EfficientNet для этой цели является MONAI (Medical Open Network for AI) EfficientNet, который специально разработан для анализа медицинских изображений.

Основываясь на архитектуре EfficientNet, исследователи также разработали Lung-EffNet — модель, которая классифицирует КТ-снимки легких для выявления опухолей. Она может классифицировать опухоли как доброкачественные, злокачественные или нормальные, достигая заявленной точности более 99% в экспериментальных условиях.

Рис. 4. Классификация изображений опухолей с использованием Lung-EffNet. (Источник)

Обнаружение объектов в реальном времени

Обнаружение объектов — это процесс поиска объектов на изображении и определения их местоположения. Это ключевая часть таких приложений, как системы безопасности, самоуправляемые автомобили и дроны.

EfficientNet стал важен в этой области, потому что он предложил очень эффективный способ извлечения признаков из изображений. Его метод масштабирования глубины, ширины и разрешения показал, как модели могут быть точными, не будучи слишком тяжелыми или медленными. Вот почему многие системы обнаружения, такие как EfficientDet, используют EfficientNet в качестве своей основы.

Более новые модели, такие как Ultralytics YOLO11, разделяют ту же цель — сочетание скорости и точности. Эта тенденция к эффективным моделям была в значительной степени обусловлена идеями из таких архитектур, как EfficientNet.

Плюсы и минусы EfficientNet

Вот некоторые преимущества использования EfficientNet в проектах компьютерного зрения:

  • Высокая точность с меньшим количеством параметров: EfficientNet может обеспечивать аналогичную или лучшую точность, чем более старые модели, такие как ResNet или DenseNet. Однако он использует меньше параметров, что делает его быстрее в обучении и проще в развертывании.
  • Масштабируемое семейство моделей: Вы можете выбрать версию от B0 до B7, которая соответствует вашим требованиям к оборудованию и точности, не меняя базовую сеть.
  • Подходит для transfer learning: EfficientNet может обеспечивать надежную производительность модели для transfer learning (переноса обучения) — процесса переобучения предварительно обученной модели для конкретной задачи. Он может служить основой для различных задач компьютерного зрения. Он также показал хорошие результаты при тонкой настройке (fine-tuning). Например, он достиг самой высокой точности на CIFAR-100, широко используемом наборе данных для классификации изображений, с значительно меньшим количеством параметров, чем предыдущие модели.

Хотя существует много преимуществ, связанных с использованием EfficientNet, вот некоторые ограничения EfficientNet, которые следует иметь в виду:

  • Требует больше памяти: Версии, такие как EfficientNet-B6 и EfficientNet-B7, требуют большого объема памяти GPU.
  • Масштабирование, настроенное для ImageNet: Настройки масштабирования были разработаны для набора данных ImageNet, поэтому производительность может снизиться на очень разных наборах данных без тонкой настройки. Это особенно актуально для небольших наборов данных, поскольку архитектура и масштабирование EfficientNet были разработаны для большого и разнообразного набора данных, такого как ImageNet, который предоставляет достаточно данных для обоснования его глубины и ширины.
  • Медленнее на некотором оборудовании: EfficientNet использует слои, называемые MBConv, которые предназначены для эффективности на современном оборудовании. На старых графических процессорах или центральных процессорах эти слои могут работать медленнее.

Основные выводы

EfficientNet изменил способ роста моделей компьютерного зрения, сохраняя баланс между глубиной, шириной и разрешением изображения. Это по-прежнему важная модель, которая повлияла и на более новые архитектуры. В частности, он занимает значимое место в истории компьютерного зрения.

Присоединяйтесь к нашему сообществу и репозиторию GitHub, чтобы узнать больше об ИИ. Посетите страницы с нашими решениями, чтобы узнать об ИИ в здравоохранении и компьютерном зрении в автомобильной промышленности. Откройте для себя наши варианты лицензирования и начните создавать решения на основе компьютерного зрения уже сегодня!

Давайте строить будущее
ИИ вместе!

Начните свой путь в будущее машинного обучения

Начать бесплатно
Ссылка скопирована в буфер обмена