-
Notifications
You must be signed in to change notification settings - Fork 113
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
Autoattack and APGDT #52
Comments
Hi, there are a few options, described here. In particular, The target classes for APGD-T are chosen, for each point, as the most likely (with highest logits) ones except for the correct one. We use 9 as standard value since the commonly used datasets have at least 10 classes. We use the same also for ImageNet to keep a constant computational budget and since we observed it to be effective, but in principle any value in [1, 999] can be used. Also, we use targeted losses, in the context of untargeted attacks, since these provide more diverse and, when multiple restarts are available, stronger attacks. Hope this helps, and let me know if you have further questions! |
Thanks for the response! I'm clearer than before but still have some questions. auto-attack/autoattack/autopgd_pt.py Line 414 in feb8500
(3) In the codes, auto-attack/autoattack/autopgd_pt.py Line 48 in feb8500
Why do we need to use the norm twice in Line 56 and 113? Normally, I just use the norm once to constrain the generated ones in the last few steps like the second one below. auto-attack/autoattack/autopgd_pt.py Line 56 in feb8500
auto-attack/autoattack/autopgd_pt.py Line 113 in feb8500
Thanks for your help again! |
We consider a point successfully misclassified if any of the four attacks finds an adversarial perturbation. In your example it would be 90 points. And it woks as you described that the attacks are run sequentially only on the points which haven't been successfully attacked by a previous one, and the robust accuracy is given as the percentage of points robust to all attacks. About APGD-T, we use different target classes so that we have different losses as objective functions of the maximization scheme. Also in this case, only one adversarial image is saved, if found, for each input. The first line you mentioned is for the generation of the random starting point, which should be in the feasible set. Hope this helps! |
Hi, I am a primary learner and still feel little bit confused about the autoattack and target apgdt. (1) For the standard autoattack, do all images are attacked by 4 attacks respectively and calculate the average robust accuracy of 4 attacks after all? And in autoattack, are adversarial images for each attack saved respectively? (2) And for target apgdt, how the target label is found? I see that the number of target label is equal to the number of total class minus one for CIFAR-10. If I want to use it for the ImageNet, should I set n_target_classes = 999 or any number among 1-999? What's the principal for the target setting?
Looking forwards to your help! Thanks!
The text was updated successfully, but these errors were encountered: