1x1 convolutional filter

Created
TagsCNN

Technically, the 1x1 convolutional filter behaves exactly the same as “normal” filters. The only confused thing is the size 1x1 of the filter which indicates that the filter does not care at all about the correlation of information in the same feature map. 1x1 filter does not consider spatial information but takes channels into account. Which mean, there is no visual pattern being learned in here. Instead, the filter pools the information across multi feature maps. The size of the kernel actually is 1 * 1 * k where k is the number of feature maps. This is one way to compress these feature maps into one (or you can think of it as dimension reduction).

If the values of the kernel are equal, the kernel is the average pooling.

1x1 filters proposes two main purposes.

  1. Add more nonlinearity to the representation learned by the previous layer so that supposedly enhance the representation of the network.
  1. As used by the well known inception nets, it reduces the dimensions of the previous layer for faster computation and less information loss.
  1. A non 1x1 convolution in addition to flattening an input volume depth to 1 like a 1x1 convolution, also can alter width and height of input volume as mentioned earlier.