{"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/redefining-contributions-shapley-driven","title":"Redefining Contributions: Shapley-Driven Federated Learning","arxiv_id":"2406.00569","date":"2024-06-01","proceeding":null,"authors":["Nurbek Tastan","Samar Fares","Toluwani Aremu","Samuel Horvath","Karthik Nandakumar"],"abstract":"Federated learning (FL) has emerged as a pivotal approach in machine learning, enabling multiple participants to collaboratively train a global model without sharing raw data. While FL finds applications in various domains such as healthcare and finance, it is challenging to ensure global model convergence when participants do not contribute equally and/or honestly. To overcome this challenge, principled mechanisms are required to evaluate the contributions made by individual participants in the FL setting. Existing solutions for contribution assessment rely on general accuracy evaluation, often failing to capture nuanced dynamics and class-specific influences. This paper proposes a novel contribution assessment method called ShapFed for fine-grained evaluation of participant contributions in FL. Our approach uses Shapley values from cooperative game theory to provide a granular understanding of class-specific influences. Based on ShapFed, we introduce a weighted aggregation method called ShapFed-WA, which outperforms conventional federated averaging, especially in class-imbalanced scenarios. Personalizing participant updates based on their contributions further enhances collaborative fairness by delivering differentiated models commensurate with the participant contributions. Experiments on CIFAR-10, Chest X-Ray, and Fed-ISIC2019 datasets demonstrate the effectiveness of our approach in improving utility, efficiency, and fairness in FL systems. The code can be found at https://github.com/tnurbek/shapfed.","url_abs":"https://arxiv.org/abs/2406.00569v1","url_pdf":"https://arxiv.org/pdf/2406.00569v1.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":"redefining-contributions-shapley-driven","repo_url":"https://github.com/tnurbek/shapfed","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"collaborative-fairness","task_name":"Collaborative Fairness"},{"task_slug":"contribution-assessment","task_name":"Contribution Assessment"},{"task_slug":"data-valuation","task_name":"Data Valuation"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.00569","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.00569"}},"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":"deterministic:regex_extraction","url":"https://github.com/tnurbek/shapfed","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":4,"ran_violates":1},"by_repo_kind":{"official":{"samples":5,"ran":5,"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":"9a322e7632d9132b","entry":"classwise_accuracy","repo":"tnurbek/shapfed","repo_kind":"official","path":"main_cifar10.py","file_url":"https://github.com/tnurbek/shapfed/blob/HEAD/main_cifar10.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":"9a322e7632d9132b"}},{"code_sha256_prefix":"ff381e1e66566414","entry":"generate_data","repo":"tnurbek/shapfed","repo_kind":"official","path":"data_loader.py","file_url":"https://github.com/tnurbek/shapfed/blob/HEAD/data_loader.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":"ff381e1e66566414"}},{"code_sha256_prefix":"3fe93d11be6fa16f","entry":"get_custom_test_loader","repo":"tnurbek/shapfed","repo_kind":"official","path":"data_loader.py","file_url":"https://github.com/tnurbek/shapfed/blob/HEAD/data_loader.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":"3fe93d11be6fa16f"}},{"code_sha256_prefix":"f9c0c32aa1b5bbbc","entry":"get_custom_train_loader","repo":"tnurbek/shapfed","repo_kind":"official","path":"data_loader.py","file_url":"https://github.com/tnurbek/shapfed/blob/HEAD/data_loader.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":"f9c0c32aa1b5bbbc"}},{"code_sha256_prefix":"248284f69adfeaad","entry":"str2bool","repo":"tnurbek/shapfed","repo_kind":"official","path":"config.py","file_url":"https://github.com/tnurbek/shapfed/blob/HEAD/config.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":"248284f69adfeaad"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}