I have some problems on understanding filter multiplication in CNN.

Let's assume we have an 32x32x3 image which is in RGB Colour system. We want to create 96 feature map. Which dimension is used while this filter multiplication occurs? I mean, image has three layers, but after one time filter multiplication, we have WxHx1 (Width,Height -based on CNN parameters). Why and how output has only one dimension? Which dimension(R or G or B) is chosen when filter is multiplied by image? It should be random, not much information on the web about it.

Also, a little question, we created 96 feature map, and then we apply another convolution layer which also says 96 feature map. I think that for one image created by previous convolutional layer, 96 feature map is created for one of the 96. In a nutshell, there are 96*96=9216 image after second convolution layer, right?


1 Answer 1


The filters in a CNN are also 3D volumes. The width and height of a filter is a hyper parameter, but the depth is usually equal to the depth of whatever the filter is convolving with. With a filter size of 5, your first layer filters will have dimension 5x5x3 because they are convolving with your input image that has a depth of 3. The feature map produced is only 2D because after you multiply a 5x5x3 area of the image together with a filter, you sum together all 5x5x3 (75) values produced into just one value that can be thought of as a single number representing how similar that area of the image is to the filter. This is a very common question here and I'm still not sure why there is a lack of information about it.
For your second question you should have 96+96=192 different feature maps created if you had two layers and both layers had 96 filters each. One feature map is created for each filter.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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