Multi-Task Learning as Multi-Objective Optimization
Ozan Sener, Vladlen Koltun
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/IntelVCL/MultiObjectiveOptimizationOfficialpytorch★ 0
- github.com/isl-org/multiobjectiveoptimizationpytorch★ 1,069
- github.com/ebagdasa/backdoors101pytorch★ 378
- github.com/torchjd/torchjdpytorch★ 307
- github.com/VICO-UoE/KD4MTLpytorch★ 78
- github.com/salomonhotegni/mdmtnpytorch★ 16
- github.com/hav4ik/Hydrapytorch★ 0
Abstract
In multi-task learning, multiple tasks are solved jointly, sharing inductive bias between them. Multi-task learning is inherently a multi-objective problem because different tasks may conflict, necessitating a trade-off. A common compromise is to optimize a proxy objective that minimizes a weighted linear combination of per-task losses. However, this workaround is only valid when the tasks do not compete, which is rarely the case. In this paper, we explicitly cast multi-task learning as multi-objective optimization, with the overall objective of finding a Pareto optimal solution. To this end, we use algorithms developed in the gradient-based multi-objective optimization literature. These algorithms are not directly applicable to large-scale learning problems since they scale poorly with the dimensionality of the gradients and the number of tasks. We therefore propose an upper bound for the multi-objective loss and show that it can be optimized efficiently. We further prove that optimizing this upper bound yields a Pareto optimal solution under realistic assumptions. We apply our method to a variety of multi-task deep learning problems including digit classification, scene understanding (joint semantic segmentation, instance segmentation, and depth estimation), and multi-label classification. Our method produces higher-performing models than recent multi-task learning formulations or per-task training.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| CelebA | MGDA-UB | Error | 8.25 | — | Unverified |
| Cityscapes test | MultiObjectiveOptimization | mIoU | 66.63 | — | Unverified |