{"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/a-unified-algebraic-perspective-on-lipschitz","title":"A Unified Algebraic Perspective on Lipschitz Neural Networks","arxiv_id":"2303.03169","date":"2023-03-06","proceeding":"ICLR 2023 2","authors":["Alexandre Araujo","Aaron Havens","Blaise Delattre","Alexandre Allauzen","Bin Hu"],"abstract":"Important research efforts have focused on the design and training of neural networks with a controlled Lipschitz constant. The goal is to increase and sometimes guarantee the robustness against adversarial attacks. Recent promising techniques draw inspirations from different backgrounds to design 1-Lipschitz neural networks, just to name a few: convex potential layers derive from the discretization of continuous dynamical systems, Almost-Orthogonal-Layer proposes a tailored method for matrix rescaling. However, it is today important to consider the recent and promising contributions in the field under a common theoretical lens to better design new and improved layers. This paper introduces a novel algebraic perspective unifying various types of 1-Lipschitz neural networks, including the ones previously mentioned, along with methods based on orthogonality and spectral methods. Interestingly, we show that many existing techniques can be derived and generalized via finding analytical solutions of a common semidefinite programming (SDP) condition. We also prove that AOL biases the scaled weight to the ones which are close to the set of orthogonal matrices in a certain mathematical manner. Moreover, our algebraic condition, combined with the Gershgorin circle theorem, readily leads to new and diverse parameterizations for 1-Lipschitz network layers. Our approach, called SDP-based Lipschitz Layers (SLL), allows us to design non-trivial yet efficient generalization of convex potential layers. Finally, the comprehensive set of experiments on image classification shows that SLLs outperform previous approaches on certified robust accuracy. Code is available at https://github.com/araujoalexandre/Lipschitz-SLL-Networks.","url_abs":"https://arxiv.org/abs/2303.03169v2","url_pdf":"https://arxiv.org/pdf/2303.03169v2.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":"a-unified-algebraic-perspective-on-lipschitz","repo_url":"https://github.com/araujoalexandre/lipschitz-sll-networks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"provable-adversarial-defense","task_name":"Provable Adversarial Defense"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-10","task":"Provable Adversarial Defense","dataset":"CIFAR-10","model":"SLL X-Large","rank_in_archive_order":1,"of":4,"metrics":{"Accuracy":"70.3"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-10","task":"Provable Adversarial Defense","dataset":"CIFAR-10","model":"SLL Large","rank_in_archive_order":2,"of":4,"metrics":{"Accuracy":"69.8"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-10","task":"Provable Adversarial Defense","dataset":"CIFAR-10","model":"SLL Medium","rank_in_archive_order":3,"of":4,"metrics":{"Accuracy":"69.1"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-10","task":"Provable Adversarial Defense","dataset":"CIFAR-10","model":"SLL Small","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy":"68.1"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-100","task":"Provable Adversarial Defense","dataset":"CIFAR-100","model":"SLL X-Large","rank_in_archive_order":1,"of":4,"metrics":{"Accuracy":"42.7"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-100","task":"Provable Adversarial Defense","dataset":"CIFAR-100","model":"SLL Large","rank_in_archive_order":2,"of":4,"metrics":{"Accuracy":"42.1"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-100","task":"Provable Adversarial Defense","dataset":"CIFAR-100","model":"SLL Medium","rank_in_archive_order":3,"of":4,"metrics":{"Accuracy":"41.5"},"uses_additional_data":false},{"leaderboard":"/sota/provable-adversarial-defense-on-cifar-100","task":"Provable Adversarial Defense","dataset":"CIFAR-100","model":"SLL Small","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy":"40.7"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2303.03169","atlas_url":"https://app.syntology.ai/?focus=2303.03169","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.03169"}},"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":"deterministic:regex_extraction","url":"https://github.com/araujoalexandre/Lipschitz-SLL-Networks","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/araujoalexandre/lipschitz-sll-networks","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":"a53f2e98004de3e5","entry":"SDPBasedLipschitzConvLayer","repo":"araujoalexandre/lipschitz-sll-networks","repo_kind":"official","path":"core/models/layers.py","file_url":"https://github.com/araujoalexandre/lipschitz-sll-networks/blob/HEAD/core/models/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a53f2e98004de3e5"}},{"code_sha256_prefix":"78b329790b439bbe","entry":"safe_inv","repo":"araujoalexandre/lipschitz-sll-networks","repo_kind":"official","path":"core/models/layers.py","file_url":"https://github.com/araujoalexandre/lipschitz-sll-networks/blob/HEAD/core/models/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"78b329790b439bbe"}},{"code_sha256_prefix":"176682a411532153","entry":"eval_certified","repo":"araujoalexandre/lipschitz-sll-networks","repo_kind":"official","path":"reproduce_tables.py","file_url":"https://github.com/araujoalexandre/lipschitz-sll-networks/blob/HEAD/reproduce_tables.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"176682a411532153"}},{"code_sha256_prefix":"5da48aeb96343d0a","entry":"safe_inv","repo":"araujoalexandre/lipschitz-sll-networks","repo_kind":"official","path":"core/models/layers.py","file_url":"https://github.com/araujoalexandre/lipschitz-sll-networks/blob/HEAD/core/models/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5da48aeb96343d0a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}