Introduction
A training loop can be correct and still fail.
Sometimes the problem is not the architecture, optimizer, or dataset. Sometimes the numbers moving through the network are badly scaled. Activations may grow until they overflow, shrink until they carry little signal, or sit in saturated regions where gradients are small.
Initialization, scale, and normalization are practical tools for keeping signals usable. They do not replace learning. They make learning possible.
This chapter asks a simple question: before blaming the model, are the values in a range where gradients can do useful work?