{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/bayesian-uncertainty-for-gradient-aggregation","title":"Bayesian Uncertainty for Gradient Aggregation in Multi-Task Learning","arxiv_id":"2402.04005","date":"2024-02-06","proceeding":null,"authors":["Idan Achituve","Idit Diamant","Arnon Netzer","Gal Chechik","Ethan Fetaya"],"abstract":"As machine learning becomes more prominent there is a growing demand to perform several inference tasks in parallel. Running a dedicated model for each task is computationally expensive and therefore there is a great interest in multi-task learning (MTL). MTL aims at learning a single model that solves several tasks efficiently. Optimizing MTL models is often achieved by computing a single gradient per task and aggregating them for obtaining a combined update direction. However, these approaches do not consider an important aspect, the sensitivity in the gradient dimensions. Here, we introduce a novel gradient aggregation approach using Bayesian inference. We place a probability distribution over the task-specific parameters, which in turn induce a distribution over the gradients of the tasks. This additional valuable information allows us to quantify the uncertainty in each of the gradients dimensions, which can then be factored in when aggregating them. We empirically demonstrate the benefits of our approach in a variety of datasets, achieving state-of-the-art performance.","url_abs":"https://arxiv.org/abs/2402.04005v2","url_pdf":"https://arxiv.org/pdf/2402.04005v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"bayesian-uncertainty-for-gradient-aggregation","repo_url":"https://github.com/ssi-research/bayesagg_mtl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"bayesian-inference","task_name":"Bayesian Inference"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multi-task-learning-on-chestx-ray14","task":"Multi-Task Learning","dataset":"ChestX-ray14","model":"BayesAgg-MTL","rank_in_archive_order":1,"of":1,"metrics":{"delta_m":"−14.96"},"uses_additional_data":false},{"leaderboard":"/sota/multi-task-learning-on-qm9","task":"Multi-Task Learning","dataset":"QM9","model":"BayesAgg-MTL","rank_in_archive_order":1,"of":5,"metrics":{"∆m%":"53.7"},"uses_additional_data":false},{"leaderboard":"/sota/multi-task-learning-on-utkface","task":"Multi-Task Learning","dataset":"UTKFace","model":"BayesAgg-MTL","rank_in_archive_order":1,"of":1,"metrics":{"delta_m":"-2.23"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.04005","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.04005"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ssi-research/bayesagg_mtl","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":6,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"91108f5574eb04e9","entry":"delta_fn","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/ChestX_ray14/calc_delta.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/ChestX_ray14/calc_delta.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"91108f5574eb04e9"}},{"code_sha256_prefix":"b459d7ee22384921","entry":"delta_fn","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/utkface/calc_delta.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/utkface/calc_delta.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b459d7ee22384921"}},{"code_sha256_prefix":"2ded4a4604e0c9fa","entry":"one_hot","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/CIFAR_MTL/data.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/CIFAR_MTL/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2ded4a4604e0c9fa"}},{"code_sha256_prefix":"952afea58c65f3cd","entry":"psd_safe_cholesky","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"BayesAgg_MTL/BayesAggMTL.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/BayesAgg_MTL/BayesAggMTL.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"952afea58c65f3cd"}},{"code_sha256_prefix":"7c508037b40522af","entry":"str2bool","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7c508037b40522af"}},{"code_sha256_prefix":"eefc191f062ea49a","entry":"str_or_float","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eefc191f062ea49a"}},{"code_sha256_prefix":"267fdf7ca1571871","entry":"str_to_list","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"267fdf7ca1571871"}},{"code_sha256_prefix":"3dc5e431a2586388","entry":"delta_fn","repo":"ssi-research/bayesagg_mtl","repo_kind":"official","path":"experiments/CIFAR_MTL/calc_delta.py","file_url":"https://github.com/ssi-research/bayesagg_mtl/blob/HEAD/experiments/CIFAR_MTL/calc_delta.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3dc5e431a2586388"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}