本文介绍对抗鲁棒性,主要针对的是深度学习时代下深度神经网络的鲁棒性问题。大部分内容探讨最基本的机器学习分类任务。
囿于有限的认知水平,本文是个人偏好(bias)的产物,不代表所有人的观点。
目录
1. 对抗样本的发现
2. 我们为什么要研究对抗样本现象?
3. 寻找对抗样本:一个约束优化问题
-
替代损失
-
优化算法
-
度量函数
4. 增强模型对抗鲁棒性
5. 对抗鲁棒性问题导致的攻防竞赛现象
6. 深度学习为何不鲁棒?
-
人类是鲁棒的吗?
7. 对抗鲁棒性带来的额外益处
8. 大厦已然建成?
1 对抗样本的发现
What has been is what will be, and what has been done is what will be done; there is nothing new under the sun.[1]
日光之下并无新事。
下图是用FGSM方法[2]生成的一个对抗样本。
对抗样本(Adversarial Examples)一词首次出现在Szegedy等人在ICLR 2014的一篇论文里[3]。通过对测试集的图片添加微小的扰动,导致神经网络对其误分类(而人类依然能够正确分类),可以使得经过良好训练的神经网络的准确率降为0。
但早在本世纪初,就有许多工作在设计传统机器学习模型的敌手(Adversary),它能够操纵输入数据从而欺骗分类器(比如,通过向垃圾邮件里添加特殊词汇以欺骗垃圾邮件检测器,而检测器也可以随敌手的出现而改进自己的词库,从而获得更好的性能[4])。当时就在许多领域里掀起了攻防角逐(arms races),比如欺骗计算机入侵检测系统、躲避空中监视系统、操纵搜索引擎排序系统等[5]。
事实上,第一个针对神经网络分类器的敌手是Biggio等人在2013年设计的,他们称之为规避攻击(Evasion Attacks)[6]。Biggio等人显然有些气愤,因为后来大部分研究对抗鲁棒性的论文只引用Szegedy等人的那篇论文[3],而不引用他们这篇;大部分论文都使用[3]里发明的术语,而不使用[6]里的术语(evasion attacks = adversarial examples,surrogate learners = substitute models)。Biggio等人在2017年终于把他们在2013年的那篇论文挂到了arxiv上面,并附了一段评语:

所以日光之下真的并无新事吗?当时的明月换拨人看?[7]
-
我们新发现的对抗样本与十多年前的没有区别吗? -
我们深度学习时代的攻防竞赛是在重蹈覆辙吗? -
我们要因为[3]没有引用[6]而把[3]批判一番吗?
我个人认为,答案都是否定的。

2 我们为什么要研究对抗样本现象?
First of all,对抗样本突出了机器智能与人类智能的差距。我们希望我们的模型是“人工智能”而不是“人工智障”。我们最远大的理想就是训练出像人类一样强大的分类器帮我们执行分类任务,这样我们就可以躺着喝咖啡了。因此像把熊猫识别成长臂猿这样的现状是完全无法忍受的,我们会气得跺脚:虽然你每个神经元连接、每个参数我都清清楚楚,但我还是无法理解你的脑子里究竟在想些什么,所以我要骂你是个智障黑盒非线性深度神经。
Last but not least,安全性。因为你看起来让别人觉得你很能干,许多人就请你去帮他们做事。但我知道你外强中干,一旦有个敌手在旁边干扰你,你就崩溃了。外面有很多敌手在恶意设计扰动,让自动驾驶汽车直线拐弯[10],让目标检测失灵[11],让人脸识别系统失效[12]。我不放心你做事啊,尤其是人命关天的任务。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