{"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/learning-task-general-representations-with","title":"Learning Task-General Representations with Generative Neuro-Symbolic Modeling","arxiv_id":"2006.14448","date":"2020-06-25","proceeding":"ICLR 2021 1","authors":["Reuben Feinman","Brenden M. Lake"],"abstract":"People can learn rich, general-purpose conceptual representations from only raw perceptual inputs. Current machine learning approaches fall well short of these human standards, although different modeling traditions often have complementary strengths. Symbolic models can capture the compositional and causal knowledge that enables flexible generalization, but they struggle to learn from raw inputs, relying on strong abstractions and simplifying assumptions. Neural network models can learn directly from raw data, but they struggle to capture compositional and causal structure and typically must retrain to tackle new tasks. We bring together these two traditions to learn generative models of concepts that capture rich compositional and causal structure, while learning from raw data. We develop a generative neuro-symbolic (GNS) model of handwritten character concepts that uses the control flow of a probabilistic program, coupled with symbolic stroke primitives and a symbolic image renderer, to represent the causal and compositional processes by which characters are formed. The distributions of parts (strokes), and correlations between parts, are modeled with neural network subroutines, allowing the model to learn directly from raw data and express nonparametric statistical relationships. We apply our model to the Omniglot challenge of human-level concept learning, using a background set of alphabets to learn an expressive prior distribution over character drawings. In a subsequent evaluation, our GNS model uses probabilistic inference to learn rich conceptual representations from a single training image that generalize to 4 unique tasks, succeeding where previous work has fallen short.","url_abs":"https://arxiv.org/abs/2006.14448v2","url_pdf":"https://arxiv.org/pdf/2006.14448v2.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":"learning-task-general-representations-with","repo_url":"https://github.com/rfeinman/GNS-Modeling","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.14448","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.14448"}},"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/rfeinman/GNS-Modeling","reach":null}],"summary":{"ran_draft_wrong":1,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":5,"ran":2,"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":5,"samples":[{"code_sha256_prefix":"bd12ef44930f26ad","entry":"blur_tuning_single","repo":"rfeinman/GNS-Modeling","repo_kind":"official","path":"gns/inference/optimization/optimize.py","file_url":"https://github.com/rfeinman/GNS-Modeling/blob/HEAD/gns/inference/optimization/optimize.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bd12ef44930f26ad"}},{"code_sha256_prefix":"52f764c95e75a65a","entry":"convert_space","repo":"rfeinman/GNS-Modeling","repo_kind":"official","path":"experiments/generate_concepts/generate.py","file_url":"https://github.com/rfeinman/GNS-Modeling/blob/HEAD/experiments/generate_concepts/generate.py","link_basis":"first_harvest_node","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":"52f764c95e75a65a"}},{"code_sha256_prefix":"b923e1b04bfb38f7","entry":"array_step","repo":"rfeinman/GNS-Modeling","repo_kind":"official","path":"experiments/classification/run_classification.py","file_url":"https://github.com/rfeinman/GNS-Modeling/blob/HEAD/experiments/classification/run_classification.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b923e1b04bfb38f7"}},{"code_sha256_prefix":"5fcdee70fae7068c","entry":"optimize_parse","repo":"rfeinman/GNS-Modeling","repo_kind":"official","path":"gns/inference/optimization/optimize.py","file_url":"https://github.com/rfeinman/GNS-Modeling/blob/HEAD/gns/inference/optimization/optimize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5fcdee70fae7068c"}},{"code_sha256_prefix":"17a154c6e964957a","entry":"optimize_parselist","repo":"rfeinman/GNS-Modeling","repo_kind":"official","path":"gns/inference/optimization/optimize.py","file_url":"https://github.com/rfeinman/GNS-Modeling/blob/HEAD/gns/inference/optimization/optimize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"17a154c6e964957a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}