{"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/boundary-thickness-and-robustness-in-learning","title":"Boundary thickness and robustness in learning models","arxiv_id":"2007.05086","date":"2020-07-09","proceeding":"NeurIPS 2020 12","authors":["Yaoqing Yang","Rajiv Khanna","Yaodong Yu","Amir Gholami","Kurt Keutzer","Joseph E. Gonzalez","Kannan Ramchandran","Michael W. Mahoney"],"abstract":"Robustness of machine learning models to various adversarial and non-adversarial corruptions continues to be of interest. In this paper, we introduce the notion of the boundary thickness of a classifier, and we describe its connection with and usefulness for model robustness. Thick decision boundaries lead to improved performance, while thin decision boundaries lead to overfitting (e.g., measured by the robust generalization gap between training and testing) and lower robustness. We show that a thicker boundary helps improve robustness against adversarial examples (e.g., improving the robust test accuracy of adversarial training) as well as so-called out-of-distribution (OOD) transforms, and we show that many commonly-used regularization and data augmentation procedures can increase boundary thickness. On the theoretical side, we establish that maximizing boundary thickness during training is akin to the so-called mixup training. Using these observations, we show that noise-augmentation on mixup training further increases boundary thickness, thereby combating vulnerability to various forms of adversarial attacks and OOD transforms. We can also show that the performance improvement in several lines of recent work happens in conjunction with a thicker boundary.","url_abs":"https://arxiv.org/abs/2007.05086v2","url_pdf":"https://arxiv.org/pdf/2007.05086v2.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":"boundary-thickness-and-robustness-in-learning","repo_url":"https://github.com/nsfzyzz/boundary_thickness","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"adversarial-defense","task_name":"Adversarial Defense"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"}],"methods":[{"method_slug":"mixup","method_name":"Mixup"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2007.05086","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.05086"}},"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/nsfzyzz/boundary_thickness","reach":null}],"summary":{"ran_fixture":1,"ran_violates":1,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":4,"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":"6b1d369b876a5225","entry":"calculate_thickness","repo":"nsfzyzz/boundary_thickness","repo_kind":"official","path":"measure_thickness.py","file_url":"https://github.com/nsfzyzz/boundary_thickness/blob/HEAD/measure_thickness.py","link_basis":"first_harvest_node","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":"6b1d369b876a5225"}},{"code_sha256_prefix":"ae0d40b7ea4676e3","entry":"check_result","repo":"nsfzyzz/boundary_thickness","repo_kind":"official","path":"Reproduce_thickness_measurement_experiment.py","file_url":"https://github.com/nsfzyzz/boundary_thickness/blob/HEAD/Reproduce_thickness_measurement_experiment.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ae0d40b7ea4676e3"}},{"code_sha256_prefix":"60577d977542fee8","entry":"return_command","repo":"nsfzyzz/boundary_thickness","repo_kind":"official","path":"Reproduce_thickness_measurement_experiment.py","file_url":"https://github.com/nsfzyzz/boundary_thickness/blob/HEAD/Reproduce_thickness_measurement_experiment.py","link_basis":"first_harvest_node","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":"60577d977542fee8"}},{"code_sha256_prefix":"6f43cced85743e21","entry":"return_results","repo":"nsfzyzz/boundary_thickness","repo_kind":"official","path":"Reproduce_thickness_measurement_experiment.py","file_url":"https://github.com/nsfzyzz/boundary_thickness/blob/HEAD/Reproduce_thickness_measurement_experiment.py","link_basis":"first_harvest_node","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":"6f43cced85743e21"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}