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

В 2019 году исследователи Google AI представили EfficientNet, передовую модель computer vision, созданную для распознавания объектов и закономерностей на изображениях. Она была разработана прежде всего для классификации изображений, которая подразумевает отнесение изображения к одной из нескольких заранее определенных категорий. Однако сегодня EfficientNet также служит основой (backbone) для более сложных задач, таких как обнаружение объектов, сегментация и трансферное обучение.
До появления EfficientNet подобные модели машинного обучения и компьютерного зрения пытались повысить точность за счет добавления большего количества слоев или увеличения размера этих слоев. Слои — это этапы нейронной сети (разновидности моделей глубокого обучения, вдохновленной человеческим мозгом), которые обрабатывают данные для выявления закономерностей и повышения точности.
Эти изменения создавали компромисс: традиционные модели ИИ становились крупнее и медленнее, в то время как прирост точности часто был минимальным по сравнению со значительным увеличением требуемых вычислительных мощностей.
EfficientNet использовала другой подход. Она сбалансированно увеличивала глубину (количество слоев), ширину (количество единиц в каждом слое) и разрешение изображения (детализацию входных данных). Этот метод, называемый составным масштабированием (compound scaling), эффективно использует все доступные вычислительные мощности. В результате получается более компактная и быстрая модель, которая может работать лучше, чем старые модели, такие как ResNet или DenseNet.
Сегодня более новые модели компьютерного зрения, такие как Ultralytics YOLO11, обеспечивают еще большую точность, скорость и эффективность. Тем не менее, EfficientNet остается важной вехой, которая повлияла на проектирование многих продвинутых архитектур.
В этой статье мы разберем EfficientNet за пять минут, узнаем, как она работает, что делает ее уникальной и почему она до сих пор важна для компьютерного зрения. Поехали!
Link to this sectionЧто такое EfficientNet?#
До создания EfficientNet большинство моделей распознавания изображений повышали точность за счет настройки слоев или увеличения размера входного изображения для захвата большего количества деталей. Хотя эти стратегии улучшали результаты, они также делали модели тяжелее и требовательнее. Это означало, что им нужно больше памяти и более мощное оборудование.
Вместо изменения отдельных слоев, EfficientNet масштабирует глубину, ширину и разрешение изображения вместе с помощью метода, называемого составным масштабированием. Этот подход позволяет модели эффективно расти, не перегружая какой-либо отдельный аспект.
Архитектура EfficientNet обрабатывает изображения через серию блоков, каждый из которых построен из более мелких модулей. Количество модулей в каждом блоке зависит от размера модели.

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

Рис. 2. Составное масштабирование увеличивает ширину, глубину и разрешение изображения модели. (Источник)
Link to this sectionАрхитектура EfficientNet#
Далее давай взглянем на архитектуру EfficientNet.
Она построена на базе MobileNetV2, облегченной модели компьютерного зрения, оптимизированной для мобильных и встроенных устройств. В ее основе лежит блок MBConv (Mobile Inverted Bottleneck Convolution) — специальный слой, который обрабатывает данные изображения подобно стандартной свертке, но с меньшим количеством вычислений. Этот блок делает модель быстрой и более экономной по памяти.
Внутри каждого блока MBConv находится модуль squeeze-and-excitation (SE). Этот модуль регулирует силу различных каналов в сети. Он усиливает важные каналы и ослабляет остальные. Модуль помогает сети сосредоточиться на наиболее важных признаках изображения, игнорируя остальное. Также модель EfficientNet использует функцию активации Swish (математическую функцию, помогающую сети изучать закономерности), что помогает ей распознавать паттерны на изображениях лучше, чем старые методы.
Помимо этого, она использует DropConnect, при котором некоторые соединения внутри сети случайным образом отключаются во время обучения. Этот метод стохастической регуляризации (техника рандомизации, предотвращающая запоминание обучающих данных вместо обобщения) снижает переобучение, заставляя сеть изучать более устойчивые представления признаков (более сильные, общие закономерности в данных), которые лучше работают на новых данных.

