-
Notifications
You must be signed in to change notification settings - Fork 1
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
Pixel out of bounds for certain (most?) counterfactuals #1
Comments
Hi @Dorin-D, Thanks a lot for your interest in our work and also using our tool. We have looked into the issue carefully and noticed that, when using the exact same model (
I'm attaching all the produced results for this particular case, including the original image, the sensitivity, the explanation, and all counterfactuals, in a zip file for reference purpose: mnist-10x2-index-112-heuristic-linf0.05.zip I also did a sanity check on a couple of other MNIST images and observed no out-of-bound pixels in the counterfactuals. Please could I confirm if you are using the most up-to-date version of Marabou? If not, any chance you could upgrade to the current version? If yes, and you are still encountering the same issue with counterfactuals containing out-of-bound pixels, please don't hesitate to reach out to us. Thanks again for using our tool, and wish you every success in your study/research goals. |
Thanks @minwu-cs for your reply, I am using maraboupy==2.0.0 (installed via pip). I assume this is the latest version? I am still encountering the same issue. |
Hi @Dorin-D, thanks a lot for getting back to us with more details. I have passed your message to the Marabou development team regarding the specific Marabou version installed via pip. In the meantime, any chance you could install Marabou as suggested on the VeriX webpage, i.e., build Marabou from source and configure it to use the Gurobi optimizer? This might not be as straightforward as using All you need to do is download the Marabou repository and build it from source, as shown in the following command lines:
Specifically, Hope this helps, and if you encounter any further questions, please don't hesitate to let us know. |
Hi @minwu-cs . I have tried to build Marabou from source according to your instructions on my local machine;
Let me know if you need more information about my setup, or if the description of my installation is not clear enough. Thank you! |
Greetings!
I would like to visualize the counterfactuals found by VeriX. In the "VeriX" class, "get_explanation" function, I set the "plot_counterfactual" argument to true. The resulting counterfactuals tend to contain a pixel out of bounds (OOB), with values outside of 0 and 1, e.g. -5, +20. Depending on the image and traversal order set, it also appears that this OOB pixel stays the same for different counterfactuals, with some other pixels varying accordingly between counterfactual examples. This is despite the fact that epsilon is set to 0.05, so the pixel should not vary more than that from its original value.
Reproduction of issue:
This results in ~300 counterfactuals generated, however, (1) all except one contain the same OOB pixel that creates a big contrast in the image, (2) and between them a single pixel varies by epsilon ( (2) as expected). I've attached some examples to show what I mean; note that only counterfactual-at-pixel-685 is different. ZIP attachment:counterfactual-at-pixel-.zip
Is this a VeriX issue? Is it a Marabou issue? I tried to look into the Marabou implementation, but it relies on a C++ function that I can't understand on my own. I see that the bounds are properly set in VeriX for both irrelevant and on the current pixel, so I can't understand why Marabou would return a pixel outside of the input bounds.
I'd also like to note that similar behaviour is seen for multiple images, not just x_test[112]. Setting a sequential traversal order (rather than using the provided heuristic) results in various pixels being OOB for each counterfactual, but the question remains on why they are returned as OOB.
The text was updated successfully, but these errors were encountered: