We lifted 3 functions out of this paper's own repositories and ran 3 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| yaodongyu/TRADES | canonical | 3 of 3 |
| Function | Status | Where it lives |
|---|---|---|
| l2_norm | Ran | yaodongyu/TRADES/trades.py code served (permissive licence) · get_code("bbffec6aadbbfd95") |
| squared_l2_norm | Ran | yaodongyu/TRADES/trades.py code served (permissive licence) · get_code("724c88e3f81d2123") |
| trades_loss | Ran | yaodongyu/TRADES/trades.py code served (permissive licence) · get_code("0dbf499b0160d7e3") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Adversarial testing methods based on Projected Gradient Descent (PGD) are widely used for searching norm-bounded perturbations that cause the inputs of neural networks to be misclassified. This paper takes a deeper look at these methods and explains the effect of different hyperparameters (i.e., optimizer, step size and surrogate loss). We introduce the concept of MultiTargeted testing, which makes clever use of alternative surrogate losses, and explain when and how MultiTargeted is guaranteed to find optimal perturbations. Finally, we demonstrate that MultiTargeted outperforms more sophisticated methods and often requires less iterative steps than other variants of PGD found in the literature. Notably, MultiTargeted ranks first on MadryLab's white-box MNIST and CIFAR-10 leaderboards, reducing the accuracy of their MNIST model to 88.36% (with $\ell_\infty$ perturbations of $ε= 0.3$) and the accuracy of their CIFAR-10 model to 44.03% (at $ε= 8/255$). MultiTargeted also ranks first on the TRADES leaderboard reducing the accuracy of their CIFAR-10 model to 53.07% (with $\ell_\infty$ perturbations of $ε= 0.031$).
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("1910.09338")
get_code_for_paper("1910.09338")
have("1910.09338")
Connect an agent — have() is free.