Fantastic Multi-Task Gradient Updates and How to Find Them In a Cone

Negar Hassanpour, Muhammad Kamran Janjua, Kunlin Zhang, Sepehr Lavasani, Xiaowen Zhang +2 more
1/31/2025
cs.LGcs.AIcs.CV

No confident code implementation found for this paper.

Abstract

Balancing competing objectives remains a fundamental challenge in multi-task learning (MTL), primarily due to conflicting gradients across individual tasks. A common solution relies on computing a dynamic gradient update vector that balances competing tasks as optimization progresses. Building on this idea, we propose ConicGrad, a principled, scalable, and robust MTL approach formulated as a constrained optimization problem. Our method introduces an angular constraint to dynamically regulate gradient update directions, confining them within a cone centered on the reference gradient of the overall objective. By balancing task-specific gradients without over-constraining their direction or magnitude, ConicGrad effectively resolves inter-task gradient conflicts. Moreover, our framework ensures computational efficiency and scalability to high-dimensional parameter spaces. We conduct extensive experiments on standard supervised learning and reinforcement learning MTL benchmarks, and demonstrate that ConicGrad achieves state-of-the-art performance across diverse tasks.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{hassanpour2025fantastic,
  title  = {Fantastic Multi-Task Gradient Updates and How to Find Them In a Cone},
  author = {Negar Hassanpour and Muhammad Kamran Janjua and Kunlin Zhang and Sepehr Lavasani and Xiaowen Zhang and Chunhua Zhou and Chao Gao},
  year   = {2025},
  eprint = {2502.00217},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.00217v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.00217.svg)](https://codeofpaper.com/paper/2502.00217)

Discussion