{"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/learning-to-generate-noise-for-robustness","title":"Learning to Generate Noise for Multi-Attack Robustness","arxiv_id":"2006.12135","date":"2020-06-22","proceeding":null,"authors":["Divyam Madaan","Jinwoo Shin","Sung Ju Hwang"],"abstract":"Adversarial learning has emerged as one of the successful techniques to circumvent the susceptibility of existing methods against adversarial perturbations. However, the majority of existing defense methods are tailored to defend against a single category of adversarial perturbation (e.g. $\\ell_\\infty$-attack). In safety-critical applications, this makes these methods extraneous as the attacker can adopt diverse adversaries to deceive the system. Moreover, training on multiple perturbations simultaneously significantly increases the computational overhead during training. To address these challenges, we propose a novel meta-learning framework that explicitly learns to generate noise to improve the model's robustness against multiple types of attacks. Its key component is Meta Noise Generator (MNG) that outputs optimal noise to stochastically perturb a given sample, such that it helps lower the error on diverse adversarial perturbations. By utilizing samples generated by MNG, we train a model by enforcing the label consistency across multiple perturbations. We validate the robustness of models trained by our scheme on various datasets and against a wide variety of perturbations, demonstrating that it significantly outperforms the baselines across multiple perturbations with a marginal computational cost.","url_abs":"https://arxiv.org/abs/2006.12135v4","url_pdf":"https://arxiv.org/pdf/2006.12135v4.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":"learning-to-generate-noise-for-robustness","repo_url":"https://github.com/divyam3897/MNG_AC","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"meta-learning","task_name":"Meta-Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.12135","atlas_url":"https://app.syntology.ai/?focus=2006.12135","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.12135"}},"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/divyam3897/MNG_AC","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":1,"unverified":13},"by_repo_kind":{"official":{"samples":16,"ran":3,"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":"044ec38c1bb631ec","entry":"entropy_loss","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"losses.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/losses.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"044ec38c1bb631ec"}},{"code_sha256_prefix":"1e0eb41fc8899d05","entry":"pad","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"core.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/core.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":"1e0eb41fc8899d05"}},{"code_sha256_prefix":"a2f6a25906e664c5","entry":"to_var","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"layers.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/layers.py","link_basis":"harvester_set","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":"a2f6a25906e664c5"}},{"code_sha256_prefix":"bd8c619e1c243150","entry":"batch_norm","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"torch_backend.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/torch_backend.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":"bd8c619e1c243150"}},{"code_sha256_prefix":"976a0e15b0013751","entry":"cifar10","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"torch_backend.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/torch_backend.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":"976a0e15b0013751"}},{"code_sha256_prefix":"62cfcd202fa9f187","entry":"cifar100","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"torch_backend.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/torch_backend.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":"62cfcd202fa9f187"}},{"code_sha256_prefix":"4829fc02195f0c39","entry":"get_loaders","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"train_pgd.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/train_pgd.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":"4829fc02195f0c39"}},{"code_sha256_prefix":"25a38483a96ef158","entry":"noise_loss","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"losses.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/losses.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":"25a38483a96ef158"}},{"code_sha256_prefix":"8b28005c645a1f0d","entry":"normalise","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"core.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/core.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":"8b28005c645a1f0d"}},{"code_sha256_prefix":"e947902323493385","entry":"normalise2","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"core.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/core.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":"e947902323493385"}},{"code_sha256_prefix":"213a35c2134004c8","entry":"norms","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/evaluate.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":"213a35c2134004c8"}},{"code_sha256_prefix":"270dfbbfa52ea425","entry":"norms_p","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/evaluate.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":"270dfbbfa52ea425"}},{"code_sha256_prefix":"66afde320d908d83","entry":"setup_data_loader","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/divyam3897/MNG_AC/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":"66afde320d908d83"}},{"code_sha256_prefix":"15f887c3ff793240","entry":"setup_imagenet_data_loader","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/divyam3897/MNG_AC/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":"15f887c3ff793240"}},{"code_sha256_prefix":"8471056031202a90","entry":"setup_imagenetc_data_loader","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/divyam3897/MNG_AC/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":"8471056031202a90"}},{"code_sha256_prefix":"d3122446266de554","entry":"trades_loss","repo":"divyam3897/MNG_AC","repo_kind":"official","path":"losses.py","file_url":"https://github.com/divyam3897/MNG_AC/blob/HEAD/losses.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":"d3122446266de554"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}