DL0003 1×1 Convolution

What are the benefits of using 1×1 convolutional layers in deep learning architectures?

Answer

A 1×1 convolution (pointwise convolution) operates on the channel dimension at each spatial location, enabling dimensionality control, cross-channel feature fusion, and non-linear mixing, all with minimal computational cost. In architectures like ResNet’s bottleneck block, a 1×1 conv first reduces channels (e.g., 256→64), a 3×3 conv processes the reduced representation, and another 1×1 conv expands back (64→256), restoring capacity while keeping compute manageable. This design allows deeper networks without prohibitive parameter growth.

(1) Dimensionality Control: 1×1 convolutions can reduce or expand the number of feature maps, trading off representational capacity and computational cost as needed.
(2) Depth With Controlled Cost: By reducing channel dimensionality before expensive spatial convolutions, 1×1 convs enable deeper architectures without the quadratic growth in channel count that a plain 3 \times 3 block incurs.
(3) Cross-Channel Feature Fusion: Each output pixel is a learned linear combination of all input channels at that location, enabling rich channel-wise interactions.
(4) Non-Linear Mixing: When followed by activations (ReLU, etc.), 1×1 convs introduce non-linear channel mixing that enhances model expressiveness.

1x1 convolution operation showing per-pixel cross-channel weighted sum across input channels to produce one output channel.

Figure 1: A 1×1 convolution performs a per-pixel weighted sum across all input channels: each output channel is a learned linear combination of every input channel at the same spatial position, preserving H\times W.

Mathematical Formulation:
y_{i,j,c_{out}} = \sum_{c_{in}=1}^{C_{in}} w_{c_{in},c_{out}} \cdot x_{i,j,c_{in}} + b_{c_{out}}
\text{FLOPs}_{1\times1} = H \times W \times C_{in} \times C_{out}

Where:

  • x_{i,j,c_{in}} is the input activation at spatial position (i,j) in channel c_{in}; y_{i,j,c_{out}} is the output.
  • w_{c_{in},c_{out}} is the 1×1 kernel weight connecting input channel c_{in} to output channel c_{out}; there is no spatial kernel dimension.
  • C_{in} and C_{out} are the input and output channel counts; b_{c_{out}} is the bias for each output channel.
  • H and W are the spatial height and width of the feature map; the operation is equivalent to a fully-connected layer applied per-pixel across channels.
ResNet bottleneck block showing 1x1 convolutions reducing then expanding channels around a 3x3 convolution.

Figure 2: ResNet bottleneck block: a 1×1 conv reduces channels (256→64), a 3×3 conv processes the compressed representation, and another 1×1 conv expands back (64→256), with a residual skip connection.


Login to view more content


Log in to track your progress

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *