Which Tasks Should Be Learned Together in Multi-task Learning?
About
Many computer vision applications require solving multiple tasks in real-time. A neural network can be trained to solve multiple tasks simultaneously using multi-task learning. This can save computation at inference time as only a single network needs to be evaluated. Unfortunately, this often leads to inferior overall performance as task objectives can compete, which consequently poses the question: which tasks should and should not be learned together in one network when employing multi-task learning? We study task cooperation and competition in several different learning settings and propose a framework for assigning tasks to a few neural networks such that cooperating tasks are computed by the same neural network, while competing tasks are computed by different networks. Our framework offers a time-accuracy trade-off and can produce better accuracy using less inference time than not only a single large multi-task neural network but also many single-task networks.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Depth Estimation | Taskonomy (test) | Depth Estimation Error5.15 | 21 | |
| Depth Estimation | Taskonomy Normal input (test) | MAE2.41 | 5 | |
| Edge Detection | Taskonomy Texture input (test) | MAE0.95 | 5 | |
| RGB Reconstruction | Taskonomy Normal input (test) | FID108.1 | 5 | |
| Shade Estimation | Taskonomy Normal input (test) | MAE7.75 | 5 | |
| Semantic segmentation | Taskonomy RGB input (test) | MAE26.72 | 5 | |
| Surface Normal Estimation | Taskonomy RGB input (test) | MAE17.92 | 5 | |
| Depth Estimation | Taskonomy Texture input (test) | MAE4.27 | 5 |