{"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/procedural-noise-adversarial-examples-for","title":"Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Convolutional Networks","arxiv_id":"1810.00470","date":"2018-09-30","proceeding":null,"authors":["Kenneth T. Co","Luis Muñoz-González","Sixte de Maupeou","Emil C. Lupu"],"abstract":"Deep Convolutional Networks (DCNs) have been shown to be vulnerable to adversarial examples---perturbed inputs specifically designed to produce intentional errors in the learning algorithms at test time. Existing input-agnostic adversarial perturbations exhibit interesting visual patterns that are currently unexplained. In this paper, we introduce a structured approach for generating Universal Adversarial Perturbations (UAPs) with procedural noise functions. Our approach unveils the systemic vulnerability of popular DCN models like Inception v3 and YOLO v3, with single noise patterns able to fool a model on up to 90% of the dataset. Procedural noise allows us to generate a distribution of UAPs with high universal evasion rates using only a few parameters. Additionally, we propose Bayesian optimization to efficiently learn procedural noise parameters to construct inexpensive untargeted black-box attacks. We demonstrate that it can achieve an average of less than 10 queries per successful attack, a 100-fold improvement on existing methods. We further motivate the use of input-agnostic defences to increase the stability of models to adversarial perturbations. The universality of our attacks suggests that DCN models may be sensitive to aggregations of low-level class-agnostic features. These findings give insight on the nature of some universal adversarial perturbations and how they could be generated in other applications.","url_abs":"https://arxiv.org/abs/1810.00470v4","url_pdf":"https://arxiv.org/pdf/1810.00470v4.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":"procedural-noise-adversarial-examples-for","repo_url":"https://github.com/kenny-co/procedural-advml","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"procedural-noise-adversarial-examples-for","repo_url":"https://github.com/nmcdermo/AdvML","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.00470","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.00470"}},"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/nmcdermo/AdvML","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kenny-co/procedural-advml","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"d77735ff9e1b1806","entry":"colorize","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_attack.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_attack.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":"d77735ff9e1b1806"}},{"code_sha256_prefix":"1752b2c9ef117bd2","entry":"load_predict","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_bopt.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_bopt.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":"1752b2c9ef117bd2"}},{"code_sha256_prefix":"b6a65c5d50ee6c58","entry":"normalize","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_noise.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_noise.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":"b6a65c5d50ee6c58"}},{"code_sha256_prefix":"28c8ab23f337080a","entry":"normalize_var","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_noise.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_noise.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":"28c8ab23f337080a"}},{"code_sha256_prefix":"eb58662c9956c611","entry":"perturb","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_attack.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_attack.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":"eb58662c9956c611"}},{"code_sha256_prefix":"603ca4e51314b267","entry":"valid_position","repo":"kenny-co/procedural-advml","repo_kind":"official","path":"utils_noise.py","file_url":"https://github.com/kenny-co/procedural-advml/blob/HEAD/utils_noise.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":"603ca4e51314b267"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}