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

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

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

Рис. 2. Составное масштабирование увеличивает ширину, глубину и разрешение изображения модели. (Источник)
Архитектура 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 (открытая медицинская сеть для ИИ) EfficientNet, специально разработанный для анализа медицинских изображений.
Опираясь на архитектуру EfficientNet, исследователи также разработали Lung-EffNet — модель, которая классифицирует КТ лёгких для обнаружения опухолей. Она может относить опухоли к доброкачественным, злокачественным или нормальным, демонстрируя заявленную точность более 99% в экспериментальных условиях.

Рис. 4. Классификация опухолей с помощью Lung-EffNet. (Источник)
Обнаружение объектов в реальном времени#
Обнаружение объектов — это процесс поиска объектов на изображении и определения их местоположения. Это важная часть таких приложений, как системы безопасности, беспилотные автомобили и дроны.
EfficientNet стала важной для этой области, поскольку предложила очень эффективный способ извлечения признаков из изображений. Её метод масштабирования глубины, ширины и разрешения показал, как создавать точные модели без чрезмерного увеличения их размера и снижения скорости. Поэтому многие системы обнаружения, например EfficientDet, используют EfficientNet в качестве базовой сети.
Более новые модели, такие как Ultralytics YOLO11, преследуют ту же цель — сочетать скорость с точностью. Эта тенденция к созданию эффективных моделей во многом сформировалась под влиянием идей таких архитектур, как EfficientNet.
Плюсы и минусы EfficientNet#
Вот некоторые преимущества использования EfficientNet в проектах компьютерного зрения:
- Высокая точность при меньшем количестве параметров: EfficientNet может обеспечивать такую же или более высокую точность, чем старые модели, например ResNet или DenseNet. При этом она использует меньше параметров, поэтому её быстрее обучать и проще развёртывать.
- Масштабируемое семейство моделей: В диапазоне от B0 до B7 можно выбрать версию, соответствующую твоему оборудованию и требованиям к точности, не меняя базовую сеть.
- Подходит для трансферного обучения: EfficientNet может обеспечивать стабильную производительность при трансферном обучении — процессе дообучения предварительно обученной модели для пользовательской задачи. Она может выступать в качестве базовой сети для различных задач компьютерного зрения. При тонкой настройке она также демонстрирует высокие результаты. Например, она достигла современной точности на CIFAR-100 — широко используемом наборе данных для классификации изображений, — используя значительно меньше параметров, чем предыдущие модели.
Несмотря на многочисленные преимущества EfficientNet, следует учитывать и некоторые её ограничения:
- Требует больше памяти: Для таких версий, как EfficientNet-B6 и EfficientNet-B7, требуется много памяти GPU.
- Масштабирование настроено для ImageNet: Параметры масштабирования разработаны для набора данных ImageNet, поэтому без тонкой настройки производительность на существенно отличающихся наборах данных может снизиться. Особенно это касается небольших наборов данных, поскольку архитектура и масштабирование EfficientNet рассчитаны на большой и разнообразный набор данных, такой как ImageNet, который содержит достаточно данных, чтобы оправдать её глубину и ширину.
- Медленнее на некотором оборудовании: EfficientNet использует слои MBConv, разработанные для эффективной работы на современном оборудовании. На старых GPU или CPU эти слои могут работать медленнее.
Основные выводы#
EfficientNet изменила подход к масштабированию моделей компьютерного зрения, сбалансировав глубину, ширину и разрешение изображения. Она по-прежнему остаётся важной моделью и также повлияла на более новые архитектуры. В частности, она занимает значимое место в истории компьютерного зрения.
Присоединяйся к нашему сообществу и изучай ИИ в нашем репозитории GitHub. Посети страницы наших решений, чтобы узнать об ИИ в здравоохранении и компьютерном зрении в автомобильной отрасли. Ознакомься с вариантами нашего лицензирования и начни создавать решения с компьютерным зрением уже сегодня!









