{"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-neuro-vector-symbolic-architecture-for","title":"A Neuro-vector-symbolic Architecture for Solving Raven's Progressive Matrices","arxiv_id":"2203.04571","date":"2022-03-09","proceeding":null,"authors":["Michael Hersche","Mustafa Zeqiri","Luca Benini","Abu Sebastian","Abbas Rahimi"],"abstract":"Neither deep neural networks nor symbolic AI alone has approached the kind of intelligence expressed in humans. This is mainly because neural networks are not able to decompose joint representations to obtain distinct objects (the so-called binding problem), while symbolic AI suffers from exhaustive rule searches, among other problems. These two problems are still pronounced in neuro-symbolic AI which aims to combine the best of the two paradigms. Here, we show that the two problems can be addressed with our proposed neuro-vector-symbolic architecture (NVSA) by exploiting its powerful operators on high-dimensional distributed representations that serve as a common language between neural networks and symbolic AI. The efficacy of NVSA is demonstrated by solving the Raven's progressive matrices datasets. Compared to state-of-the-art deep neural network and neuro-symbolic approaches, end-to-end training of NVSA achieves a new record of 87.7% average accuracy in RAVEN, and 88.1% in I-RAVEN datasets. Moreover, compared to the symbolic reasoning within the neuro-symbolic approaches, the probabilistic reasoning of NVSA with less expensive operations on the distributed representations is two orders of magnitude faster. Our code is available at https://github.com/IBM/neuro-vector-symbolic-architectures.","url_abs":"https://arxiv.org/abs/2203.04571v2","url_pdf":"https://arxiv.org/pdf/2203.04571v2.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-neuro-vector-symbolic-architecture-for","repo_url":"https://github.com/ibm/neuro-vector-symbolic-architectures","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"a-neuro-vector-symbolic-architecture-for","repo_url":"https://github.com/ibm/neuro-vector-symbolic-architectures-raven","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"logical-reasoning","task_name":"Logical Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2203.04571","atlas_url":"https://app.syntology.ai/?focus=2203.04571","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.04571"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/ibm/neuro-vector-symbolic-architectures","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ibm/neuro-vector-symbolic-architectures-raven","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":7,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"17152312a525b4db","entry":"block_binding2","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/reasoning/vsa_block_utils.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/reasoning/vsa_block_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"17152312a525b4db"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/resnet.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/resnet.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"f34c969e9ba18592","entry":"cosine2pmf","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/reasoning/vsa_block_utils.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/reasoning/vsa_block_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f34c969e9ba18592"}},{"code_sha256_prefix":"a16deb2845a45608","entry":"cyclic_shift","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/reasoning/vsa_block_utils.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/reasoning/vsa_block_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a16deb2845a45608"}},{"code_sha256_prefix":"edc0858c7d6e1d63","entry":"generate_IM","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/metrics.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/metrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"edc0858c7d6e1d63"}},{"code_sha256_prefix":"339da69b4f4ef03f","entry":"get_marginalization_readout","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/metrics.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/metrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"339da69b4f4ef03f"}},{"code_sha256_prefix":"3d9224c206c4cd8e","entry":"log","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/metrics.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/metrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3d9224c206c4cd8e"}},{"code_sha256_prefix":"106a452f641968ae","entry":"resnet18","repo":"ibm/neuro-vector-symbolic-architectures","repo_kind":"official","path":"nvsa/perception/resnet.py","file_url":"https://github.com/ibm/neuro-vector-symbolic-architectures/blob/HEAD/nvsa/perception/resnet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"106a452f641968ae"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}