← All papers
Deep Residual Learning for Image Recognition
He, Zhang, Ren, Sun · 2015 · CVPR 2016
ArchitectureRead on arXiv
Introduced skip connections (residual learning), solving the degradation problem that prevented training of very deep networks. ResNet enabled 152-layer networks and won ImageNet 2015 with a 3.57% error rate.
Key Idea
As networks get deeper, they paradoxically become harder to train, not because of overfitting, but because of the degradation problem where adding more layers actually increases training error. ResNet solves this by introducing skip connections (shortcut connections) that let layers learn residual functions F(x) = H(x) - x instead of the full mapping H(x).
The Residual Block
- Instead of learning H(x) directly, each block learns F(x) = H(x) - x, then adds the input back: output = F(x) + x
- If the optimal mapping is close to identity, learning F(x) ≈ 0 is much easier than learning H(x) ≈ x
- Skip connections require no extra parameters and add negligible compute
- Enables gradient flow through the identity shortcut, mitigating vanishing gradients
Architecture
- ResNet-18/34: use basic blocks with two 3×3 conv layers
- ResNet-50/101/152: use bottleneck blocks (1×1 → 3×3 → 1×1 convolutions) for efficiency
- Batch normalization after each convolution, ReLU activations
- Global average pooling → fully connected classifier at the end
Why It Matters
- Solved deep training: enabled networks with 100+ layers where previously ~20 was the practical limit
- Won ImageNet 2015 (image classification, detection, localization) by a large margin
- Skip connections became a universal design principle, used in Transformers, U-Nets, DenseNets, and virtually every modern architecture
- One of the most cited papers in deep learning history (100K+ citations)
Key Takeaways for Interviews
- The degradation problem is NOT overfitting, deeper plain networks have higher training AND test error
- Skip connections let the network learn identity mappings easily (F(x) = 0 is trivial to learn)
- Residual connections appear everywhere: Transformer blocks, U-Net, DenseNet, modern CNNs
- BatchNorm + skip connections together are what make very deep training stable