{"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/a-rate-distortion-framework-for-explaining","title":"A Rate-Distortion Framework for Explaining Neural Network Decisions","arxiv_id":"1905.11092","date":"2019-05-27","proceeding":null,"authors":["Jan Macdonald","Stephan Wäldchen","Sascha Hauch","Gitta Kutyniok"],"abstract":"We formalise the widespread idea of interpreting neural network decisions as an explicit optimisation problem in a rate-distortion framework. A set of input features is deemed relevant for a classification decision if the expected classifier score remains nearly constant when randomising the remaining features. We discuss the computational complexity of finding small sets of relevant features and show that the problem is complete for $\\mathsf{NP}^\\mathsf{PP}$, an important class of computational problems frequently arising in AI tasks. Furthermore, we show that it even remains $\\mathsf{NP}$-hard to only approximate the optimal solution to within any non-trivial approximation factor. Finally, we consider a continuous problem relaxation and develop a heuristic solution strategy based on assumed density filtering for deep ReLU neural networks. We present numerical experiments for two image classification data sets where we outperform established methods in particular for sparse explanations of neural network decisions.","url_abs":"https://arxiv.org/abs/1905.11092v1","url_pdf":"https://arxiv.org/pdf/1905.11092v1.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":"a-rate-distortion-framework-for-explaining","repo_url":"https://github.com/jmaces/rde","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"a-rate-distortion-framework-for-explaining","repo_url":"https://github.com/zib-iol/fw-rde","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"relu","method_name":"ReLU"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.11092","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.11092"}},"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/zib-iol/fw-rde","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jmaces/rde","reach":null}],"summary":{"ran_fixture":1,"unverified":7},"by_repo_kind":{"listed":{"samples":8,"ran":1,"repositories":2}},"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":"4558ecf69513fe72","entry":"mapping_to_ordering","repo":"jmaces/rde","repo_kind":"listed","path":"stl10/pixelflip.py","file_url":"https://github.com/jmaces/rde/blob/HEAD/stl10/pixelflip.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4558ecf69513fe72"}},{"code_sha256_prefix":"64997add86bde233","entry":"distortion_test","repo":"jmaces/rde","repo_kind":"listed","path":"stl10/pixelflip.py","file_url":"https://github.com/jmaces/rde/blob/HEAD/stl10/pixelflip.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":"64997add86bde233"}},{"code_sha256_prefix":"0b42d7f14242a5d2","entry":"distortion_test","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"mnist/pixelflip.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/mnist/pixelflip.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":"0b42d7f14242a5d2"}},{"code_sha256_prefix":"eca26bb9f9d59663","entry":"load_generator","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"mnist/instances.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/mnist/instances.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":"eca26bb9f9d59663"}},{"code_sha256_prefix":"1a58965322bdce05","entry":"load_model","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"mnist/models.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/mnist/models.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":"1a58965322bdce05"}},{"code_sha256_prefix":"84c10934bc2de02c","entry":"load_model","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"stl10/models.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/stl10/models.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":"84c10934bc2de02c"}},{"code_sha256_prefix":"7992eead5cc0cfa9","entry":"load_statistics","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"mnist/instances.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/mnist/instances.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":"7992eead5cc0cfa9"}},{"code_sha256_prefix":"6439167f97ab00e5","entry":"load_statistics","repo":"zib-iol/fw-rde","repo_kind":"listed","path":"stl10/instances.py","file_url":"https://github.com/zib-iol/fw-rde/blob/HEAD/stl10/instances.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":"6439167f97ab00e5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}