{"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/causal-dynamics-learning-for-task-independent","title":"Causal Dynamics Learning for Task-Independent State Abstraction","arxiv_id":"2206.13452","date":"2022-06-27","proceeding":null,"authors":["Zizhao Wang","Xuesu Xiao","Zifan Xu","Yuke Zhu","Peter Stone"],"abstract":"Learning dynamics models accurately is an important goal for Model-Based Reinforcement Learning (MBRL), but most MBRL methods learn a dense dynamics model which is vulnerable to spurious correlations and therefore generalizes poorly to unseen states. In this paper, we introduce Causal Dynamics Learning for Task-Independent State Abstraction (CDL), which first learns a theoretically proved causal dynamics model that removes unnecessary dependencies between state variables and the action, thus generalizing well to unseen states. A state abstraction can then be derived from the learned dynamics, which not only improves sample efficiency but also applies to a wider range of tasks than existing state abstraction methods. Evaluated on two simulated environments and downstream tasks, both the dynamics model and policies learned by the proposed method generalize well to unseen states and the derived state abstraction improves sample efficiency compared to learning without it.","url_abs":"https://arxiv.org/abs/2206.13452v1","url_pdf":"https://arxiv.org/pdf/2206.13452v1.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":"causal-dynamics-learning-for-task-independent","repo_url":"https://github.com/wangzizhao/causaldynamicslearning","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"model-based-reinforcement-learning","task_name":"Model-based Reinforcement Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.13452","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.13452"}},"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/wangzizhao/causaldynamicslearning","reach":null}],"summary":{"ran_draft_wrong":5,"ran_violates":1,"unverified":4},"by_repo_kind":{"official":{"samples":10,"ran":6,"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":10,"samples":[{"code_sha256_prefix":"b938c8af81edf404","entry":"forward_network","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b938c8af81edf404"}},{"code_sha256_prefix":"5c4279e0b8f11cf3","entry":"get_controllable","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5c4279e0b8f11cf3"}},{"code_sha256_prefix":"d71e59a3fd32dbe0","entry":"get_state_abstraction","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d71e59a3fd32dbe0"}},{"code_sha256_prefix":"c3e7a7b8bfdc2c42","entry":"postprocess_obs","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c3e7a7b8bfdc2c42"}},{"code_sha256_prefix":"8f99a8a7355f27e8","entry":"preprocess_obs","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f99a8a7355f27e8"}},{"code_sha256_prefix":"fb4d1734a924c453","entry":"to_numpy","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fb4d1734a924c453"}},{"code_sha256_prefix":"73942e79e2517900","entry":"Inference","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.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":"73942e79e2517900"}},{"code_sha256_prefix":"6cbf6ede190f9705","entry":"InferenceCMI","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.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":"6cbf6ede190f9705"}},{"code_sha256_prefix":"3c357b26ef468a41","entry":"forward_network_batch","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.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":"3c357b26ef468a41"}},{"code_sha256_prefix":"ffac25a22710f736","entry":"reset_layer","repo":"wangzizhao/causaldynamicslearning","repo_kind":"official","path":"cdl/model/inference_cmi.py","file_url":"https://github.com/wangzizhao/causaldynamicslearning/blob/HEAD/cdl/model/inference_cmi.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":"ffac25a22710f736"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}