{"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/recurjac-an-efficient-recursive-algorithm-for","title":"RecurJac: An Efficient Recursive Algorithm for Bounding Jacobian Matrix of Neural Networks and Its Applications","arxiv_id":"1810.11783","date":"2018-10-28","proceeding":null,"authors":["Huan Zhang","Pengchuan Zhang","Cho-Jui Hsieh"],"abstract":"The Jacobian matrix (or the gradient for single-output networks) is directly\nrelated to many important properties of neural networks, such as the function\nlandscape, stationary points, (local) Lipschitz constants and robustness to\nadversarial attacks. In this paper, we propose a recursive algorithm, RecurJac,\nto compute both upper and lower bounds for each element in the Jacobian matrix\nof a neural network with respect to network's input, and the network can\ncontain a wide range of activation functions. As a byproduct, we can\nefficiently obtain a (local) Lipschitz constant, which plays a crucial role in\nneural network robustness verification, as well as the training stability of\nGANs. Experiments show that (local) Lipschitz constants produced by our method\nis of better quality than previous approaches, thus providing better robustness\nverification results. Our algorithm has polynomial time complexity, and its\ncomputation time is reasonable even for relatively large networks.\nAdditionally, we use our bounds of Jacobian matrix to characterize the\nlandscape of the neural network, for example, to determine whether there exist\nstationary points in a local neighborhood. Source code available at\n\\url{http://github.com/huanzhang12/RecurJac-Jacobian-bounds}.","url_abs":"http://arxiv.org/abs/1810.11783v2","url_pdf":"http://arxiv.org/pdf/1810.11783v2.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":"recurjac-an-efficient-recursive-algorithm-for","repo_url":"https://github.com/huanzhang12/RecurJac-Jacobian-Bounds","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"recurjac-an-efficient-recursive-algorithm-for","repo_url":"https://github.com/huanzhang12/CertifiedReLURobustness","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"recurjac-an-efficient-recursive-algorithm-for","repo_url":"https://github.com/huanzhang12/RecurJac","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"recurjac-an-efficient-recursive-algorithm-for","repo_url":"https://github.com/huanzhang12/RecurJac-and-CROWN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.11783","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}