MindArmour关注AI的安全和隐私问题。致力于增强模型的安全可信、保护用户的数据隐私。主要包含3个模块:对抗样本鲁棒性模块、Fuzz Testing模块、隐私保护与评估模块。
对抗样本鲁棒性模块用于评估模型对于对抗样本的鲁棒性,并提供模型增强方法用于增强模型抗对抗样本攻击的能力,提升模型鲁棒性。对抗样本鲁棒性模块包含了4个子模块:对抗样本的生成、对抗样本的检测、模型防御、攻防评估。
对抗样本鲁棒性模块的架构图如下:
Fuzz Testing模块是针对AI模型的安全测试,根据神经网络的特点,引入神经元覆盖率,作为Fuzz测试的指导,引导Fuzzer朝着神经元覆盖率增加的方向生成样本,让输入能够激活更多的神经元,神经元值的分布范围更广,以充分测试神经网络,探索不同类型的模型输出结果和错误行为。
Fuzz Testing模块的架构图如下:
隐私保护模块包含差分隐私训练与隐私泄露评估。
差分隐私训练包括动态或者非动态的差分隐私SGD、Momentum、Adam优化器,噪声机制支持高斯分布噪声、拉普拉斯分布噪声,差分隐私预算监测包含ZCDP、RDP。
差分隐私的架构图如下:
隐私泄露评估模块用于评估模型泄露用户隐私的风险。利用成员推理方法来推测样本是否属于用户训练数据集,从而评估深度学习模型的隐私数据安全。
隐私泄露评估模块框架图如下:
MindArmour使用MindSpore加速计算,因此请先安装MindSpore,其余依赖包含在setup.py
里。
git clone https://gitee.com/mindspore/mindarmour.git
$ cd mindarmour
$ python setup.py install
Pip
安装pip install mindarmour-{version}-cp37-cp37m-linux_{arch}.whl
No module named 'mindarmour'
,则说明安装成功。python -c 'import mindarmour'
安装指导、使用教程、API,请参考用户文档。
社区问答:MindSpore Slack。
欢迎参与社区贡献,详情参考Contributor Wiki。
版本信息参考:RELEASE。