Skip to main content
1 of 2

What is the point of using convolutions of kernel size 1, or 1x1, etc?

I understand the gist of what convolutional networks do and what they are used for, but I still wrestle a bit with how they function on a conceptual level. For example, I get that filters with kernel size >1 are used as feature detectors, and that number of filters = number of output channels for a convolutional layer and the number of features being detected scales with the number of filters/channels.

However, as of recently I've been encountering an increasing number of models that employ 1- or 2-D convolutions with kernel sizes of 1 or 1x1, and I can't quite grasp why. It feels to me like they defeat the purpose of performing a convolution in the first place. What is the advantage of using such layers? Are they not just equivalent to multiplying each channel by a trainable, scalar value?