{"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/individual-fairness-guarantees-for-neural","title":"Individual Fairness Guarantees for Neural Networks","arxiv_id":"2205.05763","date":"2022-05-11","proceeding":null,"authors":["Elias Benussi","Andrea Patane","Matthew Wicker","Luca Laurenti","Marta Kwiatkowska"],"abstract":"We consider the problem of certifying the individual fairness (IF) of feed-forward neural networks (NNs). In particular, we work with the $\\epsilon$-$\\delta$-IF formulation, which, given a NN and a similarity metric learnt from data, requires that the output difference between any pair of $\\epsilon$-similar individuals is bounded by a maximum decision tolerance $\\delta \\geq 0$. Working with a range of metrics, including the Mahalanobis distance, we propose a method to overapproximate the resulting optimisation problem using piecewise-linear functions to lower and upper bound the NN's non-linearities globally over the input space. We encode this computation as the solution of a Mixed-Integer Linear Programming problem and demonstrate that it can be used to compute IF guarantees on four datasets widely used for fairness benchmarking. We show how this formulation can be used to encourage models' fairness at training time by modifying the NN loss, and empirically confirm our approach yields NNs that are orders of magnitude fairer than state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2205.05763v1","url_pdf":"https://arxiv.org/pdf/2205.05763v1.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":"individual-fairness-guarantees-for-neural","repo_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"fairness","task_name":"Fairness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2205.05763","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.05763"}},"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/eliasbenussi/nn-cert-individual-fairness","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"034accda1c28c7b8","entry":"compl_svd_projector","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/SenSR.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/SenSR.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":"034accda1c28c7b8"}},{"code_sha256_prefix":"be16d70449f8dac6","entry":"considered_paths","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"certification_experiments.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/certification_experiments.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":"be16d70449f8dac6"}},{"code_sha256_prefix":"78b0a063868409f0","entry":"fair_dist","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/SenSR.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/SenSR.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":"78b0a063868409f0"}},{"code_sha256_prefix":"f5a5df8e0db2140a","entry":"learn_sensitive_hyperplane_cat","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/sensitive_subspace.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/sensitive_subspace.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":"f5a5df8e0db2140a"}},{"code_sha256_prefix":"ae96aacd2101aca8","entry":"learn_sensitive_hyperplane_num","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/sensitive_subspace.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/sensitive_subspace.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":"ae96aacd2101aca8"}},{"code_sha256_prefix":"b8bc8c3fd1cac4d8","entry":"stack_weights","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/sensitive_subspace.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/sensitive_subspace.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":"b8bc8c3fd1cac4d8"}},{"code_sha256_prefix":"06fe887d57990942","entry":"weight_variable","repo":"eliasbenussi/nn-cert-individual-fairness","repo_kind":"official","path":"training/SenSR.py","file_url":"https://github.com/eliasbenussi/nn-cert-individual-fairness/blob/HEAD/training/SenSR.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":"06fe887d57990942"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}