{"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/transporting-causal-mechanisms-for","title":"Transporting Causal Mechanisms for Unsupervised Domain Adaptation","arxiv_id":"2107.11055","date":"2021-07-23","proceeding":"ICCV 2021 10","authors":["Zhongqi Yue","Qianru Sun","Xian-Sheng Hua","Hanwang Zhang"],"abstract":"Existing Unsupervised Domain Adaptation (UDA) literature adopts the covariate shift and conditional shift assumptions, which essentially encourage models to learn common features across domains. However, due to the lack of supervision in the target domain, they suffer from the semantic loss: the feature will inevitably lose non-discriminative semantics in source domain, which is however discriminative in target domain. We use a causal view -- transportability theory -- to identify that such loss is in fact a confounding effect, which can only be removed by causal intervention. However, the theoretical solution provided by transportability is far from practical for UDA, because it requires the stratification and representation of the unobserved confounder that is the cause of the domain gap. To this end, we propose a practical solution: Transporting Causal Mechanisms (TCM), to identify the confounder stratum and representations by using the domain-invariant disentangled causal mechanisms, which are discovered in an unsupervised fashion. Our TCM is both theoretically and empirically grounded. Extensive experiments show that TCM achieves state-of-the-art performance on three challenging UDA benchmarks: ImageCLEF-DA, Office-Home, and VisDA-2017. Codes are available in Appendix.","url_abs":"https://arxiv.org/abs/2107.11055v2","url_pdf":"https://arxiv.org/pdf/2107.11055v2.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":"transporting-causal-mechanisms-for","repo_url":"https://github.com/yue-zhongqi/tcm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.11055","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.11055"}},"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/yue-zhongqi/tcm","reach":null}],"summary":{"ran":4,"ran_draft_wrong":2,"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":"bfd1bf2f89a925df","entry":"AdversarialLoss","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bfd1bf2f89a925df"}},{"code_sha256_prefix":"4060dcdef9dece76","entry":"AdversarialNetwork","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4060dcdef9dece76"}},{"code_sha256_prefix":"a4fb3d7d83bd280c","entry":"Entropy","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a4fb3d7d83bd280c"}},{"code_sha256_prefix":"eebaad56ac7a9f66","entry":"NMTCritierion","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eebaad56ac7a9f66"}},{"code_sha256_prefix":"c365fefa76406516","entry":"VAE","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c365fefa76406516"}},{"code_sha256_prefix":"00412bee7f16f8c4","entry":"init_net","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"00412bee7f16f8c4"}},{"code_sha256_prefix":"12766c6671066235","entry":"DDAModel","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.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":"12766c6671066235"}},{"code_sha256_prefix":"8904685cc0f51333","entry":"ResNet","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.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":"8904685cc0f51333"}},{"code_sha256_prefix":"a09ed0d9ca4440f9","entry":"get_alignment_loss","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.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":"a09ed0d9ca4440f9"}},{"code_sha256_prefix":"d3473ef03b54a28d","entry":"init_weights","repo":"yue-zhongqi/tcm","repo_kind":"official","path":"dda_model/dda_model.py","file_url":"https://github.com/yue-zhongqi/tcm/blob/HEAD/dda_model/dda_model.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":"d3473ef03b54a28d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}