{"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/eliminating-domain-bias-for-federated","title":"Eliminating Domain Bias for Federated Learning in Representation Space","arxiv_id":"2311.14975","date":"2023-11-25","proceeding":"NeurIPS 2023 11","authors":["Jianqing Zhang","Yang Hua","Jian Cao","Hao Wang","Tao Song","Zhengui Xue","Ruhui Ma","Haibing Guan"],"abstract":"Recently, federated learning (FL) is popular for its privacy-preserving and collaborative learning abilities. However, under statistically heterogeneous scenarios, we observe that biased data domains on clients cause a representation bias phenomenon and further degenerate generic representations during local training, i.e., the representation degeneration phenomenon. To address these issues, we propose a general framework Domain Bias Eliminator (DBE) for FL. Our theoretical analysis reveals that DBE can promote bi-directional knowledge transfer between server and client, as it reduces the domain discrepancy between server and client in representation space. Besides, extensive experiments on four datasets show that DBE can greatly improve existing FL methods in both generalization and personalization abilities. The DBE-equipped FL method can outperform ten state-of-the-art personalized FL methods by a large margin. Our code is public at https://github.com/TsingZ0/DBE.","url_abs":"https://arxiv.org/abs/2311.14975v2","url_pdf":"https://arxiv.org/pdf/2311.14975v2.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":"eliminating-domain-bias-for-federated","repo_url":"https://github.com/tsingz0/dbe","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"eliminating-domain-bias-for-federated","repo_url":"https://github.com/TsingZ0/PFLlib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2311.14975","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.14975"}},"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/TsingZ0/DBE","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tsingz0/dbe","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TsingZ0/PFLlib","reach":null}],"summary":{"ran":6,"ran_draft_wrong":5,"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":14,"ran":11,"repositories":1},"listed":{"samples":2,"ran":1,"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":"bcb93a525852f945","entry":"Client","repo":"tsingz0/dbe","repo_kind":"official","path":"system/flcore/clients/clientDBE.py","file_url":"https://github.com/tsingz0/dbe/blob/HEAD/system/flcore/clients/clientDBE.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":"bcb93a525852f945"}},{"code_sha256_prefix":"b34107b395a46a1f","entry":"Client","repo":"TsingZ0/PFLlib","repo_kind":"listed","path":"system/flcore/clients/clientdbe.py","file_url":"https://github.com/TsingZ0/PFLlib/blob/HEAD/system/flcore/clients/clientdbe.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":"b34107b395a46a1f"}},{"code_sha256_prefix":"b215fd88c9a94b27","entry":"DLG","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/utils/dlg.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/utils/dlg.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":"b215fd88c9a94b27"}},{"code_sha256_prefix":"4839e6f3a569f1b9","entry":"alexnet","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/flcore/trainmodel/alexnet.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/flcore/trainmodel/alexnet.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":"4839e6f3a569f1b9"}},{"code_sha256_prefix":"2a80220dabcb742a","entry":"conv1x1","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/flcore/trainmodel/resnet.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/flcore/trainmodel/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2a80220dabcb742a"}},{"code_sha256_prefix":"600ff2c45e0de056","entry":"conv3x3","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/flcore/trainmodel/resnet.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/flcore/trainmodel/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"600ff2c45e0de056"}},{"code_sha256_prefix":"22b172e83bc1a35c","entry":"mobilenet_v2","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/flcore/trainmodel/mobilenet_v2.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/flcore/trainmodel/mobilenet_v2.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":"22b172e83bc1a35c"}},{"code_sha256_prefix":"4946a7bb15ea5717","entry":"psnr","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/utils/dlg.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/utils/dlg.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4946a7bb15ea5717"}},{"code_sha256_prefix":"595b80d1ed9df88b","entry":"read_client_data","repo":"tsingz0/dbe","repo_kind":"official","path":"system/flcore/clients/clientDBE.py","file_url":"https://github.com/tsingz0/dbe/blob/HEAD/system/flcore/clients/clientDBE.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"595b80d1ed9df88b"}},{"code_sha256_prefix":"10541ee086fd6a62","entry":"read_client_data","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/utils/data_utils.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":"10541ee086fd6a62"}},{"code_sha256_prefix":"63f5fae02e590aa7","entry":"read_client_data_Shakespeare","repo":"tsingz0/dbe","repo_kind":"official","path":"system/flcore/clients/clientDBE.py","file_url":"https://github.com/tsingz0/dbe/blob/HEAD/system/flcore/clients/clientDBE.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"63f5fae02e590aa7"}},{"code_sha256_prefix":"62bd3835aba88265","entry":"read_client_data_text","repo":"tsingz0/dbe","repo_kind":"official","path":"system/flcore/clients/clientDBE.py","file_url":"https://github.com/tsingz0/dbe/blob/HEAD/system/flcore/clients/clientDBE.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"62bd3835aba88265"}},{"code_sha256_prefix":"cbbf4025770d2739","entry":"clientDBE","repo":"tsingz0/dbe","repo_kind":"official","path":"system/flcore/clients/clientDBE.py","file_url":"https://github.com/tsingz0/dbe/blob/HEAD/system/flcore/clients/clientDBE.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":"cbbf4025770d2739"}},{"code_sha256_prefix":"65f41de191a63731","entry":"clientDBE","repo":"TsingZ0/PFLlib","repo_kind":"listed","path":"system/flcore/clients/clientdbe.py","file_url":"https://github.com/TsingZ0/PFLlib/blob/HEAD/system/flcore/clients/clientdbe.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":"65f41de191a63731"}},{"code_sha256_prefix":"736b76e55626f3c9","entry":"read_client_data_text","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/utils/data_utils.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":"736b76e55626f3c9"}},{"code_sha256_prefix":"2e468f03b54c3418","entry":"read_data","repo":"TsingZ0/DBE","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/DBE/blob/HEAD/system/utils/data_utils.py","link_basis":"plan_row","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":"2e468f03b54c3418"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}