{"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/axiom-based-grad-cam-towards-accurate","title":"Axiom-based Grad-CAM: Towards Accurate Visualization and Explanation of CNNs","arxiv_id":"2008.02312","date":"2020-08-05","proceeding":null,"authors":["Ruigang Fu","Qingyong Hu","Xiaohu Dong","Yulan Guo","Yinghui Gao","Biao Li"],"abstract":"To have a better understanding and usage of Convolution Neural Networks (CNNs), the visualization and interpretation of CNNs has attracted increasing attention in recent years. In particular, several Class Activation Mapping (CAM) methods have been proposed to discover the connection between CNN's decision and image regions. In spite of the reasonable visualization, lack of clear and sufficient theoretical support is the main limitation of these methods. In this paper, we introduce two axioms -- Conservation and Sensitivity -- to the visualization paradigm of the CAM methods. Meanwhile, a dedicated Axiom-based Grad-CAM (XGrad-CAM) is proposed to satisfy these axioms as much as possible. Experiments demonstrate that XGrad-CAM is an enhanced version of Grad-CAM in terms of conservation and sensitivity. It is able to achieve better visualization performance than Grad-CAM, while also be class-discriminative and easy-to-implement compared with Grad-CAM++ and Ablation-CAM. The code is available at https://github.com/Fu0511/XGrad-CAM.","url_abs":"https://arxiv.org/abs/2008.02312v4","url_pdf":"https://arxiv.org/pdf/2008.02312v4.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":"axiom-based-grad-cam-towards-accurate","repo_url":"https://github.com/Fu0511/XGrad-CAM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"axiom-based-grad-cam-towards-accurate","repo_url":"https://github.com/frgfm/torch-cam","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"axiom-based-grad-cam-towards-accurate","repo_url":"https://github.com/jacobgil/pytorch-grad-cam","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"sensitivity","task_name":"Sensitivity"}],"methods":[{"method_slug":"adagrad","method_name":"AdaGrad"},{"method_slug":"cam","method_name":"CAM"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"xgrad-cam","method_name":"XGrad-CAM"}],"datasets_introduced":[],"methods_introduced":[{"slug":"xgrad-cam","name":"XGrad-CAM","full_name":"XGrad-CAM"}],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2008.02312","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.02312"}},"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/jacobgil/pytorch-grad-cam","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Fu0511/XGrad-CAM","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/frgfm/torch-cam","reach":null}],"summary":{"ran_fixture":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"8f036bac02d82603","entry":"preprocess_image","repo":"Fu0511/XGrad-CAM","repo_kind":"official","path":"XGrad-CAM.py","file_url":"https://github.com/Fu0511/XGrad-CAM/blob/HEAD/XGrad-CAM.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f036bac02d82603"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}