{"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/analytical-bounds-on-the-local-lipschitz-1","title":"Analytical bounds on the local Lipschitz constants of ReLU networks","arxiv_id":"2104.14672","date":"2021-04-29","proceeding":null,"authors":["Trevor Avant","Kristi A. Morgansen"],"abstract":"In this paper, we determine analytical upper bounds on the local Lipschitz constants of feedforward neural networks with ReLU activation functions. We do so by deriving Lipschitz constants and bounds for ReLU, affine-ReLU, and max pooling functions, and combining the results to determine a network-wide bound. Our method uses several insights to obtain tight bounds, such as keeping track of the zero elements of each layer, and analyzing the composition of affine and ReLU functions. Furthermore, we employ a careful computational approach which allows us to apply our method to large networks such as AlexNet and VGG-16. We present several examples using different networks, which show how our local Lipschitz bounds are tighter than the global Lipschitz bounds. We also show how our method can be applied to provide adversarial bounds for classification networks. These results show that our method produces the largest known bounds on minimum adversarial perturbations for large networks such as AlexNet and VGG-16.","url_abs":"https://arxiv.org/abs/2104.14672v1","url_pdf":"https://arxiv.org/pdf/2104.14672v1.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":"analytical-bounds-on-the-local-lipschitz-1","repo_url":"https://github.com/uwaa-ndcl/local_lipschitz","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"max-pooling","method_name":"Max Pooling"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2104.14672","atlas_url":"https://app.syntology.ai/?focus=2104.14672","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.14672"}},"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/uwaa-ndcl/local_lipschitz","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":"35719ece9c58199b","entry":"block_diag","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"other_methods/lipsdp_python/lipschitz_multi_layer.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/other_methods/lipsdp_python/lipschitz_multi_layer.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":"35719ece9c58199b"}},{"code_sha256_prefix":"95e3a4ac36517e22","entry":"get_input_size","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"other_methods/lipestimation/lipschitz_utils.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/other_methods/lipestimation/lipschitz_utils.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":"95e3a4ac36517e22"}},{"code_sha256_prefix":"8b9f49cd279dbfa1","entry":"jacobian","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"other_methods/lipestimation/lipschitz_utils.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/other_methods/lipestimation/lipschitz_utils.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":"8b9f49cd279dbfa1"}},{"code_sha256_prefix":"30d41f92926b944b","entry":"parse_result_line","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"other_methods/RecurJac-and-CROWN/parse_lipschitz.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/other_methods/RecurJac-and-CROWN/parse_lipschitz.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":"30d41f92926b944b"}},{"code_sha256_prefix":"d2497eea1d5d4148","entry":"parse_single","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"other_methods/RecurJac-and-CROWN/parse_lipschitz.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/other_methods/RecurJac-and-CROWN/parse_lipschitz.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":"d2497eea1d5d4148"}},{"code_sha256_prefix":"7bc22741366e8140","entry":"relu","repo":"uwaa-ndcl/local_lipschitz","repo_kind":"official","path":"network_bound.py","file_url":"https://github.com/uwaa-ndcl/local_lipschitz/blob/HEAD/network_bound.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":"7bc22741366e8140"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}