# How is the number of parameters reduced in the group convolution?

I think I don't understand group convolutions well.

Say you have 2 groups. This means that the number of parameters would be reduced in half. So, assuming you have an image and 100 channels, with a filter size of $$3 \times 3$$, you would have 900 parameters (ignore the bias for this example). If you separate this into 2 groups, if I understand it well, you would have 2 groups of 50 channels.

This can be made faster, by running the 2 groups in parallel, but how does the number of parameters get halved? Isn't each group having $$50*9=450$$ parameters, so, in total, you still have 900 parameters? Do they mean that the number of parameters that the backpropagation goes over (in each branch) gets halved?

Because overall, I don't see how it can get reduced. Also, is there a downside in using more groups (even going to 100 groups of 1 channel each)?

• Hi. Could you edit your question to include a link to the definition of group convolution that you're using? Commented Apr 11, 2019 at 3:01

The number of parameters is filters*input_channels*output_channels
So instead of input_channels*output_channels with two groups you get (input_channels/2)*(output_channels/2) + (input_channels/2)*(output_channels/2)