基于网络架构搜索的准确性与鲁棒性结构研究
论文链接:https://arxiv.org/abs/2405.05502
项目链接:未开源
Abstract
为了保护深度神经网络免受对抗性攻击,对抗性训练因其有效性而受到越来越多的关注。然而,对抗训练的准确性和鲁棒性受到体系结构的限制,因为对抗训练通过调整隶属于体系结构的权重连接来提高准确性和鲁棒性。在这项工作中,我们提出了ARNAS来搜索对抗训练的准确和健壮的架构。首先,我们设计了一个准确和鲁棒的搜索空间,其中单元格的位置和滤波器数量的比例关系是仔细确定的。通过将准确的结构和鲁棒的结构分别部署到敏感位置,使结构既具有精度又具有鲁棒性。然后,我们提出了一种可微的多目标搜索策略,在有利于自然损失和对抗损失的方向上进行梯度下降,从而同时保证了准确性和鲁棒性。我们在白盒攻击、黑盒攻击和可移植性方面进行了全面的实验。实验结果表明,搜索到的体系结构具有最强的鲁棒性和竞争精度,打破了传统的基于NAS的体系结构在鲁棒性场景下不能很好地转移到复杂任务的想法。通过对搜索到的优秀结构的分析,我们还得出准确鲁棒的神经结构倾向于在输入和输出附近部署不同的结构,这对于手工制作和自动设计准确鲁棒的神经结构都具有重要的现实意义。
1. Introduction
深度神经网络(DNN)在各种实际应用中表现出卓越的性能[2,21,24]。然而,研究发现DNN容易受到对抗性攻击[38]。这种现象限制了DNN在自动驾驶汽车[14]和人脸识别[37]等安全关键系统中的应用。在发现dnn的这个有趣的弱点之后,人们提出了各种方法来保护DNN免受对抗性攻击。其中,对抗性训练[16,28]因其出色的增强鲁棒性能力而得到广泛应用[29,46]。与直接使用自然数据进行训练的标准训练不同,对抗性训练是使用对抗性示例来训练网络。然而,问题是,如果事先没有很好地设计体系结构,对抗训练产生的准确性和鲁棒性是有限的[18],因为对抗训练通过调整隶属于体系结构的权重连接来提高准确性和鲁棒性。
最近,一个被称为鲁棒NAS[12,18,29]的高级研究课题被广泛研究以解决这一问题。具体来说,鲁棒NAS利用神经架构搜索(NAS)设计本质上准确性和鲁棒性神经架构[48]。经过对抗性训练,这些架构显示出较强的准确性和鲁棒性。例如,RobNet[18]采用 one-shot NAS[3]方法,对一个超网络进行一次对抗性训练,然后通过使用共享权重评估每个子网络在对抗性攻击下的表现,找出鲁棒的子网络。ABanditNAS[5]引入了一种反bandit算法,通过逐渐放弃不可能使体系结构具有鲁棒性的操作来搜索鲁棒体系结构。NADAR[26]提出了一种体系结构扩张方法,从对自然数据具有满意精度的骨干网络开始,寻找一种扩张体系结构,在保持最小精度下降的同时追求最大的鲁棒性增益。此外,最常用的方法是采用可微搜索方法,通过利用一些鲁棒性指标更新体系结构来搜索鲁棒性体系结构。这些鲁棒性指标包括RACL[12]采用的Lipschitz常数[7],AdvRush[29]采用的输入损失情况[47],DSRNA提出并使用的认证下界和雅可比范数界[20]。
在对现有的鲁棒NAS方法进行综合研究后,我们发现现有的工作还存在两个不足。首先,大多数现有的鲁棒NAS只是简单地采用了为标准训练而设计的传统NAS算法的搜索空间[49]。然而,研究发现,适合对抗性训练的体系结构可能与适合标准训练的体系结构具有不同的整体结构[22]。因此,现有的鲁棒NAS所采用的搜索空间已不适合对抗训练。其次,在准确性和鲁棒性之间进行权衡[40,46]。现有的鲁棒神经网络算法大多通过将多目标优化问题转化为具有固定正则化系数的单目标优化问题,并利用梯度下降法进行优化来解决多目标优化问题。然而,优化结果很大程度上依赖于系数的选择。同时,研究多目标优化的学者表明,总是找到所有准则共有的下降方向可能会更好地识别帕累托前沿[9,10],而固定的正则化系数无法实现这一点。
本文综合考虑了上述两个问题,提出了准确鲁棒的神经结构搜索(ARNAS)方法。如图1所示,与同类竞争对手相比,本文提出的方法在经过相同的对抗性训练过程后,鲁棒性显著提高,准确率与最佳方法相近。我们的贡献可以总结如下:
- 为了解决传统搜索空间不包含准确鲁棒的对抗训练架构的问题,设计了一种新颖的准确鲁棒搜索空间。具体而言,根据初步研究[22],不同位置的架构深度和宽度对准确性和鲁棒性的影响不同,我们进一步推测不同位置的架构本身也起着不同的作用。
- 我们通过实验来支持这一猜想,并相应地设计了一个新的基于细胞的搜索空间。设计的搜索空间由准确单元、鲁棒单元和约简单元组成。我们通过实验确定了单元的位置和滤波器个数的比例关系。
- 针对以往搜索策略无法有效实现准确性和鲁棒性双重效益的问题,提出了一种可微多目标搜索策略。具体而言,我们在多重梯度下降法(multiple gradient descent method, MGDA)的基础上,进一步设计了一种多目标对抗训练方法,该方法首先通过动态自动确定自然损失和对抗损失的系数,找到它们的共同下降方向,然后进行梯度下降,朝着更小的自然损失和对抗损失的方向优化体系结构。
- 我们在白盒攻击、黑盒攻击和可转移性方面进行了全面的实验。对白盒攻击和黑盒攻击的实验表明,该算法具有较强的鲁棒性和较高的准确率。可转移性实验打破了基于nas的架构随着任务复杂性的增加而不能很好地迁移的偏见。通过对搜索到的优秀架构进行分析,得出通过在不同位置部署非常不同的结构,架构可以同时获得精度和鲁棒性,这对于手工制作和自动设计准确鲁棒的架构具有重要的指导意义。
2. Related Works
2.1. 对抗性攻击和防御
根据攻击者对目标模型是否有完全的访问权限,现有的对抗性攻击方法可以分为白盒攻击和黑盒攻击。在相关领域,常用的白盒攻击包括FGSM[16]、C&W[4]、PGD[28]。常用的黑盒攻击是基于传输的攻击[33]。最近,AutoAttack[8],一种包含白盒和黑盒攻击的攻击集合,因为无参数、计算负担得起和用户无关而成为鲁棒性评估的流行方法。为了进行可靠的比较,我们还在实验中加入了AutoAttack。
为了保护神经网络免受对抗性攻击,已经提出了许多防御方法,其中对抗性训练[16,28]是迄今为止最流行的帮助神经网络增强鲁棒性的方法[5,12,18,29]。为了进行对抗性训练,使用最广泛的方法是用PGD生成的对抗性示例替换输入数据,因为使用PGD对抗性训练的神经网络通常可以推广到其他攻击[28]。此外,其他一些方法,如防御蒸馏[32]、数据压缩[13,17]、特征去噪[42]和模型集成[31,39]也证明了其可行性。在我们的工作中,我们注意到对抗训练作为最有效的防御方法,依赖于神经结构的设计。如果神经结构不合适,则只能获得低精度和低鲁棒性。我们的工作通过自动设计在对抗性训练后表现良好的神经架构来解决这个问题。
2.2. 网络架构搜索(NAS)
NAS是一种很有前途的技术,旨在实现深度神经网络架构设计的自动化。根据所采用的搜索策略,NAS可分为三类:基于进化计算的NAS[34,35]、基于强化学习的NAS[48]和可微NAS[6,27,43]。其中,可微分NAS由于其效率和有效性而在设计健壮的体系结构时特别受欢迎。在可微的NAS方法中,搜索空间被放宽为连续的,因此可以通过使用梯度下降优化可微度量来设计架构。通过引入鲁棒性的可微度量,可以搜索鲁棒架构。我们在本文中的工作也利用了可微的NAS,因为它的效率和有效性。
3. The Proposed ARNAS Method
3.1. ARNAS概述
算法1给出了该方法的框架。首先构造准确鲁棒的搜索空间,然后基于构造的搜索空间初始化一个超级网络。然后,我们使用提出的可微多目标搜索策略对超级网络进行迭代优化。最后,利用DARTS的离散化规则得到最佳体系结构[27]。本文提出的ARNAS方法的创新之处在于搜索空间的准确性和鲁棒性以及多目标搜索策略的可微性,这些将在下面的小节中详细介绍。
3.2. 准确和鲁棒的搜索空间
在本节中,我们将依次介绍1)准确和鲁棒架构的特点,2)传统搜索空间的局限性,以及3)准确和鲁棒搜索空间的构建。
3.2.1 准确和鲁棒架构的特点
为了设计一个准确和鲁棒的对抗训练搜索空间,我们首先要考虑准确和鲁棒架构的特点。然而,NAS和鲁棒神经网络的研究都是新兴课题,很少有知识可以直接探索。我们注意到最近的一项工作[22],该工作探讨了对抗鲁棒性深度神经网络的架构成分。实验表明,不同位置神经结构的深度和宽度对准确率和鲁棒性有不同的影响。由此,我们进一步作出命题1所示的猜想。这个命题也将在第4.4.5节中得到实验验证。
命题1 整体结构中不同位置的单元对准确率和鲁棒性的影响可能不同,通过在不同位置放置不同的单元可以同时提高神经结构的准确率和鲁棒性。
3.2.2 传统搜索空间的局限性
在命题1的基础上,进一步分析了传统搜索空间的局限性。其中,传统的基于单元的搜索空间指的是由著名的DARTS算法推广的搜索空间。目前,几乎所有的可微鲁棒NAS方法都采用该搜索空间[12,20,29]。具体来说,基单元的搜索空间只设计了Normal cells和Reduction cells两种计算单元,分别起到提高精度和降低数据维数以提高效率的作用。在设计的基础上,通过叠加多个Normal cell来尽可能提高准确率,通过减少Reduction cells来避免无效的数据维度来构建整体架构。得到的体系结构主要由相同的Normal cell组成,并且与命题1匹配的体系结构(例如在输入附近使用可分离卷积而在输出附近使用扩张卷积的体系结构)不包含在搜索空间中,这限制了准确性和鲁棒性的提高。
3.2.3 准确鲁棒搜索空间的构建
鉴于上述分析,我们保留了Reduction Cell,同时用Accurate Cell和Robust Cell替换了单一类型的Normal Cell,旨在包含符合命题1的架构。因此,在提出的搜索空间中设计了三种类型的单元:Accurate Cell、Robust Cell和Reduction Cell。具体来说,如命题1所述,Accuracy Cells和Robust Cells都返回相同维度的feature map,但可以放置在不同的位置,以达到准确度和鲁棒性的相应效果。Reduction cell返回一个特征映射,其中特征映射的高度和宽度被减少了2倍,扮演与common相同的角色。通过这种设计,学习到的单元也可以堆叠形成一个完整的网络,从而使设计的搜索空间具有可扩展性。在下面,我们将详细介绍如何确定它们的特定位置,以实现准确性和鲁棒性。
如图2所示,Reduction Cell位于整体架构的三分之一和三分之二处。在架构的其余部分中,Accurate Cell被放置在第二个Reduction Cell之前,而Robust Cell被放置在第二个Reduction Cell之后。同时,与常用的启发式方法[49]不同的是,每当空间激活大小减少时,输出中的滤波器数量就会增加一倍,我们将第一个Reduction Cell的滤波器数量增加一倍,并保持第二个Reduction Cell的滤波器数量不变。本设计的有效性将在第4.4.4节中得到验证,命名规则(即,如何确定哪些单元用于准确性,哪些单元用于鲁棒性)将在第4.4.5节中进行解释。
3.3. 可微多目标搜索策略
为了从设计的搜索空间中搜索准确且鲁棒的架构,搜索过程可以公式(1)表示。
{ m i n ( L v a l s t d ( ω ∗ ( α ) , α ) , λ L v a l a d v ( ω ∗ ( α ) , α ) ) s . t . ω ∗ ( α ) = a r g m i n ω L t r a i n a d v ( ω , α ) (1) \left.\left\{\begin{matrix}min&(\mathcal{L}_{val}^{std}(\omega^{*}(\alpha),\alpha),\lambda\mathcal{L}_{val}^{adv}(\omega^{*}(\alpha),\alpha))\\s.t.&\omega^{*}(\alpha)=argmin_{\omega}\mathcal{L}_{train}^{adv}(\omega,\alpha)\end{matrix}\right.\right. \tag{1} {
mins.t.(Lvalstd(ω