grouped convolution
**Grouped Convolution** is a **convolution where input channels are divided into $G$ groups, and each group is convolved independently** — reducing parameters and FLOPs by a factor of $G$ while processing different channel subsets separately.
**How Does Grouped Convolution Work?**
- **Split**: Divide $C_{in}$ input channels into $G$ groups of $C_{in}/G$ channels each.
- **Convolve**: Each group is convolved with its own set of filters independently.
- **Concatenate**: Concatenate the $G$ group outputs along the channel dimension.
- **Special Cases**: $G = 1$ (standard conv), $G = C_{in}$ (depthwise conv).
**Why It Matters**
- **AlexNet Origin**: Originally introduced in AlexNet (2012) to split computation across two GPUs.
- **Efficiency**: Reduces parameters and FLOPs by factor $G$ compared to standard convolution.
- **ResNeXt**: ResNeXt uses 32 groups as a design principle ("cardinality"), showing grouped conv improves accuracy.
**Grouped Convolution** is **parallel independent convolutions** — splitting channels into groups for efficient, parallelizable feature extraction.