[D] Best practices for Multi-task Learning where labels exist for only a subset of the total tasks (partial coverage)
Say, for example, I have a goal to do a multi-task learning workflow where I have a network that predicts both foreground/background segmentation, specific object segmentation, and bounding box regression.
Suppose that there are only labels for 1-2 of the tasks per image (i.e. one input image has labels for bounding boxes and fg/bg segmentation, but no specific object segmentation; one input image has specific objects and bounding boxes, but no fg/bg). Also, suppose that there isn't a lot of training data to use, so I would like to utilize all of the training data even without full label coverage (especially because the feature extraction portions of the network probably benefit from mutual information).
Is there an area of research or some best practices to train an entire network end-to-end in this regard? Something involving finetuning/turning training 'off' for certain branches of the network related to the parts that don't have labels for that input image?
Posted Jul 8, 2019, 4:05 PM UTC
Yeah, I do this all the time.
I'm training joint segmentation and object detection nets, but some images only have segmentation data and some images only have bounding box labels. I just zero out the appropriate loss term, or, if the batches aren't mixed, I don't even run whichever output head isn't getting trained.
Thanks! That's what I was thinking about doing, but I imagine that causing some types of problems and reducing the accuracy on the tasks that data isn't labeled for.
I don't know of the terminology that is used for this type of problem in the literature to see if there are some tricks to improve upon that type of approach.
I have a similar issue, if you learn anything useful of want to discuss, feel free to DM.