{"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/sparse-and-imperceptible-adversarial-attack","title":"Sparse and Imperceptible Adversarial Attack via a Homotopy Algorithm","arxiv_id":"2106.06027","date":"2021-06-10","proceeding":null,"authors":["Mingkang Zhu","Tianlong Chen","Zhangyang Wang"],"abstract":"Sparse adversarial attacks can fool deep neural networks (DNNs) by only perturbing a few pixels (regularized by l_0 norm). Recent efforts combine it with another l_infty imperceptible on the perturbation magnitudes. The resultant sparse and imperceptible attacks are practically relevant, and indicate an even higher vulnerability of DNNs that we usually imagined. However, such attacks are more challenging to generate due to the optimization difficulty by coupling the l_0 regularizer and box constraints with a non-convex objective. In this paper, we address this challenge by proposing a homotopy algorithm, to jointly tackle the sparsity and the perturbation bound in one unified framework. Each iteration, the main step of our algorithm is to optimize an l_0-regularized adversarial loss, by leveraging the nonmonotone Accelerated Proximal Gradient Method (nmAPG) for nonconvex programming; it is followed by an l_0 change control step, and an optional post-attack step designed to escape bad local minima. We also extend the algorithm to handling the structural sparsity regularizer. We extensively examine the effectiveness of our proposed homotopy attack for both targeted and non-targeted attack scenarios, on CIFAR-10 and ImageNet datasets. Compared to state-of-the-art methods, our homotopy attack leads to significantly fewer perturbations, e.g., reducing 42.91% on CIFAR-10 and 75.03% on ImageNet (average case, targeted attack), at similar maximal perturbation magnitudes, when still achieving 100% attack success rates. Our codes are available at: https://github.com/VITA-Group/SparseADV_Homotopy.","url_abs":"https://arxiv.org/abs/2106.06027v1","url_pdf":"https://arxiv.org/pdf/2106.06027v1.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":"sparse-and-imperceptible-adversarial-attack","repo_url":"https://github.com/VITA-Group/SparseADV_Homotopy","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.06027","atlas_url":"https://app.syntology.ai/?focus=2106.06027","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.06027"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/VITA-Group/SparseADV_Homotopy","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":"9d39a04fb10e4cc3","entry":"prox_pixel","repo":"VITA-Group/SparseADV_Homotopy","repo_kind":"official","path":"demo_attack.py","file_url":"https://github.com/VITA-Group/SparseADV_Homotopy/blob/HEAD/demo_attack.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d39a04fb10e4cc3"}},{"code_sha256_prefix":"e2c5ff4fa9ef0826","entry":"F","repo":"VITA-Group/SparseADV_Homotopy","repo_kind":"official","path":"demo_attack.py","file_url":"https://github.com/VITA-Group/SparseADV_Homotopy/blob/HEAD/demo_attack.py","link_basis":"plan_row","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":"e2c5ff4fa9ef0826"}},{"code_sha256_prefix":"db3499b998ec5515","entry":"after_attack","repo":"VITA-Group/SparseADV_Homotopy","repo_kind":"official","path":"demo_attack.py","file_url":"https://github.com/VITA-Group/SparseADV_Homotopy/blob/HEAD/demo_attack.py","link_basis":"plan_row","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":"db3499b998ec5515"}},{"code_sha256_prefix":"46b63986b5f8e00b","entry":"inception_v3","repo":"VITA-Group/SparseADV_Homotopy","repo_kind":"official","path":"inception_v3.py","file_url":"https://github.com/VITA-Group/SparseADV_Homotopy/blob/HEAD/inception_v3.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":"46b63986b5f8e00b"}},{"code_sha256_prefix":"fd25cb543e1e2c37","entry":"load_img","repo":"VITA-Group/SparseADV_Homotopy","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/VITA-Group/SparseADV_Homotopy/blob/HEAD/datasets.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":"fd25cb543e1e2c37"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}