Architectures: LeNet → AlexNet → VGG → Inception → ResNet → EfficientNet → ConvNeXt
Each landmark network contributed one durable idea
The history of ImageNet architectures is a compressed history of deep learning itself: ReLU and dropout (AlexNet), depth via small kernels (VGG), multi-branch efficiency (Inception), residual connections (ResNet), principled scaling (EfficientNet) and the realization that training recipes matter as much as architecture (ConvNeXt). Residual connections alone are the reason 100-layer networks — and every transformer (7.4 Inside the block: residuals, LayerNorm, FFN and embeddings) — can be trained. Knowing these designs lets you choose and adapt backbones in 5.4 Transfer learning and training CNNs in practice and read any new paper's architecture section.
You'll be able to
- Summarize the key contribution, depth, parameter count and ImageNet result of each landmark architecture
- Derive why residual connections make deep networks trainable, via the gradient of a residual block
- Explain bottleneck blocks, Inception modules, compound scaling and the ConvNeXt modernization steps
- Read an architecture table and reproduce its output shapes and parameter counts
Key ideas
- AlexNet (2012) did not invent much — ReLU, dropout, augmentation and GPUs made a large LeNet trainable and halved ImageNet error.
- VGG showed depth via stacked 3×3 kernels is cheaper and better than big kernels; its 138 M parameters live mostly in FC layers.
- Inception went wide with parallel kernel sizes made affordable by 1×1 bottlenecks and GAP (6.8 M params).
Show 4 more key ideas
- ResNet solved the degradation problem: y = F(x) + x makes identity the default, and ∂L/∂x = ∂L/∂y·(I + ∂F/∂x) keeps gradients flowing through 100+ layers — the same mechanism in every transformer.
- Bottleneck blocks (1×1 → 3×3 → 1×1) make deep ResNets affordable; ResNet-50 = 25.6 M params, 4.1 GMACs.
- EfficientNet's compound scaling grows depth, width and resolution together with αβ²γ² ≈ 2 so each step doubles FLOPs.
- ConvNeXt proved most of the ViT-era gains were recipe and macro-design: a modernized ResNet matches Swin with pure convolutions.
Suggested path through this lesson
The benchmark that drove everything
ImageNet's ILSVRC challenge: 1.28 million training images, 1,000 classes, scored by top-5 error (the true label is not among the five highest-scoring guesses) and later top-1 accuracy. Before 2012 the best systems used hand-crafted features (SIFT + Fisher vectors) and were stuck around 26% top-5 error. Then:
| year | model | depth | params | ImageNet result | the idea |
|---|---|---|---|---|---|
| 1998 | LeNet-5 | 5 | 60 K | (MNIST digits) | conv → pool → FC pattern |
| 2012 | AlexNet | 8 | 60 M | 15.3% top-5 | ReLU, dropout, GPUs, augmentation |
| 2014 | VGG-16 | 16 | 138 M | 7.3% top-5 | depth via stacked 3×3 convs |
| 2014 | GoogLeNet | 22 | 6.8 M | 6.7% top-5 | Inception modules, 1×1 bottlenecks, GAP |
| 2015 | ResNet-152 | 152 | 60 M | 3.57% top-5 | residual connections (beat the ≈5% human estimate) |
| 2019 | EfficientNet-B7 | — | 66 M | 84.3% top-1 | compound scaling + NAS, separable convs |
| 2022 | ConvNeXt-XL | — | 350 M | 87.8% top-1 (22K pretrain) | a ResNet modernized with transformer-era design |
LeNet-5 (1998) and AlexNet (2012)
LeCun's LeNet established the template: two conv/pool stages then fully connected layers, trained with backprop to read checks. It worked, but compute and data were lacking for anything harder. AlexNet (Krizhevsky, Sutskever, Hinton) was essentially a bigger LeNet made trainable: ReLU instead of tanh (6× faster convergence, 4.2 Activation functions), dropout in the FC layers (4.7 Regularization in deep nets), aggressive data augmentation (crops, flips, color PCA), and training on two GTX 580 GPUs for six days. Five conv layers plus three FC layers; the FC layers held 58 of the 60 million parameters. Halving the error rate overnight started the deep learning era.
VGG (2014): depth with 3×3 kernels
VGG replaced AlexNet's and kernels with stacks of convs. Two stacked layers have the receptive field of a with weights instead of , and three replace a with versus — fewer parameters, more nonlinearity (5.1 Convolution: the operation and its math). The design is so regular (double channels whenever you halve resolution) that "VGG-style" became shorthand. Costs: 138 M parameters (most in three FC layers) and 15.5 G multiply-adds, which is why VGG survives mainly as a feature extractor for perceptual losses.
GoogLeNet / Inception (2014): go wider, cheaply
An Inception module runs , , convs and a max-pool in parallel and concatenates the outputs, letting the network pick its own kernel size per layer. The trick that made it affordable is the bottleneck before each expensive conv (5.2 CNN building blocks): reduce 256 channels to 64, then do the . With global average pooling replacing the FC layers, GoogLeNet needed only 6.8 M parameters — 20× fewer than VGG — at lower error. Auxiliary classifiers injected gradient mid-network (a crutch made unnecessary by BatchNorm, which arrived with Inception-v2 and was later factorized further in v3: two , then ).
ResNet (2015): the degradation problem and its fix
With BatchNorm, people could train 30-layer nets — but a 56-layer plain network had higher training error than a 20-layer one. Not overfitting: the optimizer simply could not find the deeper solution, even though it exists (copy the shallow net, set extra layers to identity). He et al. made identity the default. A residual block computes
so the layers only have to learn the residual , and "do nothing" is simply — easy to learn with small weights. Differentiate:
The identity term means the gradient reaching early layers is the sum of a direct path and transformed paths, never just a product of many small Jacobians (6.4 Recurrent neural networks and BPTT shows what that product does to RNNs). Across blocks the signal takes paths of varying depth; Veit et al. showed trained ResNets behave like ensembles of relatively shallow networks. Practical details: when shapes change, the shortcut uses a stride-2 conv; the bottleneck block ( reduce → → expand) makes ResNet-50/101/152 affordable (ResNet-50: 25.6 M params, 4.1 G multiply-adds); the pre-activation variant (BN → ReLU → conv) trains 1,000-layer nets. Every transformer block is a residual block (7.4 Inside the block: residuals, LayerNorm, FFN and embeddings).
Intuition. A residual network is a highway with on-ramps: information and gradients can drive straight through, and each block adds a small correction. Depth stops being a liability.
Siblings: Wide ResNet (fewer, wider layers), ResNeXt (grouped convs — "cardinality"), DenseNet (concatenate all previous features instead of adding), SE-Net (channel attention via squeeze-and-excitation).
MobileNet and EfficientNet: efficiency by design
MobileNet (2017) built an entire network from depthwise-separable blocks (5.2 CNN building blocks) for phones: 4.2 M params, 569 M multiply-adds, 70.6% top-1. MobileNetV2 added inverted residuals (expand → depthwise → project, with the skip on the thin end). EfficientNet (2019) asked how to scale a network properly: depth , width and input resolution should grow together. Compound scaling uses one knob :
so each increment of roughly doubles FLOPs (compute scales with depth, width², resolution²). Starting from a neural-architecture-searched B0, B1…B7 followed; B7 hit 84.3% top-1 with 8.4× fewer parameters than the previous best.
ConvNeXt (2022): what did transformers actually teach us?
After Vision Transformers (5.7 Vision Transformers) and Swin beat ResNets, Liu et al. asked whether the gains came from attention or from everything else. They modernized a ResNet-50 step by step: train with the DeiT recipe (AdamW, 300 epochs, strong augmentation, stochastic depth) → 78.8% from 76.1%; change stage ratios to 1:1:3:1; a patchify stem ( conv, stride 4); grouped → depthwise convs with wider channels; inverted bottleneck; large depthwise kernels; GELU for ReLU, fewer activations, LayerNorm for BatchNorm, fewer norm layers; separate downsampling layers. The result, ConvNeXt, matched or beat Swin at every scale (ConvNeXt-T 82.1% vs Swin-T 81.3%) with pure convolutions. The lesson: much of the "transformer advantage" was recipe and macro-design, and the architecture debate matters less than the training pipeline.
Reading an architecture table
Papers describe networks as tables: stage name, output size, block definition, repeat count. Reproduce them: compute each output size with the formula from 5.1 Convolution: the operation and its math, count parameters per block (5.2 CNN building blocks), and compare the total to the paper. If the numbers match you understand the network. Tools: torchinfo.summary, fvcore for FLOPs, and timm.list_models() for hundreds of implementations.
Where this shows up later
- Fine-tuning these backbones with modern recipes — 5.4 Transfer learning and training CNNs in practice; backbones with FPN inside detectors — 5.5 Object detection.
- Residual connections and pre-norm in the transformer block — 7.4 Inside the block: residuals, LayerNorm, FFN and embeddings; normalization choices — 4.6 Initialization and normalization.
- ViT and Swin, the models ConvNeXt was answering — 5.7 Vision Transformers; scaling laws as the LLM version of compound scaling — 7.9 Scaling laws and compute-optimal training.
Common pitfalls (4)
- Comparing accuracies across papers without matching the training recipe, resolution, pretraining data and epochs — ConvNeXt's main lesson.
- Thinking residual connections help only against overfitting; they fix an optimization failure that shows up in training error.
- Believing parameter count equals speed: GoogLeNet has 20× fewer parameters than VGG but FLOPs and memory bandwidth determine latency.
- Treating 'deeper is better' as a law: past a point, width, resolution and data matter more (compound scaling).
Recap: all 7 key points
- AlexNet (2012) did not invent much — ReLU, dropout, augmentation and GPUs made a large LeNet trainable and halved ImageNet error.
- VGG showed depth via stacked 3×3 kernels is cheaper and better than big kernels; its 138 M parameters live mostly in FC layers.
- Inception went wide with parallel kernel sizes made affordable by 1×1 bottlenecks and GAP (6.8 M params).
- ResNet solved the degradation problem: y = F(x) + x makes identity the default, and ∂L/∂x = ∂L/∂y·(I + ∂F/∂x) keeps gradients flowing through 100+ layers — the same mechanism in every transformer.
- Bottleneck blocks (1×1 → 3×3 → 1×1) make deep ResNets affordable; ResNet-50 = 25.6 M params, 4.1 GMACs.
- EfficientNet's compound scaling grows depth, width and resolution together with αβ²γ² ≈ 2 so each step doubles FLOPs.
- ConvNeXt proved most of the ViT-era gains were recipe and macro-design: a modernized ResNet matches Swin with pure convolutions.
Watch
AlexNet → VGG → GoogLeNet → ResNet with parameter and memory accounting for each; the best single lecture on this history.
Read
Exercises
- Reproduce the VGG-16 table
From Table 1 of the VGG paper (configuration D), compute every layer's output shape and parameter count for a input. Expected total: 138.4 M parameters, of which about 124 M are in the three FC layers. Then compute multiply-adds per conv layer and find the most expensive one.
- Residual gradient experiment
Build a 30-layer plain MLP and a 30-layer residual MLP (same widths) in PyTorch on a toy task. Log the gradient norm at the first layer during the first 200 steps and plot both. Expected: the plain network's early-layer gradients are orders of magnitude smaller or unstable; the residual network's stay healthy.
- Compound scaling by hand
EfficientNet-B0 uses , , . Verify . For compute the depth, width and resolution multipliers and the implied FLOP multiplier; compare to the B1–B3 resolutions (240, 260, 300) in the paper.
Quiz
Flashcards
These cards are now in your spaced-repetition queue. Review all due cards →