当NAS满足鲁棒性:寻找抗对抗性攻击的鲁棒架构
论文链接:https://arxiv.org/abs/1911.10695
项目链接:https://github.com/gmh14/RobNets
Abstract
对抗性攻击的最新进展揭示了现代深度神经网络的内在脆弱性。从那时起,大量的研究致力于通过专门的学习算法和损失函数来增强深度网络的鲁棒性。在这项工作中,我们从体系结构的角度研究了能够抵御对抗性攻击的网络体系结构模式。为了获得本研究所需的大量网络,我们采用one-shot网络架构搜索,对一个大网络进行一次训练,然后对从中采样的子网络进行微调。采样的结构及其所达到的精度为我们的研究提供了丰富的基础。我们的“robust architecture Odyssey”揭示了几个有价值的观察结果:1)密集连接的模式可以提高鲁棒性;2)在计算预算下,对直接连接边进行卷积运算是有效的;3)求解过程流(FSP)矩阵是网络鲁棒性的良好指标。基于这些观察,我们发现了一个鲁棒的体系结构家族(RobNets)。在各种数据集上,包括CIFAR、SVHN、Tiny-ImageNet和ImageNet, RobNets表现出比其他广泛使用的架构优越的鲁棒性性能。值得注意的是,在白盒攻击和黑盒攻击下,RobNets显著提高了鲁棒精度(约5%的绝对增益),即使参数数量更少。
1. Introduction
深度神经网络被证明容易受到对抗性攻击,其中自然数据受到人类难以察觉的精心制作的噪声的干扰[9,15,35]。为了缓解这一陷阱,对抗性防御机制已经投入了大量的努力,其中主要关注的是专门的对抗性学习算法[9,21],损失/正则化函数[13,45],以及图像预处理[37,31,38,42]。然而,有一个正交维度,很少有研究探索:网络架构对网络对对抗性扰动的适应力的内在影响。虽然架构在对抗鲁棒性中的重要性已经在之前几项工作的实验中显现出来[33,39,21],但仍需要对网络架构在鲁棒性中的作用进行更全面的研究。
在这项工作中,我们从架构的角度系统地理解神经网络的对抗鲁棒性迈出了第一步。具体来说,我们的目标是回答以下问题:
- 哪种网络架构模式对对抗鲁棒性至关重要?
- 在给定模型容量预算的情况下,如何分配结构参数以有效地提高网络的鲁棒性?
- 鲁棒网络架构的统计指标是什么?
回答上述问题并非易事,因为我们需要训练大量具有不同架构的网络并评估其鲁棒性以获得见解,然而,这非常耗时,尤其是在使用对抗训练的情况下。由于采用了one-shot神经结构搜索(NAS)的方法,使得在大量的神经结构中评估鲁棒性变得更加容易。具体来说,我们首先训练一个超网络一次,它包含了广泛的架构作为子网,如ResNet[11]和DenseNet[12]。然后,我们从超网络中采样架构,并对候选架构进行几次微调,以获得它们在对抗性攻击下的鲁棒精度。我们进一步对获得的体系结构进行了广泛的分析,并对上述问题获得了一些见解:
- 我们对基于单元的搜索空间中的1000种架构进行了统计分析,发现架构密度与对抗精度之间存在很强的相关性。这表明密集连接模式可以显著提高网络的鲁棒性。
- 我们将参数的数量限制在三种不同的计算预算下,即小、中、大。我们的实验结果表明,在直接边缘上添加卷积操作可以更有效地提高模型的鲁棒性,特别是对于较小的计算预算。
- 进一步释放基于单元的约束,对无单元搜索空间进行研究。在这种情况下,我们发现干净数据和对抗数据之间的解过程矩阵的流动距离可以很好地反映网络的鲁棒性。
通过采用这些观察结果,我们搜索并设计了一系列鲁棒的体系结构,称为RobNets。在CIFAR[14]、SVHN[23]、Tiny-ImageNet[16]和ImageNet[7]等流行基准测试上进行的大量实验表明,RobNets在广泛使用的架构上取得了卓越的性能。我们的研究主张,未来关于网络鲁棒性的工作可以更多地关注网络架构的内在效应。
2. Related Work
对抗性攻击和防御。深度神经网络(NN)很容易被对抗性示例[9,35,20]欺骗,其中提出了有效的攻击,如FGSM [9], BIM [15], C&W [5], DeepFool [22], MI-FGSM[8]和PGD[21]。为了增强鲁棒性,已经提出了大量的努力,包括预处理技术[3,31,42]、特征去噪[38]、正则化[45,13,17]、添加未标记数据[6,32]、模型集成[36,24],其中对抗训练[9,21]被证明是提高鲁棒性最有效和标准的方法。已经对现有网络架构的鲁棒性进行了一些实证尝试[33,39],但尚未获得令人信服的指导方针或结论。
网络架构搜索。网络架构搜索(NAS)旨在自动设计网络结构,以取代传统的手工结构。代表性技术包括强化学习[48,49,47,10,1]、进化[27,34]和代理模型[18],这些技术已被广泛应用于搜索过程。然而,这些方法通常会产生非常高的计算成本。其他研究[19,26,2]利用权重共享机制来降低评估每个搜索候选架构的成本。为了实现快速和可扩展的搜索算法,我们在这里的研究是基于one-shot NAS[2,4]。
3. Robust Neural Architecture Search
3.1. 初步
在本节中,我们将简要介绍one-shot NAS和对抗性训练的概念,以便更好地理解我们进一步的分析。
one-shot NAS。NAS[49,18,19,2]的主要目标是搜索计算单元,并将其作为构建整个网络的基本构建单元。每个单元的体系结构是从预定义的操作空间中选择的操作的组合。在one-shot NAS中,我们构建了一个超网络来包含搜索空间中所有可能的架构。我们只需要训练超网络一次,然后在评估时,我们可以通过选择性地将超网络中的操作归零来获得各种架构。这些体系结构的权重直接继承自超网络,这表明权重是跨模型共享的。这些one-shot训练网络的评估性能可以用于在搜索空间中对体系结构进行排名,因为one-shot训练和独立训练的网络精度之间存在近似单调的相关性。我们请读者参阅[2]了解有关此订单保存属性的更多细节。
在one-shotNAS中,one-shot训练的网络通常只用于对体系结构进行排名,在搜索之后重新训练表现最好的体系结构。然而,在我们的工作中,我们的目标不是获得具有最高鲁棒精度的单一架构,而是研究不同架构对网络鲁棒性的影响。因此,我们的方法不涉及再训练阶段,而是充分利用了one-shot NAS的精度顺序保持特性。
对抗性例子的鲁棒性。网络鲁棒性是指网络如何抵抗对抗性输入。防御有界对抗摄动的问题可以表述如下:
min θ E ( x , y ) ∼ D [ max x ′ ∈ S L ( y , M ( x ′ ; θ ) ) ] , (1) \min\limits_{\theta} \mathbb{E}_{(x,y)\sim\mathcal{D}}\left[\max\limits_{x'\in S} \mathcal{L}\left(y,M(x';\theta)\right)\right], \tag{1} θminE(x,y)∼D[x′∈SmaxL(y,M(x′;θ))],(1)
式中 S = { x ′ : ∣ ∣ x − x ′ ∣ ∣ p < ϵ } S = \{x' : ||x - x'||_{p} < \epsilon\} S={
x′:∣∣x−x′∣∣p<ϵ}定义 l p l_{p} lp距离内允许摄动输入的集合, M M M表示模型, D \mathcal{D} D为数据分布。
一种有希望提高网络鲁棒性的方法是对抗性训练。[21]提出了使用投影梯度下降(PGD)在训练过程中生成对抗样例并增强数据的方法,显著提高了网络的鲁棒性。在我们的研究中,我们关注以 l ∞ l_{\infty} l∞范数为界的对抗性攻击,并使用PGD对抗性训练来获得不同架构的鲁棒网络。
3.2. 鲁棒架构搜索框架
现在我们描述鲁棒体系结构搜索框架的核心组件。我们的工作基于传统的one-shot架构搜索方法[2,19],并进行了一定的修改,以方便对抗性训练和进一步分析。我们将对此进行详细介绍。
**搜索空间。**根据[49,18,19,2],我们寻找计算单元作为构建整个网络架构的基本构建单元。每个单元表示为一个有向无环图 G = ( V , E ) G=(V,E) G=(V,E)由 N N N个节点组成。每个节点 V ( i ) V^{(i)} V(i)<