{"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/on-generating-transferable-targeted","title":"On Generating Transferable Targeted Perturbations","arxiv_id":"2103.14641","date":"2021-03-26","proceeding":"ICCV 2021 10","authors":["Muzammal Naseer","Salman Khan","Munawar Hayat","Fahad Shahbaz Khan","Fatih Porikli"],"abstract":"While the untargeted black-box transferability of adversarial perturbations has been extensively studied before, changing an unseen model's decisions to a specific `targeted' class remains a challenging feat. In this paper, we propose a new generative approach for highly transferable targeted perturbations (\\ours). We note that the existing methods are less suitable for this task due to their reliance on class-boundary information that changes from one model to another, thus reducing transferability. In contrast, our approach matches the perturbed image `distribution' with that of the target class, leading to high targeted transferability rates. To this end, we propose a new objective function that not only aligns the global distributions of source and target images, but also matches the local neighbourhood structure between the two domains. Based on the proposed objective, we train a generator function that can adaptively synthesize perturbations specific to a given input. Our generative approach is independent of the source or target domain labels, while consistently performs well against state-of-the-art methods on a wide range of attack settings. As an example, we achieve $32.63\\%$ target transferability from (an adversarially weak) VGG19$_{BN}$ to (a strong) WideResNet on ImageNet val. set, which is 4$\\times$ higher than the previous best generative attack and 16$\\times$ better than instance-specific iterative attack. Code is available at: {\\small\\url{https://github.com/Muzammal-Naseer/TTP}}.","url_abs":"https://arxiv.org/abs/2103.14641v2","url_pdf":"https://arxiv.org/pdf/2103.14641v2.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":"on-generating-transferable-targeted","repo_url":"https://github.com/Muzammal-Naseer/TTP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"on-generating-transferable-targeted","repo_url":"https://github.com/ZhengyuZhao/Targeted-Tansfer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"on-generating-transferable-targeted","repo_url":"https://github.com/zhengyuzhao/targeted-transfer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"wide-residual-block","method_name":"Wide Residual Block"},{"method_slug":"wideresnet","method_name":"WideResNet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.14641","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.14641"}},"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/ZhengyuZhao/Targeted-Tansfer","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Muzammal-Naseer/TTP","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhengyuzhao/targeted-transfer","reach":null}],"summary":{"ran_draft_wrong":2,"ran":1,"ran_honours":1,"ran_fixture":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":4,"ran":4,"repositories":2}},"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":"1d3a505ad1a8b164","entry":"DI","repo":"ZhengyuZhao/Targeted-Tansfer","repo_kind":"listed","path":"eval_ensemble.py","file_url":"https://github.com/ZhengyuZhao/Targeted-Tansfer/blob/HEAD/eval_ensemble.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d3a505ad1a8b164"}},{"code_sha256_prefix":"fe66bd178744f962","entry":"GeneratorResnet","repo":"Muzammal-Naseer/TTP","repo_kind":"official","path":"generators.py","file_url":"https://github.com/Muzammal-Naseer/TTP/blob/HEAD/generators.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":"fe66bd178744f962"}},{"code_sha256_prefix":"403870dd791d1c92","entry":"Poincare_dis","repo":"zhengyuzhao/targeted-transfer","repo_kind":"listed","path":"eval_ensemble.py","file_url":"https://github.com/zhengyuzhao/targeted-transfer/blob/HEAD/eval_ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"403870dd791d1c92"}},{"code_sha256_prefix":"9e4f4d7edbf00ba0","entry":"load_ground_truth","repo":"ZhengyuZhao/Targeted-Tansfer","repo_kind":"listed","path":"eval_ensemble.py","file_url":"https://github.com/ZhengyuZhao/Targeted-Tansfer/blob/HEAD/eval_ensemble.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":"9e4f4d7edbf00ba0"}},{"code_sha256_prefix":"80be5f7ad7ab3dcc","entry":"normalize","repo":"ZhengyuZhao/Targeted-Tansfer","repo_kind":"listed","path":"eval_10_targets.py","file_url":"https://github.com/ZhengyuZhao/Targeted-Tansfer/blob/HEAD/eval_10_targets.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80be5f7ad7ab3dcc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}