I am working on cnn for image classification, i want to understand the difference between 1x1, 3x3, 5x5 size kernel in conv layer of cnn. Effect of each kernel, usages, advantage and disadvantage. When to use which kernel size. Does the size of kernel depends on the type of data, or size of data.
Lets divide the kernel sizes into 2 parts small and large, small being 1x1, 3x3 and large being 5x5.
Now the various comparisons between the 2 types of kernels could be as follows:
So 3x3 kernel is a popular choice among 1x1, 3x3 and 5x5 kernel for both reducing the dimensions of the images and capturing neighborhood information. But this might not be applicable to all the datasets, for different datasets you will have to experiment with different kernel sizes and see which one performs the best for you. But yea to get an idea you consider the fact about complexity of features you want to capture in your image.
Notes that might be helpful :
- 1x1 convolutions have their importance in dimensionality reduction for images. You can read about it here : https://iamaaditya.github.io/2016/03/one-by-one-convolution/
- If you use an image sized kernel(large kernel) it will work just as a dense/fully connected layer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With