Before you can read the parent note Batch normalization, you need to own every symbol it throws at you. This page builds each one from absolute zero: plain words → a picture → why the topic needs it.
A neural network is a stack of layers. Each layer takes some numbers, multiplies and adds them, then passes the results up. A single number arriving at one spot in one layer is called an activation.
If you are hazy on how numbers move layer-to-layer, revisit Backpropagation and Training Deep Networks — this page assumes only that "a layer produces numbers".
Look at figure s01: one column of the network is highlighted. The little dots are activations. BN operates on one such dot's value, collected across many examples. That collection is our next symbol.
We rarely feed the network one example at a time. We feed a small group of examples together — a mini-batch — because the average behaviour of a group is smoother and computers process groups efficiently.
Why the topic needs it: BN's whole trick is to look at one fixed position across the whole batch and standardize those m readings together. Without the idea of "a batch of m values from one position", there is nothing to compute statistics over.
Knowing the center isn't enough; we also need to know how spread out the values are.
We can't just average the deviations — the positive and negative ones cancel to zero (that's what "center" means). So we square each deviation first (squaring makes everything positive and punishes far-away points more), then average.
Recall Aside — why BN divides by
m, not m−1
This is a design choice, not an error. In statistics class you often divide by m−1 (an "unbiased" estimate of a population variance from a sample). BN deliberately divides by m (the biased estimator) because it is simpler, matches the mean's /m, and any scale difference is absorbed by the learnable γ anyway. Both parent examples use /m.
Why BN needs it: to make the spread equal to one unit, you must know the current spread. That is σB, and Step 3 divides by it.
Now combine center and spread. "Standardize" means: subtract the center, divide by the spread.
Figure s03 shows the transformation: the shape of the pile is unchanged, but it slides to sit over 0 and squeezes/stretches to width ≈1. That reshaping is the entire point of BN's first three steps.
Forcing every pile to mean-0/variance-1 might be too rigid — some layers work better with inputs shifted or stretched elsewhere. So BN adds two adjustable knobs the network learns on its own.
Why the topic needs them: without γ,β, BN would trap every layer at a single distribution shape. These dials restore full freedom while keeping the training benefits.
At test time you may get one example — you can't compute a batch mean from a single number. So during training BN quietly keeps a slowly-updated memory of typical statistics.
Why the topic needs it: these frozen μrun,σrun2 make BN deterministic at test — same output no matter what else is in the batch. This is the train-vs-test distinction the parent stresses.
Related normalizers that reuse this same vocabulary but pool differently: Layer Normalization and Group Normalization. The problems BN attacks are covered in Vanishing and Exploding Gradients, Weight Initialization, and Optimization and Conditioning of the Loss Surface; its mild regularizing overlap with Dropout is discussed in the parent.