{"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/fair-bilevel-neural-network-fairbinn-on","title":"Fair Bilevel Neural Network (FairBiNN): On Balancing fairness and accuracy via Stackelberg Equilibrium","arxiv_id":"2410.16432","date":"2024-10-21","proceeding":null,"authors":["Mehdi Yazdani-Jahromi","Ali Khodabandeh Yalabadi","Amirarsalan Rajabi","Aida Tayebi","Ivan Garibay","Ozlem Ozmen Garibay"],"abstract":"The persistent challenge of bias in machine learning models necessitates robust solutions to ensure parity and equal treatment across diverse groups, particularly in classification tasks. Current methods for mitigating bias often result in information loss and an inadequate balance between accuracy and fairness. To address this, we propose a novel methodology grounded in bilevel optimization principles. Our deep learning-based approach concurrently optimizes for both accuracy and fairness objectives, and under certain assumptions, achieving proven Pareto optimal solutions while mitigating bias in the trained model. Theoretical analysis indicates that the upper bound on the loss incurred by this method is less than or equal to the loss of the Lagrangian approach, which involves adding a regularization term to the loss function. We demonstrate the efficacy of our model primarily on tabular datasets such as UCI Adult and Heritage Health. When benchmarked against state-of-the-art fairness methods, our model exhibits superior performance, advancing fairness-aware machine learning solutions and bridging the accuracy-fairness gap. The implementation of FairBiNN is available on https://github.com/yazdanimehdi/FairBiNN.","url_abs":"https://arxiv.org/abs/2410.16432v2","url_pdf":"https://arxiv.org/pdf/2410.16432v2.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":"fair-bilevel-neural-network-fairbinn-on","repo_url":"https://github.com/yazdanimehdi/fairbinn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"fair-bilevel-neural-network-fairbinn-on","repo_url":"https://github.com/yazdanimehdi/Distraction_Fairness","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"bilevel-optimization","task_name":"Bilevel Optimization"},{"task_slug":"fairness","task_name":"Fairness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.16432","atlas_url":"https://app.syntology.ai/?focus=2410.16432","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.16432"}},"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":"deterministic:regex_extraction","url":"https://github.com/yazdanimehdi/FairBiNN","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yazdanimehdi/Distraction_Fairness","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yazdanimehdi/fairbinn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":3,"ran_fixture":1,"unverified":14},"by_repo_kind":{"official":{"samples":17,"ran":3,"repositories":1},"listed":{"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":3,"samples":[{"code_sha256_prefix":"c499ae6c68741884","entry":"get_pareto_front","repo":"yazdanimehdi/fairbinn","repo_kind":"official","path":"train_tabular.py","file_url":"https://github.com/yazdanimehdi/fairbinn/blob/HEAD/train_tabular.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c499ae6c68741884"}},{"code_sha256_prefix":"1c46dba6b6061aaa","entry":"AttributeClassifier","repo":"yazdanimehdi/Distraction_Fairness","repo_kind":"listed","path":"model.py","file_url":"https://github.com/yazdanimehdi/Distraction_Fairness/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c46dba6b6061aaa"}},{"code_sha256_prefix":"1efa65eedfc30d0f","entry":"AttributeClassifierAblation","repo":"yazdanimehdi/fairbinn","repo_kind":"official","path":"models/tabular.py","file_url":"https://github.com/yazdanimehdi/fairbinn/blob/HEAD/models/tabular.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1efa65eedfc30d0f"}},{"code_sha256_prefix":"687fd6594c87ed5b","entry":"MultiHeadAttention","repo":"yazdanimehdi/Distraction_Fairness","repo_kind":"listed","path":"model.py","file_url":"https://github.com/yazdanimehdi/Distraction_Fairness/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"687fd6594c87ed5b"}},{"code_sha256_prefix":"296c6f442ab98eb3","entry":"domination","repo":"yazdanimehdi/fairbinn","repo_kind":"official","path":"train_tabular.py","file_url":"https://github.com/yazdanimehdi/fairbinn/blob/HEAD/train_tabular.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"296c6f442ab98eb3"}},{"code_sha256_prefix":"3590e425c7c27d55","entry":"scaled_dot_product","repo":"yazdanimehdi/Distraction_Fairness","repo_kind":"listed","path":"model.py","file_url":"https://github.com/yazdanimehdi/Distraction_Fairness/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3590e425c7c27d55"}},{"code_sha256_prefix":"8247882e107084b3","entry":"dataset_construction","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"models/vision.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/models/vision.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":"8247882e107084b3"}},{"code_sha256_prefix":"91a155461a8b47ea","entry":"demographic_parity_difference_soft","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/metrics.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":"91a155461a8b47ea"}},{"code_sha256_prefix":"42d9f9502b5a309f","entry":"demographic_parity_ratio_soft","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/metrics.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":"42d9f9502b5a309f"}},{"code_sha256_prefix":"949a08f0162e758d","entry":"education_func","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"data_loading/load_adult.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/data_loading/load_adult.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":"949a08f0162e758d"}},{"code_sha256_prefix":"19be62d06f0eec5f","entry":"encode_onehot","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"utils.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/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":"19be62d06f0eec5f"}},{"code_sha256_prefix":"2177e2a3db468eee","entry":"fair_metric","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"train_graph.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/train_graph.py","link_basis":"plan_row","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":"2177e2a3db468eee"}},{"code_sha256_prefix":"b15f7a302a6462cc","entry":"fwd_pass","repo":"yazdanimehdi/fairbinn","repo_kind":"official","path":"train_tabular.py","file_url":"https://github.com/yazdanimehdi/fairbinn/blob/HEAD/train_tabular.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":"b15f7a302a6462cc"}},{"code_sha256_prefix":"b5e02eb6ccb5958c","entry":"fwd_pass","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"models/vision.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/models/vision.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":"b5e02eb6ccb5958c"}},{"code_sha256_prefix":"45506eb048d6e3a1","entry":"gather_labels","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"data_loading/load_health.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/data_loading/load_health.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":"45506eb048d6e3a1"}},{"code_sha256_prefix":"ba042693993b4109","entry":"load_data","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"utils.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/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":"ba042693993b4109"}},{"code_sha256_prefix":"5ec0c9199119dc47","entry":"load_pokec","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"utils.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/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":"5ec0c9199119dc47"}},{"code_sha256_prefix":"75fabfad2b5e38a5","entry":"marital_func","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"data_loading/load_adult.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/data_loading/load_adult.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":"75fabfad2b5e38a5"}},{"code_sha256_prefix":"b3e810bc6ecacc34","entry":"test_func","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"models/vision.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/models/vision.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":"b3e810bc6ecacc34"}},{"code_sha256_prefix":"aaed6266b7af872f","entry":"work_func","repo":"yazdanimehdi/FairBiNN","repo_kind":"official","path":"data_loading/load_adult.py","file_url":"https://github.com/yazdanimehdi/FairBiNN/blob/HEAD/data_loading/load_adult.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":"aaed6266b7af872f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}