I am having a hard time understanding maths behind a 1x1 convolution and how is it actually performed.

Assuming that I have a 6x6x32 input to my 1x1xK convolution layer similar to the one presented in this video and shown below. I understand that I would take a 1x1x32 slice from the input ( blue in the image below), but what operation would I actually perform?

Do I just take one value, let's say at [1,1,1] of yellow and multiply each value in the input slice with this value, or do I multiply each value from the slice with the corresponding value in the 1x1x32 part.

Also what is meant by #filters? Doesn't it need to match 32 in a given example?

enter image description here


Have a look at this: https://medium.com/machine-learning-bites/deeplearning-series-convolutional-neural-networks-a9c2f2ee1524

It's like this: third dimension of input and filter must match! So if you only have one of those yellow filters your output will be 6x6x1. But if you have let's say 42 filters then you'll perform 42 filter operations and your output will be 6x6x42.

Hope this helps ;)


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.