-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can I compute the L2 local Lipschitz constant with the framework? #47
Comments
Hi @kwmaeng91 , There is no example of computing the L2 local Lipschitz constant in the current code. The framework is intended for Linf norm only for now. For L2 norm which involves spectral norms, the current LiRPA framework seems to be produce loose bounds. |
Hi, @shizhouxing, thank you for the reply! Is there any other framework you would recommend for L2 norm? It seems like your team have published a stream of works and codebases related to this problem. If you have any other project you think would be more related I would love to know (e.g., will RecurJac or Fast-Lip be helpful?) Thank you. |
I previously tried computing L2 norm also and the code could produce some L2 results at that time. I need to check the current code and get back to you. RecurJac and Fast-Lip are special cases of this new framework so I don't think they can produce tight results. I know LipSDP ([13] cited in the NeurIPS 2022 paper) can compute L2 results though it may be limited to small models due to its high cost. |
Thanks @shizhouxing!! I will be awaiting your response. |
Hi, I am curious if the framework supports calculating the L2 local Lipschitz constant (bound of the L2-norm of the Jacobian).
The NeurIPS 2022 paper seems like it is suggesting that only L-inf norm is supported. However, under examples/vision/jacobian.py, there are three examples, and I was not sure if one of them are calculating L2 local Lipschitz constant.
Specifically, I wasn't sure what the first example is calculating, without the norm=np.inf argument here:
auto_LiRPA/examples/vision/jacobian.py
Line 56 in d2592c1
Can you explain the difference between the first and the second example in the above link, and comment on whether there is a way for me to bound the L2-norm of the Jacobian with the framework in general?
Thank you for the help!
The text was updated successfully, but these errors were encountered: