{"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/maintaining-plasticity-in-deep-continual","title":"Maintaining Plasticity in Deep Continual Learning","arxiv_id":"2306.13812","date":"2023-06-23","proceeding":null,"authors":["Shibhansh Dohare","J. Fernando Hernandez-Garcia","Parash Rahman","A. Rupam Mahmood","Richard S. Sutton"],"abstract":"Modern deep-learning systems are specialized to problem settings in which training occurs once and then never again, as opposed to continual-learning settings in which training occurs continually. If deep-learning systems are applied in a continual learning setting, then it is well known that they may fail to remember earlier examples. More fundamental, but less well known, is that they may also lose their ability to learn on new examples, a phenomenon called loss of plasticity. We provide direct demonstrations of loss of plasticity using the MNIST and ImageNet datasets repurposed for continual learning as sequences of tasks. In ImageNet, binary classification performance dropped from 89% accuracy on an early task down to 77%, about the level of a linear network, on the 2000th task. Loss of plasticity occurred with a wide range of deep network architectures, optimizers, activation functions, batch normalization, dropout, but was substantially eased by L2-regularization, particularly when combined with weight perturbation. Further, we introduce a new algorithm -- continual backpropagation -- which slightly modifies conventional backpropagation to reinitialize a small fraction of less-used units after each example and appears to maintain plasticity indefinitely.","url_abs":"https://arxiv.org/abs/2306.13812v3","url_pdf":"https://arxiv.org/pdf/2306.13812v3.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":"maintaining-plasticity-in-deep-continual","repo_url":"https://github.com/shibhansh/loss-of-plasticity","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"continual-learning","task_name":"Continual Learning"},{"task_slug":"l2-regularization","task_name":"L2 Regularization"}],"methods":[{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.13812","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.13812"}},"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/shibhansh/loss-of-plasticity","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":"e1d47e01b0cef968","entry":"get_layer_bound","repo":"shibhansh/loss-of-plasticity","repo_kind":"official","path":"lop/algos/res_gnt.py","file_url":"https://github.com/shibhansh/loss-of-plasticity/blob/HEAD/lop/algos/res_gnt.py","link_basis":"plan_row","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":"e1d47e01b0cef968"}},{"code_sha256_prefix":"7375ad2afb3a1fb1","entry":"add_cfg_performance","repo":"shibhansh/loss-of-plasticity","repo_kind":"official","path":"lop/imagenet/all_plot.py","file_url":"https://github.com/shibhansh/loss-of-plasticity/blob/HEAD/lop/imagenet/all_plot.py","link_basis":"plan_row","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":"7375ad2afb3a1fb1"}},{"code_sha256_prefix":"0a0080c986f5539e","entry":"add_cfg_performance","repo":"shibhansh/loss-of-plasticity","repo_kind":"official","path":"lop/imagenet/bp_plot.py","file_url":"https://github.com/shibhansh/loss-of-plasticity/blob/HEAD/lop/imagenet/bp_plot.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":"0a0080c986f5539e"}},{"code_sha256_prefix":"a64c32a1e99731e0","entry":"get_layer_bound","repo":"shibhansh/loss-of-plasticity","repo_kind":"official","path":"lop/algos/cbp_linear.py","file_url":"https://github.com/shibhansh/loss-of-plasticity/blob/HEAD/lop/algos/cbp_linear.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":"a64c32a1e99731e0"}},{"code_sha256_prefix":"93218ee6c97fa976","entry":"get_layer_std","repo":"shibhansh/loss-of-plasticity","repo_kind":"official","path":"lop/algos/res_gnt.py","file_url":"https://github.com/shibhansh/loss-of-plasticity/blob/HEAD/lop/algos/res_gnt.py","link_basis":"plan_row","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":"93218ee6c97fa976"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}