weight normalization

Weight Normalization is a reparameterization technique that decouples the magnitude and direction of weight vectors — representing each weight vector as $w = g \cdot v/ v $, where $g$ is a learnable scalar (magnitude) and $v/ v $ is the unit direction.

How Does Weight Normalization Work?

  • Decomposition: $w = g \cdot \hat{v}$ where $\hat{v} = v / v $.
  • Parameters: Learn $g$ (scalar magnitude) and $v$ (direction vector) instead of $w$ directly.
  • Gradient: Gradients with respect to $v$ are projected orthogonal to $v$, decoupling magnitude from direction updates.
  • Paper: Salimans & Kingma (2016).

Why It Matters

  • Faster Convergence: Decoupling magnitude and direction improves conditioning of the optimization.
  • No Batch Statistics: Unlike BatchNorm, weight normalization doesn't depend on batch statistics -> works for any batch size.
  • Inference: No difference between training and inference behavior (unlike BatchNorm).

Weight Normalization is polar coordinates for neural network weights — separating how big the weights are from which direction they point for smoother optimization.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account