🎯Core Definition
A systematic pipeline for fixing broken training. Step 1 — overfit a single batch: train on 1 (or a few) samples; loss should quickly drop to ~0, otherwise there is an implementation bug — inspect the data pipeline (label misalignment/normalization/shuffling), forward pass (wrong loss/dimensions), backward pass (missing or detached gradients), and the optimizer (parameters actually updating); only after gradients are verified, scale up data and model. Step 2 — loss-curve diagnosis: high flat training loss → underfitting (capacity/lr/features); training loss drops but validation stalls or rises → overfitting (more data/regularization/less capacity); both stalled → lr too small or data issues (label noise/shuffling); oscillation/divergence → lr too high or exploding gradients. Step 3 — gradient/weight statistics: NaN or exploding gradient norms → clipping or lower lr; all-zero weights → initialization or dead ReLUs.
💡Use Cases
the first response when training diverges, loss is NaN, or validation never improves; interviews ask how you would debug “loss won't drop” or “loss = NaN”.
⚡Key Problems Solved
it turns debugging from black-box tinkering into a layered hunt: the single-batch overfit test answers “is the code correct?” in minutes, then capacity/data/lr issues are diagnosed separately — so you never waste compute tuning hyperparameters on top of a broken implementation.