当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)对应一个中间特征映射 f ( i ) f^{( i) } f(i)。每条边 E ( i , j ) E^{( i, j) } E(i,j)表示从预定义的操作池 o ( i , j ) ( ⋅ ) o^(i,j)(\cdot) o(i,j)(⋅)中选择的变换 O = { o k ( ⋅ ) , k = \mathcal{O}=\{o_k(\cdot),k= O={ok(⋅),k= 1 , … , n } 1,\ldots,n\} 1,…,n}包含 n n n 个候选操作(见图2(a))。中间节点基于其所有前节点计算: f ( j ) = ∑ i < j o ( i , j ) ( f ( i ) ) f^{(j)}=\sum_{i<j}o^{(i,j)}(f^{(i)}) f(j)=∑i<jo(i,j)(f(i))。单元的总体输入是前两个单元格的输出,单元的输出是通过对所有中间节点应用串联获得的。为了便于标记,我们引入结构参数 α = { α k ( i , j ) ∣ α k ( i , j ) ∈ \alpha=\{\alpha_k^{(i,j)}|\alpha_k^{(i,j)}\in α={αk(i,j)∣αk(i,j)∈ { 0 , 1 } , i , j \{ 0, 1\} , i, j {0,1},i,j = 1 , … , N 1, \ldots , N 1,…,N, k ˉ \bar{k} kˉ = 1 , … , n } 1, \ldots , n\} 1,…,n}表示搜索空间中的候选架构。每个体系结构对应于一个特定的体系结构参数 α α α。对于一个体系结构的边 E ( i , j ) E^{(i,j)} E(i,j),变换可以表示为 o ( i , j ) ( ⋅ ) = ∑ k = 1 n α k ( i , j ) o k ( ⋅ ) o^{(i,j)}(\cdot)=\sum_{k=1}^{n}\alpha_{k}^{(i,j)}o_{k}(\cdot) o(i,j)(⋅)=∑k=1nαk(i,j)ok(⋅)。我们称直接边为 E ( i , j ) ∈ { E ( i , j ) ∣ j = i + 1 } E^{(i,j)}\in\{E^{(i,j)}|j=i+1\} E(i,j)∈{E(i,j)∣j=i+1},称跳跃边为 E ( i , j ) ∈ { E ( i , j ) ∣ j > i + 1 } E^{(i,j)}\in\{E^{(i,j)}|j>i+1\} E(i,j)∈{E(i,j)∣j>i+1}。
我们的工作与传统NAS在搜索空间上的主要区别在于两个方面:1)我们缩小了 O \mathcal{O} O中的候选操作的总数,只剩下:3 × 3可分离卷积、恒等和零。这有助于减轻对抗性训练的负担,同时在搜索空间中保留强大的候选架构[41]。2)我们不限制两个中间节点之间的最大操作数为1(即 o ˙ ( i , j ) ( ⋅ ) \dot{o}^{(i,j)}(\cdot) o˙(i,j)(⋅)最多包含 n n n个操作)。如图2所示,这样的设计鼓励我们探索一个更大的空间,有更多的网络架构变体,在那里可以出现一些经典的人为设计的架构,如ResNet和DenseNet。
鲁棒搜索算法。我们开发了基于one-shot NAS方法的鲁棒搜索算法[2]。具体来说,我们将架构参数 α α α中的所有元素设置为1,以获得包含所有可能架构的超网络。在超级网络的训练阶段,对于每一批训练数据,我们从超网络中随机抽取一个候选架构(通过任意设置 α α α中的一些元素为0)。采用这种路径Dropout技术来解耦候选架构的共适应[2]。然后,我们采用公式(1)中的最小最大公式来生成关于采样子网络的对抗性示例,并进行对抗性训练以最小化对抗性损失。这种机制确保在训练过程中生成的对抗性示例不特定于一个架构。我们还在附录中提供了鲁棒搜索算法的伪代码。
鲁棒性评估。在得到鲁棒训练后的超网络后,我们可以从超网络中随机抽样并继承权重来收集候选架构。我们没有像传统的NAS方法那样直接在验证数据集上评估网络,而是发现仅对采样网络进行几个epoch的对抗性训练微调就可以显著提高性能,这在文献[46]中也有观察。调优背后的直觉是,虽然训练调度器试图提高每个体系结构的鲁棒性,但它仍然需要维护所有候选体系结构的整体性能。对1000个随机采样的候选架构进行微调前后的对抗精度如图3(a)所示。可以清楚地看到,鲁棒性性能得到了很大的提高。
在调优之后,我们在被白盒PGD对手对抗性干扰的验证样本上评估每个候选体系结构。我们将对抗精度作为网络鲁棒性的指标。
3.3. 基于单元的体系结构分析
在建立了鲁棒的搜索框架之后,我们想要寻找3.1节中提出的第一个问题的答案,即哪种架构模式对对抗鲁棒性至关重要。我们首先通过遵循NAS方法中的典型设置[49,19]对基于单元的架构进行模型鲁棒性分析,其中不同单元之间的架构是共享的。
统计结果。在基于单元格的情况下,我们在CIFAR-10上采用鲁棒架构搜索。我们将每个单元的中间节点数设置为N = 4。回想一下,我们有2个非零操作和2个输入节点,所以搜索空间中的边总数是14。这样得到的搜索空间的总复杂度为(22)14−1≈108,其中各体系结构参数为 α ∈ { 0 , 1 } 2 × 14 α \in \{0,1\}^{2×14} α∈{0,1}2×14。对于超网络的训练,我们选择7步PGD对抗训练,步长为0.01。在训练超级网络之后,我们从超级网络中随机抽取1000个架构,并对每个架构进行3次微调。
我们在图3(b)中绘制了这1000个架构的对抗精度直方图。如图所示,尽管大多数架构实现了相对较高的鲁棒性(鲁棒精度约为50%),但也存在大量鲁棒性较差的架构(远低于50.3%的平均水平)。这促使我们考虑在鲁棒网络之间是否存在一些共同的特征。
为了更好地可视化体系结构的可区分性,我们首先根据鲁棒性准确性对1,000个体系结构进行排序。接下来,选择前300个架构,标签为1,后300个架构,标签为−1。最后,t-SNE帮助我们描述每个体系结构对应的 α α α。我们在图4(a)中可视化了600 α α α的低维嵌入。如图所示,结构参数α的嵌入在鲁棒和非鲁棒网络之间是可分离的,这清楚地表明了结构对网络鲁棒性的影响。
这一发现自然提出了一个问题:哪些路径对架构中的网络鲁棒性至关重要?一个简单的想法是,我们训练一个分类器,它将体系结构参数作为输入,并预测该体系结构是否对对抗性攻击具有鲁棒性。在这种情况下,与关键路径对应的权重应该具有较大的值。我们使用上面介绍的600个架构及其相应的标签来训练分类器。令人惊讶的是,我们发现即使是线性分类器也能很好地拟合数据(这600个数据点的训练准确率为98.7%)。结果如图4(b)所示。该图显示,几乎所有的权重值都是正的,这表明一个体系结构的连接密度与它在对抗性攻击下的鲁棒性之间存在很强的关系。为了进一步探索这种关系,我们分析了对抗精度和架构精度之间的相关性。我们将架构精度
D
D
D定义为连接边的数量除以架构中所有可能边的总数,可以表示为:
D
=
∣
E
c
o
n
n
e
c
t
e
d
∣
∣
E
∣
=
∑
i
,
j
,
k
α
k
(
i
,
j
)
∣
E
∣
.
(2)
D=\frac{|E_{connected}|}{|E|}=\frac{\sum_{i,j,k}\alpha_{k}^{(i,j)}}{|E|}. \tag{2}
D=∣E∣∣Econnected∣=∣E∣∑i,j,kαk(i,j).(2)
我们在图5中说明了结果,它显示了架构精度和对抗精度之间存在很强的相关性。我们假设,通过对抗性训练,网络中密集连接的模式更有利于对抗对抗性特征,并学会抵抗它们。这就给出了第1节中第一个问题的答案:密集连接模式有利于网络的鲁棒性。
3.4. 预算下的架构策略
在之前的许多研究中已经观察到[33,21],在同一家族的架构中,增加网络的参数数量会带来鲁棒性的提高。这是因为这样的过程会提高模型的容量,从而有利于网络的鲁棒性。然而,如果我们给定一个固定的参数总数(或者我们称之为计算预算),如何在有限的约束下获得更鲁棒的体系结构?在本节中,我们将集中讨论当给定不同的固定计算预算时,体系结构模式如何影响鲁棒性。本研究的鲁棒架构搜索空间的一个优点是,网络参数的数量与架构中卷积操作的数量呈正相关。
我们首先使用3.3节中获得的1,000个架构,分析了关于网络鲁棒性的卷积操作的数量。结果如图6(a)所示。随着卷积运算次数的增加,对抗精度稳步提高。我们还分别绘制了跳跃边和直接边上的卷积数的统计数据。结果表明,直接边上的卷积比跳跃边上的卷积对对抗精度的贡献更大。这启发我们更深入地研究不同计算预算下直接边上的卷积的影响。
我们考虑了三种不同的计算预算:小、中、大。由于在基于单元的设置中,卷积操作的最大次数是14,所以我们将小于7的卷积总数设置为小预算,将8到10的卷积总数设置为中预算,将大于11的卷积总数设置为大预算。对于每个预算,我们随机抽样100个架构,根据第3.2节评估它们的对抗性精度,并计算直接边上的卷积在所有卷积中的比例。如图6(b)所示,对抗精度在不同预算之间有明确的界限。此外,对于中小型预算,直接卷积的比例与对抗精度呈正相关。这表明在计算预算较小的情况下,对直接边增加卷积可以有效地提高网络的鲁棒性。我们还注意到,对于大的设置,这种现象并不明显。我们推测,对于大预算范围内的架构,密集连接模式主导了网络鲁棒性的贡献。通过以上结果,我们得出结论:在较小的计算预算下,对直接边进行卷积运算可以更有效地提高模型的鲁棒性。
3.5. 走向更大的搜索空间
松弛基于单元的约束。在前面的部分中,我们获得了基于单元设置的几个有价值的观察结果。一个自然要问的问题是:如果我们松弛约束并允许网络中的所有单元具有不同的体系结构会怎么样?此外,在这种无单元设置中,网络鲁棒性的指标是什么?在本节中,我们将松弛基于单元的约束,并在更大的架构搜索空间上进行研究。约束的松弛引起了搜索空间复杂性的爆炸:对于由L个单元组成的网络,总复杂性增加到(108)L。指数复杂性使架构搜索更加难以进行。
特征流引导搜索。为了解决上述问题,本文提出了一种特征流引导搜索方案。我们的方法受到了TRADES[45]的启发,其中涉及到一个损失函数,该函数最小化了一个对抗性示例与其对应的干净数据之间logit分布的KL散度。这个损失函数的值可以用来衡量网络的鲁棒性和干净精度之间的差距。我们不关注网络的最终输出,而是考虑网络中间单元之间的特征流。具体来说,我们计算了每个单元的Gramian矩阵,表示为flow of solution procedure(FSP)矩阵[43]。第l个单元的FSP矩阵计算为:
G
l
(
x
;
θ
)
=
∑
s
=
1
h
∑
t
=
1
w
F
l
,
s
,
t
i
n
(
x
;
θ
)
×
F
l
,
s
,
t
o
u
t
(
x
;
θ
)
h
×
w
,
(3)
G_l(x;\theta)=\sum_{s=1}^h\sum_{t=1}^w\frac{F_{l,s,t}^{in}(x;\theta)\times F_{l,s,t}^{out}(x;\theta)}{h\times w}, \tag{3}
Gl(x;θ)=s=1∑ht=1∑wh×wFl,s,tin(x;θ)×Fl,s,tout(x;θ),(3)
其中
F
l
i
n
(
x
;
θ
)
F_l^{in}(x;\theta)
Flin(x;θ)表示单元的输入特征映射,
F
l
o
u
t
(
x
;
θ
)
F_{l}^{out}(x;\theta)
Flout(x;θ)表示输出特征映射。对于给定的网络,我们可以计算网络中每个单元的对抗样本与干净数据之间的FSP矩阵的距离:
L
l
F
S
P
=
1
N
∑
x
∥
(
G
l
(
x
;
θ
)
−
G
l
(
x
′
;
θ
)
∥
2
2
.
(4)
L_{l}^{FSP}=\frac{1}{N}\sum_{x}\left\|(G_{l}(x;\theta)-G_{l}(x^{\prime};\theta)\right\|_{2}^{2}. \tag{4}
LlFSP=N1x∑∥(Gl(x;θ)−Gl(x′;θ)∥22.(4)
我们在没有对无单元搜索空间进行微调的情况下对50个架构进行了采样,并评估了每个架构的干净精度和对抗精度的差距。我们还计算了网络中每个单元的FSP矩阵距离,并在图7中给出了具有代表性的结果(完整结果见附录)。我们可以观察到,对于处于网络较深位置的单元,FSP距离与网络鲁棒性和干净精度之间的差距呈正相关。这给了我们第1节中第三个问题的答案:一个鲁棒网络在网络的深层单元中具有较低的FSP矩阵损失。
通过观察这一现象,我们可以很容易地采用FSP矩阵损失来滤除具有高损失值的非鲁棒架构,从而有效地降低了搜索空间的复杂性。因此,在无单元设置的超网络采样过程之后,我们首先计算每个体系结构的FSP矩阵损失,并剔除那些损失值高的矩阵。然后我们执行微调以获得最终的鲁棒性。
4. Experiments
在本节中,我们通过经验评估所提出的RobNet家族的对抗鲁棒性。根据我们在第3节中的三个发现的指导,我们训练并选择了一组具有代表性的RobNet模型进行评估。我们专注于 l ∞ l_{\infty} l∞界攻击,并将RobNet家族与最先进的人类设计模型进行比较。
4.1. 实验装置
实现细节。如第3节所述,我们分别使用基于单元和无单元的搜索算法来选择一组RobNet架构。鲁棒搜索仅在CIFAR-10上执行,其中我们使用具有7次攻击迭代的PGD对抗训练,步长为2/255(0.01)。对于其他数据集的评估,我们直接转移了在CIFAR-10上搜索到的RobNet架构。
具体来说,我们首先遵循基于单元的鲁棒搜索框架,以获得具有密集连接模式的架构。考虑到预算下的策略,我们进一步生成了三个基于单元的架构,它们都在直接边缘上遵循更多的卷积操作,但具有不同的计算预算。我们将三种选择的架构称为RobNet-small, RobNet-medium和RobNet-large。此外,我们利用第3.5节中描述的FSP引导搜索来有效地生成无单元鲁棒架构,并选择一个代表性模型进行评估,该模型被称为RobNet-free。注意,我们没有选择最好的体系结构,因为搜索空间太大,不允许我们这样做。相反,我们遵循所提出的算法来选择具有代表性的架构并研究它们在对抗性攻击下的鲁棒性。更多关于选择过程和代表性RobNet体系结构可视化的细节可以在附录中找到。
我们将RobNet与广泛使用的人为设计的架构进行了比较,包括ResNet [11], Wide-ResNet[44]和DenseNet[12]。所有模型都使用PGD进行对抗训练,具有7个攻击步骤,步长为2=255(0.01)。我们遵循[21]中的训练过程,并保持所有模型的其他超参数相同。
数据集和评估。我们首先对CIFAR-10进行了广泛的研究,以验证RobNet对黑盒和白盒攻击的有效性。然后我们将结果扩展到其他数据集,如SVHN、CIFAR-100和Tiny-ImageNet。最后,我们展示了RobNet的好处与现有技术是正交的。我们在附录中提供了关于ImageNet的其他结果,以及详细的训练过程和超参数。
4.2. 白盒攻击
主要的结果。我们在表1中展示了针对各种白盒攻击的结果。我们选择在对抗性文献[21,38,45]中广泛使用的最先进的网络架构进行比较。如表所示,与其他模型相比,从RobNet家族中选择的所有模型在不同的白盒攻击下都能始终保持更高的鲁棒精度。在我们的白盒设置中,最强的对手是具有100次攻击迭代的PGD攻击者(即PGD100)。当放大结果时,我们可以观察到,仅通过改变架构,RobNet可以将白盒攻击下的先前艺术从47.5%提高到52.6%,提高5.1%。
密集连接的影响。表1还揭示了关于密集连接的有趣而重要的发现。ResNet及其宽版本(WideResNet)是对抗性训练中最常用的架构[21,38,45]。然而,有趣的是,事实证明,很少使用的DenseNet模型比WideResNet更鲁棒,即使参数少得多。这样的观察结果与我们之前的研究很好地一致:密集连接模式在很大程度上有利于模型的鲁棒性。由于RobNet家族在鲁棒的体系结构搜索期间显式地揭示了这些模式,因此它们始终是鲁棒的。
参数的影响。受计算预算发现的启发,我们试图量化具有不同参数数的RobNets的鲁棒性。我们比较了基于单元搜索获得的三种不同大小的模型(即,RobNet-small, RobNet-medium和RobNet-large)。如表1所示,计算预算越大,网络的鲁棒性就越高,这与我们的论点完全一致。
我们注意到,RobNets的模型尺寸始终小于其他广泛采用的网络架构。然而,与WideResNet相比,RobNet模型的自然精度并不令人满意。为了进一步研究网络参数的影响,我们通过增加通道和堆叠单元的数量来扩展RobNet-large模型,使其具有与WideResNet相似的大小,同时保持每个单元内相同的架构。我们把这个新模型称为RobNet-large-v2。结果表明,通过增加模型尺寸,不仅可以增强鲁棒性,而且可以显著提高自然精度。
特征流引导搜索的效果。当在鲁棒搜索期间释放基于单元的约束时,RobNet模型可以更加鲁棒。我们通过比较第3.5节中提到的使用FSP引导搜索获得的无RobNet结果与其他基于单元的RobNet模型来证实这一点。值得注意的是,与RobNet-large-v2模型相比,RobNet-free实现了更高的鲁棒精度,参数数量减少了6倍。
4.3. 黑盒攻击
进一步验证了RobNet家族在黑盒攻击下的鲁棒性。我们遵循文献[25,21,42]中的常见设置,并应用基于传输的黑盒攻击。我们使用相同的训练设置训练受害者网络的副本,并在复制网络上应用FGSM和PGD100攻击来生成对抗性示例。请注意,我们只考虑最强的基于传输的攻击,也就是说,我们在独立训练的副本上使用白盒攻击来生成黑盒示例。
结果如表2所示。他们揭示了基于单元和无单元的RobNet模型在基于转移的攻击下更鲁棒。注意,这里的源模型与目标模型具有相同的体系结构,这使得黑盒对手更强大[21]。我们还研究了不同架构之间的迁移,并在附录中提供了相应的结果。
4.4. 可迁移到更多的数据集
到目前为止,我们的鲁棒搜索只在CIFAR-10上执行和评估过。然而,鲁棒神经结构搜索的想法要强大得多:我们直接使用在CIFAR-10上搜索的RobNet家族应用于其他数据集,并证明了它们的有效性。这样的好处来自NAS的天然优势,即搜索的架构可以推广到其他数据集[49,47]。
我们在SVHN、CIFAR-100和TinyImageNet上对RobNet进行了白盒攻击评估,攻击参数设置为:总扰动8/255(0.031),步长2/255(0.01),总攻击迭代100次。训练过程类似于CIFAR-10,我们使用7步PGD进行对抗性训练。我们保持所有模型的训练超参数相同。
表3显示了RobNet在这三个数据集上的性能,并将它们与常用架构进行了比较。该表显示了以下结果。首先,它验证了RobNet家族的有效性:在强白盒攻击下,它们始终优于其他基准。此外,不同数据集的增益是不同的。RobNets在CIFAR-100和Tiny-ImageNet上提供约2%的增益,在SVHN上获得约10%的增益。
4.5. 改进现有技术
由于RobNet从网络架构方面提高了模型的鲁棒性,它可以与现有技术无缝结合,进一步提高对抗鲁棒性。为了验证这一优势,我们选择了特征去噪技术[38],该技术通过在网络中添加多个去噪块来运行。我们在表4中报告了结果。
如图所示,该去噪模块提高了RobNet的干净精度和鲁棒精度,显示出两者的互补性。此外,与ResNet-18相比,RobNet可以更好地利用特征去噪的力量,获得更大的改进差距,特别是在干净精度方面。
5. Conclusion
我们提出了一个鲁棒的架构搜索框架,它利用one-shot NAS来理解网络架构对对抗性攻击的影响。我们的研究揭示了设计鲁棒网络架构的几个有价值的观察结果。根据观察,我们发现了RobNet,这是一个鲁棒的体系结构家族,可以抵抗攻击。大量的实验验证了RobNet的重要性,产生了架构对网络抵御对抗性攻击的内在影响。
Appendices