{"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/multi-center-federated-learning","title":"Multi-Center Federated Learning: Clients Clustering for Better Personalization","arxiv_id":"2005.01026","date":"2020-05-03","proceeding":null,"authors":["Guodong Long","Ming Xie","Tao Shen","Tianyi Zhou","Xianzhi Wang","Jing Jiang","Chengqi Zhang"],"abstract":"Federated learning has received great attention for its capability to train a large-scale model in a decentralized manner without needing to access user data directly. It helps protect the users' private data from centralized collecting. Unlike distributed machine learning, federated learning aims to tackle non-IID data from heterogeneous sources in various real-world applications, such as those on smartphones. Existing federated learning approaches usually adopt a single global model to capture the shared knowledge of all users by aggregating their gradients, regardless of the discrepancy between their data distributions. However, due to the diverse nature of user behaviors, assigning users' gradients to different global models (i.e., centers) can better capture the heterogeneity of data distributions across users. Our paper proposes a novel multi-center aggregation mechanism for federated learning, which learns multiple global models from the non-IID user data and simultaneously derives the optimal matching between users and centers. We formulate the problem as a joint optimization that can be efficiently solved by a stochastic expectation maximization (EM) algorithm. Our experimental results on benchmark datasets show that our method outperforms several popular federated learning methods.","url_abs":"https://arxiv.org/abs/2005.01026v3","url_pdf":"https://arxiv.org/pdf/2005.01026v3.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":"multi-center-federated-learning","repo_url":"https://github.com/mingxuts/multi-center-fed-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"multi-center-federated-learning","repo_url":"https://github.com/morningD/GrouProx","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"multi-center-federated-learning","repo_url":"https://github.com/morningd/flexcfl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2005.01026","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2005.01026"}},"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/mingxuts/multi-center-fed-learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/morningD/GrouProx","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/morningd/flexcfl","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"ran_honours":2},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":"b4d1b921b49cfd86","entry":"client_model_factory_fn","repo":"mingxuts/multi-center-fed-learning","repo_kind":"official","path":"all_baselines/fed-cluster/models/fedcluster.py","file_url":"https://github.com/mingxuts/multi-center-fed-learning/blob/HEAD/all_baselines/fed-cluster/models/fedcluster.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b4d1b921b49cfd86"}},{"code_sha256_prefix":"b3d657e0309bf67d","entry":"get_similarity","repo":"mingxuts/multi-center-fed-learning","repo_kind":"official","path":"all_baselines/fed-cluster/models/fedcluster.py","file_url":"https://github.com/mingxuts/multi-center-fed-learning/blob/HEAD/all_baselines/fed-cluster/models/fedcluster.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b3d657e0309bf67d"}},{"code_sha256_prefix":"c05f9655534eb098","entry":"relabel_class","repo":"mingxuts/multi-center-fed-learning","repo_kind":"official","path":"all_baselines/fed-cluster/data/femnist/preprocess/data_to_json.py","file_url":"https://github.com/mingxuts/multi-center-fed-learning/blob/HEAD/all_baselines/fed-cluster/data/femnist/preprocess/data_to_json.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c05f9655534eb098"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}