作者 | 杨宇喆
论文链接:https://openaccess.thecvf.com/content_CVPR_2020/papers/Guo_When_NAS_Meets_Robustness_In_Search_of_Robust_Architectures_Against_CVPR_2020_paper.pdf
源码地址:https://github.com/gmh14/RobNets
为了提高深度神经网络的对抗鲁棒性,现有工作集中于研究对抗学习算法或损失函数来增强网络鲁棒性。
在这项工作中,我们从神经网络结构的角度出发,研究了可抵抗对抗攻击的神经网络结构的模式。为了获得本研究所需的大量网络,我们采用了One shot神经网络结构搜索(NAS),对一个super-net进行一次训练,然后对从中采样的子网络进行了对抗微调。采样的网络结构及其鲁棒性精度为我们的研究提供了丰富的基础。
我们的“鲁棒的神经网络结构”研究揭示了一些有价值的观察结果:
1)密集连接的网络模式可提高神经网络鲁棒性;
2)在有限的模型容量预算下,将卷积运算添加到直连边是更有效的;
3)FSP(Flow ofSolution Procedure,解决程序流程)矩阵流是检验网络鲁棒性的良好指标。
基于这些观察,我们发现了一系列鲁棒的网络结构(RobNets)。在CIFAR,SVHN,Tiny-ImageNet和ImageNet等大量数据集上,RobNets表现出相比于其他广泛使用的网络结构(如ResNet,DenseNet)更高的鲁棒性。值得注意的是,RobNets即使在参数数量较少的情况下,也能在白盒和黑盒攻击下大幅提高鲁棒性(绝对增益约为5%)。
深度神经网络容易受到对抗样本攻击:在对抗攻击下,自然数据(如图像)会受到人类难以察觉的对抗噪声干扰,从而使得神经网络产生完全错误的输出。为了提高网络的鲁棒性,研究者们提出了大量对抗防御的方法,其中的主要关注点包括对抗学习算法,损失/正则化函数,以及图像预处理等。然而,还没有相关研究探讨过与现有防御机制的一个正交的方面:神经网络结构本身对其抵御对抗样本的影响。在这项工作中,我们尝试从神经网络结构的角度去系统地分析、理解神经网络的对抗鲁棒性。具体来说,我们旨在回答以下问题:
什么样的神经网络结构模式是对于对抗鲁棒性是至关重要的?
给定一定模型容量的预算,如何分配网络结构的参数以有效地提高网络的鲁棒性?
鲁棒的神经网络结构的统计指标是什么?
为了回答上述问题,我们需要训练大量具有不同网络结构的神经网络,并评估其鲁棒性以得出结论。然而,这个过程非常耗时,尤其当我们需要引入对抗训练。针对这个问题,我们提出采用One shot神经网络结构搜索(NAS)的方法,使得我们可以同时一次性在众多网络结构之间评估鲁棒性。具体来说,我们首先训练一个super-net,然后我们从中对网络结构进行采样,并对候选子网络finetune几个epoch,以在对抗攻击下获得较高的鲁棒性。我们的研究与分析表明了鲁棒的神经网络具有以下的性质:
1)我们在搜索空间中对1,000个网络结构进行了统计分析,发现网络结构密度与对抗精度之间存在很强的相关性。这表明密集连接的模式可以显着提高网络的鲁棒性。
2)我们在三种不同的模型容量预算下限制参数的数量,并通过实验发现,在直连边添加卷积运算对于提高模型的鲁棒性更为有效,尤其是对于较小的模型容量预算而言。
3)我们发现原始数据和对抗样本之间的FSP(Flow of Solution Procedure)的距离可以很好地指示网络的鲁棒性。
基于这些观察,我们搜索并设计了一系列鲁棒的网络结构,称为RobNets。我们在CIFAR,SVHN,Tiny-ImageNet和ImageNet等数据集上进行大量实验,结构表明RobNets相比与广泛使用的网络结构,在对抗攻击下具有更好的鲁棒性。
1、 搜索框架
1)鲁棒搜索空间
我们的工作与传统NAS工作在搜索空间上的主要区别在于两个方面:1)我们减少了搜索空间中候选操作总数,仅剩下:3×3 depth convolution,identity和zero三种操作。这有助于减轻对抗训练的负担,同时在搜索空间中保留足够多的候选网络结构。2)我们不限制两个中间节点之间的最大操作数(可以多于一种操作,如同时有convolution和identity)。如图所示,这种设计保证搜索空间能够包含更多网络结构,一些经典的人工设计结构也在其中,例如ResNet和DenseNet。
2)鲁棒搜索算法
我们基于One shot NAS方法[1]开发了鲁棒搜索算法。具体而言,我们将网络结构参数α中的所有元素设置为1,以获得包含所有可能网络结构的super-net。在super-net的训练阶段,对于每批训练数据,我们从super-net中随机采样候选子网络结构(通过随机将α中的某些元素设置为0),随后通过PGD [2]生成对于采样子网络的对抗样本,并进行对抗训练以最大程度地减少对抗损失。这种机制可确保训练过程中产生的对抗样本并非仅由一个特定网络结构产生。
3)鲁棒性评价
经过上述训练过程获得supernet后,我们可以通过从supernet中随机采样并继承权重来收集候选子网络结构。我们发现,通过对抗训练对候选子网络finetune仅几个epoch,其在验证数据集上的性能就可以显着提高。下图展示了对1000个随机采样的候选子网络结构进行finetune之前和之后的对抗精度对比。可以清楚地看到,鲁棒性已经大大提高了。
4)鲁棒网络结构统计结果
我们对上述获得的1000个候选子网络进行了统计分析,首先将这1000个网络结构按照对抗精度进行排序,然后将排序前300的网络标为1,排序后300的网络标为-1,针对网络结构参数α分别进行了t-SNE和线性分类。如下图所示,在两个类别间,网络结构参数α的低维空间映射具有清晰的边界,同时线性分类器的所有权重参数值都大于0。
通过直接比较网络结构密度与对抗精度之间的关系(如下图),我们发现二者之间存在很强的相关性。这表明密集连接的模式可以显着提高网络的鲁棒性。
2、不同预算下的结构策略
我们考虑三种不同的计算预算。由于每个cell中最大卷积操作数为14,因此我们将卷积总数小于7设置为小型预算,8到10个设置为中等预算,大于11设置为大型预算。对于每个预算,我们随机抽样100个网络结构,并评估其对抗精度,并计算所有卷积中位于直连边上的卷积个数的比例。如下图所示,对抗精度在不同预算之间有明确的界限。此外,对于中小型预算,直连边上卷积个数的比例与对抗精度呈正相关。这表明对于较小的计算预算,将卷积添加到直连边可以有效地提高网络的鲁棒性。我们还注意到,对于大型预算,这种现象并不明显。我们推测,对于预算较大的网络结构,密集连接的模式将主导网络鲁棒性。根据以上结果,我们得出以下结论:在较小的计算预算下,将卷积运算添加到直连边会更有效地提高模型的鲁棒性。
通过上述三个发现,我们训练并选择一组具有代表性的RobNet模型进行评估。我们将训练的RobNet系列模型与目前广泛使用的人工设计模型进行比较,发现RobNets表现出更好的鲁棒性;RobNets即使在参数数量较少的情况下,也能在白盒和黑盒攻击下大幅提高鲁棒性。在CIFAR10和ImageNet上的结果如下表,更多实验结果详见论文。
CIFAR10:
ImageNet:
参考文献:
[1] Bender, G., Kindermans, P. J., Zoph, B., Vasudevan, V.,& Le, Q. Understanding and simplifying one-shot architecture search. In ICML 2018
[2] Madry, A., Makelov, A.,Schmidt, L., Tsipras, D., & Vladu, A. Towards deep learning modelsresistant to adversarial attacks. In ICLR2018.
[3] Zhang, H., Yu, Y., Jiao,J., Xing, E. P., Ghaoui, L. E., & Jordan, M. I. Theoretically principledtrade-off between robustness and accuracy. In ICML 2019
[4] Yim, J., Joo, D., Bae,J., & Kim, J. A gift from knowledge distillation: Fast optimization,network minimization and transfer learning. In CVPR 2017
作者:杨宇喆,MIT计算机科学与人工智能实验室博士生,研究方向为无线感知和机器学习。个人主页:https://www.mit.edu/~yuzhe/
AI 科技评论希望能够招聘 科技编辑/记者
办公地点:北京、深圳
职务:以跟踪学术热点、人物专访为主
工作内容:
1、关注学术领域热点事件,并及时跟踪报道;
2、采访人工智能领域学者或研发人员;
3、参加各种人工智能学术会议,并做会议内容报道。
要求:
1、热爱人工智能学术研究内容,擅长与学者或企业工程人员打交道;
2、有一定的理工科背景,对人工智能技术有所了解者更佳;
3、英语能力强(工作内容涉及大量英文资料);
4、学习能力强,对人工智能前沿技术有一定的了解,并能够逐渐形成自己的观点。