{"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-26311","title":"Model Inversion with Layer-Specific Modeling and Alignment for Data-Free Continual Learning","arxiv_id":"2510.26311","date":"2025-10-30","proceeding":"NeurIPS","authors":["Ruilin Tong","Haodong Lu","Yuhang Liu","Dong Gong"],"abstract":"Continual learning (CL) aims to incrementally train a model on a sequence of tasks while retaining performance on prior ones. However, storing and replaying data is often infeasible due to privacy or security constraints and impractical for arbitrary pre-trained models. Data-free CL seeks to update models without access to previous data. Beyond regularization, we employ model inversion to synthesize data from the trained model, enabling replay without storing samples. Yet, model inversion in predictive models faces two challenges: (1) generating inputs solely from compressed output labels causes drift between synthetic and real data, and replaying such data can erode prior knowledge; (2) inversion is computationally expensive since each step backpropagates through the full model. These issues are amplified in large pre-trained models such as CLIP. To improve efficiency, we propose Per-layer Model Inversion (PMI), inspired by faster convergence in single-layer optimization. PMI provides strong initialization for full-model inversion, substantially reducing iterations. To mitigate feature shift, we model class-wise features via Gaussian distributions and contrastive model, ensuring alignment between synthetic and real features. Combining PMI and feature modeling, our approach enables continual learning of new classes by generating pseudo-images from semantic-aware projected features, achieving strong effectiveness and compatibility across multiple CL settings.","url_abs":"https://arxiv.org/abs/2510.26311","url_pdf":"https://arxiv.org/pdf/2510.26311","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":{"atlas_url":"https://app.syntology.ai/?focus=2510.26311","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.26311"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/RuilinTong/PMI-CFS-DFCL","reach":null}],"summary":{"ran":3,"ran_fixture":1,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":7,"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":"844956b037652749","entry":"CLIPLoss","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"844956b037652749"}},{"code_sha256_prefix":"d4023d1f5f50f087","entry":"CosineLoss","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d4023d1f5f50f087"}},{"code_sha256_prefix":"f0b914d4ef2febe4","entry":"KLDivergence","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0b914d4ef2febe4"}},{"code_sha256_prefix":"c9d774b97e90f6c3","entry":"regularize_input","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c9d774b97e90f6c3"}},{"code_sha256_prefix":"a0f649cecdd35c4c","entry":"InputShapeHook","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.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":"a0f649cecdd35c4c"}},{"code_sha256_prefix":"c21d2f59c4c85af2","entry":"LayerWiseCLIPInversion","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.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":"c21d2f59c4c85af2"}},{"code_sha256_prefix":"d221295c5e9328e2","entry":"save_images","repo":"RuilinTong/PMI-CFS-DFCL","repo_kind":"found_in_text","path":"CLIP/inversion/layer_wise_clip_inversion.py","file_url":"https://github.com/RuilinTong/PMI-CFS-DFCL/blob/HEAD/CLIP/inversion/layer_wise_clip_inversion.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":"d221295c5e9328e2"}}]},"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}