4 ms·
I've trained inception V3 for 20 classes using transfer learning method (google for poets tutorial/script) and I'm curious if there is an upper-limit to adding
by jamesmcintyre 9y ago
I've trained inception V3 for 20 classes using transfer learning method (google for poets tutorial/script) and I'm curious if there is an upper-limit to adding a lot of classes? For instance if I wanted to classify 30,000 different classes is there any reason one inception V3 model couldn't do it? For some reason I suspect that it wouldn't scale to that so I'm thinking I'd have to break the classification into a hierarchy (i.e. Classification/model 1: "Is it an animal?" If yes send to classification model 2: "what type of animal?" If feline send to model 3 "what type of feline?".)
Is there an upper limit to classes? If so what imposes this limit? Is a process like I described above ideal or is there a better way to scale to 10's of thousands of classes in image recognition?
- Iv 9y agoI mostly used VGG16 but I suppose this more or less translates into inception as well: in VGG16 there are a few CNN layers and two dense layers at the end, the last one having 1000 outputs. The key is in these dense layers. If you want 30x more categories you probably need at least 30x more parameters in these. And I would naively assume that the relationship is more quadratic. The idea is that if the lower layers trained to recognize features that are useful in differentiating 1000 categories, they probably are good enough features to recognize other categories. After all we know that there are eyes detectors there, grid detectors, text detectors, that naturally emerge. ImageNet will continue to increase its number of categories anyway, so unless you have a cluster of TITAN GPU in your basement, you may just as well wait for their results and take their networks.
- jamesmcintyre 9y agoThanks for the answer!