{"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-2601-22359","title":"The Unseen Threat: Residual Knowledge in Machine Unlearning under Perturbed Samples","arxiv_id":"2601.22359","date":"2026-01-29","proceeding":null,"authors":["Hsiang Hsu","Pradeep Niroula","Zichang He","Ivan Brugere","Freddy Lecue","Chun-Fu Chen"],"abstract":"Machine unlearning offers a practical alternative to avoid full model re-training by approximately removing the influence of specific user data. While existing methods certify unlearning via statistical indistinguishability from re-trained models, these guarantees do not naturally extend to model outputs when inputs are adversarially perturbed. In particular, slight perturbations of forget samples may still be correctly recognized by the unlearned model - even when a re-trained model fails to do so - revealing a novel privacy risk: information about the forget samples may persist in their local neighborhood. In this work, we formalize this vulnerability as residual knowledge and show that it is inevitable in high-dimensional settings. To mitigate this risk, we propose a fine-tuning strategy, named RURK, that penalizes the model's ability to re-recognize perturbed forget samples. Experiments on vision benchmarks with deep neural networks demonstrate that residual knowledge is prevalent across existing unlearning methods and that our approach effectively prevents residual knowledge.","url_abs":"https://arxiv.org/abs/2601.22359","url_pdf":"https://arxiv.org/pdf/2601.22359","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":{"syntology_url":"https://syntology.ai/paper/2601.22359","atlas_url":"https://app.syntology.ai/?focus=2601.22359","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.22359"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/meghdadk/SCRUB","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/AdityaGolatkar/SelectiveForgetting","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/ChrisWaites/descent-to-delete","reach":{"status":"gone","observed_at":"2026-09-16","how":"tree_404+repo_404"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/joeljang/knowledge-unlearning","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Graph-COM/Langevin_unlearning","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":10},"by_repo_kind":{"found_in_text":{"samples":11,"ran":1,"repositories":3}},"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":11,"samples":[{"code_sha256_prefix":"d14dd84200ac6432","entry":"unadjusted_langevin_algorithm","repo":"Graph-COM/Langevin_unlearning","repo_kind":"found_in_text","path":"langevin.py","file_url":"https://github.com/Graph-COM/Langevin_unlearning/blob/HEAD/langevin.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d14dd84200ac6432"}},{"code_sha256_prefix":"23ab3aca3edc9e96","entry":"_add_logvar","repo":"AdityaGolatkar/SelectiveForgetting","repo_kind":"found_in_text","path":"variational.py","file_url":"https://github.com/AdityaGolatkar/SelectiveForgetting/blob/HEAD/variational.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"23ab3aca3edc9e96"}},{"code_sha256_prefix":"e37896de279105a1","entry":"_reset_logvar","repo":"AdityaGolatkar/SelectiveForgetting","repo_kind":"found_in_text","path":"variational.py","file_url":"https://github.com/AdityaGolatkar/SelectiveForgetting/blob/HEAD/variational.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e37896de279105a1"}},{"code_sha256_prefix":"b149132fab16d2fd","entry":"load_features","repo":"Graph-COM/Langevin_unlearning","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/Graph-COM/Langevin_unlearning/blob/HEAD/utils.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":"b149132fab16d2fd"}},{"code_sha256_prefix":"cde9bb694fbfc040","entry":"make_variational","repo":"AdityaGolatkar/SelectiveForgetting","repo_kind":"found_in_text","path":"variational.py","file_url":"https://github.com/AdityaGolatkar/SelectiveForgetting/blob/HEAD/variational.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"cde9bb694fbfc040"}},{"code_sha256_prefix":"6e5d38d011c3c8dc","entry":"normalize_reply","repo":"joeljang/knowledge-unlearning","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/joeljang/knowledge-unlearning/blob/HEAD/utils.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":"6e5d38d011c3c8dc"}},{"code_sha256_prefix":"424a51b62f7dd524","entry":"onehot","repo":"Graph-COM/Langevin_unlearning","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/Graph-COM/Langevin_unlearning/blob/HEAD/utils.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":"424a51b62f7dd524"}},{"code_sha256_prefix":"46155c29dca22749","entry":"transform_array","repo":"Graph-COM/Langevin_unlearning","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/Graph-COM/Langevin_unlearning/blob/HEAD/utils.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":"46155c29dca22749"}},{"code_sha256_prefix":"0ba8166fbd1eea1c","entry":"unadjusted_langevin_algorithm_multiclass","repo":"Graph-COM/Langevin_unlearning","repo_kind":"found_in_text","path":"langevin.py","file_url":"https://github.com/Graph-COM/Langevin_unlearning/blob/HEAD/langevin.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":"0ba8166fbd1eea1c"}},{"code_sha256_prefix":"b3ed4c3bccc10c65","entry":"uppercase","repo":"joeljang/knowledge-unlearning","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/joeljang/knowledge-unlearning/blob/HEAD/utils.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":"b3ed4c3bccc10c65"}},{"code_sha256_prefix":"e16667b5fa8b0848","entry":"variational_forward","repo":"AdityaGolatkar/SelectiveForgetting","repo_kind":"found_in_text","path":"variational.py","file_url":"https://github.com/AdityaGolatkar/SelectiveForgetting/blob/HEAD/variational.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e16667b5fa8b0848"}}]},"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_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}