I thought we might be able to compile a Caffeinated description of some methods of performing multiple category classification.
By multi category classification I mean: The input data containing representations of multiple model output categories and/or simply being classifiable under multiple model output categories.
E.g. An image containing a cat & dog would output (ideally) ~1 for both the cat & dog prediction categories and ~0 for all others.
Based on this paper, this stale and closed PR and this open PR, it seems caffe is perfectly capable of accepting labels. Is this correct?
Would the construction of such a network require the use of multiple neuron (inner product -> relu -> inner product) and softmax layers as in page 13 of this paper; or does Caffe's ip & softmax presently support multiple label dimensions?
When I'm passing my labels to the network which example would illustrate the correct approach (if not both)?:
E.g. Cat eating apple Note: Python syntax, but I use the c++ source.
Column 0 - Class is in input; Column 1 - Class is not in input
[[1,0], # Apple [0,1], # Baseball [1,0], # Cat [0,1]] # Dog
or
Column 0 - Class is in input
[[1], # Apple [0], # Baseball [1], # Cat [0]] # Dog
If anything lacks clarity please let me know and I will generate pictorial examples of the questions I'm trying to ask.