对抗样本攻击与防御,MindSpore是怎么做的?
2020/5/15 6:26:22
本文主要是介绍对抗样本攻击与防御,MindSpore是怎么做的?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
5 月 7 日,机器之心联合华为昇腾学院开设的线上公开课《轻松上手开源框架MindSpore》第 5 课完成,刘志丹讲师为大家带来了主题分享《MindSpore模型健壮性评估工具》,第 5 课回顾视频如下:
在第五课的 QA 环节中,有一些问题被大家广泛提到,刘志丹讲师再次做了精选与编辑,供大家参考。第五课精选问答
Q1:为什么要用sign函数?
Q2:增加防御算法后精度会降低?
不一定。防御算法用了对抗训练的方式,生成对抗样本加入原始数据集中,一起训练模型,得到的模型参数和单纯用原始数据集的模型参数是有一点差异,这个差异,可能使得在测试集上的精度发生变化,可能减少,也可能增加。
Q3:增加防御算法对训练时间的影响?
用不用对抗训练的差别是,对抗训练在正常的模型训练过程中增加了生成对抗样本的步骤,所以训练时增加的计算开销在于生成对抗样本,用不同的攻击算法,时间开销不同,如果用FGSM这种简单的攻击算法,增加的时间是很少的,如果用CW这种比较强的攻击方法,时间开销就会大一些。具体选用哪种攻击算法,需要用户根据自己的需求,综合时间开销和安全性需求,选择一个合适的攻击算法。
Q4:增加对抗训练过程,对推理时间会造成什么影响?
对推理没有影响,模型训练完了之后,跟正常的模型是一样的,所以推理时间和原来的模型推理时间是一样的。
Q5:对抗训练时使用的对抗样本和防御后测试时使用的对抗样本一样吗?
不一样。训练、测试时用的对抗样本生成方法可以一样,也可以不一样。
Q6:与cleverhans有什么区别?
MindArmour和Cleverhans的出发点是一致,都是要做模型的对抗样本安全的研究。从提供的特性来讲,MindArmour做的更全面一些,包括了对抗样本的生成、检测、模型的防御、对抗攻防的评估模块,还有通过fuzzing方式对模型进行鲁棒性测试的模块。
大家后续如有更多问题, 欢迎关注 MindSpore 的 gitee 和 github,随时提 issue,官方人员将及时为大家解答:
- Gitee:gitee.com/mindspore
- GitHub:github.com/mindspore-a…
第五课PPT如下:
这篇关于对抗样本攻击与防御,MindSpore是怎么做的?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27揭秘Fluss 与 Kafka、Paimon 的区别与联系
- 2024-12-27顶级情感分析接口:7个高效API推荐
- 2024-12-26从零开始学习贪心算法
- 2024-12-26线性模型入门教程:基础概念与实践指南
- 2024-12-25探索随机贪心算法:从入门到初级应用
- 2024-12-25树形模型进阶:从入门到初级应用教程
- 2024-12-25搜索算法进阶:新手入门教程
- 2024-12-25算法高级进阶:新手与初级用户指南
- 2024-12-25随机贪心算法进阶:初学者的详细指南
- 2024-12-25贪心算法进阶:从入门到实践