{"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/disentangled-generative-causal-representation-1","title":"Weakly Supervised Disentangled Generative Causal Representation Learning","arxiv_id":"2010.02637","date":"2020-10-06","proceeding":null,"authors":["Xinwei Shen","Furui Liu","Hanze Dong","Qing Lian","Zhitang Chen","Tong Zhang"],"abstract":"This paper proposes a Disentangled gEnerative cAusal Representation (DEAR) learning method under appropriate supervised information. Unlike existing disentanglement methods that enforce independence of the latent variables, we consider the general case where the underlying factors of interests can be causally related. We show that previous methods with independent priors fail to disentangle causally related factors even under supervision. Motivated by this finding, we propose a new disentangled learning method called DEAR that enables causal controllable generation and causal representation learning. The key ingredient of this new formulation is to use a structural causal model (SCM) as the prior distribution for a bidirectional generative model. The prior is then trained jointly with a generator and an encoder using a suitable GAN algorithm incorporated with supervised information on the ground-truth factors and their underlying causal structure. We provide theoretical justification on the identifiability and asymptotic convergence of the proposed method. We conduct extensive experiments on both synthesized and real data sets to demonstrate the effectiveness of DEAR in causal controllable generation, and the benefits of the learned representations for downstream tasks in terms of sample efficiency and distributional robustness.","url_abs":"https://arxiv.org/abs/2010.02637v3","url_pdf":"https://arxiv.org/pdf/2010.02637v3.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":"disentangled-generative-causal-representation-1","repo_url":"https://github.com/xwshen51/DEAR","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.02637","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.02637"}},"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/xwshen51/DEAR","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"unverified":10},"by_repo_kind":{"official":{"samples":12,"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":0,"samples":[{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"xwshen51/DEAR","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/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":"xwshen51/DEAR","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/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":"6e16337c88174e00","entry":"denorm","repo":"xwshen51/DEAR","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xwshen51/DEAR/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6e16337c88174e00"}},{"code_sha256_prefix":"e4c3a8a49d8e70d1","entry":"draw_recon","repo":"xwshen51/DEAR","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xwshen51/DEAR/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e4c3a8a49d8e70d1"}},{"code_sha256_prefix":"5f841bea5a7712f0","entry":"gaussian_nll","repo":"xwshen51/DEAR","repo_kind":"official","path":"bgm.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/bgm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5f841bea5a7712f0"}},{"code_sha256_prefix":"92eea8d46ba7a4f4","entry":"kl_div","repo":"xwshen51/DEAR","repo_kind":"official","path":"bgm.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/bgm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"92eea8d46ba7a4f4"}},{"code_sha256_prefix":"02f5fcae9df37e0b","entry":"make_dataloader","repo":"xwshen51/DEAR","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xwshen51/DEAR/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"02f5fcae9df37e0b"}},{"code_sha256_prefix":"5b3c8bcd1091cbb0","entry":"reparameterize","repo":"xwshen51/DEAR","repo_kind":"official","path":"bgm.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/bgm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b3c8bcd1091cbb0"}},{"code_sha256_prefix":"c9ab5129b95f0a1e","entry":"resnet18","repo":"xwshen51/DEAR","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c9ab5129b95f0a1e"}},{"code_sha256_prefix":"572d43d0e50a2023","entry":"snconv2d","repo":"xwshen51/DEAR","repo_kind":"official","path":"sagan.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/sagan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"572d43d0e50a2023"}},{"code_sha256_prefix":"86964df169b4f2bb","entry":"snconvtrans2d","repo":"xwshen51/DEAR","repo_kind":"official","path":"sagan.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/sagan.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"86964df169b4f2bb"}},{"code_sha256_prefix":"d7e3fc2fa558d6ef","entry":"snlinear","repo":"xwshen51/DEAR","repo_kind":"official","path":"sagan.py","file_url":"https://github.com/xwshen51/DEAR/blob/HEAD/sagan.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d7e3fc2fa558d6ef"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}