A barebone implementation based on this paper by Chen et. al.
Another writeup is written (in Vietnamese) by me here.
Documentation is written neatly in docstrings, so it can be easily exported if needed.
Also, one can open the notebook and export it as a .py
file for ease of import.
- Currently only supports L2 norm, but L-infinity support should be straightforward.
- This repo is mostly a learning experience. There are already (probably better) implementations of this:
- @Jianbo-Lab/HJSA (this is the paper's author's repo)
- @tensorflow/cleverhans (install the edge version on GitHub, the one in
pip
still does not have HSJA.) - @bethgelab/foolbox (HSJA was removed in some commit I didn't track, but it used to be there.)