machine learning - How to find dynamically the depth of a network in Convolutional Neural Network -
i looking automatic way decide how many layers should apply network depends on data , computer configuration. searched in web, not find anything. maybe keywords or looking ways wrong.
do have idea?
the number of layers, or depth, of neural network 1 of hyperparameters.
this means quantity can not learned data, should choose before trying fit dataset. according bengio,
we define hyper- parameter learning algorithm variable set prior actual application of data, 1 not directly selected learning algo- rithm itself.
there 3 main approaches find out optimal value hyperparameter. first 2 explained in paper linked.
- manual search. using well-known black magic, researcher choose optimal value through try-and-error.
- automatic search. researcher relies on automated routine in order speed search.
- bayesian optimization.
more specifically, adding more layers deep neural network improve performance (reduce generalization error), number when overfits training data.
so, in practice, should train convnet with, say, 4 layers, try adding 1 hidden layer , train again, until see overfitting. of course, strong regularization techniques (such dropout) required.