I am already aware of the convolution function, CNN and all. I have already implemented a few. But this question strucks my mind every time. Most of the networks I have seen, use a stack of convolution layers. That is, the current convolution layer works on the output of previous convolution layer and so on.
So, is there a specific reason for doing this? Alternatively, we can also apply each convolution layer of different kernel size individually on the input image and then use their outputs in some way to get what we want. Why not do this?
Like is there a reason behind this? Or is it like just following people blindly?