A bottleneck is a narrow representation through which data must pass. In convolutional ResNets, it reduces channel count for costly spatial processing, then restores it. In an autoencoder, a low-dimensional latent code forces the decoder to reconstruct the input from limited information. section 3.1 section 7.1
A ResNet bottleneck uses a 1 × 1 convolution to compress channels, a 3 × 3 convolution to process features in that reduced space, and a final 1 × 1 convolution to expand and recombine them. The shortcut carries the original signal around these transformations, so the block can refine features while reducing computation. section 3.1
ResNet-152 and VGG-19
ResNet-152 is about eight times deeper than VGG-19 yet uses fewer FLOPs: 11.3 billion versus 19.6 billion. ResNet’s efficiency comes primarily from its convolutional design, with bottleneck blocks contributing in deeper versions. section 3.1
Figure 3.4 Left: the basic block used in ResNet-34 passes a 64-channel input through two 3 × 3 convolutions and then adds the original input back before applying ReLU. Right: the bottleneck block used in deeper ResNets first compresses features with a 1 × 1 convolution, processes them with a 3 × 3 layer, and then restores dimensionality with another 1 × 1 convolution. The shortcut bypass preserves the original signal, ensuring that deeper models refine features rather than lose them. Used with permission granted by the lead author (Kaiming He).
Compare the ResNet-34 basic block with the bottleneck block’s compression, spatial processing, expansion, and shortcut. section 3.1



