{"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/breaking-the-trilemma-of-privacy-utility","title":"Breaking the Trilemma of Privacy, Utility, Efficiency via Controllable Machine Unlearning","arxiv_id":"2310.18574","date":"2023-10-28","proceeding":null,"authors":["Zheyuan Liu","Guangyao Dou","Yijun Tian","Chunhui Zhang","Eli Chien","Ziwei Zhu"],"abstract":"Machine Unlearning (MU) algorithms have become increasingly critical due to the imperative adherence to data privacy regulations. The primary objective of MU is to erase the influence of specific data samples on a given model without the need to retrain it from scratch. Accordingly, existing methods focus on maximizing user privacy protection. However, there are different degrees of privacy regulations for each real-world web-based application. Exploring the full spectrum of trade-offs between privacy, model utility, and runtime efficiency is critical for practical unlearning scenarios. Furthermore, designing the MU algorithm with simple control of the aforementioned trade-off is desirable but challenging due to the inherent complex interaction. To address the challenges, we present Controllable Machine Unlearning (ConMU), a novel framework designed to facilitate the calibration of MU. The ConMU framework contains three integral modules: an important data selection module that reconciles the runtime efficiency and model generalization, a progressive Gaussian mechanism module that balances privacy and model generalization, and an unlearning proxy that controls the trade-offs between privacy and runtime efficiency. Comprehensive experiments on various benchmark datasets have demonstrated the robust adaptability of our control mechanism and its superiority over established unlearning methods. ConMU explores the full spectrum of the Privacy-Utility-Efficiency trade-off and allows practitioners to account for different real-world regulations. Source code available at: https://github.com/guangyaodou/ConMU.","url_abs":"https://arxiv.org/abs/2310.18574v2","url_pdf":"https://arxiv.org/pdf/2310.18574v2.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":"breaking-the-trilemma-of-privacy-utility","repo_url":"https://github.com/guangyaodou/conmu","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":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.18574","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.18574"}},"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/guangyaodou/conmu","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":12,"ran_draft_wrong":4,"unverified":3},"by_repo_kind":{"official":{"samples":19,"ran":16,"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":"93a8d2e1e32689ed","entry":"check_sparsity","repo":"guangyaodou/conmu","repo_kind":"official","path":"utils.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/utils.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":"93a8d2e1e32689ed"}},{"code_sha256_prefix":"ae8ce8acbccfd13d","entry":"cifar100_dataloaders","repo":"guangyaodou/conmu","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/dataset.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":"ae8ce8acbccfd13d"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNet.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNet.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"4a12bd3434683bbc","entry":"entropy","repo":"guangyaodou/conmu","repo_kind":"official","path":"evaluation_metrics.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/evaluation_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":"c7ae957080f6f740","entry":"get_x_y_from_data_dict","repo":"guangyaodou/conmu","repo_kind":"official","path":"evaluation_metrics.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/evaluation_metrics.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c7ae957080f6f740"}},{"code_sha256_prefix":"73aaf68e966ba36d","entry":"load_checkpoint","repo":"guangyaodou/conmu","repo_kind":"official","path":"utils.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/utils.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":"73aaf68e966ba36d"}},{"code_sha256_prefix":"c45dc4b3ebc8ab3e","entry":"m_entropy","repo":"guangyaodou/conmu","repo_kind":"official","path":"evaluation_metrics.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/evaluation_metrics.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":"c45dc4b3ebc8ab3e"}},{"code_sha256_prefix":"eba3f5bcc6a06d36","entry":"make_layers","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/VGG_LTH.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/VGG_LTH.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eba3f5bcc6a06d36"}},{"code_sha256_prefix":"793e8fab5db0edb6","entry":"make_layers","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/VGG.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/VGG.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":"793e8fab5db0edb6"}},{"code_sha256_prefix":"cfab9aa44817333e","entry":"resnet18","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNet.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNet.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":"cfab9aa44817333e"}},{"code_sha256_prefix":"a3d984e5ded7e9e2","entry":"resnet20s","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNets.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNets.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":"a3d984e5ded7e9e2"}},{"code_sha256_prefix":"bb5b96bf5900b056","entry":"resnet32s","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNets.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNets.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":"bb5b96bf5900b056"}},{"code_sha256_prefix":"13741b76d03a54e8","entry":"resnet44s","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/ResNets.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/ResNets.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":"13741b76d03a54e8"}},{"code_sha256_prefix":"c766a8cd7888bd2d","entry":"vgg11","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/VGG.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/VGG.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":"c766a8cd7888bd2d"}},{"code_sha256_prefix":"2617bb063e662998","entry":"vgg11_bn","repo":"guangyaodou/conmu","repo_kind":"official","path":"cv_models/VGG.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/cv_models/VGG.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":"2617bb063e662998"}},{"code_sha256_prefix":"b5f413f8b9ec9907","entry":"cifar10_dataloaders_no_val","repo":"guangyaodou/conmu","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/dataset.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":"b5f413f8b9ec9907"}},{"code_sha256_prefix":"82103d86102412c8","entry":"setup_model_dataset","repo":"guangyaodou/conmu","repo_kind":"official","path":"utils.py","file_url":"https://github.com/guangyaodou/conmu/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82103d86102412c8"}},{"code_sha256_prefix":"7543ea2bb6cb70c8","entry":"svhn_dataloaders","repo":"guangyaodou/conmu","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/guangyaodou/conmu/blob/HEAD/dataset.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":"7543ea2bb6cb70c8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}