Hi, this is a general question about multi-label classification I have been thinking about:
Multi-label classification for < 200 labels can be done in many ways, but here I consider two options:


CNN (e.g. Resnet, VGG) + Cross entropy loss, the traditional approach, the final layer contains the same number of nodes as there are labels. Samples are taken randomly and compared to the known labels.


CNN (e.g. Resnet, VGG) + Triplet loss, where the final layer is a “feature vector”. In the end the classes can be found with KNN or a separate single-layer network turning the feature vector into a class. Triplets are constructed randomly with the anchor and positive from the same label, and the negative from another label.


Does the second option (triplet network) make sense if the only goal in the end is to classify images? Can we expect similar performance for the same network trained with simply cross entropy loss? Is is just over-complicated to use triplets in this scenario?
Additionally, does the best choice change if we want to do multiclass classification instead of multi-label?