EfficientNet
The paper introduced compound scaling for CNN depth, width, and input resolution.
Metadata
| Field | Value |
|---|---|
| Paper | EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks |
| Authors | Mingxing Tan, Quoc V. Le |
| Year | 2019 |
| Venue | ICML 2019 |
| arXiv | 1905.11946 |
| PMLR | v97/tan19a |
| Status | full paper note |
Question
CNNs can be made larger in several ways:
- deeper: more layers;
- wider: more channels;
- higher resolution: larger input images.
Earlier CNN papers often changed these dimensions manually. EfficientNet asks whether depth, width, and resolution should be scaled together under a principled compute budget.
The architecture question is:
This is a scaling paper as much as an architecture paper.
Main Claim
EfficientNet proposes compound scaling: jointly scale network depth, width, and input resolution using a single compound coefficient.
The scaling rule is:
subject to an approximate compute constraint:
with:
Here:
| Symbol | Meaning |
|---|---|
| depth multiplier | |
| width multiplier | |
| input resolution multiplier | |
| compound scaling coefficient | |
| fixed scaling constants found by search |
The durable claim is:
Architecture Contract
| Item | Contract |
|---|---|
| Input | image at scaled resolution |
| Output | image class probability |
| Baseline | EfficientNet-B0 from neural architecture search |
| Scaling dimensions | depth, width, resolution |
| Scaling family | B0 through larger variants |
| Core block | MBConv-style efficient convolution block |
| Claim type | accuracy/efficiency scaling under compute budget |
| Main caveat | FLOPs, parameters, and real latency are not identical |
EfficientNet is a two-part contribution:
- find a strong baseline network;
- scale it with a compound rule.
Do not collapse these into one claim.
Why Compound Scaling?
Increasing only depth can increase representational capacity but may cause optimization difficulty and diminishing returns:
Increasing only width can add channels but may not expand receptive-field hierarchy:
Increasing only resolution gives the network more spatial detail but also requires enough depth and width to process it:
EfficientNet argues these axes are coupled. If input resolution increases, the network should usually also have enough depth and width to use the extra detail.
FLOPs Scaling Intuition
For a convolutional layer, a rough compute estimate is:
If input resolution scales by , spatial area scales roughly as:
If width scales by , channel product scales roughly as:
If depth scales by , number of repeated layers scales as:
So total compute scales approximately as:
This explains the EfficientNet constraint:
Each unit increase in roughly doubles compute.
Compound Coefficient
The model family is generated by increasing :
For :
which corresponds to the baseline scale.
For larger , the model gets deeper, wider, and uses higher input resolution together.
The core design move is that scaling is not arbitrary per model. Once are chosen, the family follows a structured rule.
Deriving the Scaling Constraint
For a convolutional backbone, changing depth, width, and resolution affects compute at different rates:
If the compound coefficient increases by one unit, EfficientNet chooses:
The approximate compute multiplier is:
The paper chooses the constants so this multiplier is close to a target increase, commonly expressed as roughly two times the compute for each additional unit of :
This is a planning approximation. Real compute also depends on downsampling, depthwise operations, padding, classifier cost, rounding, and implementation. The constraint is valuable because it exposes the intended budget allocation, not because it predicts exact runtime.
Why Width and Resolution Are Coupled
Increasing resolution creates more spatial evidence, but a narrow or shallow network may not have enough capacity to use it:
Increasing width without resolution can add channels to already coarse evidence:
Increasing depth without width or resolution can create a longer transformation path without enough feature diversity or input detail. Compound scaling encodes the hypothesis that the three axes should grow together, with ratios selected from a small search.
Baseline Search Contract
EfficientNet-B0 is not an arbitrary MobileNetV2 clone. The paper first searches for a baseline under a resource constraint and then applies the scaling rule. That creates a two-stage contract:
| Stage | Input | Output | Main question |
|---|---|---|---|
| baseline search | search space, operator choices, target budget | B0 architecture | which block/stage arrangement is strong? |
| compound scaling | B0 and coefficient | B1-B7-style family | how should the same family grow? |
The baseline search space and objective influence every later variant. A scaling rule found on one family should not be assumed to transfer unchanged to an unrelated architecture.
The distinction can be formalized as:
where is the search space and the resource budget. The scaled family is then:
Changing the search space changes ; changing changes the family member.
Scaling Families as Operating Points
The B-family is better understood as a set of operating points than as a strict ranking:
| Variant direction | Depth | Width | Resolution | Typical use |
|---|---|---|---|---|
| smaller baseline | lower | lower | lower | constrained deployment or fast iteration |
| middle variants | balanced increase | balanced increase | balanced increase | general-purpose accuracy/efficiency |
| larger variants | higher | higher | higher | high-budget offline or server inference |
The exact variant name is insufficient for a fair comparison. A report should include input resolution, parameter count, MAdds/FLOPs, precision, and measured latency when deployment matters.
Scaling Versus Search
Compound scaling is not the same as neural architecture search:
| Method | What is selected | Cost profile |
|---|---|---|
| NAS baseline | block types, stage arrangement, widths, repeats | expensive search and evaluation |
| compound scaling | depth/width/resolution ratios after baseline selection | cheap family generation once constants are known |
| manual scaling | designer-selected changes per variant | flexible but less systematic |
| hardware-aware NAS | architecture under measured device constraints | expensive but deployment-specific |
EfficientNet combines the first two. Its contribution is not that NAS is unnecessary; it is that a strong baseline can be expanded with a simple, reusable rule.
MBConv and Squeeze-Excitation Interface
The baseline uses mobile inverted bottleneck-style blocks. A generic MBConv block has:
The block’s local architecture and the family-level scaling rule should be analyzed separately:
| Level | Main variable |
|---|---|
| block | expansion ratio, kernel size, squeeze-excitation, activation, projection |
| stage | repeat count, output channels, stride |
| family | depth, width, resolution multipliers |
| deployment | precision, runtime, batch size, memory |
This hierarchy prevents a common attribution error where a gain from squeeze-excitation or a searched block is credited to compound scaling.
Rounding and Discrete Architecture
The equations produce continuous multipliers, but networks use integer channel counts, integer repeat counts, and discrete input sizes. In practice:
The rounding policy can change the actual compute budget and sometimes the accuracy. A faithful reproduction must record:
- channel divisor or rounding rule;
- minimum channel width;
- repeat-count rounding;
- input resolution rounding;
- whether stage transitions are rounded before or after scaling;
- the resulting actual MAdds, not only the theoretical multiplier.
The intended scaling law and the realized discrete architecture are related but not identical:
Data and Recipe Scaling
Larger models are often trained with different regularization, augmentation, resolution, and training duration. This creates a system-level scaling path:
When comparing variants, separate:
| Factor | Example question |
|---|---|
| architecture scale | did depth, width, and resolution change? |
| data exposure | did the number of training examples or epochs change? |
| regularization | did augmentation, dropout, or stochastic depth change? |
| optimization | did batch size, learning rate, or schedule change? |
| evaluation | is the test resolution and preprocessing comparable? |
The architecture paper’s scaling claim is strongest when these factors are reported and controlled or intentionally defined as part of the scaling recipe.
Baseline And Scaling Are Separate
EfficientNet-B0 is found with neural architecture search. The larger EfficientNet variants are produced by compound scaling.
This creates two claims:
| Claim | Evidence Needed |
|---|---|
| B0 is a strong baseline | compare against similarly sized CNNs |
| compound scaling is better | compare against depth-only, width-only, resolution-only scaling |
When reading the paper, keep these separate. A strong baseline can make scaling look good, and a good scaling rule can make a baseline family more useful.
MBConv-Style Building Blocks
EfficientNet uses mobile inverted bottleneck-style blocks. The common pattern is:
Depthwise convolution applies spatial convolution per channel:
Pointwise convolutions mix channels:
This separates spatial filtering from channel mixing, reducing compute relative to full convolution.
Block View
| Component | Role | Architecture Implication |
|---|---|---|
| EfficientNet-B0 | searched baseline | scaling starts from a strong seed |
| compound coefficient | resource scale index | controls family size |
| depth multiplier | repeats/stacks more layers | increases hierarchy and path length |
| width multiplier | increases channels | increases feature capacity |
| resolution multiplier | increases input size | preserves more spatial detail |
| MBConv blocks | efficient local processing | strong mobile-CNN prior |
| squeeze/excitation-style channel attention | channel recalibration | extra capacity in blocks |
The paper’s architectural importance is in the family-level scaling rule, not only the block definition.
Evidence Reading
| Claim | Evidence Type | What It Supports | Caveat |
|---|---|---|---|
| Compound scaling improves efficiency | ImageNet accuracy/FLOPs comparisons | balanced scaling beats one-axis scaling under tested setup | depends on baseline and training recipe |
| EfficientNet family is strong | comparison to prior CNNs | good accuracy/parameter/FLOPs tradeoff | FLOPs do not equal wall-clock latency |
| Scaling transfers | transfer datasets | features generalize beyond ImageNet | transfer suite is limited |
| B0 is a good base | NAS-derived baseline performance | search found a strong starting point | search space and cost matter |
This is a scaling claim. It should be evaluated with the scaling claim contract: compute, data, recipe, and metric must be explicit.
Ablation Matrix
| Comparison | Tests | Required control |
|---|---|---|
| compound versus depth-only scaling | whether balanced growth helps | same baseline, data, and compute budget |
| compound versus width-only scaling | value of coordinated feature capacity | same resolution and training recipe |
| compound versus resolution-only scaling | whether capacity is needed to use detail | same target compute and augmentation |
| searched B0 versus hand-designed baseline | value of baseline architecture | matched parameters and training budget |
| scaled B0 versus independently searched larger model | value of scaling versus fresh search | same search/resource objective |
| FLOPs versus measured latency | systems validity | same device, runtime, batch, and precision |
| ImageNet versus transfer tasks | generalization of the scaling rule | task-specific heads and fine-tuning recipe |
The most important experiment is not a single B7 headline. It is a family of controlled curves showing how accuracy changes as the resource budget increases under different scaling rules.
Pareto Frontier and Dominance
Let be accuracy and be a chosen cost metric for model . Model dominates when:
with at least one strict inequality. The useful family is the non-dominated set:
The frontier depends on the cost metric. A model can be Pareto-efficient in FLOPs but dominated in batch-1 latency or peak memory. EfficientNet should therefore be plotted against the resource that the intended user actually pays for.
Hardware and Runtime Boundary
The compound rule controls architecture-level scaling, but runtime behavior depends on the execution system:
| Runtime factor | Possible effect |
|---|---|
| depthwise/pointwise kernel support | changes whether MBConv is actually fast |
| memory bandwidth | can dominate low-arithmetic operations |
| operator fusion | reduces intermediate memory and launch overhead |
| precision | changes throughput and memory footprint |
| batch size | changes utilization and latency |
| input pipeline | can hide or dominate model time |
| accelerator shape | favors some channel and resolution multiples |
Thus:
An architecture note should state which one is being claimed.
Failure Modes
- Baseline leakage: crediting compound scaling for gains caused by the NAS-designed B0 block.
- Rounding drift: using continuous formulas while the implementation changes stage widths or repeats differently.
- One-axis comparison: comparing a compound model to a depth-only model at unequal compute or data budgets.
- Resolution shortcut: increasing input resolution without updating augmentation, crop policy, or evaluation protocol.
- FLOPs overclaim: treating fewer operations as guaranteed lower latency.
- Recipe confounding: changing regularization and training duration together with architecture scale.
- Transfer overgeneralization: treating classification scaling as proof for dense prediction or scientific tasks.
- Variant ambiguity: reporting only “EfficientNet” without B-variant, resolution, precision, or preprocessing.
Reproduction Checklist
- record the exact baseline architecture and search-space assumptions;
- record , , , and compound coefficient ;
- record depth, width, resolution, and rounding rules;
- report actual parameters and MAdds/FLOPs after discretization;
- record MBConv, squeeze-excitation, activation, and regularization details;
- compare against depth-only, width-only, and resolution-only scaling;
- match data, optimizer, augmentation, and training budgets;
- report the metric used for efficiency: FLOPs, latency, memory, or energy;
- measure batch-1 latency and throughput separately when deployment matters;
- evaluate transfer tasks with task-specific heads and explicit output stride;
- plot the non-dominated accuracy/resource frontier;
- distinguish NAS baseline gains from compound scaling gains.
Benchmark Card
| Field | Value |
|---|---|
| Main task | image classification |
| Dataset | ImageNet and transfer datasets |
| Architecture family | CNN / mobile-efficient CNN |
| Main contribution | compound scaling rule |
| Main metrics | accuracy, parameters, FLOPs |
| Main comparison | one-axis scaling and prior CNN families |
| Not directly tested | all hardware latency regimes, dense prediction, modern augmentation-heavy recipes |
Relation To Inception
Inception is manually compute-aware: it uses branches and projections to control cost.
EfficientNet is scaling-aware:
| Dimension | Inception | EfficientNet |
|---|---|---|
| Main design question | how should a module allocate compute? | how should a model family scale? |
| Mechanism | multi-branch modules and bottlenecks | compound scaling |
| Search role | manual design | NAS baseline plus scaling |
| Output | GoogLeNet/Inception family | EfficientNet B-family |
Both are compute-aware, but at different levels.
Relation To ResNet And DenseNet
ResNet and DenseNet focus on connectivity patterns that make deeper CNNs trainable and reusable.
EfficientNet asks how to scale a CNN family once the base architecture is set.
| Paper | Main Question |
|---|---|
| ResNet | how can very deep networks optimize? |
| DenseNet | how can features be reused through dense connectivity? |
| EfficientNet | how should depth, width, and resolution scale together? |
This makes EfficientNet a family-scaling paper rather than just another backbone block paper.
Relation To Vision Transformers
Vision Transformers scale differently. For self-attention, token count strongly affects compute:
For CNNs, resolution affects convolutional compute roughly through spatial area:
EfficientNet is useful because it makes the CNN scaling axes explicit. When comparing CNNs and ViTs, ask whether the scaling rule controls:
- resolution;
- parameter count;
- FLOPs;
- training recipe;
- pretraining data;
- actual latency.
FLOPs vs Latency
EfficientNet reports strong FLOPs/parameter tradeoffs, but real deployment depends on hardware and kernels.
FLOPs can miss:
- memory bandwidth;
- kernel fusion;
- depthwise convolution efficiency;
- batch size;
- accelerator support;
- input pipeline overhead;
- quantization behavior.
So the safe reading is:
Training Recipe Boundary
EfficientNet’s results depend on more than architecture:
- input resolution;
- augmentation;
- regularization;
- optimizer and schedule;
- model scaling;
- baseline search;
- transfer fine-tuning setup.
Architecture comparisons should control these. If a new model changes both architecture and recipe, attribution is weak.
Implementation Notes
When using or comparing EfficientNet-style models, check:
| Detail | Why It Matters |
|---|---|
| variant B0-B7 or later | determines scale |
| input resolution | central part of scaling |
| width/depth multipliers | architecture capacity |
| MBConv expansion ratio | compute and channel bottleneck |
| squeeze-excitation settings | block capacity and latency |
| dropout/drop-connect | regularization changes with scale |
| preprocessing | affects reported ImageNet accuracy |
| FLOPs vs latency | hardware-specific tradeoff |
| pretrained weights | recipe and dataset matter |
EfficientNet is easy to misuse if only the model name is reported without resolution and recipe.
Common Misreadings
”EfficientNet is only a better CNN block”
The key contribution is compound scaling of a searched baseline family, not just a block.
”FLOPs prove efficiency”
FLOPs are useful but incomplete. Hardware latency and memory behavior can differ.
”The scaling rule is universal”
The rule was tested for a specific CNN family and setup. Other families may need different scaling constants.
”Bigger resolution is always better”
Resolution helps only if the model has enough capacity and the task benefits from the extra spatial detail.
What To Check In Later Scaling Papers
- What is the baseline architecture?
- Are depth, width, resolution, and data all scaled?
- Is compute reported as FLOPs, wall time, memory, or energy?
- Are training recipes held fixed?
- Is the result single-model or ensemble?
- Does scaling transfer to dense prediction or only classification?
- Are latency results measured on the target hardware?
Why It Still Matters
EfficientNet made CNN scaling explicit:
For this wiki, it completes a useful classic CNN path:
- AlexNet: large CNNs work.
- VGG: small filters and depth work.
- Inception: modules can allocate compute across branches.
- ResNet: residual paths make depth trainable.
- DenseNet: dense connectivity reuses features.
- EfficientNet: a CNN family should scale depth, width, and resolution together.
Limitations
- Baseline architecture is NAS-derived, so search space matters.
- FLOPs and parameters do not fully determine real latency.
- Scaling constants are not guaranteed universal.
- Input resolution and training recipe are central to reported gains.
- Later architectures and recipes changed the efficient-vision landscape.
- The paper is classification-centric compared with broad modern vision evaluation.