Releases: Trusted-AI/adversarial-robustness-toolbox
ART 1.16.0
This release of ART 1.16.0 introduces multiple estimators for certified robustness and Hugging Face models, adversarial training with Adversarial Weight Perturbation, improvements for inference attacks, and more.
Added
- Added estimator for smoothed vision transformers as defence against evasion with adversarial patches (#2171)
- Added estimators for variations of randomised smoothing including MACER, SmoothAdv, and SmoothMix for PyTorch and TensorFlow (#2218)
- Added adversarial training with Adversarial Weight Perturbation protocol in PyTorch (#2224)
- Added estimator for Hugging Face models with PyTorch backend (#2245)
- Added ObjectSeeker certifiably robust defence for object detectors against poisoning and adversarial patches (#2246)
- Added representation string
__repr__to all attacks (#2274)
Changed
- Changed inference attacks to support additional attack model types (e.g., KNN, LR, etc.) and replaced scikit-learn's MLPClassifier with a PyTorch neural network model (#2253)
- Changes attacks's method
set_paramsto raiseValueErrorif a not previously defined attributed is set (#2257) - Changed AutoAttack to support multiprocessing and support running attacks in parallel (#2258)
Removed
[None]
Fixed
ART 1.15.2
This release of ART 1.15.2 provides updates to ART 1.15
Added
[None]
Changed
[None]
Removed
[None]
Fixed
ART 1.15.1
This release of ART 1.15.1 provides updates to ART 1.15
Added
[None]
Changed
[None]
Removed
[None]
Fixed
- Fixed deprecation warning by replacing the import statement
from scipy.ndimage.filters import median_filterwithfrom scipy.ndimage import median_filter(#2211) - Fixed bug limiting input shapes in
AutoProjectedGradientDescentandAutoConjugateGradientattacks to be images to support any input shapes (#2214) - Fixed missing support for index-labels in
AdversarialTrainerTRADESPyTorch(#2231) - Fix bug in
PyTorchObjectDetectorandPyTorchYoloestimators to support non-leaf tensors to retain gradient properties if moved to another device (#2238, #2249) - Fixed unintended required dependency
Pillowto be optional again (#2240) - Fixed circular dependencies in
art.estimators.certification(#2241)
ART 1.15.0
This release of ART 1.15.0 introduces a default training loop for TensorFlowV2Classifier, the TRADES adversarial training protocol, an estimator for DEtection TRansformer (DETR) object detection models, and more.
Added
- Added default training function to
TensorFlowV2Classifier(#2124) - Added TRADES adversarial training protocol in PyTorch (#2131)
- Added preprocessors for images supporting padding and resizing in PyTorch, TensorFlow and framework-independent (#2138)
- Added support for arbitrarily sized images in
BadDetpoisoning attacks (#2189) - Added estimator for DEtection TRansformer (DETR) object detection models based on transformer architectures (#2192)
Changed
- Changed PyTorch estimators to use PyTorch datasets and dataloaders to optimize the
fitandpredictmethods forPyTorchClassifier,PyTorchRegressor,PyTorchRandomizedSmoothing,PyTorchObjectDetector, andPyTorchYoloand optimized thepredictmethod ofTensorFlowV2Classifierby using a TensorFlow dataset and applying @tf.function decorator (#2180) - Changed
PyTorchObjectDetectorto applychannels_firstargument and improved performance by applying batch processing provided by newer PyTorch versions. (#2180)
Removed
[None]
Fixed
- Fixed unnecessary duplicate prediction calls to estimator in
SignOPTAttack(#2129) - Fixed missing transfer of tensor to device in
ProjectedGradientDescentPyTorch(#2135) - Fixed trigger placement for image poisoning perturbations by correctly accessing height and width of the trigger image instead of swapping both (#2143)
- Fixed key error in loss gradients of
PyTorchYoloestimator and updated format of targets passed to the estimator inAdversarialPatchPyTorchto reflect updates toPyTorchYolo(#2169) - Fixed Visible Deprecation Warning in
analyze_by_distanceandanalyze_by_sizeofClusteringAnalyzer(#2195)
ART 1.14.1
This release of ART 1.14.1 provides updates to ART 1.14
Added
[None]
Changed
[None]
Removed
[None]
Fixed
- Fixed bug in
PytorchYoloobject detection estimator to correctly normalize the bounding boxes (#2091) - Fixed missing
adversarial_accuracymetric in__init__.py(#2093 ) - Fixed bug of default value for a loss weighting parameter being used rather than user supplied inputs in
AdversarialTrainerCertifiedIBPPyTorch(#2102) - Fixed Regional Misclassification Attack (RMA) to be able to poison all bounding boxes regardless of the class type (#2110 )
- Fixed wrong order of predictions and targets arguments in
AutoProjectedGradientDescent's new cross entropy loss class introduced in ART 1.14.0 and ensured correct attributes inPyTorchClassifier(#2117)
ART 1.14.0
This release of ART 1.14.0 introduces poisoning attacks on object detection models, privacy risk metrics, new white-box evasion attack based on conjugate gradients, and more.
Added
- Added implementation of SHAPr membership privacy risk metric (#1978)
- Added support for categorical non-numeric as well as continuous features in attribute inference attacks and improvements in shadow model tools (#2006)
- Added implementation of Auto Conjugate Gradient Attack for white-box evasion (#2028)
- Added implementation of adversarial training with interval bound propagation (#2044)
- Added implementation of method
fitto object detection estimatorsPyTorchFasterRCNN,PyTorchObjectDetector, andPyTorchYolo(#2067) - Added BadDet object detection poisoning attacks (RMA, GMA, OGA, ODA) (#2054, #2069)
Changed
- Changed evasion detectors module by refactoring the entire module and introducing common API with the
EvasionDetectorbase class (#1993) - Changed loading of audio triggers with
audio_perturbationsto cache trigger to accelerate loading (#2053) - Changed tested and officially supported Python versions to 3.9, 3.10, 3.11 (#2063)
- Changed checks and internal improvements to
AdversarialTrainerCertifiedPytorch(#2070)
Removed
[None]
Fixed
- Fixed bug in
add_single_bdandadd_pattern_bdto avoid confusing height and width of the trigger image and transposing the trigger (#2046)
ART 1.13.1
This release of ART 1.13.1 provides updates to ART 1.13
Added
[None]
Changed
- Changed PDTP privacy metric to support two comparison: ratio (default) and new difference mode (#1984)
- Changed default parameters for
apply_fitandapply_predictfor the Data Augmentation defensesCutMix*,CutOut*, andMixUp*(#1987)
Removed
[None]
Fixed
- Fixed bug in
PixelThresholdattack to support batches of a single sample (#1982) - Fixed type error in
DPInstaHideTrainerforPyTorchClassifierby casting random noise to correct type (#1987) - Added missing classes to union types
OBJECT_DETECTOR_TYPE,PYTORCH_ESTIMATOR_TYPE, andTENSORFLOWV2_ESTIMATOR_TYPE(#1999) - Fixed audio perturbations going out of clip values in
insert_tone_triggerandinsert_audio_trigger(#2016) - Fixed missing transfer to device in
FeatureAdversariesPyTorchto enable running on GPUs (#2021) - Fixed missing covnersion to float to support floor() on GPUs in
PyTorchClassifier(#2022) - Fixed incorrect integer return type in
check_and_transform_label_format(#2025)
ART 1.13.0
This release of ART 1.13.0 introduces black-box regression estimator, DP-InstaHide, object detection estimator for TensorFlow v2, and more.
Added
- Added
CutOutdata augmentation as preprocessor in Numpy, TensorFlow and PyTorch (#1850) - Added
MixUpdata augmentation as preprocessor in Numpy, TensorFlow and PyTorch (#1885) - Added
CutMixdata augmentation as preprocessor in Numpy, TensorFlow and PyTorch (#1910) - Added regression estimator for black-box scenario (#1930)
- Added additional model support for shadow models (#1930)
- Added Numpy-based data generator to support very large datasets (#1934
- Added object detection estimator for Faster-RCNN in TensorFlow v2 (#1951)
- Added DP-InstaHide training for classification with differentially private data augmentations (#1956)
- Added Interval Bound Propagation for certified classification in PyTorch (#1965)
Changed
[None]
Removed
[None]
Fixed
ART 1.12.2
This release of ART 1.12.2 provides updates to ART 1.12.
Added
- Added
drop_lastoption to methodfitofPyTorchClassifier(#1883)
Changed
- Changed documentation of
art.metrics.verification_decisions_trees.RobustnessVerificationTreeModelsCliqueMethodto provide addiitonal information (#1897) - Changed Numba to be an optional dependency (#1884)
- Changed
BoundaryAttackto enable binary classification by removing unnecessary input check (#1890)
Removed
[None]
Fixed
ART 1.12.1
This release of ART 1.12.1 provides updates to ART 1.12.
Added
[None]
Changed
[None]
Removed
[None]
Fixed
- Fixed object detection estimator
PyTorchYoloto not modify tracked statistics of batch-norm layers of the YOLO model during loss and loss gradient calculations (#1860)