{"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/exploiting-label-skews-in-federated-learning","title":"Exploiting Label Skews in Federated Learning with Model Concatenation","arxiv_id":"2312.06290","date":"2023-12-11","proceeding":null,"authors":["Yiqun Diao","Qinbin Li","Bingsheng He"],"abstract":"Federated Learning (FL) has emerged as a promising solution to perform deep learning on different data owners without exchanging raw data. However, non-IID data has been a key challenge in FL, which could significantly degrade the accuracy of the final model. Among different non-IID types, label skews have been challenging and common in image classification and other tasks. Instead of averaging the local models in most previous studies, we propose FedConcat, a simple and effective approach that concatenates these local models as the base of the global model to effectively aggregate the local knowledge. To reduce the size of the global model, we adopt the clustering technique to group the clients by their label distributions and collaboratively train a model inside each cluster. We theoretically analyze the advantage of concatenation over averaging by analyzing the information bottleneck of deep neural networks. Experimental results demonstrate that FedConcat achieves significantly higher accuracy than previous state-of-the-art FL methods in various heterogeneous label skew distribution settings and meanwhile has lower communication costs. Our code is publicly available at https://github.com/sjtudyq/FedConcat.","url_abs":"https://arxiv.org/abs/2312.06290v2","url_pdf":"https://arxiv.org/pdf/2312.06290v2.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":"exploiting-label-skews-in-federated-learning","repo_url":"https://github.com/sjtudyq/fedconcat","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2312.06290","atlas_url":"https://app.syntology.ai/?focus=2312.06290","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.06290"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/sjtudyq/fedconcat","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"ran_draft_wrong":2,"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":12,"ran":6,"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":"12bd5533bfdb7334","entry":"constrained_kmeans","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"kmeanslimited.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/kmeanslimited.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12bd5533bfdb7334"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"resnetcifar.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/resnetcifar.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"resnetcifar.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/resnetcifar.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"9becbb1bb6878d86","entry":"default_loader","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9becbb1bb6878d86"}},{"code_sha256_prefix":"ac62432dc5134b0d","entry":"make_layers","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"vggmodel.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/vggmodel.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac62432dc5134b0d"}},{"code_sha256_prefix":"f321f54723433661","entry":"pil_loader","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f321f54723433661"}},{"code_sha256_prefix":"404fb2b2daa1ae78","entry":"accimage_loader","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"404fb2b2daa1ae78"}},{"code_sha256_prefix":"b48dab25d0090bc5","entry":"init_nets","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"experiments-fedconcat-id.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/experiments-fedconcat-id.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b48dab25d0090bc5"}},{"code_sha256_prefix":"fc923635c8da5a60","entry":"init_nets","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"experiments-FeSEM.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/experiments-FeSEM.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc923635c8da5a60"}},{"code_sha256_prefix":"2335d6ae7b4dde0f","entry":"train_net","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"experiments-fedconcat-id.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/experiments-fedconcat-id.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2335d6ae7b4dde0f"}},{"code_sha256_prefix":"a7ab2dc72d80b745","entry":"train_net","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"experiments-FeSEM.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/experiments-FeSEM.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a7ab2dc72d80b745"}},{"code_sha256_prefix":"8f754875fef64e2b","entry":"train_net_ae","repo":"sjtudyq/fedconcat","repo_kind":"official","path":"experiments-fedconcat-id.py","file_url":"https://github.com/sjtudyq/fedconcat/blob/HEAD/experiments-fedconcat-id.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f754875fef64e2b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}