I wonder what is theoretically easier for Faster Rcnn to learn (by fine tuning after initialization on imageNet).

If I have a dataset of 2000 bottles pictures

500 water bottles

500 soda bottles

500 wine bottles

500 beer bottles

I have the choice to tag my bounding boxes as I prefer. Either tag all as "bottles", and have only one class to detect in the network. Either specify the type of the bottle, and have 4 classes.

On one hand, it seems to me the more specific are the classes the more easy it is for the net to extract features and localize objects of interest in the picture.

On the other hand, the amount of data available for fine tune is 4 times bigger if I train on generic "bottle" class.

Is there a theoretical known answer to this question? Someone could give an intuition of the explanation?

Should the parameter tweaking be very different in one case or another (batch/minibatch size, learning rate)?

Any intuitive explanation would be welcome to hear :)

Thanks K.


Once you get the generic features of "bottles" by training CNN with 2000 bottles, you can use these weights to get the specific features for "beer bottles" or any other kind of bottles you want. It is faster to train for 500 bottles than 2000 bottles. And now you can afford to have a dataset of only 500 images, not 2000.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.