Based from what I have learned, we use multiple filters in a Conv Layer of a CNN to learn different feature detectors. But since these filters are applied similarly (i.e. slided and multiplied to regions of the input), wouldn't they just learn the same parameters during training? Hence the use of multiple filters would be redundant?
I have found the answer to this question: https://www.quora.com/Why-does-each-filter-learn-different-features-in-a-convolutional-neural-network
It says here: "... (optimization) algorithm finds that loss does not decrease if two filters have similar weights and biases, so it’ll eventually change one of the filter(‘s weights and biases) in order to reduce loss thereby learning a new feature."
Thank you for the answers. Appreciate it :)
I had the same confusion in understanding this fact. The confusion arises to the beginners because the book explicity doesn't mention that filters are different.
since these filters are applied similarly
Filters are applied similarly but the value of cell in matrix is different from each other filters. So they extract different features from the image.
wouldn't they just learn the same parameters during training
No, they don't learn the same parameter since the filters are different now. So the use of multiple filter is not redundant.
Also since the weights of the filters are basically random values, each filter will most likely converge to its nearby local minimum. This I guess ensures that the filters aren't exactly the same , but there might be some closely related features in some parts of filters.