The network-in-network paradigm replaces a single fixed-scale convolutional choice with parallel transformations using different kernel sizes. This lets an Inception module respond to objects appearing at different spatial scales while increasing depth and width within a fixed computational budget. section 11.2.2
The design addresses two architectural trade-offs:
- Avoids relying on one kernel size when image content may appear close up or far away. section 11.2.2
- Combines outputs from parallel branches, commonly using 1×1, 3×3, and 5×5 convolutions. section 11.2.2
From architecture to PyTorch
A naive Inception block defines parallel convolution, batch-normalization, and ReLU sequences. A dimensionality-reduced version inserts 1×1 convolutions before the 3×3 and 5×5 branches, reducing the channels processed by larger kernels.
Figure 11.8 Inception_v1 architecture
Use the architecture figure to compare the parallel branches and their multi-scale arrangement. section 11.2.2
