{"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/gpfl-simultaneously-learning-global-and","title":"GPFL: Simultaneously Learning Global and Personalized Feature Information for Personalized Federated Learning","arxiv_id":"2308.10279","date":"2023-08-20","proceeding":"ICCV 2023 1","authors":["Jianqing Zhang","Yang Hua","Hao Wang","Tao Song","Zhengui Xue","Ruhui Ma","Jian Cao","Haibing Guan"],"abstract":"Federated Learning (FL) is popular for its privacy-preserving and collaborative learning capabilities. Recently, personalized FL (pFL) has received attention for its ability to address statistical heterogeneity and achieve personalization in FL. However, from the perspective of feature extraction, most existing pFL methods only focus on extracting global or personalized feature information during local training, which fails to meet the collaborative learning and personalization goals of pFL. To address this, we propose a new pFL method, named GPFL, to simultaneously learn global and personalized feature information on each client. We conduct extensive experiments on six datasets in three statistically heterogeneous settings and show the superiority of GPFL over ten state-of-the-art methods regarding effectiveness, scalability, fairness, stability, and privacy. Besides, GPFL mitigates overfitting and outperforms the baselines by up to 8.99% in accuracy.","url_abs":"https://arxiv.org/abs/2308.10279v3","url_pdf":"https://arxiv.org/pdf/2308.10279v3.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":"gpfl-simultaneously-learning-global-and","repo_url":"https://github.com/TsingZ0/GPFL","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"gpfl-simultaneously-learning-global-and","repo_url":"https://github.com/TsingZ0/PFL-Non-IID","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"gpfl-simultaneously-learning-global-and","repo_url":"https://github.com/TsingZ0/PFLlib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"gpfl-simultaneously-learning-global-and","repo_url":"https://github.com/hpdic/pfllib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"personalized-federated-learning","task_name":"Personalized Federated Learning"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"}],"methods":[{"method_slug":"focus","method_name":"Focus"},{"method_slug":"gpfl","method_name":"GPFL"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.10279","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.10279"}},"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/TsingZ0/PFL-Non-IID","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TsingZ0/PFLlib","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hpdic/pfllib","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TsingZ0/GPFL","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":2,"ran_draft_wrong":6,"ran_honours":1,"unverified":8},"by_repo_kind":{"official":{"samples":3,"ran":1,"repositories":1},"listed":{"samples":14,"ran":8,"repositories":2}},"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":7,"samples":[{"code_sha256_prefix":"8929ca61a00a2583","entry":"Client","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"8929ca61a00a2583"}},{"code_sha256_prefix":"13727b959b74cb36","entry":"process_Shakespeare","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"13727b959b74cb36"}},{"code_sha256_prefix":"eeaf321abdedfa1f","entry":"process_image","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"eeaf321abdedfa1f"}},{"code_sha256_prefix":"bff598ba2b65008a","entry":"process_text","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"bff598ba2b65008a"}},{"code_sha256_prefix":"7799eb022e517561","entry":"read_client_data","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.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":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7799eb022e517561"}},{"code_sha256_prefix":"10541ee086fd6a62","entry":"read_client_data","repo":"TsingZ0/GPFL","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/GPFL/blob/HEAD/system/utils/data_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":"10541ee086fd6a62"}},{"code_sha256_prefix":"21133f47510f0aa7","entry":"read_client_data_Shakespeare","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.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":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"21133f47510f0aa7"}},{"code_sha256_prefix":"550b82dd9e22c065","entry":"read_client_data_text","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.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":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"550b82dd9e22c065"}},{"code_sha256_prefix":"8eebe137489ff326","entry":"read_data","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8eebe137489ff326"}},{"code_sha256_prefix":"13db9ccc30531592","entry":"DLG","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"13db9ccc30531592"}},{"code_sha256_prefix":"fea4d1bd49a3042c","entry":"GPFL","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"fea4d1bd49a3042c"}},{"code_sha256_prefix":"e93a0125a4576b1a","entry":"Server","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e93a0125a4576b1a"}},{"code_sha256_prefix":"41ee6597f1025216","entry":"clientGPFL","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"41ee6597f1025216"}},{"code_sha256_prefix":"ee5f6af39c3092db","entry":"read_client_data","repo":"TsingZ0/PFL-Non-IID","repo_kind":"listed","path":"system/flcore/clients/clientgpfl.py","file_url":"https://github.com/TsingZ0/PFL-Non-IID/blob/HEAD/system/flcore/clients/clientgpfl.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":"ee5f6af39c3092db"}},{"code_sha256_prefix":"736b76e55626f3c9","entry":"read_client_data_text","repo":"TsingZ0/GPFL","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/GPFL/blob/HEAD/system/utils/data_utils.py","link_basis":"harvester_set","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/GPFL","repo_kind":"official","path":"system/utils/data_utils.py","file_url":"https://github.com/TsingZ0/GPFL/blob/HEAD/system/utils/data_utils.py","link_basis":"harvester_set","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"}},{"code_sha256_prefix":"ec2d71958844cb8f","entry":"read_data","repo":"hpdic/pfllib","repo_kind":"listed","path":"system/flcore/servers/servergpfl.py","file_url":"https://github.com/hpdic/pfllib/blob/HEAD/system/flcore/servers/servergpfl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"ec2d71958844cb8f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}