{"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/arxiv-2510-11133","title":"Test-Time Adaptation by Causal Trimming","arxiv_id":"2510.11133","date":"2025-10-13","proceeding":"NeurIPS","authors":["Yingnan Liu","Rui Qiao","Mong Li Lee","Wynne Hsu"],"abstract":"Test-time adaptation aims to improve model robustness under distribution shifts by adapting models with access to unlabeled target samples. A primary cause of performance degradation under such shifts is the model's reliance on features that lack a direct causal relationship with the prediction target. We introduce Test-time Adaptation by Causal Trimming (TACT), a method that identifies and removes non-causal components from representations for test distributions. TACT applies data augmentations that preserve causal features while varying non-causal ones. By analyzing the changes in the representations using Principal Component Analysis, TACT identifies the highest variance directions associated with non-causal features. It trims the representations by removing their projections on the identified directions, and uses the trimmed representations for the predictions. During adaptation, TACT continuously tracks and refines these directions to get a better estimate of non-causal features. We theoretically analyze the effectiveness of this approach and empirically validate TACT on real-world out-of-distribution benchmarks. TACT consistently outperforms state-of-the-art methods by a significant margin.","url_abs":"https://arxiv.org/abs/2510.11133","url_pdf":"https://arxiv.org/pdf/2510.11133","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2510.11133","atlas_url":"https://app.syntology.ai/?focus=2510.11133","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.11133"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/NancyQuris/TACT","reach":null}],"summary":{"ran":1,"ran_draft_wrong":3,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":9,"ran":4,"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":"4a2a1584e56b3833","entry":"StainColorJitter","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a2a1584e56b3833"}},{"code_sha256_prefix":"e421c00155f8d872","entry":"get_PCs","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e421c00155f8d872"}},{"code_sha256_prefix":"23318b3be9296447","entry":"initialize_bert_transform","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"23318b3be9296447"}},{"code_sha256_prefix":"ef39939a469e52e9","entry":"projection","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ef39939a469e52e9"}},{"code_sha256_prefix":"2df21014e1574456","entry":"CT","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2df21014e1574456"}},{"code_sha256_prefix":"f17708412afb23ce","entry":"CivilAugmentation","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f17708412afb23ce"}},{"code_sha256_prefix":"14478592903cd70b","entry":"TACT","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"14478592903cd70b"}},{"code_sha256_prefix":"8e80b20b4cf73422","entry":"get_augmentation","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e80b20b4cf73422"}},{"code_sha256_prefix":"e833d0151beb28f9","entry":"remove_PCs","repo":"NancyQuris/TACT","repo_kind":"found_in_text","path":"methods/tact.py","file_url":"https://github.com/NancyQuris/TACT/blob/HEAD/methods/tact.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e833d0151beb28f9"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}