Fixup Initialization

Keywords: fixup initialization, optimization

Fixup Initialization is a weight initialization scheme for residual networks that enables stable training of arbitrarily deep networks without any normalization layers — by carefully scaling the initial weights of residual branches inversely with network depth, ensuring the gradient signal propagates correctly through hundreds of layers at initialization without the normalizing effect of batch normalization — published by Zhang et al. (2019) as a theoretically motivated alternative to BatchNorm that enables small-batch and single-example training, removes the sequential coupling between samples that BatchNorm imposes, and provides simpler training dynamics for theoretical analysis.

What Is Fixup Initialization?

- The Problem: Standard random initialization (He init, Xavier) was designed for networks without residual connections. In deep residual networks, the interplay between residual additions across many layers causes the gradient norms to scale with depth at initialization — leading to instability or vanishing gradients for very deep networks trained without BatchNorm.
- The Fixup Solution: Scale the initial weights of the last convolution in each residual branch by L^(-1/(2m-2)), where L is the number of residual blocks and m is the number of layers per block. This ensures that at initialization, each residual addition contributes a controlled, depth-independent perturbation to the main path.
- Biases and Multipliers: Fixup adds learnable scalar multipliers (initialized to 1) and bias terms (initialized to 0) at specific positions in each residual branch — providing additional freedom for the network to modulate gradient flow per layer.
- Zero Initialization of Last Layer: The final weight matrix in each residual branch is initialized to zero — the residual branch starts as an identity mapping plus zero perturbation, making the initial function equivalent to a much shallower network.

Why Fixup Works: Theoretical Basis

The core insight is signal and gradient propagation at initialization:

- Forward Pass Stability: With Fixup scaling, the variance of activations at layer L depends only on local layer properties, not on the total depth — the main pathway carries signal without explosive growth or compression.
- Backward Pass Stability: Gradient norms at the input layer are bounded independently of depth — the L^(-1/(2m-2)) scaling precisely cancels the depth-dependent amplification that would otherwise occur.
- NNGP Correspondence: Fixup-initialized networks at infinite width correspond to well-conditioned Neural Tangent Kernels — providing theoretical guarantees about convergence for gradient descent.

Fixup vs. Batch Normalization

| Property | Batch Normalization | Fixup Initialization |
|----------|--------------------|--------------------|
| Normalization | Dynamic, computed over batch | Static, achieved at init via scaling |
| Small batch training | Noisy estimates, degrades | Works perfectly (no batch statistics) |
| Single-example inference | Requires stored running stats | Exact (no statistics needed) |
| Sequential coupling | Samples in same batch interact | Fully independent examples |
| Theoretical cleanliness | Complex stochastic dynamics | Clean, analyzable gradient flow |
| Performance on standard benchmarks | Slightly better (large batch) | Competitive, especially small batch |

Practical Applications

- Small-Batch Training: Critical for high-resolution detection/segmentation tasks where GPU memory limits batch size to 1–2 images — BatchNorm degrades sharply; Fixup trains stably.
- Physics Simulations: Reinforcement learning for physical systems often requires exact per-sample forward passes without batch coupling — Fixup enables this.
- Non-Standard Architectures: Experimental architectures where BatchNorm is difficult to insert (recurrent residual networks, dynamic graphs) benefit from Fixup's architecture-agnostic approach.
- Theory Research: Fixup networks are used as theoretical benchmarks because their training dynamics are analytically tractable — unlike BatchNorm, which introduces a complex stochastic operation.

Fixup Initialization is the normalization-free path to training deep residual networks — proving that stability across hundreds of layers requires not runtime statistics but the right initial weight geometry, opening a theoretically clean and practically powerful alternative to the BatchNorm paradigm for specialized training scenarios.

Want to learn more?

Search 13,225+ semiconductor and AI topics or chat with our AI assistant.

Search Topics Chat with CFSGPT