{"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/uncovering-convolutional-neural-network","title":"Uncovering convolutional neural network decisions for diagnosing multiple sclerosis on conventional MRI using layer-wise relevance propagation","arxiv_id":"1904.08771","date":"2019-04-18","proceeding":null,"authors":["Fabian Eitel","Emily Soehler","Judith Bellmann-Strobl","Alexander U. Brandt","Klemens Ruprecht","René M. Giess","Joseph Kuchling","Susanna Asseyer","Martin Weygandt","John-Dylan Haynes","Michael Scheel","Friedemann Paul","Kerstin Ritter"],"abstract":"Machine learning-based imaging diagnostics has recently reached or even\nsuperseded the level of clinical experts in several clinical domains. However,\nclassification decisions of a trained machine learning system are typically\nnon-transparent, a major hindrance for clinical integration, error tracking or\nknowledge discovery. In this study, we present a transparent deep learning\nframework relying on convolutional neural networks (CNNs) and layer-wise\nrelevance propagation (LRP) for diagnosing multiple sclerosis (MS). MS is\ncommonly diagnosed utilizing a combination of clinical presentation and\nconventional magnetic resonance imaging (MRI), specifically the occurrence and\npresentation of white matter lesions in T2-weighted images. We hypothesized\nthat using LRP in a naive predictive model would enable us to uncover relevant\nimage features that a trained CNN uses for decision-making. Since imaging\nmarkers in MS are well-established this would enable us to validate the\nrespective CNN model. First, we pre-trained a CNN on MRI data from the\nAlzheimer's Disease Neuroimaging Initiative (n = 921), afterwards specializing\nthe CNN to discriminate between MS patients and healthy controls (n = 147).\nUsing LRP, we then produced a heatmap for each subject in the holdout set\ndepicting the voxel-wise relevance for a particular classification decision.\nThe resulting CNN model resulted in a balanced accuracy of 87.04% and an area\nunder the curve of 96.08% in a receiver operating characteristic curve. The\nsubsequent LRP visualization revealed that the CNN model focuses indeed on\nindividual lesions, but also incorporates additional information such as lesion\nlocation, non-lesional white matter or gray matter areas such as the thalamus,\nwhich are established conventional and advanced MRI markers in MS. We conclude\nthat LRP and the proposed framework have the capability to make diagnostic\ndecisions of...","url_abs":"http://arxiv.org/abs/1904.08771v1","url_pdf":"http://arxiv.org/pdf/1904.08771v1.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":"uncovering-convolutional-neural-network","repo_url":"https://github.com/derEitel/explainableMS","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"diagnostic","task_name":"Diagnostic"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"holdout-set","task_name":"Holdout Set"}],"methods":[{"method_slug":"heatmap","method_name":"Heatmap"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.08771","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.08771"}},"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/derEitel/explainableMS","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":"fa3ed38251d6ce1c","entry":"aggregate_regions","repo":"derEitel/explainableMS","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/derEitel/explainableMS/blob/HEAD/plotting.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fa3ed38251d6ce1c"}},{"code_sha256_prefix":"94189c437863450a","entry":"get_labels_dict","repo":"derEitel/explainableMS","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/derEitel/explainableMS/blob/HEAD/plotting.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"94189c437863450a"}},{"code_sha256_prefix":"32e3331be270b358","entry":"heatmap_per_region","repo":"derEitel/explainableMS","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/derEitel/explainableMS/blob/HEAD/plotting.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"32e3331be270b358"}},{"code_sha256_prefix":"1544147db161cef5","entry":"normalize_float","repo":"derEitel/explainableMS","repo_kind":"official","path":"utils.py","file_url":"https://github.com/derEitel/explainableMS/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1544147db161cef5"}},{"code_sha256_prefix":"6af12d906f35a7f9","entry":"specificity","repo":"derEitel/explainableMS","repo_kind":"official","path":"utils.py","file_url":"https://github.com/derEitel/explainableMS/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6af12d906f35a7f9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}