The following points are based on our experience of training neural networks and of what is considered as current best practices from researchers in this field. Hopefully, they will help you if you ever need to design your own CNN architecture from scratch. But before trying out designing your own CNN, you should check out other off-the-shelf architectures to learn from them and also check if they already do the job for you.
- Use convolution layers with kernels of size 3x3. Larger kernels are more expensive in terms of both parameters and computation. On top of this, as we saw in the earlier chapters, you can stack conv layers to produce a bigger receptive field and with the benefit of more nonlinear activations.
- First layer convolutions should generally have at least 32 filters. This way, deeper layers are not restricted by the number of features that the first layer extracted.
- Try to avoid the use of pooling layers, if possible. Instead, use convolution layers with...