BAIZE AI RESOURCE

机器学习模型对抗鲁棒性评估工具

Adversarial-robustness-toolbox

Adversarial Robustness Toolbox(ART)是用于机器学习安全评估的 Python 工具库。它帮助开发者和研究人员模拟对抗攻击、测试模型表现并尝试防御方法,识别模型在恶意输入或受污染数据面前的风险。

Adversarial-robustness-toolbox

资源介绍

Adversarial Robustness Toolbox(ART)面向需要检验机器学习模型安全性的开发者和研究人员。它不是打开即可使用的评测网站,而是需要在 Python 环境中调用的工具库。使用者可以针对模型生成对抗样本,观察模型面对逃逸攻击时的表现,也可以研究数据污染、模型提取和推断等威胁,并尝试相应的防御与评估方法。项目提供图像、表格、音频和视频等数据相关示例,涵盖分类、目标检测等任务。对于准备部署模型或开展安全研究的团队,ART 可用于建立测试案例、比较防御前后的结果,帮助发现普通准确率测试不易暴露的风险。

应用能力

生成对抗样本

提供逃逸攻击方法,可生成用于测试的对抗输入,观察模型预测是否受到干扰。

测试数据污染风险

提供数据污染与后门攻击相关方法和示例,可用于研究受污染训练数据对模型的影响。

尝试防御方法

提供对抗训练和污染检测等示例,帮助比较采取防御措施前后的模型表现。

分析其他模型安全威胁

涵盖模型提取和推断攻击,可用于研究模型接口或输出可能暴露的安全风险。

资源配置

应用版本

1.20.1

运行环境

Docker其他

安装方式

包管理器安装命令安装

依赖环境

Python

安装与使用

  1. 准备 Python 环境,并确定要测试的模型与数据。

  2. 安装 Adversarial Robustness Toolbox;首次尝试可选择与所用模型框架对应的入门示例。

  3. 将模型接入 ART,选择适合测试目标的攻击或防御方法。

  4. 运行测试,比较正常样本与对抗样本下的模型结果;评估鲁棒性时不要只依赖单一种攻击。

使用案例

图像分类对抗测试

使用场景开发者想了解图像分类模型是否容易被微小输入扰动误导。

参照 MNIST 入门示例,使用快速梯度符号方法生成对抗图像,再观察模型在这些图像上的分类结果。

数据污染检测实验

使用场景研究人员想测试后门样本混入训练数据后的风险。

参照 MNIST 污染检测示例,在受污染数据上训练模型,并运行检测方法寻找可疑样本。

包含内容

adversarial-robustness-toolbox-source.zip
README-中文安装说明.md
LICENSE-MIT.txt
SHA256.txt

常见问题

ART 是网页应用,还是需要编写代码调用?
ART 是 Python 工具库,需要在 Python 环境中通过代码接入模型并运行测试;项目提供脚本和 Notebook 示例。
ART 可以配合哪些模型工具使用?
项目列出的支持对象包括 PyTorch、TensorFlow、Keras、scikit-learn、XGBoost 和 LightGBM 等;仓库也提供多个对应的入门示例。
只用 FGSM 测试就能判断模型是否足够鲁棒吗?
不能。项目的 FGSM 鲁棒性评估组件说明指出,通常不建议仅用快速梯度符号方法作出完整的鲁棒性判断。