To my knowledge cross-correlation is used to measure the similarity of certain values, like to images. Same applies to the process of feature extraction in CNNs, where input matrices are multiplied by filters. So it seems odd to me that they are call Convolutional Networks.

The Pytorch documentation for Conv2d even says that it is using the cross-correlation operator.

So why are CNNs called convolutional when they are actually using cross-correlation?

New contributor
Hakim is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 2
    $\begingroup$ Found the answer here. Actually most Convolutional Neural Nets use cross-correlation. Filliping all filters in the case of convolution as described here would end up doing the same thing. $\endgroup$ – Hakim Dec 2 at 21:03

Your Answer

Hakim is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.