After reading various examples of CNNs it doesn't look like the kernel used for convolution is flipped. Can anybody explain why?

  • 1
    $\begingroup$ what do you mean by flipped? $\endgroup$ – Antoine Jul 21 '16 at 13:45
  • $\begingroup$ @Antoine wikimedia.org/api/rest_v1/media/math/render/svg/… $\endgroup$ – james Jul 21 '16 at 13:53
  • 3
    $\begingroup$ ok... I think you need to provide a bit more details in your question if you want to attract high quality answers. For instance, links to the examples you reference and some definition would be helpful $\endgroup$ – Antoine Jul 21 '16 at 14:07
  • 2
    $\begingroup$ I reopened this thread because Franck Denoncourt's fine answer makes it very clear what is being asked and also supports the supposition that people familiar with neural networks, convolutions, and kernels will know exactly what is meant in this question. $\endgroup$ – whuber Jul 21 '16 at 21:52

Sometimes yes, sometimes no. E.g., if you look at http://deeplearning.net/software/theano/library/tensor/nnet/conv.html, you'll see some methods that flip the kernel, and some that do not. But to be mathematically correct, it should flip (the downside being it might make it less intuitive).

Another source echoing it: http://www.slideshare.net/GauravMittal68/convolutional-neural-networks-cnn

enter image description here

enter image description here

"Deep learning" is not the best field for rigorous definitions.



Supplementing a bit:

Sometimes they do read/store the memory in reverse order.

I do not know why they chose the "convolution" terminology, although it is clearly a cross-corellation.

However it does not seem to matter whether you flip it or not, because the values are tuned through the training process. That being said, intuitively the arrangement of the weights will get flipped and the final weights will come out to be the same.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.