Рис. 3. Архитектура EfficientNet-B0 (Источник)
Link to this sectionКраткий обзор вариантов модели EfficientNet#
Теперь, когда у тебя появилось лучшее понимание того, как работают модели EfficientNet, давай обсудим их различные варианты.
Модели EfficientNet масштабируются от B0 до B7, начиная с B0 в качестве базовой модели, балансирующей скорость и точность. Каждая версия увеличивает глубину, ширину и разрешение изображения, улучшая точность. Однако они также требуют больше вычислительной мощности — от B1 и B2 до высокопроизводительных B6 и B7.
В то время как модели EfficientNet-B3 и EfficientNet-B4 обеспечивают баланс для более крупных изображений, B5 часто выбирают для сложных наборов данных, требующих точности. Помимо этих моделей, последняя версия, EfficientNet V2, может повысить скорость обучения, лучше работать с небольшими наборами данных и оптимизирована для современного оборудования.
Link to this sectionПрименение EfficientNet#
EfficientNet позволяет получать точные результаты, используя меньше памяти и вычислительной мощности, чем многие другие модели. Это делает ее полезной во многих областях: от научных исследований до продуктов, которыми люди пользуются ежедневно.
Link to this sectionАнализ медицинских изображений#
Медицинские изображения, такие как КТ легких, часто содержат тонкие детали, критически важные для постановки точного диагноза. Модели ИИ могут помочь в анализе этих изображений для обнаружения закономерностей, которые человеку бывает трудно заметить. Одной из адаптаций EfficientNet для этих целей является MONAI (Medical Open Network for AI) EfficientNet, которая специально разработана для medical image analysis.
Опираясь на архитектуру EfficientNet, исследователи также разработали Lung-EffNet — модель, классифицирующую КТ-снимки легких для обнаружения опухолей. Она может классифицировать опухоли как доброкачественные, злокачественные или нормальные, достигая заявленной точности более 99% в экспериментальных условиях.

Рис. 4. Классификация опухолей по изображениям с помощью Lung-EffNet. (Источник)
Link to this sectionОбнаружение объектов в реальном времени#
Object detection — это процесс поиска объектов на изображении и определения их местоположения. Это ключевая часть таких приложений, как системы безопасности, беспилотные автомобили и дроны.
EfficientNet стала важной в этой области, так как она предложила очень эффективный способ извлечения признаков из изображений. Ее метод масштабирования глубины, ширины и разрешения показал, как модели могут быть точными, не будучи при этом слишком тяжелыми или медленными. Вот почему многие системы обнаружения, такие как EfficientDet, используют EfficientNet в качестве своей основы (backbone).
Более новые модели, такие как Ultralytics YOLO11, разделяют ту же цель — сочетание скорости и точности. На эту тенденцию к созданию эффективных моделей сильно повлияли идеи таких архитектур, как EfficientNet.
Link to this sectionПлюсы и минусы EfficientNet#
Вот некоторые преимущества использования EfficientNet в проектах компьютерного зрения:
- Высокая точность при меньшем количестве параметров: EfficientNet может обеспечить сопоставимую или лучшую точность, чем старые модели, такие как ResNet или DenseNet. Однако она использует меньше параметров, что делает ее быстрее в обучении и проще в развертывании.
- Масштабируемое семейство моделей: Варьируя модели от B0 до B7, ты можешь выбрать версию, соответствующую твоему оборудованию и требованиям к точности, не меняя базовую сеть.
- Хорошо подходит для трансферного обучения: EfficientNet обеспечивает надежную производительность модели для трансферного обучения — процесса переобучения предобученной модели для специфической задачи. Она может служить основой для различных задач компьютерного зрения. Она также показала сильные результаты при дообучении (fine-tuning). Например, она достигла передовой точности на CIFAR-100, широко используемом наборе данных для image classification, имея значительно меньше параметров, чем предыдущие модели.
Хотя существует множество преимуществ использования EfficientNet, вот некоторые ее ограничения, которые стоит учитывать:
- Требует больше памяти: Версии вроде EfficientNet-B6 и EfficientNet-B7 требуют много видеопамяти (GPU memory).
- Масштабирование настроено под ImageNet: Параметры масштабирования были разработаны для набора данных ImageNet, поэтому производительность может снизиться на сильно отличающихся наборах данных без дообучения. Это особенно актуально для небольших наборов данных, поскольку архитектура и масштабирование EfficientNet были спроектированы для большого и разнообразного набора данных, такого как ImageNet, который предоставляет достаточно данных для обоснования своей глубины и ширины.
- Медленнее на некотором оборудовании: EfficientNet использует слои MBConv, разработанные для эффективности на современном оборудовании. На старых GPU или CPU эти слои могут работать медленнее.
Link to this sectionОсновные выводы#
EfficientNet изменила то, как растут модели компьютерного зрения, сохраняя баланс глубины, ширины и разрешения изображения. Это по-прежнему важная модель, повлиявшая на новые архитектуры. В частности, она занимает значимое место в истории компьютерного зрения.
Присоединяйся к нашему community и GitHub repository, чтобы узнать больше об ИИ. Ознакомься с нашими решениями, чтобы почитать об AI in healthcare и computer vision in automotive. Узнай о наших licensing опциях и начни строить решения в области компьютерного зрения уже сегодня!






