Deep Residual Learning for Image Recognition
The paper introduced residual learning as a practical architecture pattern for training very deep convolutional networks.
Metadata
| Field | Value |
|---|---|
| Paper | Deep Residual Learning for Image Recognition |
| Authors | Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun |
| Year | 2015 preprint; 2016 conference |
| Venue | CVPR 2016 |
| arXiv | 1512.03385 |
| Status | verified |
Question
Before ResNet, simply stacking more convolutional layers often made optimization worse even when overfitting was not the only issue. The question was whether a deep network could be parameterized so that additional layers could learn refinements instead of having to relearn the full mapping.
The paper is not only about making networks larger. It identifies the degradation problem: beyond some depth, a plain deep network can have higher training error than a shallower network, even though the deeper model should in principle be able to represent the shallower solution.
That observation suggests an optimization and parameterization problem:
The residual hypothesis is that it is easier to learn a correction to an identity mapping than to learn the full mapping from scratch.
Main Claim
Residual blocks make very deep CNNs easier to optimize by learning a residual function around an identity path.
Narrowed claim:
where the block learns rather than forcing the stacked layers to learn directly.
This is an architecture and optimization claim, not just a computer vision benchmark claim.
Equivalently, if the desired mapping is , the residual branch learns:
If the best extra layers are unnecessary, the residual branch can move toward zero and the block can approximate identity:
This identity fallback is the core design idea.
Architecture Contract
| Item | Contract |
|---|---|
| Input | image tensor or intermediate feature map |
| Output | feature map with same or changed spatial/channel dimensions |
| Main unit | residual block |
| Token/grid assumption | 2D image grid with convolutional locality |
| Shortcut path | identity or projection |
| Residual path | stack of convolution, normalization, activation layers |
| Main promise | deeper CNNs become easier to optimize |
For a feature map:
a same-shape residual block returns:
When spatial size or channel count changes:
where is usually a projection shortcut.
Method
The core block adds a skip connection around a small stack of convolution, normalization, and activation layers:
When dimensions change, the identity path may use a projection:
The key idea is not that the skip path is expressive. The key idea is that the network can keep an identity-like solution available while learning residual corrections.
Basic Block
For shallower ImageNet ResNets and CIFAR-style networks, the basic residual block uses two convolutions:
and then:
where denotes convolution, is batch normalization, and is usually ReLU in the original architecture.
The important point is that the residual branch does the nonlinear transformation, while the shortcut preserves a direct signal path.
Bottleneck Block
For deeper ImageNet models, the paper uses a bottleneck design:
The first convolution reduces channel dimension, the convolution performs spatial processing, and the final convolution restores channel dimension.
| Layer | Role |
|---|---|
| reduce | lower channel cost before spatial convolution |
| conv | local spatial feature extraction |
| expand | restore output channel width |
| shortcut | preserve direct signal path |
The bottleneck block makes very deep networks computationally practical.
Shortcut Types
The shortcut path is not always identical.
| Shortcut | Use | Tradeoff |
|---|---|---|
| identity | same shape | no extra parameters |
| zero-padding shortcut | channel increase without projection | cheap, less expressive |
| projection shortcut | shape/channel mismatch or stronger shortcut | adds parameters and compute |
When feature map size changes, a projection is needed for addition to be well-defined:
This is an architecture contract, not an implementation detail. Residual addition requires shape alignment.
Why Residuals Help Optimization
Residual networks improve gradient flow because the shortcut creates direct paths through the network.
For one block:
The local derivative is:
The identity term gives the gradient a direct route, even if the residual branch is poorly conditioned.
Across many blocks:
This additive view makes depth behave like a sequence of refinements rather than a completely new transformation at every layer.
Relation to Plain CNNs
| Architecture | Main Computation | Failure Mode Addressed |
|---|---|---|
| VGG-style plain CNN | stack convolutions directly | deeper stacks can become harder to optimize |
| Inception-style CNN | multi-branch compute-efficient modules | width and receptive-field diversity |
| ResNet | residual blocks with shortcut paths | degradation and gradient flow |
ResNet does not remove convolutional inductive bias. It changes how convolutional layers are composed.
Evidence
| Claim | Evidence in paper | Caveat |
|---|---|---|
| Residual networks optimize better than plain deep networks | comparisons between plain and residual networks at increasing depth | evidence is centered on vision benchmarks |
| Very deep CNNs can improve recognition accuracy | ImageNet and CIFAR experiments with deep residual networks | later results depend on training recipes and data |
| Residual learning generalizes beyond classification | object detection experiments using residual backbones | detection pipeline includes other components |
Ablation Reading
The paper’s strongest evidence is the plain-vs-residual comparison at similar depth.
| Ablation Axis | What it tests | Reading |
|---|---|---|
| plain vs residual network | whether shortcuts improve optimization | the core evidence for residual learning |
| increasing depth | whether very deep networks remain trainable | residual parameterization makes depth useful |
| shortcut option | identity vs projection behavior | projection can help shape matching and capacity |
| CIFAR and ImageNet settings | robustness across dataset scales | still vision-centered evidence |
| detection transfer | backbone reuse beyond classification | downstream system includes other design choices |
The key reading is that the residual network does not merely reduce test error; it also reduces training error compared with plain deep networks. That supports an optimization claim, not only a regularization claim.
Benchmark Card
| Field | Value |
|---|---|
| Main task | image classification |
| Main datasets | ImageNet, CIFAR |
| Secondary task | object detection |
| Main comparison | plain CNNs and prior CNN backbones |
| Main metric | classification error and detection metrics |
| Not directly tested | sequence modeling, graph learning, language modeling, molecular modeling |
What Later Models Kept and Changed
| Kept | Changed Later |
|---|---|
| skip/residual paths | pre-activation residual blocks |
| additive identity route | gated, scaled, or normalized residual variants |
| bottleneck block idea | wider bottlenecks, grouped convolution, depthwise convolution |
| deep backbone reuse | modern detection/segmentation/self-supervised backbones |
| residual composition | Transformers and MLP-style models adopted residual blocks |
The residual connection became architecture-neutral. Transformers, diffusion U-Nets, graph networks, and many protein/structure models now use residual composition even when the original CNN setting is absent.
Implementation Notes
- Addition requires shape alignment; channel or stride changes need a projection or other matching rule.
- BatchNorm mode matters: training/eval mismatch can change residual block behavior.
- Initialization affects whether residual branches start near identity or perturb strongly.
- Pre-activation ResNets changed the ordering of BN/ReLU/conv and often improve optimization.
- Residual connections help optimization but do not guarantee numerical stability at arbitrary depth.
- In transfer learning, early convolutional locality and later semantic features behave differently; freezing all layers may not be ideal.
Limitations
- Residual connections do not remove the need for normalization, initialization, data augmentation, or training recipe choices.
- The paper does not prove that deeper is always better; it shows a practical parameterization that makes depth more useful.
- Later residual architectures changed block ordering, bottleneck design, normalization, activation, and width-depth tradeoffs.
- Skip connections can make attribution harder because information flows through multiple paths.
- The evidence is mostly image classification and detection, so claims about other modalities require separate support.
- Residual paths can hide weak residual branches; a deep model may behave like a shallower model if residual functions contribute little.
- Compute, memory, and latency still grow with depth even when optimization improves.
Why It Matters
ResNet made residual connections a default architectural primitive. In this wiki, it is the anchor paper for:
The general reusable pattern is:
This pattern appears in:
| Area | Residual-like Role |
|---|---|
| CNNs | train deeper visual backbones |
| Transformers | stabilize repeated attention/FFN blocks |
| diffusion U-Nets | compose denoising features across depth |
| neural ODEs | view depth as incremental dynamics |
| graph networks | avoid oversmoothing and preserve node states |