Comments (4)
@zhiluwang Thanks for reporting your issue to us! At this point, the get_upper_bound
feature is still not ready to use, however we are working on completing this feature in the next release. If your aim is to get an upper bound of the objective of the robustness verification problem, one easy way to obtain an upper bound is by doing a PGD attack.
If you want to get an guaranteed upper bound for a function within a bounded input perturbation, you can do so by flipping the objective g(x) = -f(x)
, so the lower bound reported by our tool is the actual upper bound you need. Let me know what is your exact use case so we can help you further.
from alpha-beta-crown.
@huanzhang12 Thank you for the clarification. I am looking for using alpha-beta-crown for output range analysis of regression networks so I would like to evaluate an over-approximated upper bound. And my current solution is just like you mentioned, flipping the objective. I just thought that if lower and upper bounds can be derived together, it should be more efficient.
On the other hand, it seems that higher-level APIs are designed for classification networks. For output range analysis of regression networks, I currently call the incomplete_verifier()
first and then call bab()
. I set y=None
and arguments.Config["specification"]["norm"] = np.inf
to get a tight lower bound. Please correct me if there're better functions to use.
from alpha-beta-crown.
@zhiluwang Yes, so far the API is indeed designed for classification network, and some minor changes are need to handle regression, although in principle they are the same the problem.
I am actually working on a more general interface at this time, but due to my limited availability I can't finish it very soon. The way you are currently doing should be correct. When you call bab()
, I believe you will also need to give it a target
(target class) and for regression, setting it to 0
should work.
from alpha-beta-crown.
@huanzhang12 Got it. Thank you.
from alpha-beta-crown.
Related Issues (20)
- Query of theorem of handling residual networks with ADD layer HOT 1
- BaB for Heaviside Activation Function
- Binary out.txt file HOT 1
- CUDA out of memory HOT 6
- need help with Regression model and batch-normalization HOT 1
- alpha-beta-crown behavior HOT 1
- alpha-beta-crown always returns timeout even for a very simple model HOT 1
- GCP-CROWN‘s SDP example error
- Unable to run BAB attack with any given configuration files
- Can I compute the upper bound using incomplete verifier? HOT 13
- RuntimeError onnx network when verifying, while network works at inference
- Documentation info and "save_adv_example" only saving last example
- Can't install HOT 9
- AssertionError on act.inputs HOT 2
- Out-Of-Memory Error / "Killed"
- Explanation of the contents of the results file "out.txt"?
- How to run abcrown.py from inside Python? HOT 1
- It appears that there are missing indentations at line 501 and 502 in abcrown.py. HOT 1
- Inconsistency in Verification Results and Issues with Network Scaling and torch.norm Usage HOT 2
- AttributeError: 'Patches' object has no attribute 'permute' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alpha-beta-crown.