What is Group Normalization?
Answer
Group Normalization normalizes each sample independently by dividing its channels into groups and computing a mean and variance over the channels and spatial positions within each group. The normalized activations then receive learned per-channel scale and shift parameters. Because its statistics do not depend on other examples, GroupNorm behaves consistently with very small or variable batch sizes and uses the same computation during training and inference. The group count must be compatible with the channel count, and its inductive bias can be less suitable than BatchNorm when large, stable batches provide useful batch statistics.

Figure 1: A convolutional tensor is split into channel groups; each sample-group gets independent statistics before per-channel affine scaling.
(1) Per-Sample Statistics: Each example has its own group means and variances, so no running batch averages are required.
(2) Channel Grouping: For channels and
groups, each group normalizes
values; channels within a group share statistics.
(3) Boundary Cases: normalizes all channels and spatial positions together, while
gives one channel per group and resembles InstanceNorm.

Figure 2: Normalization families differ mainly in which batch, channel, and spatial axes share statistics and whether inference needs running estimates.
Mathematical Formulation:
Where:
indexes samples,
indexes channel groups, and
index channel and spatial position.
is the set of activations in group
of sample
;
indexes elements in that set.
is the number of normalized values when
channels are divided into
groups over height
and width
.
and
are the group mean and variance;
and
are input and normalized output activations.
maps channel
to its group,
are learned per-channel scale and shift, and
stabilizes division.
Leave a Reply