{"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/certified-robust-neural-networks","title":"Certified Robust Neural Networks: Generalization and Corruption Resistance","arxiv_id":"2303.02251","date":"2023-03-03","proceeding":null,"authors":["Amine Bennouna","Ryan Lucas","Bart Van Parys"],"abstract":"Recent work have demonstrated that robustness (to \"corruption\") can be at odds with generalization. Adversarial training, for instance, aims to reduce the problematic susceptibility of modern neural networks to small data perturbations. Surprisingly, overfitting is a major concern in adversarial training despite being mostly absent in standard training. We provide here theoretical evidence for this peculiar \"robust overfitting\" phenomenon. Subsequently, we advance a novel distributionally robust loss function bridging robustness and generalization. We demonstrate both theoretically as well as empirically the loss to enjoy a certified level of robustness against two common types of corruption--data evasion and poisoning attacks--while ensuring guaranteed generalization. We show through careful numerical experiments that our resulting holistic robust (HR) training procedure yields SOTA performance. Finally, we indicate that HR training can be interpreted as a direct extension of adversarial training and comes with a negligible additional computational burden. A ready-to-use python library implementing our algorithm is available at https://github.com/RyanLucas3/HR_Neural_Networks.","url_abs":"https://arxiv.org/abs/2303.02251v2","url_pdf":"https://arxiv.org/pdf/2303.02251v2.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":"certified-robust-neural-networks","repo_url":"https://github.com/ryanlucas3/hr_neural_networks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":null,"method_name":"Library"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.02251","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.02251"}},"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/ryanlucas3/hr_neural_networks","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"ran_draft_wrong":2,"unverified":9},"by_repo_kind":{"official":{"samples":13,"ran":4,"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":"1153837ba4a94242","entry":"PreActResNet18","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/preactresnet.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/preactresnet.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":"1153837ba4a94242"}},{"code_sha256_prefix":"bbffec6aadbbfd95","entry":"l2_norm","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_TRADES/trades.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_TRADES/trades.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":"bbffec6aadbbfd95"}},{"code_sha256_prefix":"1e0eb41fc8899d05","entry":"pad","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/utils.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/utils.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":"724c88e3f81d2123","entry":"squared_l2_norm","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_TRADES/trades.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_TRADES/trades.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":"724c88e3f81d2123"}},{"code_sha256_prefix":"622328fcdcde6053","entry":"ResNet18","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.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":"622328fcdcde6053"}},{"code_sha256_prefix":"72f12a77446ad832","entry":"ResNet34","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.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":"72f12a77446ad832"}},{"code_sha256_prefix":"e2671528972512b8","entry":"ResNet50","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.3/resnet.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":"e2671528972512b8"}},{"code_sha256_prefix":"8a93e041134b597a","entry":"clamp","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_HR/Rice_HR.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_HR/Rice_HR.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":"8a93e041134b597a"}},{"code_sha256_prefix":"1c573f57796f7e63","entry":"corrupt_targets","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/helper_functions.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/helper_functions.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":"1c573f57796f7e63"}},{"code_sha256_prefix":"8d1360df29c61c25","entry":"mixup_data","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_HR/Rice_HR.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/Rice_HR/Rice_HR.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":"8d1360df29c61c25"}},{"code_sha256_prefix":"d2a4ac781b2a9628","entry":"normalise","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/utils.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/utils.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":"d2a4ac781b2a9628"}},{"code_sha256_prefix":"22476a8c37b21cfc","entry":"return_batches_to_corrupt","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/helper_functions.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/helper_functions.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":"22476a8c37b21cfc"}},{"code_sha256_prefix":"c0f89c373fea538a","entry":"transpose","repo":"ryanlucas3/hr_neural_networks","repo_kind":"official","path":"HR_Neural_Networks/Paper_experiments/Section_6.2/utils.py","file_url":"https://github.com/ryanlucas3/hr_neural_networks/blob/HEAD/HR_Neural_Networks/Paper_experiments/Section_6.2/utils.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":"c0f89c373fea538a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}