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

В 2019 году исследователи из Google AI представили EfficientNet, современную модель computer vision, созданную для распознавания объектов и паттернов на изображениях. Она разрабатывалась в первую очередь для классификации изображений, которая заключается в отнесении изображения к одной из нескольких предопределенных категорий. Однако сегодня EfficientNet также служит базовой архитектурой для более сложных задач, таких как обнаружение объектов, сегментация и трансфертное обучение.
До появления EfficientNet подобные модели машинного обучения и компьютерного зрения пытались повысить точность за счет добавления большего количества слоев или увеличения размера этих слоев. Слои — это этапы нейронной сети (разновидности моделей глубокого обучения, вдохновленной человеческим мозгом), которые обрабатывают данные для выявления закономерностей и повышения точности.
Эти изменения создавали компромисс: традиционные модели ИИ становились крупнее и медленнее, в то время как прирост точности часто был минимальным по сравнению со значительным увеличением требуемых вычислительных мощностей.
EfficientNet использовала другой подход. В ней глубина (количество слоев), ширина (количество юнитов в каждом слое) и разрешение изображения (уровень детализации входных изображений) увеличивались одновременно сбалансированным образом. Этот метод, называемый составным масштабированием (compound scaling), надежно задействует всю доступную вычислительную мощность. Конечным результатом является более компактная и быстрая модель, которая может превосходить по производительности старые модели, такие как ResNet или DenseNet.
Today, newer computer vision models like Ultralytics YOLO11 offer greater accuracy, speed, and efficiency. Even so, EfficientNet remains an important milestone that influenced the design of many advanced architectures.
В этой статье мы разберем EfficientNet за пять минут, узнаем, как она работает, что делает ее уникальной и почему она до сих пор важна для компьютерного зрения. Поехали!
Что такое EfficientNet?#
До создания EfficientNet большинство моделей распознавания изображений повышали точность за счет настройки слоев или увеличения размера входного изображения для захвата большего количества деталей. Хотя эти стратегии улучшали результаты, они также делали модели тяжелее и требовательнее. Это означало, что им нужно больше памяти и более мощное оборудование.
Вместо изменения отдельных слоев, EfficientNet масштабирует глубину, ширину и разрешение изображения вместе с помощью метода, называемого составным масштабированием. Этот подход позволяет модели эффективно расти, не перегружая какой-либо отдельный аспект.
Архитектура EfficientNet обрабатывает изображения через серию блоков, каждый из которых построен из более мелких модулей. Количество модулей в каждом блоке зависит от размера модели.

Рис. 1. Компоненты EfficientNet. (Источник)
Более компактные версии используют меньше модулей, в то время как крупные версии повторяют модули чаще. Этот гибкий дизайн позволяет EfficientNet обеспечивать высокую точность и эффективность в широком спектре приложений: от мобильных устройств до крупномасштабных систем.
Как работает составное масштабирование#
Метод составного масштабирования расширяет глубину, ширину и разрешение изображения модели, сохраняя при этом их баланс. Это позволяет эффективно использовать вычислительную мощность. Серия начинается с меньшей базовой модели EfficientNet-B0, которая служит основой для всех остальных версий.
От B0 модели масштабируются до более крупных вариантов, называемых EfficientNet-B1 — EfficientNet-B7. С каждым шагом сеть получает дополнительные слои, увеличивает количество каналов (единиц, используемых для обработки) и работает с изображениями более высокого разрешения. Величина роста на каждом этапе определяется параметром, называемым составным коэффициентом, который гарантирует, что глубина, ширина и разрешение увеличиваются в фиксированных пропорциях, а не независимо друг от друга.

Рис. 2. Составное масштабирование увеличивает ширину, глубину и разрешение изображения модели. (Источник)
Архитектура EfficientNet#
Далее давай взглянем на архитектуру EfficientNet.
Она построена на базе MobileNetV2, облегченной модели компьютерного зрения, оптимизированной для мобильных и встроенных устройств. В ее основе лежит блок MBConv (Mobile Inverted Bottleneck Convolution) — специальный слой, который обрабатывает данные изображения подобно стандартной свертке, но с меньшим количеством вычислений. Этот блок делает модель быстрой и более экономной по памяти.
Внутри каждого блока 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, ты можешь выбрать версию, соответствующую твоему оборудованию и требованиям к точности, не меняя базовую сеть.
- Good for transfer learning: EfficientNet can deliver reliable model performance for transfer learning, which is a process of retraining a pre-trained model for a custom task. It can work as a backbone for a variety of computer vision tasks. It has also shown strong results when fine-tuned. For example, it achieved state-of-the-art accuracy on CIFAR-100, a widely used image classification dataset, with significantly fewer parameters than previous models.
Хотя существует множество преимуществ использования EfficientNet, вот некоторые ее ограничения, которые стоит учитывать:
- Требует больше памяти: Версии вроде EfficientNet-B6 и EfficientNet-B7 требуют много видеопамяти (GPU memory).
- Масштабирование настроено для ImageNet: Параметры масштабирования были разработаны для набора данных ImageNet, поэтому производительность может снизиться на сильно отличающихся наборах данных без тонкой настройки. Это особенно верно для небольших наборов данных, так как архитектура и масштабирование EfficientNet проектировались под большой и разнообразный набор данных вроде ImageNet, который предоставляет достаточно данных для оправдания своей глубины и ширины.
- Медленнее на некотором оборудовании: EfficientNet использует слои MBConv, разработанные для эффективности на современном оборудовании. На старых GPU или CPU эти слои могут работать медленнее.
Основные выводы#
EfficientNet изменила то, как растут модели компьютерного зрения, сохраняя баланс глубины, ширины и разрешения изображения. Это по-прежнему важная модель, повлиявшая на новые архитектуры. В частности, она занимает значимое место в истории компьютерного зрения.
Join our community and GitHub repository to explore more about AI. Check out our solution pages to read about AI in healthcare and computer vision in automotive. Discover our licensing options and start building with computer vision today!






