{"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/a-unified-and-general-framework-for-continual","title":"A Unified and General Framework for Continual Learning","arxiv_id":"2403.13249","date":"2024-03-20","proceeding":null,"authors":["Zhenyi Wang","Yan Li","Li Shen","Heng Huang"],"abstract":"Continual Learning (CL) focuses on learning from dynamic and changing data distributions while retaining previously acquired knowledge. Various methods have been developed to address the challenge of catastrophic forgetting, including regularization-based, Bayesian-based, and memory-replay-based techniques. However, these methods lack a unified framework and common terminology for describing their approaches. This research aims to bridge this gap by introducing a comprehensive and overarching framework that encompasses and reconciles these existing methodologies. Notably, this new framework is capable of encompassing established CL approaches as special instances within a unified and general optimization objective. An intriguing finding is that despite their diverse origins, these methods share common mathematical structures. This observation highlights the compatibility of these seemingly distinct techniques, revealing their interconnectedness through a shared underlying optimization objective. Moreover, the proposed general framework introduces an innovative concept called refresh learning, specifically designed to enhance the CL performance. This novel approach draws inspiration from neuroscience, where the human brain often sheds outdated information to improve the retention of crucial knowledge and facilitate the acquisition of new information. In essence, refresh learning operates by initially unlearning current data and subsequently relearning it. It serves as a versatile plug-in that seamlessly integrates with existing CL methods, offering an adaptable and effective enhancement to the learning process. Extensive experiments on CL benchmarks and theoretical analysis demonstrate the effectiveness of the proposed refresh learning. Code is available at \\url{https://github.com/joey-wang123/CL-refresh-learning}.","url_abs":"https://arxiv.org/abs/2403.13249v1","url_pdf":"https://arxiv.org/pdf/2403.13249v1.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":"a-unified-and-general-framework-for-continual","repo_url":"https://github.com/joey-wang123/cl-refresh-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"continual-learning","task_name":"Continual Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2403.13249","atlas_url":"https://app.syntology.ai/?focus=2403.13249","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.13249"}},"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":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/joey-wang123/CL-refresh-learning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/joey-wang123/cl-refresh-learning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":1,"samples":[{"code_sha256_prefix":"8f59cbb3d51b6c85","entry":"Buffer","repo":"joey-wang123/cl-refresh-learning","repo_kind":"official","path":"models/rpc.py","file_url":"https://github.com/joey-wang123/cl-refresh-learning/blob/HEAD/models/rpc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f59cbb3d51b6c85"}},{"code_sha256_prefix":"f0121c7b8fa53c55","entry":"ContinualDataset","repo":"joey-wang123/cl-refresh-learning","repo_kind":"official","path":"models/rpc.py","file_url":"https://github.com/joey-wang123/cl-refresh-learning/blob/HEAD/models/rpc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0121c7b8fa53c55"}},{"code_sha256_prefix":"cf632e025b73ed65","entry":"ContinualModel","repo":"joey-wang123/cl-refresh-learning","repo_kind":"official","path":"models/rpc.py","file_url":"https://github.com/joey-wang123/cl-refresh-learning/blob/HEAD/models/rpc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf632e025b73ed65"}},{"code_sha256_prefix":"79484137b284aee1","entry":"calculate_output_image_size","repo":"joey-wang123/CL-refresh-learning","repo_kind":"official","path":"backbone/EfficientNet.py","file_url":"https://github.com/joey-wang123/CL-refresh-learning/blob/HEAD/backbone/EfficientNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"79484137b284aee1"}},{"code_sha256_prefix":"4c2989ace7c5c0da","entry":"conv3x3","repo":"joey-wang123/CL-refresh-learning","repo_kind":"official","path":"backbone/ResNet18.py","file_url":"https://github.com/joey-wang123/CL-refresh-learning/blob/HEAD/backbone/ResNet18.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c2989ace7c5c0da"}},{"code_sha256_prefix":"f1e3c822763f3ebb","entry":"drop_connect","repo":"joey-wang123/CL-refresh-learning","repo_kind":"official","path":"backbone/EfficientNet.py","file_url":"https://github.com/joey-wang123/CL-refresh-learning/blob/HEAD/backbone/EfficientNet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f1e3c822763f3ebb"}},{"code_sha256_prefix":"e966248eb1030e42","entry":"dsimplex","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"e966248eb1030e42"}},{"code_sha256_prefix":"ba6166d04ef2afdd","entry":"get_width_and_height_from_size","repo":"joey-wang123/CL-refresh-learning","repo_kind":"official","path":"backbone/EfficientNet.py","file_url":"https://github.com/joey-wang123/CL-refresh-learning/blob/HEAD/backbone/EfficientNet.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":"ba6166d04ef2afdd"}},{"code_sha256_prefix":"5d65b508e8b1cbad","entry":"project","repo":"joey-wang123/CL-refresh-learning","repo_kind":"official","path":"models/agem.py","file_url":"https://github.com/joey-wang123/CL-refresh-learning/blob/HEAD/models/agem.py","link_basis":"harvester_set","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":"5d65b508e8b1cbad"}},{"code_sha256_prefix":"3873d2de53005177","entry":"RPC","repo":"joey-wang123/cl-refresh-learning","repo_kind":"official","path":"models/rpc.py","file_url":"https://github.com/joey-wang123/cl-refresh-learning/blob/HEAD/models/rpc.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":"3873d2de53005177"}},{"code_sha256_prefix":"ac2160d3abca95cb","entry":"get_dataset","repo":"joey-wang123/cl-refresh-learning","repo_kind":"official","path":"models/rpc.py","file_url":"https://github.com/joey-wang123/cl-refresh-learning/blob/HEAD/models/rpc.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":"ac2160d3abca95cb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}