Conceptual question on CNN and any multi layer neural network (Part 2) I have read a number of tutorials and online lectures (https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/) but none of them mention the rationale for selecting a particular design. How do we decide on the following design aspects?

1) Is there a rule of thumb for deciding on the number of layers?  Or is it purely on the basis of trial and error?

2) Can somebody please explain the intuition and the rationale for designing a CNN architecture for this example -- considering a binary classification problem. For an input RGB image of size 500*500*3, how would you design the architecture -- how many layers, number of filters, size of the filter, how much is the stride, etc.
There's an amazing book called "Deep Learning with Python" by Francois Chollet that you could refer to. To answer your question:


You usually add high number of layers and check where the validation accuracy halts and training loss decreases rapidly. This means your network starts to overfit and it's easy to fine tune your network from there on with the help of regularization. 
You determine the layers of your network depending upon the complexity of the problem and the resolution of the images as well. Bigger pictures need larger networks. The filters need to be increasing as the network increases and the size of the feature map should decrease in an ideal network. I don't know much about strides though. Max_Pooling is the most common solution instead of strides.


I could go on about Max_Pooling but that won't answer your question.