Adversarial Robustness Toolbox v1.10.2 releases: crafting and analysis of attacks and defense methods for machine learning models
Adversarial Robustness Toolbox
Adversarial Robustness 360 Toolbox (ART) is a Python library supporting developers and researchers in defending Machine Learning models (Deep Neural Networks, Gradient Boosted Decision Trees, Support Vector Machines, Random Forests, Logistic Regression, Gaussian Processes, Decision Trees, Scikit-learn Pipelines, etc.) against adversarial threats and helps to make AI systems more secure and trustworthy. Machine Learning models are vulnerable to adversarial examples, which are inputs (images, texts, tabular data, etc.) deliberately modified to produce a desired response by the Machine Learning model. ART provides the tools to build and deploy defenses and test them with adversarial attacks.
Defending Machine Learning models involves certifying and verifying model robustness and model hardening with approaches such as pre-processing inputs, augmenting training data with adversarial samples, and leveraging runtime detection methods to flag any inputs that might have been modified by an adversary. The attacks implemented in ART allow creating adversarial attacks against Machine Learning models which are required to test defenses with state-of-the-art threat models.
Supported attack and defense methods
The Adversarial Robustness Toolbox contains implementations of the following attacks:
- Deep Fool (Moosavi-Dezfooli et al., 2015)
- Fast Gradient Method (Goodfellow et al., 2014)
- Jacobian Saliency Map (Papernot et al., 2016)
- Universal Perturbation (Moosavi-Dezfooli et al., 2016)
- Virtual Adversarial Method (Moosavi-Dezfooli et al., 2015)
- C&W Attack (Carlini and Wagner, 2016)
- NewtonFool (Jang et al., 2017)
The following defense methods are also supported:
- Feature squeezing (Xu et al., 2017)
- Spatial smoothing (Xu et al., 2017)
- Label smoothing (Warde-Farley and Goodfellow, 2016)
- Adversarial training (Szegedy et al., 2013)
- Virtual adversarial training (Miyato et al., 2017)
The details of the work from IBM research can be found in the research paper. The ART toolbox is developed with the goal of helping developers better understand
- Measuring model robustness
- Model hardening
- Runtime detection
Changelog v1.10.2
Changed
- Changed
PyTorchClassifier
to use a new optimizer when cloned withclone_for_refitting
(#1580) - Changed class names of
art.estimators.gan.*
andart.estimators.generator.*
to follow naming convention (#1655) - Changed
Mp3CompressionPyTorch
andPyTorchDeepSpeech
to add support for samples in 2D non-object arrays (#1680, #1702) - Changed file name
python_object_detector.py
topytorch_object_detector.py
to follow naming convention (#1687) - Changed
CarliniLInfMethod
by adding argument forbatch_size
(#1699).
Fixed
- Fixed required dependency on TensorFlow (#1655)
- Fixed bug in
ImperceptibleASRPyTorch
by adding missing.detach().cpu()
and.cpu()
calls (#1677) - Fixed bug in
art.estimators.certification.randomized_smoothing
estimators to correctly apply Gaussian noise (#1678) - Fixed bug in
GaussianNoise
the post-processing defence to keep number of dimensions constant during normalisation (#1684) - Fixed bug in
RobustDPatch
for channels first images to correctly un-transform loss gradients (#1693) - Fixed bug in support for numpy arrays in logger of
PoisoningAttackCleanLabelBackdoor
(#1698)
Copyright (C) IBM Corporation 2018