{"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/explainable-brain-age-prediction-using","title":"Explainable Brain Age Prediction using coVariance Neural Networks","arxiv_id":"2305.18370","date":"2023-05-27","proceeding":"NeurIPS 2023 11","authors":["Saurabh Sihag","Gonzalo Mateos","Corey McMillan","Alejandro Ribeiro"],"abstract":"In computational neuroscience, there has been an increased interest in developing machine learning algorithms that leverage brain imaging data to provide estimates of \"brain age\" for an individual. Importantly, the discordance between brain age and chronological age (referred to as \"brain age gap\") can capture accelerated aging due to adverse health conditions and therefore, can reflect increased vulnerability towards neurological disease or cognitive impairments. However, widespread adoption of brain age for clinical decision support has been hindered due to lack of transparency and methodological justifications in most existing brain age prediction algorithms. In this paper, we leverage coVariance neural networks (VNN) to propose an explanation-driven and anatomically interpretable framework for brain age prediction using cortical thickness features. Specifically, our brain age prediction framework extends beyond the coarse metric of brain age gap in Alzheimer's disease (AD) and we make two important observations: (i) VNNs can assign anatomical interpretability to elevated brain age gap in AD by identifying contributing brain regions, (ii) the interpretability offered by VNNs is contingent on their ability to exploit specific eigenvectors of the anatomical covariance matrix. Together, these observations facilitate an explainable and anatomically interpretable perspective to the task of brain age prediction.","url_abs":"https://arxiv.org/abs/2305.18370v3","url_pdf":"https://arxiv.org/pdf/2305.18370v3.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":"explainable-brain-age-prediction-using","repo_url":"https://github.com/sihags/vnn_brain_age","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.18370","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.18370"}},"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":"deterministic:regex_extraction","url":"https://github.com/sihags/VNN_Brain_Age","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sihags/vnn_brain_age","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":1,"ran_fixture":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"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":4,"samples":[{"code_sha256_prefix":"c49d165be0c33fef","entry":"GraphFilter","repo":"sihags/vnn_brain_age","repo_kind":"official","path":"Modules/VNN_archit.py","file_url":"https://github.com/sihags/vnn_brain_age/blob/HEAD/Modules/VNN_archit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c49d165be0c33fef"}},{"code_sha256_prefix":"6d0896b0e3e846ea","entry":"LSIGF","repo":"sihags/vnn_brain_age","repo_kind":"official","path":"Modules/VNN_archit.py","file_url":"https://github.com/sihags/vnn_brain_age/blob/HEAD/Modules/VNN_archit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"6d0896b0e3e846ea"}},{"code_sha256_prefix":"1954ef73e2e3d18b","entry":"changeDataType","repo":"sihags/vnn_brain_age","repo_kind":"official","path":"Modules/VNN_archit.py","file_url":"https://github.com/sihags/vnn_brain_age/blob/HEAD/Modules/VNN_archit.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1954ef73e2e3d18b"}},{"code_sha256_prefix":"81177ed1b89fe62d","entry":"SelectionGNN","repo":"sihags/vnn_brain_age","repo_kind":"official","path":"Modules/VNN_archit.py","file_url":"https://github.com/sihags/vnn_brain_age/blob/HEAD/Modules/VNN_archit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"81177ed1b89fe62d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}