{"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/purify-unlearnable-examples-via-rate","title":"Purify Unlearnable Examples via Rate-Constrained Variational Autoencoders","arxiv_id":"2405.01460","date":"2024-05-02","proceeding":null,"authors":["Yi Yu","YuFei Wang","Song Xia","Wenhan Yang","Shijian Lu","Yap-Peng Tan","Alex C. Kot"],"abstract":"Unlearnable examples (UEs) seek to maximize testing error by making subtle modifications to training examples that are correctly labeled. Defenses against these poisoning attacks can be categorized based on whether specific interventions are adopted during training. The first approach is training-time defense, such as adversarial training, which can mitigate poisoning effects but is computationally intensive. The other approach is pre-training purification, e.g., image short squeezing, which consists of several simple compressions but often encounters challenges in dealing with various UEs. Our work provides a novel disentanglement mechanism to build an efficient pre-training purification method. Firstly, we uncover rate-constrained variational autoencoders (VAEs), demonstrating a clear tendency to suppress the perturbations in UEs. We subsequently conduct a theoretical analysis for this phenomenon. Building upon these insights, we introduce a disentangle variational autoencoder (D-VAE), capable of disentangling the perturbations with learnable class-wise embeddings. Based on this network, a two-stage purification approach is naturally developed. The first stage focuses on roughly eliminating perturbations, while the second stage produces refined, poison-free results, ensuring effectiveness and robustness across various scenarios. Extensive experiments demonstrate the remarkable performance of our method across CIFAR-10, CIFAR-100, and a 100-class ImageNet-subset. Code is available at https://github.com/yuyi-sd/D-VAE.","url_abs":"https://arxiv.org/abs/2405.01460v2","url_pdf":"https://arxiv.org/pdf/2405.01460v2.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":"purify-unlearnable-examples-via-rate","repo_url":"https://github.com/yuyi-sd/d-vae","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.01460","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.01460"}},"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/yuyi-sd/D-VAE","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yuyi-sd/d-vae","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"ran_draft_wrong":2,"unverified":2},"by_repo_kind":{"official":{"samples":13,"ran":11,"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":"d67c0086a92ec8d7","entry":"BDR","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/dataset.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":"d67c0086a92ec8d7"}},{"code_sha256_prefix":"dfb395bae3d07d76","entry":"DenseNet121","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/DenseNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/DenseNet.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":"dfb395bae3d07d76"}},{"code_sha256_prefix":"f295fe3c209ecf78","entry":"DenseNet169","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/DenseNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/DenseNet.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":"f295fe3c209ecf78"}},{"code_sha256_prefix":"6383aee1c940e7a5","entry":"DenseNet201","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/DenseNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/DenseNet.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":"6383aee1c940e7a5"}},{"code_sha256_prefix":"85f37398aa70266a","entry":"JPEGcompression","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/yuyi-sd/D-VAE/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":"85f37398aa70266a"}},{"code_sha256_prefix":"68634298232db423","entry":"ResNet18","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/ResNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/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":"68634298232db423"}},{"code_sha256_prefix":"b2e6f658713469be","entry":"ResNet34","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/ResNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/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":"b2e6f658713469be"}},{"code_sha256_prefix":"97c797446a5cfee3","entry":"ResNet50","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/ResNet.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/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":"97c797446a5cfee3"}},{"code_sha256_prefix":"7a6f115523f576f3","entry":"ResNetDVAE","repo":"yuyi-sd/d-vae","repo_kind":"official","path":"models/ResNet.py","file_url":"https://github.com/yuyi-sd/d-vae/blob/HEAD/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":"7a6f115523f576f3"}},{"code_sha256_prefix":"2a80220dabcb742a","entry":"conv1x1","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/resnet_official.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/resnet_official.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":"2a80220dabcb742a"}},{"code_sha256_prefix":"600ff2c45e0de056","entry":"conv3x3","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/resnet_official.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/resnet_official.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":"600ff2c45e0de056"}},{"code_sha256_prefix":"aefa2123c98d35c6","entry":"patch_noise_extend_to_img","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/dataset.py","link_basis":"harvester_set","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":"aefa2123c98d35c6"}},{"code_sha256_prefix":"0e2be202574017d8","entry":"resnet18","repo":"yuyi-sd/D-VAE","repo_kind":"official","path":"models/resnet_official.py","file_url":"https://github.com/yuyi-sd/D-VAE/blob/HEAD/models/resnet_official.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":"0e2be202574017d8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}