Trusted-AI/adversarial-robustness-toolbox

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?