In a CNN, does each new filter have different weights for each input channel, or are the same weights of each filter used across input channels?
This question helps me a lot.
Let, I have RGB input image. (3 channels) Then each filter has n×n weights for one channel. It means, actually the filter has totally 3×n×n weights.
For channel R, it has own n×n filter.
For channel G, it has own n×n filter.
For channel B, it has own n×n filter.
After inner product, add them all to make one feature map. Am I right?
And then, my question starts here. For some purpose, I will only use greyscale images as input. So the input images always have the same values for each RGB channel.
Then, can I reduce the number of weights in the filters? Because in this case, using three different n×n filters and adding them is same with using one n×n filter that is the summation of three filters.
Does this logic hold on a trained network? I have a trained network for RGB image input, but it is too heavy to run in real time. But I only use the greyscale images as input, so it seems I can make the network less heavy (theoretically, almost 1/3 of original).
I'm quite new in this field, so detailed explanations will be really appreciated. Thank you.