{"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/rethinking-fair-graph-neural-networks-from-re","title":"Rethinking Fair Graph Neural Networks from Re-balancing","arxiv_id":"2407.11624","date":"2024-07-16","proceeding":null,"authors":["ZHIXUN LI","Yushun Dong","Qiang Liu","Jeffrey Xu Yu"],"abstract":"Driven by the powerful representation ability of Graph Neural Networks (GNNs), plentiful GNN models have been widely deployed in many real-world applications. Nevertheless, due to distribution disparities between different demographic groups, fairness in high-stake decision-making systems is receiving increasing attention. Although lots of recent works devoted to improving the fairness of GNNs and achieved considerable success, they all require significant architectural changes or additional loss functions requiring more hyper-parameter tuning. Surprisingly, we find that simple re-balancing methods can easily match or surpass existing fair GNN methods. We claim that the imbalance across different demographic groups is a significant source of unfairness, resulting in imbalanced contributions from each group to the parameters updating. However, these simple re-balancing methods have their own shortcomings during training. In this paper, we propose FairGB, Fair Graph Neural Network via re-Balancing, which mitigates the unfairness of GNNs by group balancing. Technically, FairGB consists of two modules: counterfactual node mixup and contribution alignment loss. Firstly, we select counterfactual pairs across inter-domain and inter-class, and interpolate the ego-networks to generate new samples. Guided by analysis, we can reveal the debiasing mechanism of our model by the causal view and prove that our strategy can make sensitive attributes statistically independent from target labels. Secondly, we reweigh the contribution of each group according to gradients. By combining these two modules, they can mutually promote each other. Experimental results on benchmark datasets show that our method can achieve state-of-the-art results concerning both utility and fairness metrics. Code is available at https://github.com/ZhixunLEE/FairGB.","url_abs":"https://arxiv.org/abs/2407.11624v1","url_pdf":"https://arxiv.org/pdf/2407.11624v1.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":"rethinking-fair-graph-neural-networks-from-re","repo_url":"https://github.com/zhixunlee/fairgb","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":null,"task_name":"counterfactual"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"},{"method_slug":"mixup","method_name":"Mixup"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2407.11624","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.11624"}},"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/zhixunlee/fairgb","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran":4,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":7,"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":"89f67681e037b8bd","entry":"feature_norm","repo":"zhixunlee/fairgb","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/data_utils.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"89f67681e037b8bd"}},{"code_sha256_prefix":"9f8e6445c859c1ad","entry":"get_data_info","repo":"zhixunlee/fairgb","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/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":"9f8e6445c859c1ad"}},{"code_sha256_prefix":"9ed7d6ea040a9619","entry":"index_to_mask","repo":"zhixunlee/fairgb","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ed7d6ea040a9619"}},{"code_sha256_prefix":"b91a123dbb6ccb0e","entry":"saliency_mixup","repo":"zhixunlee/fairgb","repo_kind":"official","path":"mixup.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/mixup.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":"b91a123dbb6ccb0e"}},{"code_sha256_prefix":"add89ac96bd47bdc","entry":"sampling_idx_individual_dst","repo":"zhixunlee/fairgb","repo_kind":"official","path":"mixup.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/mixup.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":"add89ac96bd47bdc"}},{"code_sha256_prefix":"bdc1f1dad6d978e7","entry":"sparse_mx_to_torch_sparse_tensor","repo":"zhixunlee/fairgb","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/data_utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bdc1f1dad6d978e7"}},{"code_sha256_prefix":"ee45556bce3d5091","entry":"get_enc_cls_opt","repo":"zhixunlee/fairgb","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zhixunlee/fairgb/blob/HEAD/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":"ee45556bce3d5091"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}