{"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/generative-neurosymbolic-machines","title":"Generative Neurosymbolic Machines","arxiv_id":"2010.12152","date":"2020-10-23","proceeding":"NeurIPS 2020 12","authors":["Jindong Jiang","Sungjin Ahn"],"abstract":"Reconciling symbolic and distributed representations is a crucial challenge that can potentially resolve the limitations of current deep learning. Remarkable advances in this direction have been achieved recently via generative object-centric representation models. While learning a recognition model that infers object-centric symbolic representations like bounding boxes from raw images in an unsupervised way, no such model can provide another important ability of a generative model, i.e., generating (sampling) according to the structure of learned world density. In this paper, we propose Generative Neurosymbolic Machines, a generative model that combines the benefits of distributed and symbolic representations to support both structured representations of symbolic components and density-based generation. These two crucial properties are achieved by a two-layer latent hierarchy with the global distributed latent for flexible density modeling and the structured symbolic latent map. To increase the model flexibility in this hierarchical structure, we also propose the StructDRAW prior. In experiments, we show that the proposed model significantly outperforms the previous structured representation models as well as the state-of-the-art non-structured generative models in terms of both structure accuracy and image generation quality. Our code, datasets, and trained models are available at https://github.com/JindongJiang/GNM","url_abs":"https://arxiv.org/abs/2010.12152v2","url_pdf":"https://arxiv.org/pdf/2010.12152v2.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":"generative-neurosymbolic-machines","repo_url":"https://github.com/JindongJiang/GNM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2010.12152","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.12152"}},"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/JindongJiang/GNM","reach":null}],"summary":{"ran":9,"ran_honours":1,"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":15,"ran":11,"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":15,"samples":[{"code_sha256_prefix":"465d22414fbd10c7","entry":"BgDecoder","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"465d22414fbd10c7"}},{"code_sha256_prefix":"7ee0e8d7225c23e8","entry":"BgEncoder","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7ee0e8d7225c23e8"}},{"code_sha256_prefix":"0d5dc37951078f23","entry":"BgGenerator","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0d5dc37951078f23"}},{"code_sha256_prefix":"dc62fd89db6a550b","entry":"ConvLSTMCell","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"dc62fd89db6a550b"}},{"code_sha256_prefix":"b005498a1c4e01a6","entry":"ImgEncoder","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b005498a1c4e01a6"}},{"code_sha256_prefix":"b51569bc71187a76","entry":"LocalLatentDecoder","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b51569bc71187a76"}},{"code_sha256_prefix":"af74142e12c71c55","entry":"StackConvNorm","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"af74142e12c71c55"}},{"code_sha256_prefix":"aa355ba7eec36ff4","entry":"StackMLP","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"aa355ba7eec36ff4"}},{"code_sha256_prefix":"838864813fe31ea6","entry":"StackSubPixelNorm","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"838864813fe31ea6"}},{"code_sha256_prefix":"2004a4e4a59f890e","entry":"linear_schedule_tensor","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"2004a4e4a59f890e"}},{"code_sha256_prefix":"f4d01c2e63da516a","entry":"spatial_transform","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f4d01c2e63da516a"}},{"code_sha256_prefix":"6e034c0524127fc5","entry":"GNM","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"6e034c0524127fc5"}},{"code_sha256_prefix":"0530737a9231c26c","entry":"LocalSampler","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0530737a9231c26c"}},{"code_sha256_prefix":"c1729a468216f23a","entry":"StructDRAW","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c1729a468216f23a"}},{"code_sha256_prefix":"2f7f22295defa62f","entry":"kl_divergence_bern_bern","repo":"JindongJiang/GNM","repo_kind":"official","path":"model.py","file_url":"https://github.com/JindongJiang/GNM/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"2f7f22295defa62f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}