What is the significance of the number of convolution filters in a convolutional network?

What does the number of filters in a convolution layer convey?
How does this number effect the performance or quality of the architecture?
I mean should we always opt for a higher numbers of filters? whats good of them? and How does people assign diffrent number of filters for different layers ?
I mean looking at this question : How to determine the number of convolutional operators in CNN?
The answer specified 3 convolution layer with different numbers of filters and size,
Again in this question : number of feature maps in convolutional neural networks
you can see from the picture that, we have 28*28*6 filters for the first layer and 10*10*16 filter for the second conv layer.
How do they come up with these numbers, Is this through trial and error?
Thanks in advance

Answer

What does the number of filters in a convolution layer convey?
– I usually like to think of filters as feature detectors. Although it depends on the problem domain, the significance # of feature detectors intuitively is the number of features (like edges, lines, object parts etc…) that the network can potentially learn. Also note that each filter generates a feature map. Feature maps allow you to learn the explanatory factors within the image, so the more # filters means the more the network learns (not necessarily good all the time – saturation and convergence matter the most)

How does this number affect the performance or quality of the architecture?
– I don’t think you will find a good answer for these types of question since we are still trying to formalize what is going on inside DL black box. Intuitively once again you will learn a more robust non-linear function the more filter banks you have however the performance is going to depend on the type of task and the data characteristics. You typically want to know what kind of data you are dealing with to determine the # parameters in your architecture (including filter). How many filters do I need? is more like asking how complex (specially) are the images in my dataset. There isn’t any formal notion that relates # filters to performance. Its all experimental and iterative. Lots of trail and error forsure.

Attribution
Source : Link , Question Author : Hossein , Answer Author : Henok G.

Leave a Comment