{"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/explanations-can-be-manipulated-and-geometry","title":"Explanations can be manipulated and geometry is to blame","arxiv_id":"1906.07983","date":"2019-06-19","proceeding":"NeurIPS 2019 12","authors":["Ann-Kathrin Dombrowski","Maximilian Alber","Christopher J. Anders","Marcel Ackermann","Klaus-Robert Müller","Pan Kessel"],"abstract":"Explanation methods aim to make neural networks more trustworthy and interpretable. In this paper, we demonstrate a property of explanation methods which is disconcerting for both of these purposes. Namely, we show that explanations can be manipulated arbitrarily by applying visually hardly perceptible perturbations to the input that keep the network's output approximately constant. We establish theoretically that this phenomenon can be related to certain geometrical properties of neural networks. This allows us to derive an upper bound on the susceptibility of explanations to manipulations. Based on this result, we propose effective mechanisms to enhance the robustness of explanations.","url_abs":"https://arxiv.org/abs/1906.07983v2","url_pdf":"https://arxiv.org/pdf/1906.07983v2.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":"explanations-can-be-manipulated-and-geometry","repo_url":"https://github.com/pankessel/explanations_can_be_manipulated","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"explanations-can-be-manipulated-and-geometry","repo_url":"https://github.com/p16i/explanations_can_be_manipulated","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1906.07983","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.07983"}},"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/p16i/explanations_can_be_manipulated","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pankessel/explanations_can_be_manipulated","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_violates":1,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1},"listed":{"samples":2,"ran":2,"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":"76bef59a097a239a","entry":"get_beta","repo":"p16i/explanations_can_be_manipulated","repo_kind":"listed","path":"src/run_attack.py","file_url":"https://github.com/p16i/explanations_can_be_manipulated/blob/HEAD/src/run_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"76bef59a097a239a"}},{"code_sha256_prefix":"d81efb3e8e25b1c3","entry":"get_label_ix_from_nsid","repo":"p16i/explanations_can_be_manipulated","repo_kind":"listed","path":"src/run_attack.py","file_url":"https://github.com/p16i/explanations_can_be_manipulated/blob/HEAD/src/run_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d81efb3e8e25b1c3"}},{"code_sha256_prefix":"3fc9f581b5e17469","entry":"clamp","repo":"pankessel/explanations_can_be_manipulated","repo_kind":"official","path":"src/nn/utils.py","file_url":"https://github.com/pankessel/explanations_can_be_manipulated/blob/HEAD/src/nn/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3fc9f581b5e17469"}},{"code_sha256_prefix":"d4cc104cad96dfd0","entry":"get_expl","repo":"pankessel/explanations_can_be_manipulated","repo_kind":"official","path":"src/nn/utils.py","file_url":"https://github.com/pankessel/explanations_can_be_manipulated/blob/HEAD/src/nn/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d4cc104cad96dfd0"}},{"code_sha256_prefix":"edebbcde61e1bbc1","entry":"load_image","repo":"pankessel/explanations_can_be_manipulated","repo_kind":"official","path":"src/nn/utils.py","file_url":"https://github.com/pankessel/explanations_can_be_manipulated/blob/HEAD/src/nn/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"edebbcde61e1bbc1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}