{"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/fast-machine-unlearning-without-retraining","title":"Fast Machine Unlearning Without Retraining Through Selective Synaptic Dampening","arxiv_id":"2308.07707","date":"2023-08-15","proceeding":null,"authors":["Jack Foster","Stefan Schoepf","Alexandra Brintrup"],"abstract":"Machine unlearning, the ability for a machine learning model to forget, is becoming increasingly important to comply with data privacy regulations, as well as to remove harmful, manipulated, or outdated information. The key challenge lies in forgetting specific information while protecting model performance on the remaining data. While current state-of-the-art methods perform well, they typically require some level of retraining over the retained data, in order to protect or restore model performance. This adds computational overhead and mandates that the training data remain available and accessible, which may not be feasible. In contrast, other methods employ a retrain-free paradigm, however, these approaches are prohibitively computationally expensive and do not perform on par with their retrain-based counterparts. We present Selective Synaptic Dampening (SSD), a novel two-step, post hoc, retrain-free approach to machine unlearning which is fast, performant, and does not require long-term storage of the training data. First, SSD uses the Fisher information matrix of the training and forgetting data to select parameters that are disproportionately important to the forget set. Second, SSD induces forgetting by dampening these parameters proportional to their relative importance to the forget set with respect to the wider training data. We evaluate our method against several existing unlearning methods in a range of experiments using ResNet18 and Vision Transformer. Results show that the performance of SSD is competitive with retrain-based post hoc methods, demonstrating the viability of retrain-free post hoc unlearning approaches.","url_abs":"https://arxiv.org/abs/2308.07707v2","url_pdf":"https://arxiv.org/pdf/2308.07707v2.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":"fast-machine-unlearning-without-retraining","repo_url":"https://github.com/if-loops/selective-synaptic-dampening","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-unlearning","task_name":"Machine Unlearning"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"hoc","method_name":"HOC"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"non-maximum-suppression","method_name":"Non Maximum Suppression"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"ssd","method_name":"SSD"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.07707","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.07707"}},"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/if-loops/selective-synaptic-dampening","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":"65e6e724245e6071","entry":"JSDiv","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/metrics.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/metrics.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":"65e6e724245e6071"}},{"code_sha256_prefix":"e982685418b19915","entry":"UnLearningScore","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/metrics.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/metrics.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":"e982685418b19915"}},{"code_sha256_prefix":"ccc32fcda24fa317","entry":"build_retain_forget_sets","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/forget_full_class_strategies.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/forget_full_class_strategies.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":"ccc32fcda24fa317"}},{"code_sha256_prefix":"4a12bd3434683bbc","entry":"entropy","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/metrics.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/metrics.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":"4a12bd3434683bbc"}},{"code_sha256_prefix":"93763b90cbaa67db","entry":"get_classwise_ds","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/forget_subclass_strategies.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/forget_subclass_strategies.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":"93763b90cbaa67db"}},{"code_sha256_prefix":"87aeb99061827761","entry":"get_classwise_ds","repo":"if-loops/selective-synaptic-dampening","repo_kind":"official","path":"src/forget_full_class_strategies.py","file_url":"https://github.com/if-loops/selective-synaptic-dampening/blob/HEAD/src/forget_full_class_strategies.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":"87aeb99061827761"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}