{"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/esc-erasing-space-concept-for-knowledge","title":"ESC: Erasing Space Concept for Knowledge Deletion","arxiv_id":"2504.02199","date":"2025-04-03","proceeding":"CVPR 2025 1","authors":["Tae-Young Lee","Sundong Park","Minwoo Jeon","Hyoseok Hwang","Gyeong-Moon Park"],"abstract":"As concerns regarding privacy in deep learning continue to grow, individuals are increasingly apprehensive about the potential exploitation of their personal knowledge in trained models. Despite several research efforts to address this, they often fail to consider the real-world demand from users for complete knowledge erasure. Furthermore, our investigation reveals that existing methods have a risk of leaking personal knowledge through embedding features. To address these issues, we introduce a novel concept of Knowledge Deletion (KD), an advanced task that considers both concerns, and provides an appropriate metric, named Knowledge Retention score (KR), for assessing knowledge retention in feature space. To achieve this, we propose a novel training-free erasing approach named Erasing Space Concept (ESC), which restricts the important subspace for the forgetting knowledge by eliminating the relevant activations in the feature. In addition, we suggest ESC with Training (ESC-T), which uses a learnable mask to better balance the trade-off between forgetting and preserving knowledge in KD. Our extensive experiments on various datasets and models demonstrate that our proposed methods achieve the fastest and state-of-the-art performance. Notably, our methods are applicable to diverse forgetting scenarios, such as facial domain setting, demonstrating the generalizability of our methods. The code is available at http://github.com/KU-VGI/ESC .","url_abs":"https://arxiv.org/abs/2504.02199v1","url_pdf":"https://arxiv.org/pdf/2504.02199v1.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":"esc-erasing-space-concept-for-knowledge","repo_url":"https://github.com/ku-vgi/esc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2504.02199","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2504.02199"}},"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":"deterministic:regex_extraction","url":"https://github.com/KU-VGI/ESC","reach":null}],"summary":{"ran":8,"ran_honours":1,"ran_draft_wrong":1,"unverified":14},"by_repo_kind":{"official":{"samples":24,"ran":10,"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":24,"samples":[{"code_sha256_prefix":"e8d79e942930f478","entry":"AllCNN","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e8d79e942930f478"}},{"code_sha256_prefix":"e141c147ec7315da","entry":"ComplexDNN","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e141c147ec7315da"}},{"code_sha256_prefix":"d574992e1f3b5967","entry":"Conv","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d574992e1f3b5967"}},{"code_sha256_prefix":"2dd17365b6d40bcc","entry":"CustomDataset","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2dd17365b6d40bcc"}},{"code_sha256_prefix":"0b787ec506d382c7","entry":"Flatten","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0b787ec506d382c7"}},{"code_sha256_prefix":"232f710ba2a3df96","entry":"compute_losses","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"232f710ba2a3df96"}},{"code_sha256_prefix":"08afcdeb55afcff8","entry":"get_unlearn_loader","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"08afcdeb55afcff8"}},{"code_sha256_prefix":"6dc9eb0c21a32237","entry":"load_vit","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6dc9eb0c21a32237"}},{"code_sha256_prefix":"0c6538eed7fe129a","entry":"optimizer_picker","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0c6538eed7fe129a"}},{"code_sha256_prefix":"bf1ccc66583510a7","entry":"split_class_data","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bf1ccc66583510a7"}},{"code_sha256_prefix":"27672850dd40958b","entry":"all_eval","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"27672850dd40958b"}},{"code_sha256_prefix":"54f51ff8da6ff35e","entry":"create_dir","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"54f51ff8da6ff35e"}},{"code_sha256_prefix":"c6e8179c8f9ea281","entry":"eval","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"c6e8179c8f9ea281"}},{"code_sha256_prefix":"5ccd63f514797a72","entry":"evaluate_KR","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"5ccd63f514797a72"}},{"code_sha256_prefix":"03f1d47518a9d3e3","entry":"evaluate_mia","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"03f1d47518a9d3e3"}},{"code_sha256_prefix":"8083bb6afa3f1008","entry":"evaluate_model","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"8083bb6afa3f1008"}},{"code_sha256_prefix":"cc2022b7a141973c","entry":"exp_summary","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"cc2022b7a141973c"}},{"code_sha256_prefix":"99c85c380ca6c5cf","entry":"get_dataset","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"99c85c380ca6c5cf"}},{"code_sha256_prefix":"a31522fb137cd85a","entry":"main","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"a31522fb137cd85a"}},{"code_sha256_prefix":"e98c82942ca364b2","entry":"prepare_dataset","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"e98c82942ca364b2"}},{"code_sha256_prefix":"0e55b39d4f65c5a8","entry":"seed_torch","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"0e55b39d4f65c5a8"}},{"code_sha256_prefix":"1aadf59595786019","entry":"simple_mia","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"1aadf59595786019"}},{"code_sha256_prefix":"1aa81e0d0aebdfa1","entry":"simple_mia_pytorch","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"1aa81e0d0aebdfa1"}},{"code_sha256_prefix":"ad05cd5a51f7a47c","entry":"train_model","repo":"KU-VGI/ESC","repo_kind":"official","path":"unlearn.py","file_url":"https://github.com/KU-VGI/ESC/blob/HEAD/unlearn.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":"ad05cd5a51f7a47c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}