{"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/lr-xfl-logical-reasoning-based-explainable","title":"LR-XFL: Logical Reasoning-based Explainable Federated Learning","arxiv_id":"2308.12681","date":"2023-08-24","proceeding":null,"authors":["Yanci Zhang","Han Yu"],"abstract":"Federated learning (FL) is an emerging approach for training machine learning models collaboratively while preserving data privacy. The need for privacy protection makes it difficult for FL models to achieve global transparency and explainability. To address this limitation, we incorporate logic-based explanations into FL by proposing the Logical Reasoning-based eXplainable Federated Learning (LR-XFL) approach. Under LR-XFL, FL clients create local logic rules based on their local data and send them, along with model updates, to the FL server. The FL server connects the local logic rules through a proper logical connector that is derived based on properties of client data, without requiring access to the raw data. In addition, the server also aggregates the local model updates with weight values determined by the quality of the clients' local data as reflected by their uploaded logic rules. The results show that LR-XFL outperforms the most relevant baseline by 1.19%, 5.81% and 5.41% in terms of classification accuracy, rule accuracy and rule fidelity, respectively. The explicit rule evaluation and expression under LR-XFL enable human experts to validate and correct the rules on the server side, hence improving the global FL model's robustness to errors. It has the potential to enhance the transparency of FL models for areas like healthcare and finance where both data privacy and explainability are important.","url_abs":"https://arxiv.org/abs/2308.12681v2","url_pdf":"https://arxiv.org/pdf/2308.12681v2.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":"lr-xfl-logical-reasoning-based-explainable","repo_url":"https://github.com/yanci87/lr-xfl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"logical-reasoning","task_name":"Logical Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.12681","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.12681"}},"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/yanci87/lr-xfl","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":8,"ran":4,"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":"4a2b261c9aa1cd96","entry":"average_weights_class","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/utils.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":"4a2b261c9aa1cd96"}},{"code_sha256_prefix":"b87b1314a37f79af","entry":"replace_names","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/cub_tree.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/cub_tree.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":"b87b1314a37f79af"}},{"code_sha256_prefix":"0772a859a01b31ac","entry":"tree_rules","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/cub_tree.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/cub_tree.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":"0772a859a01b31ac"}},{"code_sha256_prefix":"3ad5dfe0c16fea02","entry":"weighted_weights","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/utils.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":"3ad5dfe0c16fea02"}},{"code_sha256_prefix":"f78af8bb07ffd223","entry":"average_weights","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/utils.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":"f78af8bb07ffd223"}},{"code_sha256_prefix":"453bfdf84ccf9cbe","entry":"client_selection_class","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/global_logic_aggregate.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/global_logic_aggregate.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":"453bfdf84ccf9cbe"}},{"code_sha256_prefix":"d4e8a08214dd207c","entry":"global_decision_tree_select","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/cub_tree.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/cub_tree.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":"d4e8a08214dd207c"}},{"code_sha256_prefix":"112f2aa7445ee616","entry":"local_train","repo":"yanci87/lr-xfl","repo_kind":"official","path":"experiments/local_training.py","file_url":"https://github.com/yanci87/lr-xfl/blob/HEAD/experiments/local_training.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":"112f2aa7445ee616"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}