Measured Linf norm exceeds epsilon for ACG
Closed this issue · 1 comments
Describe the bug
I'm using ACG with an epsilon of 0.07 and Linf constraint, however when I measure the Linf norm between my clean and adversarial samples about 15% exceed 0.071 and the biggest I measured was 0.95. Am I mis understanding how this constraint should work?
To Reproduce
Here is how I calculated the distance:
df_acg_clean = pd.read_csv("adv_obs.csv") df_acg_adv = pd.read_csv("adv_perturbed_obs.csv") adv_acg_norms = (df_acg_adv - df_acg_clean).apply(lambda row: np.linalg.norm(row, ord=np.inf), axis='columns')
Expected behavior
I understand that the adversarial example should be clipped to +/- epsilon before it's returned, so if the Linf norm exceeds epsilon, it shouldn't be by much.
System information (please complete the following information):
- OS: windows 11
- Python version: 3.10.12
- ART version or commit number: 1.16.0
- PyTorch
Hi @KandBM Please apologise the delay. I have note been able to reproduce your observation. Would you be able to share a simple examples that reproduces your results?