{"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/deja-vu-continual-model-generalization-for","title":"DEJA VU: Continual Model Generalization For Unseen Domains","arxiv_id":"2301.10418","date":"2023-01-25","proceeding":null,"authors":["Chenxi Liu","Lixu Wang","Lingjuan Lyu","Chen Sun","Xiao Wang","Qi Zhu"],"abstract":"In real-world applications, deep learning models often run in non-stationary environments where the target data distribution continually shifts over time. There have been numerous domain adaptation (DA) methods in both online and offline modes to improve cross-domain adaptation ability. However, these DA methods typically only provide good performance after a long period of adaptation, and perform poorly on new domains before and during adaptation - in what we call the \"Unfamiliar Period\", especially when domain shifts happen suddenly and significantly. On the other hand, domain generalization (DG) methods have been proposed to improve the model generalization ability on unadapted domains. However, existing DG works are ineffective for continually changing domains due to severe catastrophic forgetting of learned knowledge. To overcome these limitations of DA and DG in handling the Unfamiliar Period during continual domain shift, we propose RaTP, a framework that focuses on improving models' target domain generalization (TDG) capability, while also achieving effective target domain adaptation (TDA) capability right after training on certain domains and forgetting alleviation (FA) capability on past domains. RaTP includes a training-free data augmentation module to prepare data for TDG, a novel pseudo-labeling mechanism to provide reliable supervision for TDA, and a prototype contrastive alignment algorithm to align different domains for achieving TDG, TDA and FA. Extensive experiments on Digits, PACS, and DomainNet demonstrate that RaTP significantly outperforms state-of-the-art works from Continual DA, Source-Free DA, Test-Time/Online DA, Single DG, Multiple DG and Unified DA&DG in TDG, and achieves comparable TDA and FA capabilities.","url_abs":"https://arxiv.org/abs/2301.10418v2","url_pdf":"https://arxiv.org/pdf/2301.10418v2.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":"deja-vu-continual-model-generalization-for","repo_url":"https://github.com/dawnliu35/dejavu-ratp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"deja-vu-continual-model-generalization-for","repo_url":"https://github.com/sonyai/ratp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"domain-generalization","task_name":"Domain Generalization"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"align","method_name":"ALIGN"},{"method_slug":"dfa","method_name":"FA"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2301.10418","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.10418"}},"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/SonyAI/RaTP","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dawnliu35/dejavu-ratp","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sonyai/ratp","reach":{"status":"ok"}}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":10,"ran":7,"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":"c0cf7dbb196bc838","entry":"DTNBase","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0cf7dbb196bc838"}},{"code_sha256_prefix":"1c2fb6ca9e4aca8a","entry":"LeNetBase","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c2fb6ca9e4aca8a"}},{"code_sha256_prefix":"a223727e69afce68","entry":"PCALoss","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a223727e69afce68"}},{"code_sha256_prefix":"7374b728761f9181","entry":"PCLoss","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"7374b728761f9181"}},{"code_sha256_prefix":"a3f5e62e90208d2b","entry":"RandMix","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a3f5e62e90208d2b"}},{"code_sha256_prefix":"63bc7a4db2108344","entry":"feat_encoder","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"63bc7a4db2108344"}},{"code_sha256_prefix":"64b5967593b5aa88","entry":"get_fea","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"64b5967593b5aa88"}},{"code_sha256_prefix":"b47ddaf36b59f11d","entry":"RaTP","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"b47ddaf36b59f11d"}},{"code_sha256_prefix":"951b728ceeb7b51f","entry":"ResBase","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"951b728ceeb7b51f"}},{"code_sha256_prefix":"0c64c349e6d4960d","entry":"VGGBase","repo":"sonyai/ratp","repo_kind":"official","path":"RaTP.py","file_url":"https://github.com/sonyai/ratp/blob/HEAD/RaTP.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":"0c64c349e6d4960d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}