作者 | 杨幻睿
编辑 | 陈大鑫
本文是AI科技评论今日(10月20日)头条推文《14岁考入清华,22岁博士四年级,杜克大学杨幻睿的AI成长之路》的主人公杜克大学博士生杨幻睿对他这次NeurIPS 2020 Oral 论文的亲自解读。
1
背景
最新研究表明,用于图像识别任务的卷积神经网络往往表现出一致的“对抗性缺陷”:对抗攻击算法可以生成很小的输入噪声误导这些模型,并且同一对抗噪声往往可以同时误导在同一数据集上训练出的不同模型,即在模型间“迁移”。
对抗性训练是一种通用的鲁棒性提升算法,通过迫使模型学习“鲁棒”特征来消除其缺陷。
但这一学习过程是困难的,即使是用更大规模的模型,也会对模型识别准确率带来不可避免的显著降低。
另一种可行的鲁棒性提升方案则是利用集成模型,只要集成模型中的每一个子模型在面对同一对抗噪声时给出不同的输出,即使每个子模型单独并不鲁棒,其平均得到的集成结果也有望实现高鲁棒性。这一过程往往只会对模型带来很小的识别准确率损失。
然而,前人提出的集成学习算法并不能有效多样化子模型面对攻击时的输出。
鉴于此我们提出了DVERGE算法,通过提取集合模型的子模型学到的“非鲁棒特征”确定其缺陷所在,并进一步通过多样化子模型的缺陷使其面对对抗性噪声输出不同的结果。
这一新颖的多样性描述与优化方式使DVERGE得到了超出其他集成学习方法的迁移攻击鲁棒性。
2
方法
论文链接:https://arxiv.org/abs/2009.14720
对抗性攻击及其迁移性
随着深度学习模型在现实任务中的广泛应用,对其安全性与鲁棒性的质疑也逐渐增多。就图像识别任务的卷积神经网络而言,尽管它们在正常的输入上展现了极高的准确率,但当输入被加上了特别设计的“对抗性噪声”时,很小的噪声强度往往就能彻底破坏模型的识别能力。
更令人担忧的是,这些对抗性噪声展现出了很强的迁移性:针对一个模型生成的对抗性噪声往往也可以成功攻击其他在同一数据集上训练的深度学习模型。这对提升模型的鲁棒性带来了很大的挑战。
为了解释这一现象,MIT的Ilyas等人提出了“鲁棒”与“非鲁棒”特征的概念 (https://arxiv.org/abs/1905.02175)。
正所谓“横看成岭侧成峰”,人类往往关注于事物的形状、颜色以及周边环境提供的语义,并利用这些鲁棒的特征做出稳定可靠的识别。
而对于神经网络来说,输入的图片不过是一系列像素点的数值,学习的目标则是找到一种最容易的将像素值映射到对应类别标签的方法。
这就造成深度学习模型往往倾向于学到数据集中广泛存在的“非鲁棒特征”。
这些非鲁棒特征往往与类别标签有很强的相关性,但本身对人而言不具有意义,同时很容易受到噪声的干扰。
对抗性攻击正是利用了这一缺陷,以很小的噪声扰乱了输入图片中的非鲁棒特征,进而影响模型的识别。
同时,同一训练集上训练的模型往往学到的是极其相似的非鲁棒特征,这就造成了对抗攻击的强迁移性。
鲁棒性提升:对抗训练 vs. 集成学习
既然非鲁棒特征的存在是神经网络鲁棒性的关键,直观的想法就是迫使模型只利用鲁棒特征,以此提高模型的鲁棒性,这就是对抗训练背后的原理。
然而人们很快注意到,对于神经网络而言,学习鲁棒特征是极其困难的。对抗训练所带来的鲁棒性提升往往伴随着模型准确性的显著降低,这在实际应用中并不一定划算。
那么能否在允许模型依然使用非鲁棒特征的情况下提升模型鲁棒性呢?
单个模型肯定是不行的(只要非鲁棒特征存在对抗攻击就会得手),但对于综合多个子模型识别结果的集成模型而言,这一点完全是可能的。
早在深度学习兴起之前,研究者们就意识到即使单个模型的准确率不足,当我们集成多个模型并使得他们识别错误的样本不一样时,这些模型的平均输出往往能带来显著的准确率提升。
同样的,即使单个模型有缺陷,当我们有多个缺陷各不相同的模型时,其平均的输出就有可能是鲁棒的。因此通过集成学习提升鲁棒性的关键,就在于促使子模型的缺陷多样化。
这一思路是直观的,但实际操作起来并不容易。
前人提出了多种利用模型权值、梯度或者输出概率分布等信息描述优化子模型间的差异的方法,但在面对对抗性攻击时往往并不尽如人意:成功作用于一个子模型的对抗噪声仍有很大的概率成功攻击其他子模型,最终的集成模型鲁棒性的提升也并不突出。
如上图所示为某一测试集数据点附近的决策区域示意图。
中心点为数据点所在位置,竖直向下方向是在另一模型上产生的对抗攻击的方向。不同颜色对应不同的识别结果,距离中心点很近的位置出现其他颜色区域即代表模型存在缺陷,此方向易受到攻击。
第一行中,正常训练的3个子模型展现出一致的缺陷,因而其拼出的集成模型(最左)依然不鲁棒。而在第二行中,DVERGE得到的子模型虽然仍有缺陷,但缺陷各不相同,集成在一起就得到了鲁棒的集成模型。
DVERGE:非鲁棒特征提取与缺陷多样化
正如前文所说,如何有效地描述和优化子模型间缺陷的差异性,是集成模型能否做到鲁棒的关键。本文正是在这一点上进行了创新。
根据前文提到的Ilyas等人的观察,我们认为模型缺陷的主要来源正是其学到的非鲁棒特征。
因此我们首先借鉴了Ilyas文章中的“非鲁棒特征提取”算法,提取子模型f_i中学到的非鲁棒特征,如下面的公式所示:
具体而言,对于一张原始图片x_s,我们随机抽取另一张标签为y的图片x,计算x在模型f_i的第l层得到的中间特征。
通过在x_s附近小范围内扰动其像素值得到带噪声图片z,逐步缩小z与x在隐含层特征上的差异,最终得到优化结果x'。
可以看出,这样得到的x'看起来像原图x_s,但因为隐含特征相似的缘故会被子模型f_i识别为x的标签y。因此我们说x'代表了子模型f_i学到的非鲁棒特征。
有了描述缺陷的方式,下一步就是描述并优化两个子模型间缺陷的差异。直观来讲,对于之前提到的非鲁棒特征图片x',若在另一子模型f_j上也被识别为错误标签y,则说明此模型拥有同样的缺陷。
反之,如果f_i, f_j两个模型的缺陷不同,则f_j对x'的识别结果一定与f_i不同。
基于这一思路,同时考虑到每个子模型的最终目标始终是提升自身的识别准确率,我们提出了如下所示的子模型训练目标:
我们要求每个子模型面对其他子模型提取的非鲁棒特征图片时,输出这一图片视觉上正确的标签,即原图x_s的标签y_s。
因为x'与x_s极其接近,这一目标函数可以同时做到提升子模型的识别准确性并增大不同子模型间缺陷的差异性。
当我们有多个子模型时,完整的优化算法如下:
对于每一批训练数据,我们在所有子模型上进行非鲁棒特征提取,之后依次训练每一个子模型(如用2,3的特征训1;1,3的特征训2;1,2的特征训3),循环往复直到训练收敛。
3
实验结果
为方便与前人文章对比,本文选取由多个ResNet-20模型组成的集成模型,在CIFAR-10数据集上完成实验,具体的实验设定及更多实验结果请参看原文。
首先展现的是集成模型中各子模型间的对抗攻击迁移成功率。我们在一个子模型上生成对抗攻击,并测试其是否也能误导其他子模型。
可以看出,正常训练的模型间攻击迁移成功率高达96%以上。
之前的集成学习方法ADP与GAL将这一成功率降低到了60%上下,而本文的方法将子模型间的迁移成功率降低到了5%上下,几乎杜绝了对抗攻击在子模型间迁移,保证了最终集成结果的鲁棒性。
上图左右分别展示了集成模型训练后整体对不同强度的黑盒攻击(在其他模型上生成)与白盒攻击(直接针对集成模型)的鲁棒性。
每种方法的3条线分别代表使用3,5,8个子模型。
可以看出,在同样的子模型数量下DVERGE训练得到的模型鲁棒性显著超出了其他方法。并且随着子模型数量增加鲁棒性进一步稳步提升。
上图展示了DVERGE与对抗性训练相结合的结果,可以看出,结合后的模型体现出了由于对抗性训练模型的准确率,并在黑盒攻击与强度相对较小的白盒攻击下均显示出更高的鲁棒性。
鉴于DVERGE鼓励子模型学习不同的非鲁棒特征,而对抗性训练促使模型学习鲁棒特征,这二者间存在的竞争与制衡关系将是有趣的未来研究方向。
4
个人研究兴趣与未来计划
我的科研目前主要集中在神经网络压缩与鲁棒性这两个方面。
在压缩领域,我从组里温伟学长的结构化稀疏训练方式出发,结合传统的压缩感知方法,提出了新的更有效的神经网络稀疏化正则项DeepHoyer (https://openreview.net/forum?id=rylBK34FDS),在非结构化与结构化稀疏两个方面都超过了当时最先进的方法。
之后我尝试将稀疏化正则项的应用从网络稀疏化扩展至低秩分解与混合精度量化等应用领域,一起形成统一的稀疏、分解、量化同时进行的神经网络压缩优化框架。在鲁棒性领域,我近期的研究主要集中在探索对抗攻击迁移性的来源与应用,正是这一思路启发了我完成本篇文章。
后续的研究将继续深入探索本文实验中观察到的一些还难以解释的现象,同时考虑将模型压缩的方法与鲁棒性提升的方法相结合,在同一的框架下探索模型识别精度、鲁棒性与运行效率三者间的平衡。
我个人的研究目前还集中于基础的训练方法,实验涉及的场景还局限于经典的图像识别任务与模型。
在未来,随着5G,物联网,大健康,智慧城市等等概念的深入探索与落地应用,基于深度学习的方法将在越来越多的应用场景中提供服务,这也从各种方面对模型提出了更高的要求。
除模型的运行效率与鲁棒性之外,我也会更多关注有关于隐私、可迁移性、可解释性等对实际应用有重大意义的基础方法研究,并将其与新出现的智慧医疗,智能家居等应用场景相结合,为阔步迈入崭新的智能化时代扫清障碍。