{"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/formalising-the-robustness-of-counterfactual","title":"Formalising the Robustness of Counterfactual Explanations for Neural Networks","arxiv_id":"2208.14878","date":"2022-08-31","proceeding":null,"authors":["Junqi Jiang","Francesco Leofante","Antonio Rago","Francesca Toni"],"abstract":"The use of counterfactual explanations (CFXs) is an increasingly popular explanation strategy for machine learning models. However, recent studies have shown that these explanations may not be robust to changes in the underlying model (e.g., following retraining), which raises questions about their reliability in real-world applications. Existing attempts towards solving this problem are heuristic, and the robustness to model changes of the resulting CFXs is evaluated with only a small number of retrained models, failing to provide exhaustive guarantees. To remedy this, we propose {\\Delta}-robustness, the first notion to formally and deterministically assess the robustness (to model changes) of CFXs for neural networks. We introduce an abstraction framework based on interval neural networks to verify the {\\Delta}-robustness of CFXs against a possibly infinite set of changes to the model parameters, i.e., weights and biases. We then demonstrate the utility of this approach in two distinct ways. First, we analyse the {\\Delta}-robustness of a number of CFX generation methods from the literature and show that they unanimously host significant deficiencies in this regard. Second, we demonstrate how embedding {\\Delta}-robustness within existing methods can provide CFXs which are provably robust.","url_abs":"https://arxiv.org/abs/2208.14878v3","url_pdf":"https://arxiv.org/pdf/2208.14878v3.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":"formalising-the-robustness-of-counterfactual","repo_url":"https://github.com/junqi-jiang/robust-ce-inn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":null,"task_name":"counterfactual"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2208.14878","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.14878"}},"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/junqi-jiang/robust-ce-inn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"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":"10253e6c9c606145","entry":"get_flattened_weight_and_bias","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"expnns/utilexp.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/expnns/utilexp.py","link_basis":"harvester_set","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":"10253e6c9c606145"}},{"code_sha256_prefix":"8124d84c08229694","entry":"inf_norm","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"expnns/utilexp.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/expnns/utilexp.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8124d84c08229694"}},{"code_sha256_prefix":"02194744a414b6c1","entry":"inf_norm_percentage","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"expnns/utilexp.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/expnns/utilexp.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02194744a414b6c1"}},{"code_sha256_prefix":"995a8b040ba4f45b","entry":"l1_cost","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"roar/recourse_utils.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/roar/recourse_utils.py","link_basis":"harvester_set","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":"995a8b040ba4f45b"}},{"code_sha256_prefix":"1220ab0686583ca1","entry":"recourse_needed","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"roar/recourse_utils.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/roar/recourse_utils.py","link_basis":"harvester_set","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":"1220ab0686583ca1"}},{"code_sha256_prefix":"8da9ab5a43ef24ce","entry":"recourse_validity","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"roar/recourse_utils.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/roar/recourse_utils.py","link_basis":"harvester_set","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":"8da9ab5a43ef24ce"}},{"code_sha256_prefix":"44b754c422204a2d","entry":"counterfactual_recourse","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"roar/recourse_methods.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/roar/recourse_methods.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":"44b754c422204a2d"}},{"code_sha256_prefix":"ddf3e6c7f6112481","entry":"min_max_scale","repo":"junqi-jiang/robust-ce-inn","repo_kind":"official","path":"expnns/preprocessor.py","file_url":"https://github.com/junqi-jiang/robust-ce-inn/blob/HEAD/expnns/preprocessor.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":"ddf3e6c7f6112481"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}