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