---
title: "EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks"
title_ru: "EfficientNet: Переосмысление масштабирования моделей для свёрточных сетей"
authors: [Tan, Le]
year: 2019
venue: "ICML"
venue_tier: "A*"
doi: "1905.11946"
tags: [mobile_backbone, scaling, nas, cnn, edge, compound_scaling]
relevance_to_smartrep: 3
direction: "🅲"
---

# EfficientNet: Составное масштабирование CNN

## TL;DR (≤3 предложения)

EfficientNet вводит принцип составного масштабирования (compound scaling): ширина, глубина и разрешение сети масштабируются одновременно по фиксированному коэффициенту вместо независимого увеличения одного из трёх. Базовая архитектура B0 получена NAS, варианты B1–B7 — её масштабированные версии. EfficientNetV2 (2021) дополнительно вводит Fused-MBConv блоки и progressive training для ускорения обучения в 11× при лучшей точности.

## Проблема

Традиционное масштабирование CNN (глубже или шире или выше разрешение) неэффективно: увеличение одного измерения без других не даёт полного потенциала. Нужен принципиальный подход к масштабированию всех трёх измерений совместно.

## Гипотеза / вклад

- **Compound scaling:** $d = \alpha^\phi$, $w = \beta^\phi$, $r = \gamma^\phi$, где $\phi$ — единый коэффициент масштабирования, $\alpha, \beta, \gamma$ — найдены NAS на B0.
- **MBConv baseline (B0):** MobileNet-подобные inverted residual блоки с SE, найденные MnasNet.
- **EfficientNetV2:** Fused-MBConv (3×3 conv вместо depthwise) для ранних слоёв — быстрее на современном железе; progressive image resizing при обучении.

## Метод

MBConv блок B0: expand ratio 6, depthwise 3×3 или 5×5, SE ratio 0.25.

Compound scaling: зафиксировать $\alpha \cdot \beta^2 \cdot \gamma^2 \approx 2$ (FLOP удваиваются при $\phi$ +1), найти оптимальные $\alpha, \beta, \gamma$ grid search на B0.

EfficientNetV2 меняет первые 3 стадии на Fused-MBConv (без depthwise — лучше для GPU/TPU/NPU):

```
Fused-MBConv: Input → 3×3 conv (expand) → SE → 1×1 conv (project)
```

## Датасеты

| Модель | ImageNet Top-1 | Params (M) | GFLOPs | Latency (V100) |
|---|---|---|---|---|
| EfficientNet-B0 | 77.1% | 5.3 | 0.39 | ~1.7ms |
| EfficientNet-B4 | 82.9% | 19.3 | 4.2 | ~5.5ms |
| EfficientNetV2-S | 83.9% | 21.5 | 8.4 | 2.9ms (V100) |
| EfficientNetV2-M | 85.2% | 54.1 | 24.7 | 5.4ms |

## Сравнение с SOTA

EfficientNet-B7 достигает 84.4% ImageNet (2019) при 8.3× меньшем числе FLOP, чем ResNet-152 с той же точностью. V2 обучается в 11× быстрее EfficientNet-B7.

## Ограничения / слабости

- Depthwise conv в B0–B4 плохо параллелизуется на mobile GPU/DSP — реальная латентность хуже теоретической.
- NAS-найденная архитектура специфична для определённого compute budget — перенос на другое железо требует повторного поиска.
- Нет темпоральной обработки для видео.

## Edge Feasibility для SmartRep

| Параметр | EfficientNet-B0 | EfficientNetV2-S |
|---|---|---|
| Параметры (M) | 5.3 | 21.5 |
| GFLOPs | 0.39 | 8.4 |
| TFLite/ONNX | Хорошая | Хорошая |
| INT8 PTQ | Работает (B0–B2) | Работает |

**Вердикт:** EfficientNet-B0 — deployment candidate для feature extractor. B4+ — слишком тяжёлые для real-time mobile.

## Релевантность SmartRep

- **Baseline backbone 🅲:** EfficientNet-B0 — стандартный выбор для сравнения lightweight моделей; обязателен как baseline в ablation study.
- **EfficientPose использует EfficientNet:** EfficientPose (уже разобран в разделе 2) строит поверх EfficientNet — понимание backbone обязательно.
- **V2 для server-side teacher:** EfficientNetV2-M как teacher для дистилляции в более лёгкого B0-student.

## Gap для нас

EfficientNet — 2D, без темпоральной оси. **Ниша SmartRep:** EfficientNet3D-Lite — систематическое сравнение compound scaling для 3D conv pose backbone с целевым бюджетом 5 GFLOPs. Не было сделано для fitness-domain.

## Код / данные

- Repo: github.com/google/automl/tree/master/efficientnetv2, torchvision
- Pretrained: TF Hub, timm (PyTorch)

## Цитата (BibTeX)

```bibtex
@inproceedings{tan2019efficientnet,
  title={EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks},
  author={Tan, Mingxing and Le, Quoc V},
  booktitle={International Conference on Machine Learning},
  year={2019}
}
```
